From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.remote-ip=205.220.180.131 ARC-Seal: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; cv=none; t=1794596075; b=KAH8Ko0eDhIgR/awlV81zKbbfXwnrzLvhhKB+KUenUGYO13VSlee9SwWHEpxym7Esnrb sFX2RBOFYZpu9syDya04X8vN/Cv0bUD9xfqa5QSC5g7fKSxCqPgAn98ZaxQ+4U9jrmklw nV3Cq/Hg6GESfDsBRAIfAS6W7h3AoyIIbzkqMfOJMsJvN1KlB9kyxxx4mmIFuxHZfm4m4 euBcR5Q/M15Nt8JEObTaDKN8l0pkGVDFCv7ENzspQLGtb7Oj3hEBh07Tg2B87zXCJ3zER AbfuUfgC9b5hK80wJrYsuwa1/4bYsss0J5dwOrAH5It1reG9PF1h5ukO3sNfRwPZ6Gw== ARC-Message-Signature: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; c=relaxed/relaxed; t=1794596075; h=DMARC-Filter:Received:DKIM-Signature:Received:Received: DKIM-Signature:X-Google-DKIM-Signature:X-Forwarded-Encrypted: X-Gm-Message-State:X-Gm-Gg:X-Received:X-Received:Received:From:To:Cc: Subject:Date:Message-ID:X-Mailer:In-Reply-To:References:MIME-Version: Content-Transfer-Encoding:X-Proofpoint-Spam-Info: X-Proofpoint-ORIG-GUID:X-Proofpoint-GUID: X-Proofpoint-Spam-Details-Enc:X-Authority-Analysis: X-Proofpoint-Virus-Version:X-Proofpoint-Spam-Details; bh=0iSH72bVkObJ6XNgFyC1IcqJNSUQhJ9lsse8nsmCQfg=; b=AJh0cnkrMsqFUg/2CIcfId5s2pg6/+VT0GjYscALefGzlynoWOHK7+XJl68ZhUyqkjGj qkAful+7ufy2r3iWsT3rZJpjCDZMeEb/fAoBnSDSz6EpZmAOQD+IILLS631abSn0/bh5I GLLRAc40YAfU6WvVl3d3MMnI979xbkS4yKTU3jLOkqxGByqkob+/Wz4tgeV+qxPulXHgL p2hTOs2Kjz9IuSkgcPgUwmSxi2KtAp+RAw9D1cD9dgsw7D2ZPRyQvXfUDUeTQLBpm8hcy CTbg2xf2X6GpudgSBwKc2vtmuWRxdpoLrpAosQYbrn0871lHndhqnSKtlHy+huxRn2Q== ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass header.d=qualcomm.com header.i=@qualcomm.com header.a=rsa-sha256 header.s=qcppdkim1 header.b=nMKw03Ef; dkim=pass header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.a=rsa-sha256 header.s=google header.b=JSrGZdFi; arc=none smtp.remote-ip=205.220.180.131 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EA76B60A6F63 for ; Fri, 13 Nov 2026 18:54:33 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.2 smtp.subspace.kernel.org EA76B60A6F63 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none 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.a=rsa-sha256 header.s=qcppdkim1 header.b=nMKw03Ef; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.a=rsa-sha256 header.s=google header.b=JSrGZdFi Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6ADFRAgE737338 for ; Fri, 13 Nov 2026 18:54:33 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=0iSH72bVkOb J6XNgFyC1IcqJNSUQhJ9lsse8nsmCQfg=; b=nMKw03EfbnLviR49OfokSBHZcX1 3teGDzpcCErjbqy9PXFzmTwRaCV4+5x73O2NLnI/SKSfL4f2qZCpqc1QgU1yTAzZ bohP8oY2w7ysZYL4GeijVUVGjZY7i2fnxwZk4l3Y/fDVLpLWCVutBIrsxHb731+o cuGLy05Q3tQXaVx6N9MSEc6TSvYZ0Xwd7O4lyB85OjohreZ1Syo+huuxomIbZpA2 lqiWOG+DWIpRlTAc9+m3ZF92IJCT954ZJedL0k4CgQ5wYF0T/Cb1c5E4opbQy3g+ fr3Er1PGcfsphCEtqUsbEpgch8yp6k9CapUKDewaQDt+WybJVlFtR8LyAlA== Received: from mail-dy1-f199.google.com (mail-dy1-f199.google.com [74.125.82.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4hwv37jvh7-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 13 Nov 2026 18:54:32 +0000 (GMT) Received: by mail-dy1-f199.google.com with SMTP id 5a478bee46e88-370230d93efso5771878eec.1 for ; Fri, 13 Nov 2026 10:54:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1794596072; x=1795200872; 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=0iSH72bVkObJ6XNgFyC1IcqJNSUQhJ9lsse8nsmCQfg=; b=JSrGZdFiDkpbCuRGhVn9KZJeMsNNqNJkszqfdkyZ721lmPoXc18gesTudQe1f/R8W2 tPFfHFCJDE4ZYUhuDbD5u9FIjSG/fhw7dNGqr3n9Jrza/dNnXebfDIRvvSxE+bRbxctC stpK7GCvS3ipI947fRtLLV7ZSunZ7daBNxCLtmNV/en1DLqfEL28Z1ZKazqzaHmvgpfX uz3kYMx7ZHzUH1EauhL3BeGVFY6GMn12KSgnbG1V7TY7nyNXeDqSs9czyQqPuT937Gml AKLX+898vVB+/y3zEnzshecxiFHEbL8nAmdRjEeifQHhihLaLa6sTtwM0SnI1id1S41t uWTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1794596072; x=1795200872; 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=0iSH72bVkObJ6XNgFyC1IcqJNSUQhJ9lsse8nsmCQfg=; b=iYdX2HC+6yk861iCqb+S7GAT83H0yn0GVNndW37CGVAzPBJ0tpKWX3jBBXuH/UL1Re 9tIVUvAo7fWYHrp2mE2OWMCUGn7mLz1Oz+PBWUjknuWJ8lR7IDeiUi1oJBHVGMrlpxZl rnU16iXpz7NFFZA41PbvdDIupAyavv5RyjSm/fCRG2JdaXtW66qJVbLNgikn+UR91Cju 4QPq2sYt0/IHIf2S4wdYwGwTI7lGvccaWeorlzNXMPYLNNU3peGSdH42aeLqZme9kLfk VSWH8ITH88Zs36bSdrlXev3Z9Z3gYYhwvGim8ufOjJ9uoj1/5ScpLpletpw8MsBU+SOp m6nw== X-Forwarded-Encrypted: i=1; AL+hErGGS7ohQz+cS18SchNyyAwESeIyEiKg1M72H24D/3dFHIDNrSqGvwDxiw3WXHq+lUFWpALSMrsocq4m0NM=@vger.kernel.org X-Gm-Message-State: APuU4Z+S8Ukv5hMaTuW7gZOtneNQr3qAip/vNVfYIy79+ab2ZdjNGFbM bSoxPn6OLa7fGN2Q/gXAK4YuW3NlW/tZDUjRIJzvqN6I3rerZByxPRjY3utZ12OTeir9FV7NroF 74bguvTdWoovRsei4p3PUpoI357mTaTJ7TZ0BqLzD49PLX3ELs/qxpjJDJC3Jnn5s1yE= X-Gm-Gg: AYBFou1UcG18YF08mWfAYrTeT37xl3OOI/RghwOH7mdrplm5+XV/y5UtuPw/yoGQN6i z8PjB9JwXCSNGI2MyNL4A+IS9wHZ+LcMiIkrMAwiADQ8+raUgxu9xz3JpLemxlzNi8DeaVOR44U lV5QjayjAesynedKM6i7Q+2vO2eViah3xG8r8nM65QjULOF9BoayF62yeSbqiZKiRjraix5V6UE H2gyARalL/j2QQDw914UylISTaVVa1Jv09ZLc9+yBN3tEJ+NQ2drs1MjBlhki+TqtvtJq2jr3Zz KeX8jpNW4j6ZWslQinfFu1dn83jmW5bI/3rkH7XtkI9YGtsii0N7pl3JL3NC+NuWLOO0ZtlBjy+ nY+L0v2mitGkD13FGiooKNg4V6ZPv4tttRpyIlW0rEXdseArq5HEWPeZlQVoCwOUoZy+EsWbXku 8= X-Received: by 2002:a05:7300:c594:b0:36f:a72d:29f with SMTP id 5a478bee46e88-37967ae6bf2mr3452324eec.34.1794596071746; Fri, 13 Nov 2026 10:54:31 -0800 (PST) X-Received: by 2002:a05:7300:c594:b0:36f:a72d:29f with SMTP id 5a478bee46e88-37967ae6bf2mr3452284eec.34.1794596071051; Fri, 13 Nov 2026 10:54:31 -0800 (PST) Received: from hu-mojha-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-379563e6b6dsm15547667eec.21.2026.11.13.10.54.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Nov 2026 10:54:30 -0800 (PST) From: Mukesh Ojha To: Sumit Garg , Bjorn Andersson , Konrad Dybcio , Rob Clark , Dmitry Baryshkov , David Airlie , Simona Vetter , Vikash Garodia , Dikshita Agarwal , "Bryan O'Donoghue" , Mauro Carvalho Chehab , Alex Elder , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Jeff Johnson , Mathieu Poirier Cc: Abel Vesa , Sean Paul , Akhil P Oommen , Abhinav Kumar , Jessica Zhang , Marijn Suijten , linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-media@vger.kernel.org, netdev@vger.kernel.org, linux-wireless@vger.kernel.org, ath12k@lists.infradead.org, linux-remoteproc@vger.kernel.org, Mukesh Ojha Subject: [PATCH v2 8/9] soc: qcom: mdt_loader: remove qcom_mdt_load() Date: Sat, 14 Nov 2026 00:20:08 +0530 Message-ID: <20261113185009.157893-9-mukesh.ojha@oss.qualcomm.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20261113185009.157893-1-mukesh.ojha@oss.qualcomm.com> References: <20261113185009.157893-1-mukesh.ojha@oss.qualcomm.com> X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Proofpoint-Spam-Info: AW1haW4tMjYxMTEzMDA3NSBTYWx0ZWRfXxS7dLYb6nTp1 gWFbuX2bvAq96tQvCU4Q+Cq8M2GmF/cmDndrVs4d5PV6t0Kl7rqQ7Zbdx49XIatJMmnbT0i+qDS CsKCV8PlvEzzafRwm0rYLNtJ0418fbI= X-Proofpoint-ORIG-GUID: ogfaho74UuLJi-sZEZ4FCOrCA0-JHmOb X-Proofpoint-GUID: ogfaho74UuLJi-sZEZ4FCOrCA0-JHmOb X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYxMTEzMDA3NSBTYWx0ZWRfXwD1Gtr/bCcBU AZJQA288RDVu3kS93aaP2lkgKfaRQOMHv9lw5KioOG0jPuuAo0C5qZ1hgzqI/uR1HGzocywm7rX ylAp69eKoVGXDt20bPOYDUTsILeq2hrrWiWnC9bVFEqKa5ddeGvuTWxQ9qjkVar39ZoUD/LEfrS +KJYYEgSZraOWZGpL3bA/JbJH4uDHZZ6M5BPN56/aM4tREcfO/xi1e8LEva6KhoSpVn4YXxGofU yjITCBgr5Aj1zmyUXYUNvUp0ifxPF2uFVVexswfgetHyCs78I5E5Qa6pafp8BVviVnE2IJZrSsw uh4IgNRGKHg/YplhiHocuWu6HdJ90HPcIVKbs2Wm9FXJuIfNPHTBf12ZswCWLPOmMPm1aXIW0Ft LqJ0CZ7unLBlBtR1KM3LaGf6s0FAuQOzREdJmMPnqn1Bib+MEJTp20yUYvrjJdA0DLC7GDyprta e6huiGQfz6mZhGrj8Cw== X-Authority-Analysis: v=2.4 cv=ZeeIpcVA c=1 sm=1 tr=0 ts=6af75ce8 cx=c_pps a=cFYjgdjTJScbgFmBucgdfQ==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=zJRp6_cAMcgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=EUspDBNiAAAA:8 a=GTbpKQ6npsRNubDcNtEA:9 a=scEy_gLbYbu1JhEsrz4S:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.138,FMLib:17.12.100.49 definitions=2026-11-13_05,2026-11-11_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 clxscore=1015 priorityscore=1501 malwarescore=0 phishscore=0 impostorscore=0 bulkscore=0 suspectscore=0 adultscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2611040001 definitions=main-2611130075 All callers have been migrated to qcom_mdt_pas_load(), which takes an explicit qcom_pas_context instead of a raw pas_id and delegates memory setup to the context. Remove the now-unused qcom_mdt_load() wrapper along with its EXPORT_SYMBOL_GPL and header declaration. Signed-off-by: Mukesh Ojha --- drivers/soc/qcom/mdt_loader.c | 59 ++++++++++------------------- include/linux/soc/qcom/mdt_loader.h | 12 ------ 2 files changed, 19 insertions(+), 52 deletions(-) diff --git a/drivers/soc/qcom/mdt_loader.c b/drivers/soc/qcom/mdt_loader.c index c6ec67e1da09..fd638833b17e 100644 --- a/drivers/soc/qcom/mdt_loader.c +++ b/drivers/soc/qcom/mdt_loader.c @@ -329,7 +329,8 @@ static bool qcom_mdt_bins_are_split(const struct firmware *fw) * @dev: device handle to associate resources with * @fw: firmware object for the mdt file * @fw_name: name of the firmware, for construction of segment file names - * @mem_region: allocated memory region to load firmware into + * @mem_region: virtual address of the memory region to load firmware into, + * or NULL to have the region mapped internally with ioremap_wc() * @mem_phys: physical address of allocated memory region * @mem_size: size of the allocated memory region * @reloc_base: adjusted physical address after relocation @@ -344,6 +345,7 @@ int qcom_mdt_load_no_init(struct device *dev, const struct firmware *fw, const struct elf32_phdr *phdrs; const struct elf32_phdr *phdr; const struct elf32_hdr *ehdr; + void __iomem *mapped = NULL; phys_addr_t mem_reloc; phys_addr_t min_addr = PHYS_ADDR_MAX; ssize_t offset; @@ -353,12 +355,22 @@ int qcom_mdt_load_no_init(struct device *dev, const struct firmware *fw, int ret = 0; int i; - if (!fw || !mem_region || !mem_phys || !mem_size) + if (!fw || !mem_phys || !mem_size) return -EINVAL; if (!mdt_header_valid(fw)) return -EINVAL; + if (!mem_region) { + mapped = ioremap_wc(mem_phys, mem_size); + if (!mapped) { + dev_err(dev, "unable to map memory region: %pa+%zx\n", + &mem_phys, mem_size); + return -ENOMEM; + } + mem_region = (__force void *)mapped; + } + is_split = qcom_mdt_bins_are_split(fw); ehdr = (struct elf32_hdr *)fw->data; phdrs = (struct elf32_phdr *)(fw->data + ehdr->e_phoff); @@ -437,39 +449,13 @@ int qcom_mdt_load_no_init(struct device *dev, const struct firmware *fw, if (reloc_base) *reloc_base = mem_reloc; + if (mapped) + iounmap(mapped); + return ret; } EXPORT_SYMBOL_GPL(qcom_mdt_load_no_init); -/** - * qcom_mdt_load() - load the firmware which header is loaded as fw - * @dev: device handle to associate resources with - * @fw: firmware object for the mdt file - * @fw_name: name of the firmware, for construction of segment file names - * @pas_id: PAS identifier - * @mem_region: allocated memory region to load firmware into - * @mem_phys: physical address of allocated memory region - * @mem_size: size of the allocated memory region - * @reloc_base: adjusted physical address after relocation - * - * Returns 0 on success, negative errno otherwise. - */ -int qcom_mdt_load(struct device *dev, const struct firmware *fw, - const char *fw_name, int pas_id, void *mem_region, - phys_addr_t mem_phys, size_t mem_size, - phys_addr_t *reloc_base) -{ - int ret; - - ret = __qcom_mdt_pas_init(dev, fw, fw_name, pas_id, mem_phys, NULL); - if (ret) - return ret; - - return qcom_mdt_load_no_init(dev, fw, fw_name, mem_region, mem_phys, - mem_size, reloc_base); -} -EXPORT_SYMBOL_GPL(qcom_mdt_load); - /** * qcom_mdt_pas_load - Loads and authenticates the metadata of the firmware * (typically contained in the .mdt file), followed by loading the actual @@ -489,21 +475,14 @@ EXPORT_SYMBOL_GPL(qcom_mdt_load); int qcom_mdt_pas_load(struct qcom_pas_context *ctx, const struct firmware *fw, const char *firmware, phys_addr_t *reloc_base) { - void __iomem *mem_region; int ret; ret = __qcom_mdt_pas_init(ctx->dev, fw, firmware, ctx->pas_id, ctx->mem_phys, ctx); if (ret) return ret; - mem_region = qcom_pas_ctx_map(ctx); - if (!mem_region) - return -ENOMEM; - - ret = qcom_mdt_load_no_init(ctx->dev, fw, firmware, (__force void *)mem_region, - ctx->mem_phys, ctx->mem_size, reloc_base); - iounmap(mem_region); - return ret; + return qcom_mdt_load_no_init(ctx->dev, fw, firmware, NULL, + ctx->mem_phys, ctx->mem_size, reloc_base); } EXPORT_SYMBOL_GPL(qcom_mdt_pas_load); diff --git a/include/linux/soc/qcom/mdt_loader.h b/include/linux/soc/qcom/mdt_loader.h index 74886f772d46..f49de7b388bc 100644 --- a/include/linux/soc/qcom/mdt_loader.h +++ b/include/linux/soc/qcom/mdt_loader.h @@ -15,10 +15,6 @@ struct qcom_pas_context; #if IS_ENABLED(CONFIG_QCOM_MDT_LOADER) ssize_t qcom_mdt_get_size(const struct firmware *fw); -int qcom_mdt_load(struct device *dev, const struct firmware *fw, - const char *fw_name, int pas_id, void *mem_region, - phys_addr_t mem_phys, size_t mem_size, - phys_addr_t *reloc_base); int qcom_mdt_pas_load(struct qcom_pas_context *ctx, const struct firmware *fw, const char *firmware, phys_addr_t *reloc_base); @@ -37,14 +33,6 @@ static inline ssize_t qcom_mdt_get_size(const struct firmware *fw) return -ENODEV; } -static inline int qcom_mdt_load(struct device *dev, const struct firmware *fw, - const char *fw_name, int pas_id, - void *mem_region, phys_addr_t mem_phys, - size_t mem_size, phys_addr_t *reloc_base) -{ - return -ENODEV; -} - static inline int qcom_mdt_pas_load(struct qcom_pas_context *ctx, const struct firmware *fw, const char *firmware, phys_addr_t *reloc_base) -- 2.55.0