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 CB8B842CB1B for ; Fri, 17 Jul 2026 14:46:46 +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=1784299608; cv=none; b=MY119JDIxoASES1Qas5BBUMwl2vcjNZU4G/Kkjffy1eG4Fr8ex8AqPEet6dC9dLTDPkSPPPzYLaqDCf+Lz6B2LnMEsc7arSILNpdgMJ/Z2JgSLeijFlsonZRFWO5b6p+BNOanK/YvMJiZ48L/2DTtb9EbKQ6ROpTVenBN/X/KAU= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784299608; c=relaxed/simple; bh=oxWmsAM+twLfUwPG6xTjeDdTAauKY9ZVnOSmNHJl3x4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=h1Qpv/q8Vk0IILJgH5jSOz6eYCpC50DgZOkXCqjMLx2P86hkdms3mLdklR/YJ1gprqDTNvKArdTPdiBtFMg3z4VFNekSFh/wOdCHznfLdJmFX1IDB3Jv+6y+M1LALYTlXaMokkSD9axAgoIfuWUs/EhrIp73BoAHC4Nh0FgHEPI= 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=QFmBSEvm; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=CAz3z5St; 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="QFmBSEvm"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="CAz3z5St" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66HE7qhw1675752 for ; Fri, 17 Jul 2026 14:46:46 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=4z0ymWVrqeq o9gDHe0QR+vDogR/CFdnt/t7HVorr9fc=; b=QFmBSEvm/dWDDiIafCacepPcjO0 Dzs5trvnUgoOOYLlOjQ5KmnXdYre9sG7etR3hQoYxjj/FB2zfRkVOj0QTb5kzP/3 q+b0MqRlnlJiW7yJoC32vUe6nkxaQmAea9WN3ZdhpPyyYCcH9FB5DxQkOuLUdUhu vicC7ZfWrUov00yCEEZeJgaQuchyy9Y1pmyv8y+CWUvvFstdrpFRr32jKCuL3EwG +7d5wgGh6c/lFUmmhd9GbvMX9vhpC/xWiWoYVEoS6zKe/bQLc/V4EplFu58sZAnc D4Tu2pLRh66HzgHJCoy5NbCWWFNXLFahfY2+Rd4iTi1YGXXtLQ4ibwZBUXA== Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ffj78s1jm-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 17 Jul 2026 14:46:46 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-51c20762d21so67112391cf.0 for ; Fri, 17 Jul 2026 07:46:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784299605; x=1784904405; 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:content-type; bh=4z0ymWVrqeqo9gDHe0QR+vDogR/CFdnt/t7HVorr9fc=; b=CAz3z5StLUvN6zP1X0rgKydcp+a6GhyujUxPbwaLjy25rAvxEtXJzQtkgjeUr5vkJW WxAaylUjJJkLPrl3Mkzj24mQAKzelkNgMH9yd1N6xRwZajmAwB11uDc1tr88CNJN/zrs 6glWT/RUz2O4p38vNBIK/apwbUDXPxDZtO/KQN9u7Y/UZqOyvtVuAszEydqeq8vbTAUL yWLeRTXZR+RkRhpcrs8Zb0w6irLw+XvkfClkRLK8nY/LFXvtfw3WO9hXKgLXiPI9/28n MD49k55q1RsQG2s+rJna0JW++L7Rtz48TMgoMJMVKG1FMjGAseMm77o1JS1STr2KVoCR ik6w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784299605; x=1784904405; 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:content-type; bh=4z0ymWVrqeqo9gDHe0QR+vDogR/CFdnt/t7HVorr9fc=; b=grB/M6OD8KAFlAOx4vOijZxZPwWjjDIm/s8dGSlvWaWTsPJRZcKtzeEzj1M8Nzri9M ZDJL5VEEEqstCxBVaz6o6IRb0uHBa9YeidUQUJMi7ImxanqV2g6eGIRNVGtRDpx958V8 LzBHTTHhIhl8Jaw3igYBSqG2LPi/pvnszPK4Aa5Bp1iu3CF89tTGAB0YlNHc5htsNkvG o0LHDhayoP3tuRkIBI09pHk3va51hMefh71Qr4lBhEVJbINl29osiKYLakroTKXn0Kr/ yuMG0lzM1PvnhUWmqPzeulBLJAbWxKwPw2s6myrWbdCApvo44wsPv8RDdnsOb1KDdOf1 IIHw== X-Forwarded-Encrypted: i=1; AHgh+RrV/8DtfpVWOBY4r1Nr1K2w6zpdjGpiWRJwNp4mtkOKxiCfWdQ/qGBa9H9TtAxm4aOi1JrWQ0iR3uYr/v0=@vger.kernel.org X-Gm-Message-State: AOJu0YxB4Ip1DutmydQYDDHrIS19p03JSITZvqtZIMMqU7IFI7zssxeJ 30M117ZhDuZ0B037PXPJEZQyHaluagrUiWu53NYyP3R6baiAEnfRRPd/o0CRw1nQka4NBVYfYiE gS5kB5vZZhBaYejUVjXNXchtpdy9jNm+lRQOAO2LNFLAAPq0enb8w90+asVoLfHZLK9s= X-Gm-Gg: AfdE7cmiK3CSOA3wodedLe+Lb2JNwvyx8cgr2w2ow/5ItuuG+Hu4t9Hcta+uRW+Z2FN X2kiDYHA5LlveD13b6mH6xVg7jbw0UwqhtVB4NRoD1Kg8VtzaJAF6CYkhiGCMWkkAgtwj6Zf3pk r6X8hMPNA22jVOzHk+ZWD+syJIzE0yyw8zHsr+7Zvi5o2XBMX956RX+mD6mC+mRP21A3RXZnmf8 GSWEWW7hhe9CVUpaqF415DEjpAP7xqCZ9sH6sfWy/idBuaanc1QFCPx4c0n+Cr9uJjxCEPKWEYJ fYUCoF990NoQ6D0zi83M8XCWwNS+SP0LzGxYw3KXjIIXUJyr+J9xOYWqVCbOPZlkqIo9dylrU68 aGhEr6GCIFMoCCp2WIpHeIJt3GcI= X-Received: by 2002:a05:622a:2b0f:b0:51c:19a3:4ec with SMTP id d75a77b69052e-5213eb7f5e1mr27613651cf.69.1784299604987; Fri, 17 Jul 2026 07:46:44 -0700 (PDT) X-Received: by 2002:a05:622a:2b0f:b0:51c:19a3:4ec with SMTP id d75a77b69052e-5213eb7f5e1mr27613171cf.69.1784299604436; Fri, 17 Jul 2026 07:46:44 -0700 (PDT) Received: from hu-mojha-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-52149a3ce4fsm13414801cf.0.2026.07.17.07.46.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Jul 2026 07:46:44 -0700 (PDT) From: Mukesh Ojha To: Rob Clark , Will Deacon , "Joerg Roedel (AMD)" , Alex Williamson 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 , Konrad Dybcio Subject: [PATCH v2 6/6] iommu/qcom: Enable clocks before hardware access in qcom_iommu_ctx_probe() Date: Fri, 17 Jul 2026 20:16:08 +0530 Message-ID: <20260717144608.3216274-7-mukesh.ojha@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260717144608.3216274-1-mukesh.ojha@oss.qualcomm.com> References: <20260717144608.3216274-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-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE3MDE1MCBTYWx0ZWRfX+LQkcC1x08aX kv2hZv6Rb/BWLbAtIOGU2iwcpbsyos1xadunwOj1K0uLWMKWEBFTaAPjTfXBT4DtVtlVYRGYDZF o4/7jOnYRQuoKMC1Bq708zjLb9zvyJDnMVxQNog3esjtBRBE/NSIuq/1jCZ6oxThtTbAW7Zej2z HM0EBCb59Nmj2QDTaZNDFC0AuLgsfFHaEniwJsENzx0ANBA2qOG4edn6DT8aHlFF7lrPnTvY6r7 R/2CGNRoqw045uMRI1B+szoaWPl+rYSlkLBvTuwo1fYKVxmiCOlcKkO5Rcz9hVyByVns1mekEdM 2eGIXpW51eiC6ONzvzYEM+HV2e0aRja6n+BoznodW3AxxildDLxFU3zVIfYo1Xt8YGl5tOQhfpu hvdy+ZWw4TQZWJ5ryWw1+tPbDW+6XZUlzbYQWlBce3e/jDgXr8ZEvozk8TGA9FIZwqB5UgiJ5VU d/jP6uIkf52Nkzs1FVw== X-Proofpoint-ORIG-GUID: ytBU7xttoQ9RJ9TVbnc3JBq_pZbRT_Ej X-Authority-Analysis: v=2.4 cv=U9Ciy+ru c=1 sm=1 tr=0 ts=6a5a4056 cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=DJpcGTmdVt4CTyJn9g5Z:22 a=EUspDBNiAAAA:8 a=8cASqgOsboiLGU4YZykA:9 a=kacYvNCVWA4VmyqE58fU:22 X-Proofpoint-GUID: ytBU7xttoQ9RJ9TVbnc3JBq_pZbRT_Ej X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE3MDE1MCBTYWx0ZWRfX68UM1xA0Bw09 EMtNnAXx8qTHAGcyGPj7dce9KMKOmSiv178eNujTX2Pmr+3GSTWdOVmJ83Np+FU5QlZzGiMx6fX zFJAsjfR1RCLYApf4riRJlnuCs29ccI= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-17_04,2026-07-17_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 suspectscore=0 phishscore=0 spamscore=0 lowpriorityscore=0 clxscore=1015 priorityscore=1501 malwarescore=0 impostorscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607170150 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. Reviewed-by: Konrad Dybcio 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 ecde5ca2d476..5a9f8b39a99c 100644 --- a/drivers/iommu/arm/arm-smmu/qcom_iommu.c +++ b/drivers/iommu/arm/arm-smmu/qcom_iommu.c @@ -704,8 +704,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