* [PATCH 0/3] EDITME: cover title for mdtloader-changes @ 2025-08-04 12:41 Mukesh Ojha 2025-08-04 12:41 ` [PATCH 1/3] soc: qcom: mdt_loader: Remove unused parameter Mukesh Ojha ` (4 more replies) 0 siblings, 5 replies; 17+ messages in thread From: Mukesh Ojha @ 2025-08-04 12:41 UTC (permalink / raw) To: Bjorn Andersson, Konrad Dybcio, Vikash Garodia, Dikshita Agarwal, Bryan O'Donoghue, Mauro Carvalho Chehab, Jeff Johnson, Mathieu Poirier, Dmitry Baryshkov Cc: linux-arm-msm, linux-kernel, linux-media, linux-wireless, ath12k, linux-remoteproc, Bjorn Andersson, Mukesh Ojha --- Mukesh Ojha (3): soc: qcom: mdt_loader: Remove unused parameter soc: qcom: mdt_loader: Remove pas id parameter soc: qcom: mdt_loader: Fix check mdt_header_valid() drivers/media/platform/qcom/venus/firmware.c | 4 ++-- drivers/net/wireless/ath/ath12k/ahb.c | 2 +- drivers/remoteproc/qcom_q6v5_adsp.c | 2 +- drivers/remoteproc/qcom_q6v5_pas.c | 7 +++---- drivers/remoteproc/qcom_q6v5_wcss.c | 2 +- drivers/soc/qcom/mdt_loader.c | 22 ++++++++++------------ include/linux/soc/qcom/mdt_loader.h | 7 +++---- 7 files changed, 21 insertions(+), 25 deletions(-) --- base-commit: 5c5a10f0be967a8950a2309ea965bae54251b50e change-id: 20250804-mdtloader-changes-9aca55e8cf37 Best regards, -- Mukesh Ojha <mukesh.ojha@oss.qualcomm.com> ^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH 1/3] soc: qcom: mdt_loader: Remove unused parameter 2025-08-04 12:41 [PATCH 0/3] EDITME: cover title for mdtloader-changes Mukesh Ojha @ 2025-08-04 12:41 ` Mukesh Ojha 2025-08-04 13:14 ` Konrad Dybcio 2025-08-04 12:41 ` [PATCH 2/3] soc: qcom: mdt_loader: Remove pas id parameter Mukesh Ojha ` (3 subsequent siblings) 4 siblings, 1 reply; 17+ messages in thread From: Mukesh Ojha @ 2025-08-04 12:41 UTC (permalink / raw) To: Bjorn Andersson, Konrad Dybcio, Vikash Garodia, Dikshita Agarwal, Bryan O'Donoghue, Mauro Carvalho Chehab, Jeff Johnson, Mathieu Poirier, Dmitry Baryshkov Cc: linux-arm-msm, linux-kernel, linux-media, linux-wireless, ath12k, linux-remoteproc, Bjorn Andersson, Mukesh Ojha commit f4e526ff7e38e ("soc: qcom: mdt_loader: Extract PAS operations") move pas specific code from __qcom_mdt_load() to a separate function qcom_mdt_pas_init() after which the pas_init variable became unused in __qcom_mdt_load(). Remove pas_init argument from __qcom_mdt_load(). Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com> --- drivers/soc/qcom/mdt_loader.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/soc/qcom/mdt_loader.c b/drivers/soc/qcom/mdt_loader.c index 0ca268bdf1f8..dfd15d189087 100644 --- a/drivers/soc/qcom/mdt_loader.c +++ b/drivers/soc/qcom/mdt_loader.c @@ -333,7 +333,7 @@ static bool qcom_mdt_bins_are_split(const struct firmware *fw, const char *fw_na static 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, bool pas_init) + phys_addr_t *reloc_base) { const struct elf32_phdr *phdrs; const struct elf32_phdr *phdr; @@ -459,7 +459,7 @@ int qcom_mdt_load(struct device *dev, const struct firmware *fw, return ret; return __qcom_mdt_load(dev, fw, firmware, pas_id, mem_region, mem_phys, - mem_size, reloc_base, true); + mem_size, reloc_base); } EXPORT_SYMBOL_GPL(qcom_mdt_load); @@ -482,7 +482,7 @@ int qcom_mdt_load_no_init(struct device *dev, const struct firmware *fw, size_t mem_size, phys_addr_t *reloc_base) { return __qcom_mdt_load(dev, fw, firmware, pas_id, mem_region, mem_phys, - mem_size, reloc_base, false); + mem_size, reloc_base); } EXPORT_SYMBOL_GPL(qcom_mdt_load_no_init); -- 2.50.1 ^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [PATCH 1/3] soc: qcom: mdt_loader: Remove unused parameter 2025-08-04 12:41 ` [PATCH 1/3] soc: qcom: mdt_loader: Remove unused parameter Mukesh Ojha @ 2025-08-04 13:14 ` Konrad Dybcio 0 siblings, 0 replies; 17+ messages in thread From: Konrad Dybcio @ 2025-08-04 13:14 UTC (permalink / raw) To: Mukesh Ojha, Bjorn Andersson, Konrad Dybcio, Vikash Garodia, Dikshita Agarwal, Bryan O'Donoghue, Mauro Carvalho Chehab, Jeff Johnson, Mathieu Poirier, Dmitry Baryshkov Cc: linux-arm-msm, linux-kernel, linux-media, linux-wireless, ath12k, linux-remoteproc, Bjorn Andersson On 8/4/25 2:41 PM, Mukesh Ojha wrote: > commit f4e526ff7e38e ("soc: qcom: mdt_loader: Extract PAS > operations") move pas specific code from __qcom_mdt_load() > to a separate function qcom_mdt_pas_init() after which the > pas_init variable became unused in __qcom_mdt_load(). > > Remove pas_init argument from __qcom_mdt_load(). > > Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com> > --- Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Konrad ^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH 2/3] soc: qcom: mdt_loader: Remove pas id parameter 2025-08-04 12:41 [PATCH 0/3] EDITME: cover title for mdtloader-changes Mukesh Ojha 2025-08-04 12:41 ` [PATCH 1/3] soc: qcom: mdt_loader: Remove unused parameter Mukesh Ojha @ 2025-08-04 12:41 ` Mukesh Ojha 2025-08-04 13:16 ` Konrad Dybcio ` (3 more replies) 2025-08-04 12:41 ` [PATCH 3/3] soc: qcom: mdt_loader: Fix check mdt_header_valid() Mukesh Ojha ` (2 subsequent siblings) 4 siblings, 4 replies; 17+ messages in thread From: Mukesh Ojha @ 2025-08-04 12:41 UTC (permalink / raw) To: Bjorn Andersson, Konrad Dybcio, Vikash Garodia, Dikshita Agarwal, Bryan O'Donoghue, Mauro Carvalho Chehab, Jeff Johnson, Mathieu Poirier, Dmitry Baryshkov Cc: linux-arm-msm, linux-kernel, linux-media, linux-wireless, ath12k, linux-remoteproc, Bjorn Andersson, Mukesh Ojha pas id is not used in qcom_mdt_load_no_init() and it should not be used as it is non-PAS specific function and has no relation to PAS specific mechanism. Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com> --- drivers/media/platform/qcom/venus/firmware.c | 4 ++-- drivers/net/wireless/ath/ath12k/ahb.c | 2 +- drivers/remoteproc/qcom_q6v5_adsp.c | 2 +- drivers/remoteproc/qcom_q6v5_pas.c | 7 +++---- drivers/remoteproc/qcom_q6v5_wcss.c | 2 +- drivers/soc/qcom/mdt_loader.c | 14 ++++++-------- include/linux/soc/qcom/mdt_loader.h | 7 +++---- 7 files changed, 17 insertions(+), 21 deletions(-) diff --git a/drivers/media/platform/qcom/venus/firmware.c b/drivers/media/platform/qcom/venus/firmware.c index 66a18830e66d..862d0718f694 100644 --- a/drivers/media/platform/qcom/venus/firmware.c +++ b/drivers/media/platform/qcom/venus/firmware.c @@ -136,8 +136,8 @@ static int venus_load_fw(struct venus_core *core, const char *fwname, ret = qcom_mdt_load(dev, mdt, fwname, VENUS_PAS_ID, mem_va, *mem_phys, *mem_size, NULL); else - ret = qcom_mdt_load_no_init(dev, mdt, fwname, VENUS_PAS_ID, - mem_va, *mem_phys, *mem_size, NULL); + ret = qcom_mdt_load_no_init(dev, mdt, fwname, mem_va, + *mem_phys, *mem_size, NULL); memunmap(mem_va); err_release_fw: diff --git a/drivers/net/wireless/ath/ath12k/ahb.c b/drivers/net/wireless/ath/ath12k/ahb.c index 3b983f4e3268..b30527c402f6 100644 --- a/drivers/net/wireless/ath/ath12k/ahb.c +++ b/drivers/net/wireless/ath/ath12k/ahb.c @@ -414,7 +414,7 @@ static int ath12k_ahb_power_up(struct ath12k_base *ab) goto err_fw2; } - ret = qcom_mdt_load_no_init(dev, fw2, fw2_name, pasid, mem_region, mem_phys, + ret = qcom_mdt_load_no_init(dev, fw2, fw2_name, mem_region, mem_phys, mem_size, &mem_phys); if (ret) { ath12k_err(ab, "Failed to load MDT segments: %d\n", ret); diff --git a/drivers/remoteproc/qcom_q6v5_adsp.c b/drivers/remoteproc/qcom_q6v5_adsp.c index 94af77baa7a1..e98b7e03162c 100644 --- a/drivers/remoteproc/qcom_q6v5_adsp.c +++ b/drivers/remoteproc/qcom_q6v5_adsp.c @@ -317,7 +317,7 @@ static int adsp_load(struct rproc *rproc, const struct firmware *fw) struct qcom_adsp *adsp = rproc->priv; int ret; - ret = qcom_mdt_load_no_init(adsp->dev, fw, rproc->firmware, 0, + ret = qcom_mdt_load_no_init(adsp->dev, fw, rproc->firmware, adsp->mem_region, adsp->mem_phys, adsp->mem_size, &adsp->mem_reloc); if (ret) diff --git a/drivers/remoteproc/qcom_q6v5_pas.c b/drivers/remoteproc/qcom_q6v5_pas.c index 02e29171cbbe..55a7da801183 100644 --- a/drivers/remoteproc/qcom_q6v5_pas.c +++ b/drivers/remoteproc/qcom_q6v5_pas.c @@ -242,9 +242,8 @@ static int qcom_pas_load(struct rproc *rproc, const struct firmware *fw) goto release_dtb_firmware; ret = qcom_mdt_load_no_init(pas->dev, pas->dtb_firmware, pas->dtb_firmware_name, - pas->dtb_pas_id, pas->dtb_mem_region, - pas->dtb_mem_phys, pas->dtb_mem_size, - &pas->dtb_mem_reloc); + pas->dtb_mem_region, pas->dtb_mem_phys, + pas->dtb_mem_size, &pas->dtb_mem_reloc); if (ret) goto release_dtb_metadata; } @@ -307,7 +306,7 @@ static int qcom_pas_start(struct rproc *rproc) if (ret) goto disable_px_supply; - ret = qcom_mdt_load_no_init(pas->dev, pas->firmware, rproc->firmware, pas->pas_id, + ret = qcom_mdt_load_no_init(pas->dev, pas->firmware, rproc->firmware, pas->mem_region, pas->mem_phys, pas->mem_size, &pas->mem_reloc); if (ret) diff --git a/drivers/remoteproc/qcom_q6v5_wcss.c b/drivers/remoteproc/qcom_q6v5_wcss.c index 93648734a2f2..07c88623f597 100644 --- a/drivers/remoteproc/qcom_q6v5_wcss.c +++ b/drivers/remoteproc/qcom_q6v5_wcss.c @@ -757,7 +757,7 @@ static int q6v5_wcss_load(struct rproc *rproc, const struct firmware *fw) int ret; ret = qcom_mdt_load_no_init(wcss->dev, fw, rproc->firmware, - 0, wcss->mem_region, wcss->mem_phys, + wcss->mem_region, wcss->mem_phys, wcss->mem_size, &wcss->mem_reloc); if (ret) return ret; diff --git a/drivers/soc/qcom/mdt_loader.c b/drivers/soc/qcom/mdt_loader.c index dfd15d189087..7522223835f5 100644 --- a/drivers/soc/qcom/mdt_loader.c +++ b/drivers/soc/qcom/mdt_loader.c @@ -302,7 +302,7 @@ int qcom_mdt_pas_init(struct device *dev, const struct firmware *fw, } EXPORT_SYMBOL_GPL(qcom_mdt_pas_init); -static bool qcom_mdt_bins_are_split(const struct firmware *fw, const char *fw_name) +static bool qcom_mdt_bins_are_split(const struct firmware *fw) { const struct elf32_phdr *phdrs; const struct elf32_hdr *ehdr; @@ -331,7 +331,7 @@ static bool qcom_mdt_bins_are_split(const struct firmware *fw, const char *fw_na } static int __qcom_mdt_load(struct device *dev, const struct firmware *fw, - const char *fw_name, int pas_id, void *mem_region, + const char *fw_name, void *mem_region, phys_addr_t mem_phys, size_t mem_size, phys_addr_t *reloc_base) { @@ -353,7 +353,7 @@ static int __qcom_mdt_load(struct device *dev, const struct firmware *fw, if (!mdt_header_valid(fw)) return -EINVAL; - is_split = qcom_mdt_bins_are_split(fw, fw_name); + is_split = qcom_mdt_bins_are_split(fw); ehdr = (struct elf32_hdr *)fw->data; phdrs = (struct elf32_phdr *)(fw->data + ehdr->e_phoff); @@ -458,7 +458,7 @@ int qcom_mdt_load(struct device *dev, const struct firmware *fw, if (ret) return ret; - return __qcom_mdt_load(dev, fw, firmware, pas_id, mem_region, mem_phys, + return __qcom_mdt_load(dev, fw, firmware, mem_region, mem_phys, mem_size, reloc_base); } EXPORT_SYMBOL_GPL(qcom_mdt_load); @@ -468,7 +468,6 @@ EXPORT_SYMBOL_GPL(qcom_mdt_load); * @dev: device handle to associate resources with * @fw: firmware object for the mdt file * @firmware: 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 @@ -477,11 +476,10 @@ EXPORT_SYMBOL_GPL(qcom_mdt_load); * Returns 0 on success, negative errno otherwise. */ int qcom_mdt_load_no_init(struct device *dev, const struct firmware *fw, - const char *firmware, int pas_id, - void *mem_region, phys_addr_t mem_phys, + const char *firmware, void *mem_region, phys_addr_t mem_phys, size_t mem_size, phys_addr_t *reloc_base) { - return __qcom_mdt_load(dev, fw, firmware, pas_id, mem_region, mem_phys, + return __qcom_mdt_load(dev, fw, firmware, mem_region, mem_phys, mem_size, reloc_base); } EXPORT_SYMBOL_GPL(qcom_mdt_load_no_init); diff --git a/include/linux/soc/qcom/mdt_loader.h b/include/linux/soc/qcom/mdt_loader.h index 9e8e60421192..8ea8230579a2 100644 --- a/include/linux/soc/qcom/mdt_loader.h +++ b/include/linux/soc/qcom/mdt_loader.h @@ -24,7 +24,7 @@ int qcom_mdt_load(struct device *dev, const struct firmware *fw, phys_addr_t *reloc_base); int qcom_mdt_load_no_init(struct device *dev, const struct firmware *fw, - const char *fw_name, int pas_id, void *mem_region, + const char *fw_name, void *mem_region, phys_addr_t mem_phys, size_t mem_size, phys_addr_t *reloc_base); void *qcom_mdt_read_metadata(const struct firmware *fw, size_t *data_len, @@ -54,9 +54,8 @@ static inline int qcom_mdt_load(struct device *dev, const struct firmware *fw, static inline int qcom_mdt_load_no_init(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, + const char *fw_name, void *mem_region, + phys_addr_t mem_phys, size_t mem_size, phys_addr_t *reloc_base) { return -ENODEV; -- 2.50.1 ^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [PATCH 2/3] soc: qcom: mdt_loader: Remove pas id parameter 2025-08-04 12:41 ` [PATCH 2/3] soc: qcom: mdt_loader: Remove pas id parameter Mukesh Ojha @ 2025-08-04 13:16 ` Konrad Dybcio 2025-08-04 14:17 ` Mukesh Ojha 2025-08-04 14:17 ` Jeff Johnson ` (2 subsequent siblings) 3 siblings, 1 reply; 17+ messages in thread From: Konrad Dybcio @ 2025-08-04 13:16 UTC (permalink / raw) To: Mukesh Ojha, Bjorn Andersson, Konrad Dybcio, Vikash Garodia, Dikshita Agarwal, Bryan O'Donoghue, Mauro Carvalho Chehab, Jeff Johnson, Mathieu Poirier, Dmitry Baryshkov Cc: linux-arm-msm, linux-kernel, linux-media, linux-wireless, ath12k, linux-remoteproc, Bjorn Andersson On 8/4/25 2:41 PM, Mukesh Ojha wrote: > pas id is not used in qcom_mdt_load_no_init() and it should not > be used as it is non-PAS specific function and has no relation > to PAS specific mechanism. > > Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com> > --- [...] > -static bool qcom_mdt_bins_are_split(const struct firmware *fw, const char *fw_name) > +static bool qcom_mdt_bins_are_split(const struct firmware *fw) This seems unrelated (or at least unmentioned) Konrad ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 2/3] soc: qcom: mdt_loader: Remove pas id parameter 2025-08-04 13:16 ` Konrad Dybcio @ 2025-08-04 14:17 ` Mukesh Ojha 0 siblings, 0 replies; 17+ messages in thread From: Mukesh Ojha @ 2025-08-04 14:17 UTC (permalink / raw) To: Konrad Dybcio Cc: Bjorn Andersson, Konrad Dybcio, Vikash Garodia, Dikshita Agarwal, Bryan O'Donoghue, Mauro Carvalho Chehab, Jeff Johnson, Mathieu Poirier, Dmitry Baryshkov, linux-arm-msm, linux-kernel, linux-media, linux-wireless, ath12k, linux-remoteproc, Bjorn Andersson On Mon, Aug 04, 2025 at 03:16:35PM +0200, Konrad Dybcio wrote: > On 8/4/25 2:41 PM, Mukesh Ojha wrote: > > pas id is not used in qcom_mdt_load_no_init() and it should not > > be used as it is non-PAS specific function and has no relation > > to PAS specific mechanism. > > > > Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com> > > --- > > [...] > > > -static bool qcom_mdt_bins_are_split(const struct firmware *fw, const char *fw_name) > > +static bool qcom_mdt_bins_are_split(const struct firmware *fw) > > This seems unrelated (or at least unmentioned) Ah, Missed it. I will keep this as separate change. -Mukesh > > Konrad ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 2/3] soc: qcom: mdt_loader: Remove pas id parameter 2025-08-04 12:41 ` [PATCH 2/3] soc: qcom: mdt_loader: Remove pas id parameter Mukesh Ojha 2025-08-04 13:16 ` Konrad Dybcio @ 2025-08-04 14:17 ` Jeff Johnson 2025-08-05 14:05 ` Mukesh Ojha 2025-08-06 1:57 ` Bjorn Andersson 2025-08-06 7:25 ` Dikshita Agarwal 2025-08-06 14:08 ` Jeff Johnson 3 siblings, 2 replies; 17+ messages in thread From: Jeff Johnson @ 2025-08-04 14:17 UTC (permalink / raw) To: Mukesh Ojha, Bjorn Andersson, Konrad Dybcio, Vikash Garodia, Dikshita Agarwal, Bryan O'Donoghue, Mauro Carvalho Chehab, Jeff Johnson, Mathieu Poirier, Dmitry Baryshkov Cc: linux-arm-msm, linux-kernel, linux-media, linux-wireless, ath12k, linux-remoteproc, Bjorn Andersson On 8/4/2025 5:41 AM, Mukesh Ojha wrote: > pas id is not used in qcom_mdt_load_no_init() and it should not > be used as it is non-PAS specific function and has no relation > to PAS specific mechanism. > > Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com> > --- > drivers/media/platform/qcom/venus/firmware.c | 4 ++-- > drivers/net/wireless/ath/ath12k/ahb.c | 2 +- > drivers/remoteproc/qcom_q6v5_adsp.c | 2 +- > drivers/remoteproc/qcom_q6v5_pas.c | 7 +++---- > drivers/remoteproc/qcom_q6v5_wcss.c | 2 +- > drivers/soc/qcom/mdt_loader.c | 14 ++++++-------- > include/linux/soc/qcom/mdt_loader.h | 7 +++---- > 7 files changed, 17 insertions(+), 21 deletions(-) Since this patch touches files which go through different maintainers, do you have a plan on how this will be merged? I can ack the drivers/net/wireless/ath change once I know how it will be handled. /jeff ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 2/3] soc: qcom: mdt_loader: Remove pas id parameter 2025-08-04 14:17 ` Jeff Johnson @ 2025-08-05 14:05 ` Mukesh Ojha 2025-08-06 1:57 ` Bjorn Andersson 1 sibling, 0 replies; 17+ messages in thread From: Mukesh Ojha @ 2025-08-05 14:05 UTC (permalink / raw) To: Jeff Johnson Cc: Bjorn Andersson, Konrad Dybcio, Vikash Garodia, Dikshita Agarwal, Bryan O'Donoghue, Mauro Carvalho Chehab, Jeff Johnson, Mathieu Poirier, Dmitry Baryshkov, linux-arm-msm, linux-kernel, linux-media, linux-wireless, ath12k, linux-remoteproc, Bjorn Andersson On Mon, Aug 04, 2025 at 07:17:02AM -0700, Jeff Johnson wrote: > On 8/4/2025 5:41 AM, Mukesh Ojha wrote: > > pas id is not used in qcom_mdt_load_no_init() and it should not > > be used as it is non-PAS specific function and has no relation > > to PAS specific mechanism. > > > > Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com> > > --- > > drivers/media/platform/qcom/venus/firmware.c | 4 ++-- > > drivers/net/wireless/ath/ath12k/ahb.c | 2 +- > > drivers/remoteproc/qcom_q6v5_adsp.c | 2 +- > > drivers/remoteproc/qcom_q6v5_pas.c | 7 +++---- > > drivers/remoteproc/qcom_q6v5_wcss.c | 2 +- > > drivers/soc/qcom/mdt_loader.c | 14 ++++++-------- > > include/linux/soc/qcom/mdt_loader.h | 7 +++---- > > 7 files changed, 17 insertions(+), 21 deletions(-) > > Since this patch touches files which go through different maintainers, do you > have a plan on how this will be merged? I am hoping, Bjorn should be ok to take this into his tree ? > > I can ack the drivers/net/wireless/ath change once I know how it will be handled. Going to send v2, please ack it, once we have confirmation on the above question. -Mukesh > > /jeff ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 2/3] soc: qcom: mdt_loader: Remove pas id parameter 2025-08-04 14:17 ` Jeff Johnson 2025-08-05 14:05 ` Mukesh Ojha @ 2025-08-06 1:57 ` Bjorn Andersson 1 sibling, 0 replies; 17+ messages in thread From: Bjorn Andersson @ 2025-08-06 1:57 UTC (permalink / raw) To: Jeff Johnson Cc: Mukesh Ojha, Konrad Dybcio, Vikash Garodia, Dikshita Agarwal, Bryan O'Donoghue, Mauro Carvalho Chehab, Jeff Johnson, Mathieu Poirier, Dmitry Baryshkov, linux-arm-msm, linux-kernel, linux-media, linux-wireless, ath12k, linux-remoteproc, Bjorn Andersson On Mon, Aug 04, 2025 at 07:17:02AM -0700, Jeff Johnson wrote: > On 8/4/2025 5:41 AM, Mukesh Ojha wrote: > > pas id is not used in qcom_mdt_load_no_init() and it should not > > be used as it is non-PAS specific function and has no relation > > to PAS specific mechanism. > > > > Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com> > > --- > > drivers/media/platform/qcom/venus/firmware.c | 4 ++-- > > drivers/net/wireless/ath/ath12k/ahb.c | 2 +- > > drivers/remoteproc/qcom_q6v5_adsp.c | 2 +- > > drivers/remoteproc/qcom_q6v5_pas.c | 7 +++---- > > drivers/remoteproc/qcom_q6v5_wcss.c | 2 +- > > drivers/soc/qcom/mdt_loader.c | 14 ++++++-------- > > include/linux/soc/qcom/mdt_loader.h | 7 +++---- > > 7 files changed, 17 insertions(+), 21 deletions(-) > > Since this patch touches files which go through different maintainers, do you > have a plan on how this will be merged? > > I can ack the drivers/net/wireless/ath change once I know how it will be handled. > An ack from you and a venus maintainer would be preferable, then I can pick the change through the qcom tree. Regards, Bjorn > /jeff ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 2/3] soc: qcom: mdt_loader: Remove pas id parameter 2025-08-04 12:41 ` [PATCH 2/3] soc: qcom: mdt_loader: Remove pas id parameter Mukesh Ojha 2025-08-04 13:16 ` Konrad Dybcio 2025-08-04 14:17 ` Jeff Johnson @ 2025-08-06 7:25 ` Dikshita Agarwal 2025-08-12 8:31 ` Krzysztof Kozlowski 2025-08-06 14:08 ` Jeff Johnson 3 siblings, 1 reply; 17+ messages in thread From: Dikshita Agarwal @ 2025-08-06 7:25 UTC (permalink / raw) To: Mukesh Ojha, Bjorn Andersson, Konrad Dybcio, Vikash Garodia, Bryan O'Donoghue, Mauro Carvalho Chehab, Jeff Johnson, Mathieu Poirier, Dmitry Baryshkov Cc: linux-arm-msm, linux-kernel, linux-media, linux-wireless, ath12k, linux-remoteproc, Bjorn Andersson On 8/4/2025 6:11 PM, Mukesh Ojha wrote: > pas id is not used in qcom_mdt_load_no_init() and it should not > be used as it is non-PAS specific function and has no relation > to PAS specific mechanism. > > Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com> > --- > drivers/media/platform/qcom/venus/firmware.c | 4 ++-- > drivers/net/wireless/ath/ath12k/ahb.c | 2 +- > drivers/remoteproc/qcom_q6v5_adsp.c | 2 +- > drivers/remoteproc/qcom_q6v5_pas.c | 7 +++---- > drivers/remoteproc/qcom_q6v5_wcss.c | 2 +- > drivers/soc/qcom/mdt_loader.c | 14 ++++++-------- > include/linux/soc/qcom/mdt_loader.h | 7 +++---- > 7 files changed, 17 insertions(+), 21 deletions(-) > > diff --git a/drivers/media/platform/qcom/venus/firmware.c b/drivers/media/platform/qcom/venus/firmware.c > index 66a18830e66d..862d0718f694 100644 > --- a/drivers/media/platform/qcom/venus/firmware.c > +++ b/drivers/media/platform/qcom/venus/firmware.c > @@ -136,8 +136,8 @@ static int venus_load_fw(struct venus_core *core, const char *fwname, > ret = qcom_mdt_load(dev, mdt, fwname, VENUS_PAS_ID, > mem_va, *mem_phys, *mem_size, NULL); > else > - ret = qcom_mdt_load_no_init(dev, mdt, fwname, VENUS_PAS_ID, > - mem_va, *mem_phys, *mem_size, NULL); > + ret = qcom_mdt_load_no_init(dev, mdt, fwname, mem_va, > + *mem_phys, *mem_size, NULL); > > memunmap(mem_va); > err_release_fw: Reviewed-by: Dikshita Agarwal <quic_dikshita@quicinc.com> Thanks, Dikshita ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 2/3] soc: qcom: mdt_loader: Remove pas id parameter 2025-08-06 7:25 ` Dikshita Agarwal @ 2025-08-12 8:31 ` Krzysztof Kozlowski 0 siblings, 0 replies; 17+ messages in thread From: Krzysztof Kozlowski @ 2025-08-12 8:31 UTC (permalink / raw) To: Dikshita Agarwal, Mukesh Ojha, Bjorn Andersson, Konrad Dybcio, Vikash Garodia, Bryan O'Donoghue, Mauro Carvalho Chehab, Jeff Johnson, Mathieu Poirier, Dmitry Baryshkov Cc: linux-arm-msm, linux-kernel, linux-media, linux-wireless, ath12k, linux-remoteproc, Bjorn Andersson On 06/08/2025 09:25, Dikshita Agarwal wrote: > > > On 8/4/2025 6:11 PM, Mukesh Ojha wrote: >> pas id is not used in qcom_mdt_load_no_init() and it should not >> be used as it is non-PAS specific function and has no relation >> to PAS specific mechanism. >> >> Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com> >> --- >> drivers/media/platform/qcom/venus/firmware.c | 4 ++-- >> drivers/net/wireless/ath/ath12k/ahb.c | 2 +- >> drivers/remoteproc/qcom_q6v5_adsp.c | 2 +- >> drivers/remoteproc/qcom_q6v5_pas.c | 7 +++---- >> drivers/remoteproc/qcom_q6v5_wcss.c | 2 +- >> drivers/soc/qcom/mdt_loader.c | 14 ++++++-------- >> include/linux/soc/qcom/mdt_loader.h | 7 +++---- >> 7 files changed, 17 insertions(+), 21 deletions(-) >> >> diff --git a/drivers/media/platform/qcom/venus/firmware.c b/drivers/media/platform/qcom/venus/firmware.c >> index 66a18830e66d..862d0718f694 100644 >> --- a/drivers/media/platform/qcom/venus/firmware.c >> +++ b/drivers/media/platform/qcom/venus/firmware.c >> @@ -136,8 +136,8 @@ static int venus_load_fw(struct venus_core *core, const char *fwname, >> ret = qcom_mdt_load(dev, mdt, fwname, VENUS_PAS_ID, >> mem_va, *mem_phys, *mem_size, NULL); >> else >> - ret = qcom_mdt_load_no_init(dev, mdt, fwname, VENUS_PAS_ID, >> - mem_va, *mem_phys, *mem_size, NULL); >> + ret = qcom_mdt_load_no_init(dev, mdt, fwname, mem_va, >> + *mem_phys, *mem_size, NULL); >> >> memunmap(mem_va); >> err_release_fw: > > Reviewed-by: Dikshita Agarwal <quic_dikshita@quicinc.com> You wanted Acked tag for reviewing that one, trivial line. Adding entire review for entire commit just after looking at trivial change is not really justified. See also submitting patches about reviewer's statement of oversight. Best regards, Krzysztof ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 2/3] soc: qcom: mdt_loader: Remove pas id parameter 2025-08-04 12:41 ` [PATCH 2/3] soc: qcom: mdt_loader: Remove pas id parameter Mukesh Ojha ` (2 preceding siblings ...) 2025-08-06 7:25 ` Dikshita Agarwal @ 2025-08-06 14:08 ` Jeff Johnson 3 siblings, 0 replies; 17+ messages in thread From: Jeff Johnson @ 2025-08-06 14:08 UTC (permalink / raw) To: Mukesh Ojha, Bjorn Andersson, Konrad Dybcio, Vikash Garodia, Dikshita Agarwal, Bryan O'Donoghue, Mauro Carvalho Chehab, Jeff Johnson, Mathieu Poirier, Dmitry Baryshkov Cc: linux-arm-msm, linux-kernel, linux-media, linux-wireless, ath12k, linux-remoteproc, Bjorn Andersson On 8/4/2025 5:41 AM, Mukesh Ojha wrote: > pas id is not used in qcom_mdt_load_no_init() and it should not > be used as it is non-PAS specific function and has no relation > to PAS specific mechanism. > > Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com> > --- > drivers/media/platform/qcom/venus/firmware.c | 4 ++-- > drivers/net/wireless/ath/ath12k/ahb.c | 2 +- > drivers/remoteproc/qcom_q6v5_adsp.c | 2 +- > drivers/remoteproc/qcom_q6v5_pas.c | 7 +++---- > drivers/remoteproc/qcom_q6v5_wcss.c | 2 +- > drivers/soc/qcom/mdt_loader.c | 14 ++++++-------- > include/linux/soc/qcom/mdt_loader.h | 7 +++---- > 7 files changed, 17 insertions(+), 21 deletions(-) Acked-by: Jeff Johnson <jjohnson@kernel.org> # drivers/net/wireless/ath/ath12k/ahb.c ^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH 3/3] soc: qcom: mdt_loader: Fix check mdt_header_valid() 2025-08-04 12:41 [PATCH 0/3] EDITME: cover title for mdtloader-changes Mukesh Ojha 2025-08-04 12:41 ` [PATCH 1/3] soc: qcom: mdt_loader: Remove unused parameter Mukesh Ojha 2025-08-04 12:41 ` [PATCH 2/3] soc: qcom: mdt_loader: Remove pas id parameter Mukesh Ojha @ 2025-08-04 12:41 ` Mukesh Ojha 2025-08-05 5:00 ` Dmitry Baryshkov 2025-08-06 17:32 ` Bjorn Andersson 2025-08-04 12:46 ` [PATCH 0/3] EDITME: cover title for mdtloader-changes Mukesh Ojha 2025-08-05 5:01 ` Dmitry Baryshkov 4 siblings, 2 replies; 17+ messages in thread From: Mukesh Ojha @ 2025-08-04 12:41 UTC (permalink / raw) To: Bjorn Andersson, Konrad Dybcio, Vikash Garodia, Dikshita Agarwal, Bryan O'Donoghue, Mauro Carvalho Chehab, Jeff Johnson, Mathieu Poirier, Dmitry Baryshkov Cc: linux-arm-msm, linux-kernel, linux-media, linux-wireless, ath12k, linux-remoteproc, Bjorn Andersson, Mukesh Ojha Firmware binaries may lack section headers, in which case the e_shentsize field in the ELF header can be zero. Update mdt_header_valid() to correctly handle this scenario by adjusting the validation logic accordingly. Fixes: 9f9967fed9d0 ("soc: qcom: mdt_loader: Ensure we don't read past the ELF header") Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com> --- drivers/soc/qcom/mdt_loader.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/soc/qcom/mdt_loader.c b/drivers/soc/qcom/mdt_loader.c index 7522223835f5..8210fb3dd51a 100644 --- a/drivers/soc/qcom/mdt_loader.c +++ b/drivers/soc/qcom/mdt_loader.c @@ -39,7 +39,7 @@ static bool mdt_header_valid(const struct firmware *fw) if (phend > fw->size) return false; - if (ehdr->e_shentsize != sizeof(struct elf32_shdr)) + if (ehdr->e_shentsize && ehdr->e_shentsize != sizeof(struct elf32_shdr)) return false; shend = size_add(size_mul(sizeof(struct elf32_shdr), ehdr->e_shnum), ehdr->e_shoff); -- 2.50.1 ^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [PATCH 3/3] soc: qcom: mdt_loader: Fix check mdt_header_valid() 2025-08-04 12:41 ` [PATCH 3/3] soc: qcom: mdt_loader: Fix check mdt_header_valid() Mukesh Ojha @ 2025-08-05 5:00 ` Dmitry Baryshkov 2025-08-06 17:32 ` Bjorn Andersson 1 sibling, 0 replies; 17+ messages in thread From: Dmitry Baryshkov @ 2025-08-05 5:00 UTC (permalink / raw) To: Mukesh Ojha Cc: Bjorn Andersson, Konrad Dybcio, Vikash Garodia, Dikshita Agarwal, Bryan O'Donoghue, Mauro Carvalho Chehab, Jeff Johnson, Mathieu Poirier, linux-arm-msm, linux-kernel, linux-media, linux-wireless, ath12k, linux-remoteproc, Bjorn Andersson On Mon, Aug 04, 2025 at 06:11:51PM +0530, Mukesh Ojha wrote: > Firmware binaries may lack section headers, in which case > the e_shentsize field in the ELF header can be zero. > > Update mdt_header_valid() to correctly handle this scenario > by adjusting the validation logic accordingly. > > Fixes: 9f9967fed9d0 ("soc: qcom: mdt_loader: Ensure we don't read past the ELF header") > Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com> > --- > drivers/soc/qcom/mdt_loader.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> -- With best wishes Dmitry ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 3/3] soc: qcom: mdt_loader: Fix check mdt_header_valid() 2025-08-04 12:41 ` [PATCH 3/3] soc: qcom: mdt_loader: Fix check mdt_header_valid() Mukesh Ojha 2025-08-05 5:00 ` Dmitry Baryshkov @ 2025-08-06 17:32 ` Bjorn Andersson 1 sibling, 0 replies; 17+ messages in thread From: Bjorn Andersson @ 2025-08-06 17:32 UTC (permalink / raw) To: Mukesh Ojha Cc: Konrad Dybcio, Vikash Garodia, Dikshita Agarwal, Bryan O'Donoghue, Mauro Carvalho Chehab, Jeff Johnson, Mathieu Poirier, Dmitry Baryshkov, linux-arm-msm, linux-kernel, linux-media, linux-wireless, ath12k, linux-remoteproc, Bjorn Andersson On Mon, Aug 04, 2025 at 06:11:51PM +0530, Mukesh Ojha wrote: > Firmware binaries may lack section headers, in which case > the e_shentsize field in the ELF header can be zero. > > Update mdt_header_valid() to correctly handle this scenario > by adjusting the validation logic accordingly. > Thanks for the fix, Mukesh. I posted and now merged https://lore.kernel.org/all/20250730-mdt-loader-shentsize-zero-v1-1-04f43186229c@oss.qualcomm.com/ for this. As was mentioned, in the future, when you have a fix and some other changes, put the fix first in the series (or send it separately when possible) so that it can conveniently be picked up on its own by the maintainers. Regards, Bjorn > Fixes: 9f9967fed9d0 ("soc: qcom: mdt_loader: Ensure we don't read past the ELF header") > Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com> > --- > drivers/soc/qcom/mdt_loader.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/soc/qcom/mdt_loader.c b/drivers/soc/qcom/mdt_loader.c > index 7522223835f5..8210fb3dd51a 100644 > --- a/drivers/soc/qcom/mdt_loader.c > +++ b/drivers/soc/qcom/mdt_loader.c > @@ -39,7 +39,7 @@ static bool mdt_header_valid(const struct firmware *fw) > if (phend > fw->size) > return false; > > - if (ehdr->e_shentsize != sizeof(struct elf32_shdr)) > + if (ehdr->e_shentsize && ehdr->e_shentsize != sizeof(struct elf32_shdr)) > return false; > > shend = size_add(size_mul(sizeof(struct elf32_shdr), ehdr->e_shnum), ehdr->e_shoff); > > -- > 2.50.1 > ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 0/3] EDITME: cover title for mdtloader-changes 2025-08-04 12:41 [PATCH 0/3] EDITME: cover title for mdtloader-changes Mukesh Ojha ` (2 preceding siblings ...) 2025-08-04 12:41 ` [PATCH 3/3] soc: qcom: mdt_loader: Fix check mdt_header_valid() Mukesh Ojha @ 2025-08-04 12:46 ` Mukesh Ojha 2025-08-05 5:01 ` Dmitry Baryshkov 4 siblings, 0 replies; 17+ messages in thread From: Mukesh Ojha @ 2025-08-04 12:46 UTC (permalink / raw) To: Bjorn Andersson, Konrad Dybcio, Vikash Garodia, Dikshita Agarwal, Bryan O'Donoghue, Mauro Carvalho Chehab, Jeff Johnson, Mathieu Poirier, Dmitry Baryshkov Cc: linux-arm-msm, linux-kernel, linux-media, linux-wireless, ath12k, linux-remoteproc, Bjorn Andersson On Mon, Aug 04, 2025 at 06:11:48PM +0530, Mukesh Ojha wrote: Please ignore this mistake of sending empty cover-letter to your inbox. -Mukesh > --- > Mukesh Ojha (3): > soc: qcom: mdt_loader: Remove unused parameter > soc: qcom: mdt_loader: Remove pas id parameter > soc: qcom: mdt_loader: Fix check mdt_header_valid() > > drivers/media/platform/qcom/venus/firmware.c | 4 ++-- > drivers/net/wireless/ath/ath12k/ahb.c | 2 +- > drivers/remoteproc/qcom_q6v5_adsp.c | 2 +- > drivers/remoteproc/qcom_q6v5_pas.c | 7 +++---- > drivers/remoteproc/qcom_q6v5_wcss.c | 2 +- > drivers/soc/qcom/mdt_loader.c | 22 ++++++++++------------ > include/linux/soc/qcom/mdt_loader.h | 7 +++---- > 7 files changed, 21 insertions(+), 25 deletions(-) > --- > base-commit: 5c5a10f0be967a8950a2309ea965bae54251b50e > change-id: 20250804-mdtloader-changes-9aca55e8cf37 > > Best regards, > -- > Mukesh Ojha <mukesh.ojha@oss.qualcomm.com> > ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 0/3] EDITME: cover title for mdtloader-changes 2025-08-04 12:41 [PATCH 0/3] EDITME: cover title for mdtloader-changes Mukesh Ojha ` (3 preceding siblings ...) 2025-08-04 12:46 ` [PATCH 0/3] EDITME: cover title for mdtloader-changes Mukesh Ojha @ 2025-08-05 5:01 ` Dmitry Baryshkov 4 siblings, 0 replies; 17+ messages in thread From: Dmitry Baryshkov @ 2025-08-05 5:01 UTC (permalink / raw) To: Mukesh Ojha Cc: Bjorn Andersson, Konrad Dybcio, Vikash Garodia, Dikshita Agarwal, Bryan O'Donoghue, Mauro Carvalho Chehab, Jeff Johnson, Mathieu Poirier, linux-arm-msm, linux-kernel, linux-media, linux-wireless, ath12k, linux-remoteproc, Bjorn Andersson On Mon, Aug 04, 2025 at 06:11:48PM +0530, Mukesh Ojha wrote: > > --- > Mukesh Ojha (3): > soc: qcom: mdt_loader: Remove unused parameter > soc: qcom: mdt_loader: Remove pas id parameter > soc: qcom: mdt_loader: Fix check mdt_header_valid() For v2 please move the fix to the start of the series, so that it can be picked up independently. > > drivers/media/platform/qcom/venus/firmware.c | 4 ++-- > drivers/net/wireless/ath/ath12k/ahb.c | 2 +- > drivers/remoteproc/qcom_q6v5_adsp.c | 2 +- > drivers/remoteproc/qcom_q6v5_pas.c | 7 +++---- > drivers/remoteproc/qcom_q6v5_wcss.c | 2 +- > drivers/soc/qcom/mdt_loader.c | 22 ++++++++++------------ > include/linux/soc/qcom/mdt_loader.h | 7 +++---- > 7 files changed, 21 insertions(+), 25 deletions(-) > --- > base-commit: 5c5a10f0be967a8950a2309ea965bae54251b50e > change-id: 20250804-mdtloader-changes-9aca55e8cf37 > > Best regards, > -- > Mukesh Ojha <mukesh.ojha@oss.qualcomm.com> > -- With best wishes Dmitry ^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2025-08-12 8:31 UTC | newest] Thread overview: 17+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-08-04 12:41 [PATCH 0/3] EDITME: cover title for mdtloader-changes Mukesh Ojha 2025-08-04 12:41 ` [PATCH 1/3] soc: qcom: mdt_loader: Remove unused parameter Mukesh Ojha 2025-08-04 13:14 ` Konrad Dybcio 2025-08-04 12:41 ` [PATCH 2/3] soc: qcom: mdt_loader: Remove pas id parameter Mukesh Ojha 2025-08-04 13:16 ` Konrad Dybcio 2025-08-04 14:17 ` Mukesh Ojha 2025-08-04 14:17 ` Jeff Johnson 2025-08-05 14:05 ` Mukesh Ojha 2025-08-06 1:57 ` Bjorn Andersson 2025-08-06 7:25 ` Dikshita Agarwal 2025-08-12 8:31 ` Krzysztof Kozlowski 2025-08-06 14:08 ` Jeff Johnson 2025-08-04 12:41 ` [PATCH 3/3] soc: qcom: mdt_loader: Fix check mdt_header_valid() Mukesh Ojha 2025-08-05 5:00 ` Dmitry Baryshkov 2025-08-06 17:32 ` Bjorn Andersson 2025-08-04 12:46 ` [PATCH 0/3] EDITME: cover title for mdtloader-changes Mukesh Ojha 2025-08-05 5:01 ` Dmitry Baryshkov
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).