From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DDC1E3D6485 for ; Tue, 23 Jun 2026 12:21:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782217286; cv=none; b=NWeLBlG9u2VkBBTXhzL58dEa1F0Azhw4trQ4cEEMGAbXd5y1gtrUYGuUlNYVyeX4URgGiQpVG830Mbplvis9cq57gD24m7UsaVd1tADK+KJxJUAfbtgH2YRYFtj5H4CAJG8GVzhiiNFdyuGZjBNpzlXwSo7KqWlQX3j7vYfhO94= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782217286; c=relaxed/simple; bh=1btS+uahA/dpI1zSLWZlGibsdw6yI9eSlm1CTAaRCUA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=WGEQ/ZWD8fVW8a1T0BCuPdyyID9ZQbQlLhMBpIvfgukcqtQCLv9BfIv0SKkQuNkPm+ruQ0VRnkK1+H/i0O9d9P/C5lpkRtuU9SpRzadPicPaIfcMXbHhZ6dtffMDB0E+8EOU8hNVfh5Y/GUqQ/6MLOf/jmY6NC1dY/U8jukcG+o= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=IzVVX+bl; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=dbsnsi6A; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="IzVVX+bl"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="dbsnsi6A" Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 65NBXaCB3752856 for ; Tue, 23 Jun 2026 12:21:24 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=PSlGePwHyRY cFLv8EJamVpEvdvRpZ3GdhYpvSgrdXIA=; b=IzVVX+blTX52AsCG1uVLGDaDf9Q T/Josst+RPqMNJBDKYZZn5siB7ZIH08gOPHHVPWVkpns1uSvYpOMJhaL8XQdj6ZK oNHNTkMBTqBbnaLTFYzEmmZjP6sZ7QTgexX3xzsXXTV5WIvgog2F9hQEUJBmLZXG NS4XwHvCXN3r8Ahjk0Nccj2m7lONUEbBNmrDD42hrFS5XNccFP5eixjqcfpo0iJ+ gA2doEIfp/V582jq0LkSb2tELSjlskyLLJavLdyJOGSfAOlAmUoYd3wpxvg7EqNC XK795HEdYWH6bCrEwGJs9AK2Cjrwc2TK84zxAAbkTgPa4CMZ6DcKu/CrpPQ== Received: from mail-pf1-f200.google.com (mail-pf1-f200.google.com [209.85.210.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4eyp29h2xa-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 23 Jun 2026 12:21:24 +0000 (GMT) Received: by mail-pf1-f200.google.com with SMTP id d2e1a72fcca58-8453a81b846so8028736b3a.2 for ; Tue, 23 Jun 2026 05:21:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1782217283; x=1782822083; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=PSlGePwHyRYcFLv8EJamVpEvdvRpZ3GdhYpvSgrdXIA=; b=dbsnsi6AM/nrDmD0BACV7+mX9NGReXSdRX4+vHc9dENFRlxUfvhX0Rv4y1hh3njFXA EsEb2Zp40d/mSaE7X0yuGhBQ9WYerFle0Hh8UQyet9bFZY6VMLe1DseEYDsZqKHMM6hE KFhCnlKQcjRlqpTn+hz5yB4wUfS6nu3//qg4sekWmqzQ+6y0U/k9IKwELVKAGf0qTMGc WrNhyqqJF6yWo88U4nnfxz5f2Im1NOl+iH7+J+LnmXqe346FI4w5nR2Z/hC7Re2pVQUb RQYL0L30MGt5cJNYx8Jvuuws9GK2Sk0EcynX+6MuyJL/PIzIf4lelRIkiOCrUQ8sO/CE zZtw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782217283; x=1782822083; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=PSlGePwHyRYcFLv8EJamVpEvdvRpZ3GdhYpvSgrdXIA=; b=WfPCzvW9gAuMpap6kOeYlAdIaSr+USY2eMEW1t+LatWSkAy1yV+1KDzGPmncnf/t1q zsOYxfatA0ZDPetB61K634sNQOYuDUTw8bku6vGTDtHaeg3vAX+DyIhcRGnUaKMVacXh NV8hOPNI6TWJRdZC3sTAH2yiMXVzdM6LaqJFqI6VUFDizR4lcgAMpZEASIxPg8f7YMu4 DxsKEnZ2HTm5IVYdme89Ig1/CSbWX4kK0/A4rgoqX+Kp+da2TeIg29dY7Hiw3sZca0XK kb/hdKtCT8niY13/4xwnJQ1/M9zbE1bXGo29+A08dWY1nHiWchgk8izANl8vZndGZhDQ HFBQ== X-Forwarded-Encrypted: i=1; AFNElJ//Y4Zgl8Bza13FNww/bZ84LSfgGDsBb/jIw+EFe6ddzZFxhezYE+jl1S3sb62+X/EMps51IZKghI0DCcg=@vger.kernel.org X-Gm-Message-State: AOJu0YwR6WoFv3TjkccKsB1tDlez9M4DsK73qer+SkffGyITb6SjpOnr A/rYaLAkl5V0QFx6lAMFl8UHzUsDYsRg9V/Ib/v7dscFLb0kE5lmD5rBDuJcdEtBd0jbCO5xiU2 DwN0IknH+ugRBMx/H3kx9ecc8ewisjoAFyVIyKMNx1pHEA2PqL/L9o9l+1rja+aLPBSg= X-Gm-Gg: AfdE7clIfLnSIz7EMy33FpW6JzpbejrctD6nC9S2LFBPWMvFmyCUCl6Uo5J6YvHaSoa /1LXVh0jv4+7g/nyCPAGFzY3jmVj4XkXuvT3dmZiX8pbTzrvBoctXAoV29La7IaZrukXi4CiMNY OITV457A/nMelwwmYttjWAcIfZ4VoysDZSoWicDbjSQUwiro+iZ4vVt6sQ7qLcGZda7ff6+AGF7 he21iLz0JWy2L1Fmlyz0A68ok89EVV0hwLPnIlY7Rk3UCCMnQTfNZHt4d6Bt1PP5UTmm11y/ndw oeLUYpoNTcRBTGMOhC0W8wWDh4dPra1jMDBRdQ2ZmttE2NB9NjOg5DNsDjpwh2fux2iTxg+uSfj p+3KKNiDKelG7Elxvnc4b7Babf3kqG85cHvC3ew== X-Received: by 2002:a05:6a00:951c:b0:827:2a07:231d with SMTP id d2e1a72fcca58-845970338ccmr2760024b3a.17.1782217283405; Tue, 23 Jun 2026 05:21:23 -0700 (PDT) X-Received: by 2002:a05:6a00:951c:b0:827:2a07:231d with SMTP id d2e1a72fcca58-845970338ccmr2759991b3a.17.1782217282893; Tue, 23 Jun 2026 05:21:22 -0700 (PDT) Received: from hu-mojha-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-84564e74646sm10171856b3a.29.2026.06.23.05.21.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 23 Jun 2026 05:21:22 -0700 (PDT) From: Mukesh Ojha To: Rob Clark , Will Deacon , "Joerg Roedel (AMD)" Cc: Robin Murphy , iommu@lists.linux.dev, linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Mukesh Ojha Subject: [PATCH 7/8] iommu/qcom: Enable clocks before hardware access in qcom_iommu_ctx_probe() Date: Tue, 23 Jun 2026 17:50:33 +0530 Message-ID: <20260623122034.1166295-8-mukesh.ojha@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260623122034.1166295-1-mukesh.ojha@oss.qualcomm.com> References: <20260623122034.1166295-1-mukesh.ojha@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Authority-Analysis: v=2.4 cv=LdAMLDfi c=1 sm=1 tr=0 ts=6a3a7a44 cx=c_pps a=mDZGXZTwRPZaeRUbqKGCBw==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=FelO9ux0wxsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=eoimf2acIAo5FJnRuUoq:22 a=EUspDBNiAAAA:8 a=8cASqgOsboiLGU4YZykA:9 a=zc0IvFSfCIW2DFIPzwfm:22 X-Proofpoint-GUID: IQMcRu8MAMd4mYxBth6jKUJhP-uDNagK X-Proofpoint-Spam-Info: AW1haW4tMjYwNjIzMDEwMSBTYWx0ZWRfXzATzrEZqxck3 sU3mgv7qUBnethimNHZ6GB+xPH6UgmStsHwOIgeQmJclRYtjBf85TXajfYKUFdBDZq898N/ot+y 8E3q0npTjY1X+CevvSpkUwVg8tNv2/Q= X-Proofpoint-ORIG-GUID: IQMcRu8MAMd4mYxBth6jKUJhP-uDNagK X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjIzMDEwMSBTYWx0ZWRfX5QVjaLQBLGKx DMEz0yuLTFsndStWxMPYEAdFnmMqbz57BBeG7WLH+Mb0qFQokIjiCoQ7wwTTLxWJ8lyFplo5Rvd s4h1WqikRPANqZYTNatIQ7X8KEPDK9aozWg3NV4lt9YWKiy0iwUAQJfcPNd40Kf2vSSKMLz+zm8 vr3QmMY7cxd21YHIsKDlWA9rvzg/Cnh8XUTt/161xHJka6ZlssKMgpmuL28e0HG8B4ssaisgx7B N0uQ4kSudOpB2D3ceCnAVkcM/oxZXJbHaWx6dw2zZudHacUGXcz6xdHwmFf9VaDh3uIaUqNR/hn 8fyH3b48XRbytxm8rvO/TTc3GtM1MwA1LQqWhlg1VazDSG/l1fHa4ocAl8TozplrhJ1LQxwgnPn VvmN2KA+pFCoYJvQlBGNideryrG4ciepd7XC9y/fgUFV+iYVsSpt9lUvRlk8JIpMlE9e+my+XV5 AGK9RimzFcLUmxNp2FA== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-23_03,2026-06-23_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 priorityscore=1501 impostorscore=0 lowpriorityscore=0 suspectscore=0 malwarescore=0 clxscore=1015 spamscore=0 phishscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2606230101 qcom_iommu_ctx_probe() reads and writes the CB_FSR register to clear any stale IRQ left by the bootloader. This happens during devm_of_platform_populate() which is called from the parent device's probe before any pm_runtime_get(). The parent's clocks (iface, bus, tbu) are therefore not guaranteed to be on, making the register access unreliable on rebind or after a suspend cycle. Use pm_runtime_resume_and_get() on the parent device to ensure clocks are enabled before the register access, and release the reference immediately after. Signed-off-by: Mukesh Ojha --- drivers/iommu/arm/arm-smmu/qcom_iommu.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/iommu/arm/arm-smmu/qcom_iommu.c b/drivers/iommu/arm/arm-smmu/qcom_iommu.c index 51b60b296bb8..0df8c2af8eed 100644 --- a/drivers/iommu/arm/arm-smmu/qcom_iommu.c +++ b/drivers/iommu/arm/arm-smmu/qcom_iommu.c @@ -714,8 +714,13 @@ static int qcom_iommu_ctx_probe(struct platform_device *pdev) /* clear IRQs before registering fault handler, just in case the * boot-loader left us a surprise: */ - if (!ctx->secured_ctx) + if (!ctx->secured_ctx) { + ret = pm_runtime_resume_and_get(dev->parent); + if (ret) + return ret; iommu_writel(ctx, ARM_SMMU_CB_FSR, iommu_readl(ctx, ARM_SMMU_CB_FSR)); + pm_runtime_put_sync(dev->parent); + } ret = devm_request_irq(dev, irq, qcom_iommu_fault, -- 2.53.0