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 1DF12284881 for ; Tue, 10 Mar 2026 13:52:15 +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=1773150736; cv=none; b=GSBgtoHHr1wDMtCYomERdGZrDRWqbH41cH4m7ODA56wBfslF9Fd9LHnLq651TS4X5RQHKExDFbke4iAfqipkdQ6D/UIAYZTfigea3+X+x0SYZNEqNTc+dD3f3ba5RiXjCZ0eOK5m3sdDEGS2vrdHSA4DQk7LjrYjyW0fYmlJ7Es= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773150736; c=relaxed/simple; bh=qEhVOURgjmKZcofjoKjsKX5vda8WZAM1vsEimNH/fEU=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=Y3f66ZpKqZEQoD8z89ykEmyLbNVZqC5QO1dQF81MRphBnxVhJN4tGDTqHH7R39+hFcbM6sl4BNhUbtrqX+vHVdh3f2f9wsHzweXpaIkVzuXcin+bx1QGhQYT+vrDVoSGFMZzzASVo9iddMnFZQhBZPE8ji3/QyyJPZa6x12+uh0= 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=bvqnY2jP; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Yx+VHYBq; 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="bvqnY2jP"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Yx+VHYBq" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62ACb3Yc1648239 for ; Tue, 10 Mar 2026 13:52:14 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:message-id:mime-version :subject:to; s=qcppdkim1; bh=Ec26YDNl2RQt9urDzAThYSRYy4h33GcE6qn sJgHmtXg=; b=bvqnY2jPazi/tsvLcRN+V5TDWd35xhqyThTI9i2IBOgb46XQJ2H VETFqvFMo5r6jI7/FzQxeWxty/h/MPWH2opLlckx5fC5Z7xKcYWplepLR28FpzEC KbTImlZGL8vVKnYvYt1+W/fzov83fPWHrTQc44ku2zY5TIxU6Zbw4+wH1tuV2E/q p9Rd0LD7WI+QgrMa1X1HPhSplUAH9DCGmwx+p8D27KNblywEckzJ+vbGxl44QxlW /Ov5qCJ+KLSvVcE6j/qnewd/SQIoGKfJg3zMVNqS+LIC4/NrmOt+BtCMKEyaCPWh 8woaU2J3JJ5u+PAfc+Pb4SfOTx98qTCJnJw== Received: from mail-pj1-f70.google.com (mail-pj1-f70.google.com [209.85.216.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ct8802rw3-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 10 Mar 2026 13:52:14 +0000 (GMT) Received: by mail-pj1-f70.google.com with SMTP id 98e67ed59e1d1-359f31809a0so4198367a91.2 for ; Tue, 10 Mar 2026 06:52:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1773150734; x=1773755534; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=Ec26YDNl2RQt9urDzAThYSRYy4h33GcE6qnsJgHmtXg=; b=Yx+VHYBq88HivBUbjrJkRlrA6n1VYBFFmpLwlcYLWJZZZF8x3KBx5iz6og0R0TDJBs ZzAiEQMWq6mVUJplNIYUBFYbmLt04j1IiWG0D8/n4Jn/hC7dSOpkP2Uv1ZMRyxDxbTLH f1BVICD8jzKtyOjMhbRofGnwa/aGR51NvIvsvqkVSTy0vLPoj1RQdmWZEEQQTd3uv/N0 KXpbSHInVX4kPPEU8/+yQHnLGML6P/sUmUB5kcl/tgqA1jTBili51BcpGqPUfx6plkBc hACG4n6n4voXz8H217AqFaCYkm/Mlz10BXS5njL7eaVy2woa2RwY2GyW5RL5L6L0sGzq 2Tsg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773150734; x=1773755534; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=Ec26YDNl2RQt9urDzAThYSRYy4h33GcE6qnsJgHmtXg=; b=W+IbA6s19LXr4rjInbYTBJML4DPikzipMg/DWvqmjkiZ3BxGMQkRni+hQgl3z/goP5 0SaSq7dptsj2kT9B4aq7RCsEgWL+HQq0Q/Zy3m4hUJc9KM1EqZytUSNPXOn/Dfz0gbHc x+x5YlhLuI7w+qZ5j1ode+Yeb3HS2V7Kyui9/D6Y4248/fL/Ze0uOYCen0+Tx4IyXb/+ YOquOlURWRoecX3RgcxCl8nLM3w4V+LWpcY5+Y7uCszbznBJNlcFzJatFWzKNZjDPk8H taenUyxX1XqnzZa/QkFIoFiAgAO2iYBRryAsH+ElOSWf9tnp2HKHb8cUxnAiSy8w3d3x Yh5g== X-Forwarded-Encrypted: i=1; AJvYcCXMgMe8GGU5v3L6fCD7EYNfSIZHKemg6t3dlm+bZeVUUFiJRQYp92D99KtOI0Sh5UhdniRuXUaXxnEtQoM=@vger.kernel.org X-Gm-Message-State: AOJu0YzUrFMaAcLZHfn6DVGOgHcIPN6Kb8EcW2/BVSm3oHCJadIFKM5k m1BG1Eca+ePuKB89DD1N0YHJNMZWXV9au+TlejFBHSPKg4e3pYpT6W0QgQ+mVqrTFGUDLT9/S3i gif+ex5tSL2+oemhXljO/vLSqEF0B4mnYqvWnXEh5CwnczZ4clRR+uSWM26Lr6VNO6l0= X-Gm-Gg: ATEYQzzE5rNiD/RWnHgNad4S3chK2n9ON1J13gvwNKHho9+V4+vor0FHef7qqgVxj4V hSFAUzyEgVOsXzZK0ivvsiPQwg0B2ytmwpRvwlBqbTZPyQQke2pTTF4rjm2sihSe+eHjLkCbeZP vdiysi0okJCZjkcxuJGaX5H8icX9Asi2zvk4jUC516elbGE4LvrQn+PGduzrVaX+jaVEYLd2vkw Yx7KtMOf/kY6adObv9VSBf4oYwwaaVp0NaWDUb3QMwqa4JmnAqHHNHBSEOXE1R6GAZRSi1c17XT p0e7/PUvYaQ+O3R6cGpM6zGrhvJZ45Lg9nttNMyE6Y+Z3e419cnvHRFrZbn0OmcxbKS4N3dLLCe AclWiQyzakjfeMGZ7uc+cpvPvFhWXscJ21lQU0+jqzubtxyL9 X-Received: by 2002:a17:90b:38d0:b0:34c:fe57:2793 with SMTP id 98e67ed59e1d1-359be344cbamr13628224a91.20.1773150733627; Tue, 10 Mar 2026 06:52:13 -0700 (PDT) X-Received: by 2002:a17:90b:38d0:b0:34c:fe57:2793 with SMTP id 98e67ed59e1d1-359be344cbamr13628184a91.20.1773150732920; Tue, 10 Mar 2026 06:52:12 -0700 (PDT) Received: from hu-mojha-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-359f088e4bbsm3333149a91.9.2026.03.10.06.52.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Mar 2026 06:52:12 -0700 (PDT) From: Mukesh Ojha To: Bjorn Andersson , Mathieu Poirier , Mukesh Ojha Cc: linux-arm-msm@vger.kernel.org, linux-remoteproc@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 1/2] remoteproc: qcom: pas: Fix the dtb PAS context creation Date: Tue, 10 Mar 2026 19:22:04 +0530 Message-ID: <20260310135205.2497789-1-mukesh.ojha@oss.qualcomm.com> X-Mailer: git-send-email 2.50.1 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: AW1haW4tMjYwMzEwMDEyMCBTYWx0ZWRfX95UOOkaxeMz/ 8aT3yC47Gj8c9swbt3TS7DR888i9xOr9m00GNYj8THymBBqCMvNkFz+21Irt2lG36s7MgVRx67h QEoZ9HhuTmyDbZLJWUnWXmxRNZRbtSismIVOm6eSdH1rg7aIl/4aqj3Ry39+PQ5PRp0tVhAts2K b9U+hJzUafEtH/gyL+3JQYTShOVIajzR8aa11yBpXQIACmm7fW35U8jujRdDw80DowjNUMPaIuW aorxojXVx2lv+axu1RtJQxWxhTTWK52feLAfr2l6b+Z/or0/tbXXTeRjrV1dr+i7SqOW/Y6h1Rb RKAcA3LKgHVHJTQaY/JS3eNkcmUNtTtSbwsk5czjOOGwT8L1SUaq8RN/lmo0AYWmens4GEtZ2gM toXAJfPTxfl1ghZNMQNumZC3+cnNQvN/M4NIiFvcSGOrbji622wpUER1igizLT+xczANeHKD18/ v9zfi3C+MqqtDwH4Wyw== X-Proofpoint-GUID: LN5dsK1VpklAzgHVNHgnG60HOnfbH_6B X-Authority-Analysis: v=2.4 cv=Jtf8bc4C c=1 sm=1 tr=0 ts=69b0220e cx=c_pps a=0uOsjrqzRL749jD1oC5vDA==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=EUspDBNiAAAA:8 a=Zzg8c1LOEvFJJv0PgygA:9 a=mQ_c8vxmzFEMiUWkPHU9:22 X-Proofpoint-ORIG-GUID: LN5dsK1VpklAzgHVNHgnG60HOnfbH_6B X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-10_02,2026-03-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 adultscore=0 malwarescore=0 priorityscore=1501 phishscore=0 impostorscore=0 bulkscore=0 clxscore=1015 spamscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603100120 DTB PAS context creation should be done only for subsystems that support a DTB firmware binary; otherwise, memory is wasted. Move the context creation to the appropriate location and, while at it, fix the place where the DTB PAS context was being released unconditionally. Fixes: b13d8baf5601 ("remoteproc: pas: Replace metadata context with PAS context structure") Signed-off-by: Mukesh Ojha --- drivers/remoteproc/qcom_q6v5_pas.c | 36 +++++++++++++++--------------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/drivers/remoteproc/qcom_q6v5_pas.c b/drivers/remoteproc/qcom_q6v5_pas.c index 46204da046fa..3bde37ac510c 100644 --- a/drivers/remoteproc/qcom_q6v5_pas.c +++ b/drivers/remoteproc/qcom_q6v5_pas.c @@ -250,7 +250,9 @@ static int qcom_pas_load(struct rproc *rproc, const struct firmware *fw) return 0; release_dtb_metadata: - qcom_scm_pas_metadata_release(pas->dtb_pas_ctx); + if (pas->dtb_pas_id) + qcom_scm_pas_metadata_release(pas->dtb_pas_ctx); + release_firmware(pas->dtb_firmware); return ret; @@ -623,6 +625,7 @@ static void qcom_pas_pds_detach(struct qcom_pas *pas, struct device **pds, size_ static int qcom_pas_alloc_memory_region(struct qcom_pas *pas) { + struct rproc *rproc = pas->rproc; struct resource res; int ret; @@ -640,6 +643,12 @@ static int qcom_pas_alloc_memory_region(struct qcom_pas *pas) return PTR_ERR(pas->mem_region); } + pas->pas_ctx = devm_qcom_scm_pas_context_alloc(pas->dev, pas->pas_id, + pas->mem_phys, pas->mem_size); + if (IS_ERR(pas->pas_ctx)) + return PTR_ERR(pas->pas_ctx); + + pas->pas_ctx->use_tzmem = rproc->has_iommu; if (!pas->dtb_pas_id) return 0; @@ -657,6 +666,14 @@ static int qcom_pas_alloc_memory_region(struct qcom_pas *pas) return PTR_ERR(pas->dtb_mem_region); } + pas->dtb_pas_ctx = devm_qcom_scm_pas_context_alloc(pas->dev, pas->dtb_pas_id, + pas->dtb_mem_phys, + pas->dtb_mem_size); + if (IS_ERR(pas->dtb_pas_ctx)) + return PTR_ERR(pas->dtb_pas_ctx); + + pas->dtb_pas_ctx->use_tzmem = rproc->has_iommu; + return 0; } @@ -838,23 +855,6 @@ static int qcom_pas_probe(struct platform_device *pdev) qcom_add_ssr_subdev(rproc, &pas->ssr_subdev, desc->ssr_name); - pas->pas_ctx = devm_qcom_scm_pas_context_alloc(pas->dev, pas->pas_id, - pas->mem_phys, pas->mem_size); - if (IS_ERR(pas->pas_ctx)) { - ret = PTR_ERR(pas->pas_ctx); - goto remove_ssr_sysmon; - } - - pas->dtb_pas_ctx = devm_qcom_scm_pas_context_alloc(pas->dev, pas->dtb_pas_id, - pas->dtb_mem_phys, - pas->dtb_mem_size); - if (IS_ERR(pas->dtb_pas_ctx)) { - ret = PTR_ERR(pas->dtb_pas_ctx); - goto remove_ssr_sysmon; - } - - pas->pas_ctx->use_tzmem = rproc->has_iommu; - pas->dtb_pas_ctx->use_tzmem = rproc->has_iommu; ret = rproc_add(rproc); if (ret) goto remove_ssr_sysmon; -- 2.50.1