From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 5CB2C2D9EDC for ; Tue, 10 Mar 2026 13:37:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773149844; cv=none; b=Qs2QcU7e6oehNJcZLBTY+FSIe0tzD1g+kc4/FNNhR/3vgwL0F6cO/9TAzG7uP8nnKoIBk7Ml0Y+HhdnV2ja58i3lbOuC/HFrOnGDH5meRQyPcfOtHShGFRQfFXDX+6la6FjVkLx2tFFLO6v7Cldlerz0fRxLbd3PrzK2TJm783k= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773149844; c=relaxed/simple; bh=KIze5ZrQxZz4Phfuk49pAhciBmV7OwVVldEXZctNS5Q=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=fQJrKwSDBUvJSApyFC4CMUcZSlb/FGtqq0ymq0CdFZ/4Ih5ipcY7smBao4Nn6eKoqlnupIcQmVWbCAZTYD1iM0WnQvyK9cLISs5LHOKCcHPrthFHcVRQs8Z9zD+96TKLAVhl3A9agffkNfEnENN3JALY6wP37do+I/FlRS43Grc= 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=JcRtDGNm; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=AuKNSKJD; arc=none smtp.client-ip=205.220.180.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="JcRtDGNm"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="AuKNSKJD" Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62ACaZlW024203 for ; Tue, 10 Mar 2026 13:37:22 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=Zmv6BusZuzBbAou7SIt9IZJa+C5TK3C+6Y6 Fy8mQT2A=; b=JcRtDGNmPr9X52DnNFB+Sf/H0LQdpNhY/Bpy6S9yJcqXenPGUNN iM58dPsLbG+jqPwpNzvroBkwAh/ULdvThr1+Pe6Z+T/vhRY1f4Iy5AccoML7u7V6 TFgt6/MCKWI9WgQ+e7WpzfrlMJR2wSXpFfqWMn8OLKyvaqg7Cd0G/RfgJJmHVJdA gx1NpZA8i5AYfFZeKFC9/hFRRPBB8fZTPZUFFeMpwzls3p8pej25gOg93LnFhE+b cn4JjCloI7XNhuMxAEoBe/kLAsNBZNC2wHOOZ759xNP1HaZUSRXUpjXfN/2tSZ5q 5FYiTYnWjnXFRPQ9fOuzk9BIWQ7TqdAd/Sw== Received: from mail-oo1-f72.google.com (mail-oo1-f72.google.com [209.85.161.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ctg5nh3ff-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 10 Mar 2026 13:37:22 +0000 (GMT) Received: by mail-oo1-f72.google.com with SMTP id 006d021491bc7-67bc30477a5so2903338eaf.2 for ; Tue, 10 Mar 2026 06:37:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1773149841; x=1773754641; 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=Zmv6BusZuzBbAou7SIt9IZJa+C5TK3C+6Y6Fy8mQT2A=; b=AuKNSKJDQRe5rapGkYYhyHELnzOlg3VmI3TExcf6SOqeF73GJ//TEIfRbzgq488U7L i4CX5TyaNPxPEGBz3UGM2tvw2PZ3f8/SI6IRDINDg2mCAdRV+aBwDynMt0gX2BbiKH2N ImpHMvJPKZBZ8gisuDMMylIvgczLTYheL8ifnRsySVeMIZDk4SMDkvug/BeMM8RgvLC4 rvn2qcN1e+HZyux97ijXznTi/C2LCryTVIZl5zrOvqLXGrsnciXbYeWen1+/OpRYBUx+ DcGh4QFOiZR1NmnJN0PvZtY9dDwwIeHI0Iis5I45jjprxOwLW3WZXNr7OGrUWKQAulMD +FZw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773149841; x=1773754641; 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=Zmv6BusZuzBbAou7SIt9IZJa+C5TK3C+6Y6Fy8mQT2A=; b=IHTDc42VAGTSlz2/aIaRcfa9aFVDWkknEUt1xgNKnu5n3Zrh24L/2igqAwaaYHc7RP 7sksD9BCcnqxW0AMivAnnmfVtJi+4v3+nXwz0PRKIPk1JqzDcNf96xrbUeuvHLGtYjHc WI1xo/1CmVcXlUmXTLJ1pIdyl/ryOhk/nJbYRCJz+J1nhhE8l8I2PukgCBttTHgZR25O p5jGW13GX/dH2yUj6MeJ7hxySKwSEaW3Xoc4FUhtylPcQVNnQMXCq+ypD91q6YFlqpDP L0krLEUOQOG2hsk4Gh2K0ExuYxJU0qTTP58g/wjHV0WZxSK1Sdbq1El+HfxbBQUDvohr Q0XA== X-Forwarded-Encrypted: i=1; AJvYcCV4gLHkNQdgYt5Um4+7XwjLgzq9F/F92BRW8M9BnUBWqLSdZ8CNOxwhqTKylZaQG/qyyJ8poU2Jeal5Y3w=@vger.kernel.org X-Gm-Message-State: AOJu0Yw4ONklVuu5F896WCOeSp6ADeZcDhAGgcL0jKoe2QtxQdswJa1X OnHC2B5TchpjW/u39vfQITHuu3mTPLH9lh5n0lUtRtQ5D+FbyLnQxC6IgNNqOlcmMzFr+m1Uy22 E/1qPshnZ4KHwEnsWH92zudWpgjD43NQ5vbXDilPevW9+2mYbhcp7e7MWDPtUE44pypg= X-Gm-Gg: ATEYQzwjx8IBGMEYjsNOFL4kqr1BZ32/3wgMeAbs8+AJp5rngv6X0f05DlaI8ozjAci 6w2z7cLl+h4hCHTfDiAG0HSCON0IEJClDKHEmh+o53s0RM9E4iZIerOdbTda+gQLKhluxtl5aRS XJ8xOONc2sXgpUmN9JxdQva9sq9V8u8nUkE7I4YCE6h4yIPtPEvqm52qwatmWDaZbLBwbu9MXYt 1quxnB1ek1DCM2cctUCQx2c8yvH9Y4AEJP/BNsnwyktlFNTs8aecOrdsCGQw9LoKJQOW+2tn9tU bkopuBlkctOkkysqLcZHKUM2vC5HxZVCm5xZV4XUmBV7tdmWE/RDVkEtyn99ZS9Hzs9bVMGk7uh 6unifZF5qsWLPYbd202bf67BBZJE3QzG13W0edJ9X660xtRrR X-Received: by 2002:a05:6820:221e:b0:67b:aaf6:821d with SMTP id 006d021491bc7-67baaf6aaaemr6265050eaf.42.1773149841573; Tue, 10 Mar 2026 06:37:21 -0700 (PDT) X-Received: by 2002:a05:6820:221e:b0:67b:aaf6:821d with SMTP id 006d021491bc7-67baaf6aaaemr6265038eaf.42.1773149840983; Tue, 10 Mar 2026 06:37:20 -0700 (PDT) Received: from hu-mojha-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-67bb1eb3591sm4265084eaf.14.2026.03.10.06.37.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Mar 2026 06:37:20 -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:07:10 +0530 Message-ID: <20260310133711.2452445-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-GUID: gbhI6dJoU2K68MnxuZVUv7HDQ6SZAZkC X-Authority-Analysis: v=2.4 cv=ervSD4pX c=1 sm=1 tr=0 ts=69b01e92 cx=c_pps a=wURt19dY5n+H4uQbQt9s7g==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=EUspDBNiAAAA:8 a=Zzg8c1LOEvFJJv0PgygA:9 a=-UhsvdU3ccFDOXFxFb4l:22 X-Proofpoint-ORIG-GUID: gbhI6dJoU2K68MnxuZVUv7HDQ6SZAZkC X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzEwMDExOSBTYWx0ZWRfX8RFLo8BwOs0v tgeewsy5AOaNRU/Prs0Gjuzw4RDBVTFTl3RjTbHhod35vhIoUQ5ASaaxgkh48hXiz6NsiSoBM// ZQgYdFyX0AL3GLYL2R9EiRCpx0AmiXgJZSWUiPB8+1lUXPsS+1eYhjYXn9CcOXycvEfLNtI3t4M JQ04mGEb4fP6kDXfw3zQ9rmByp8EaIQ4kGEMNLcMO7Mz6DWeql24TVtTExn80GFtpLIGeJcIC5N h6FI/DWvWoc2qKoXkAiEm4PzloPb7ffDToS+pRKbks7JC0pZ2yMktIOhNr8iFlRlI627v1WifJV z2cH5FaRhuiQXZ0HuZL9Nebq6E4hqd7C3F1OMH1r5NAT9xpFNDs8ftNCSRabycAqAiDWE02x2wF SsEAewrImjpHFApmJeJFauRNlCF0tOABUGGLdpYKMLLmDfdSFSbZnyvQPUmXJWjnI9AM2D7RWxm doYV4cImCRwWVWAcNLw== 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 clxscore=1015 spamscore=0 bulkscore=0 impostorscore=0 lowpriorityscore=0 malwarescore=0 phishscore=0 adultscore=0 priorityscore=1501 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603100119 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 | 35 +++++++++++++++--------------- 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/drivers/remoteproc/qcom_q6v5_pas.c b/drivers/remoteproc/qcom_q6v5_pas.c index 46204da046fa..74596b82aa74 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; @@ -640,6 +642,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 +665,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 +854,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