From nobody Wed Feb 11 05:28:56 2026 Received: from mail-wr1-f44.google.com (mail-wr1-f44.google.com [209.85.221.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5BA142E7BCC for ; Tue, 10 Feb 2026 16:18:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770740294; cv=none; b=DzDT/1t+PcuOUPUOryeNpUt8NSC9zB82W2xyjJzV78iPutQasjuT0TTgfA0CHHpyZEdbJTbP0F/fCVavhUJ7X/ReYGkkhg/mG7JJT1rKwjZgtt88Gm5ltn8X90Dtxm3WwwR1tJGUGWCoxweK58w+rCivPA/2Mwfp2xaYobpzbO0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770740294; c=relaxed/simple; bh=VRL/E7nK1fyZMX83uu6bt4FiGrPrpeuaTEztrOQsu9U=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc; b=kudOTnArdhGPxJBn7rFyu5MiVCiWA6D8ha5+ZzGxOMFbJU3p5yR4qYkhFpsNYZZ7EyjwmGAwiztfn96BwdFhE+QdsgLbxGKXzM0tOnQ0/bT0mTAltHXTqhy3hQME1WMs1m+vNuDGPynDcH2lciYuRSMR23fx0O5A9vp4QQuoDkQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=cW9bfh1Y; arc=none smtp.client-ip=209.85.221.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="cW9bfh1Y" Received: by mail-wr1-f44.google.com with SMTP id ffacd0b85a97d-4376c0bffc1so1987524f8f.0 for ; Tue, 10 Feb 2026 08:18:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1770740292; x=1771345092; darn=vger.kernel.org; h=cc:to:message-id:content-transfer-encoding:mime-version:subject :date:from:from:to:cc:subject:date:message-id:reply-to; bh=L3mzE9q9JZeLiz5qheXEKidJ4W/5JZW1PBYdqCp5RPU=; b=cW9bfh1Y1jvqt62O490bCWtgd0dEZvhc5pZvz5Bwg/CyHWcfoQFtCFzKYET+WdzL6i PdwCW6KnJU7EoFM36Uwnlo6mjAc5+uz9Gn6JZC7weR49kk41+1rbp3MEwcv3yCtrbFP1 Xf1IdeuGLz5AKQ1VLIUpBJzihsBw8XSdOJ3jwajZqjO8ThlY67xqrEo9vWZAbUBFQ0bO G0mDZzmmj13qfKcKtF0Bg2hVqAeZuaC0o7LmfbKg3ev+/DiXjX6reHeondHJFxjVryg9 P2Lwvk0EDYqt0VhqvFkeL5z41A1LWjmeNy0ddMn+QolV1qWk6WDVPazAX0JcMLu3FONv jm0A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770740292; x=1771345092; h=cc:to:message-id:content-transfer-encoding:mime-version:subject :date:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=L3mzE9q9JZeLiz5qheXEKidJ4W/5JZW1PBYdqCp5RPU=; b=o2l38DJvsKH6P0QcSj4VJA2zZBDJbn7bwONqpYLi9H5JOh/7yHyWxRCCFCz4rI0lcZ 9UG1zZeAM3CcC144aoqks0WHGV2FnJaTJKHszo4ZU5iIji+0jcvljzibvN4c5aQ3pdle yQHqBydIm91Q7KMNBxeFOcaB+qwALvfB1Ze4zKRuwYs5lH3DXFqnC0xEY/dsX+Lwbt7w E1K8S4jFv4xipIlZq4vy6pNhJclX3H3VRIbXTmOoTTb9AGdPcw6hCAVQIv+UUm3a9MkF neAv9JPHshWZvNBr+FiKOBok/rzYlKfDu7BZj1gQEB3o5sCsD2qzzJRihN8Z4DD98fhZ GAFg== X-Forwarded-Encrypted: i=1; AJvYcCU2OBc7/i4FFRaRDs/fDRkqlQaMECcfuTFt7v1Pbgv3azbhaYXyeS8Rby07uZGNO2ECOZODzTRtCP21xOk=@vger.kernel.org X-Gm-Message-State: AOJu0YyeG4iuW3HB9GLuAb45zOqr8tYulOYBW2GeqC90iT3zZmc24ioo 97WHfHyPkFV4Zc20gN29Y1MylCUQJK4e+pqd6US/wO5gSKPDJE1n1O8j8i0k X-Gm-Gg: AZuq6aJJIVpEhKOvKEkpL23fPJyokT/ClnhldyhyXROzJS+AJpC6HQvmrcQwkM1nSXG KxDD+rCBEdA30Bk7C9RbU0Y4Hb4fqYG3f2ezg96xYCD6QQya3zmSOsLnxHvdJVegGt1xpLbcRLg xpzGqZXBP3uBpoNlmv/iachS2biRUJbxZ2b8JS0PHROBaQIB7CIZ2WOkAZ3pRz+cG9PQAUTm1YR 5Mvj68kaUW8iRg4H350ztlHQyqW+C2ITQAHsFA948HvJ5aOObW7P+C4i+ZnhojU6qbnHr5cbd52 1AyyAUwScBsrZXfwmR/sBGh9Tc8rWsWZzfQM4ZnYxAKEuXQCro7grzn9QVFMVAsw1dXtr96aoJJ Xe+NImuyu1+BZskgeEwrDLuTySYel9WgGwk1N/1m6+YjepGi+k/EY6OTmetenuGzBnA7Qoh7kdm Uha8MQKd+uAkG1AfUJn8pTncbkXxJV0q9jpde/oq8p2XfjjIM0SS5gAfNzqF/AZXtfJVAOLkcQn iXdlKCbPZhGrA== X-Received: by 2002:a5d:5f54:0:b0:435:9ce0:f93c with SMTP id ffacd0b85a97d-4362969509amr24592397f8f.62.1770740291496; Tue, 10 Feb 2026 08:18:11 -0800 (PST) Received: from [192.168.1.17] (host-79-19-172-190.retail.telecomitalia.it. [79.19.172.190]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4362972fa41sm39165771f8f.23.2026.02.10.08.18.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Feb 2026 08:18:10 -0800 (PST) From: Anna Maniscalco Date: Tue, 10 Feb 2026 17:17:38 +0100 Subject: [PATCH] iommu: arm-smmu-qcom: Ensure smmu is powered up in set_ttbr0_cfg Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260210-qcom_smmu_pmfix-v1-1-78b7143ac053@gmail.com> X-B4-Tracking: v=1; b=H4sIAAAAAAAC/x2MQQqAIBAAvyJ7TtAlOvSVCDHdag9aKUUg/j3pO AMzBTIlpgyjKJDo4cxHbKA7AW63cSPJvjGgwkGhVvJyRzA5hNucYeVXoiXrcbE9oYJWnYma/o/ TXOsHqLYDBGEAAAA= X-Change-ID: 20260210-qcom_smmu_pmfix-2aead2ba4e20 To: Rob Clark , Will Deacon , Robin Murphy , Joerg Roedel Cc: iommu@lists.linux.dev, linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Anna Maniscalco X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1770740289; l=2426; i=anna.maniscalco2000@gmail.com; s=20240815; h=from:subject:message-id; bh=VRL/E7nK1fyZMX83uu6bt4FiGrPrpeuaTEztrOQsu9U=; b=3pZgXNEhwfzftk2Cfw8XXJ8nneEtPReIYQm7FPKnhsBaAF4wvq6oc6yGwv56OjIaVfHmJkCqc mZihmSR2ywFBaJPn3/li3OAgz3sQw2TocZC9SOPytLYad1lKiiWdrfF X-Developer-Key: i=anna.maniscalco2000@gmail.com; a=ed25519; pk=0zicFb38tVla+iHRo4kWpOMsmtUrpGBEa7LkFF81lyY= Previously the device was being accessed while potentially in a suspended state. Signed-off-by: Anna Maniscalco --- drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c b/drivers/iommu/arm= /arm-smmu/arm-smmu-qcom.c index 573085349df3..ca34b7a141e6 100644 --- a/drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c +++ b/drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c @@ -231,16 +231,27 @@ static int qcom_adreno_smmu_set_ttbr0_cfg(const void = *cookie, struct io_pgtable *pgtable =3D io_pgtable_ops_to_pgtable(smmu_domain->pgt= bl_ops); struct arm_smmu_cfg *cfg =3D &smmu_domain->cfg; struct arm_smmu_cb *cb =3D &smmu_domain->smmu->cbs[cfg->cbndx]; + int ret; + + ret =3D pm_runtime_resume_and_get(smmu_domain->smmu->dev); + if (ret < 0) { + dev_err(smmu_domain->smmu->dev, "failed to get runtime PM: %d\n", ret); + return -ENODEV; + } =20 /* The domain must have split pagetables already enabled */ - if (cb->tcr[0] & ARM_SMMU_TCR_EPD1) - return -EINVAL; + if (cb->tcr[0] & ARM_SMMU_TCR_EPD1) { + ret =3D -EINVAL; + goto out; + } =20 /* If the pagetable config is NULL, disable TTBR0 */ if (!pgtbl_cfg) { /* Do nothing if it is already disabled */ - if ((cb->tcr[0] & ARM_SMMU_TCR_EPD0)) - return -EINVAL; + if ((cb->tcr[0] & ARM_SMMU_TCR_EPD0)) { + ret =3D -EINVAL; + goto out; + } =20 /* Set TCR to the original configuration */ cb->tcr[0] =3D arm_smmu_lpae_tcr(&pgtable->cfg); @@ -249,8 +260,10 @@ static int qcom_adreno_smmu_set_ttbr0_cfg(const void *= cookie, u32 tcr =3D cb->tcr[0]; =20 /* Don't call this again if TTBR0 is already enabled */ - if (!(cb->tcr[0] & ARM_SMMU_TCR_EPD0)) - return -EINVAL; + if (!(cb->tcr[0] & ARM_SMMU_TCR_EPD0)) { + ret =3D -EINVAL; + goto out; + } =20 tcr |=3D arm_smmu_lpae_tcr(pgtbl_cfg); tcr &=3D ~(ARM_SMMU_TCR_EPD0 | ARM_SMMU_TCR_EPD1); @@ -262,6 +275,8 @@ static int qcom_adreno_smmu_set_ttbr0_cfg(const void *c= ookie, =20 arm_smmu_write_context_bank(smmu_domain->smmu, cb->cfg->cbndx); =20 +out: + pm_runtime_put_autosuspend(smmu_domain->smmu->dev); return 0; } =20 --- base-commit: 50c4a49f7292b33b454ea1a16c4f77d6965405dc change-id: 20260210-qcom_smmu_pmfix-2aead2ba4e20 Best regards, --=20 Anna Maniscalco