* [PATCH] remoteproc: qcom_wcnss: Fix reserved region mapping failure
@ 2026-01-28 22:02 ` Rob Herring (Arm)
2026-02-07 17:29 ` André Apitzsch
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Rob Herring (Arm) @ 2026-01-28 22:02 UTC (permalink / raw)
To: Bjorn Andersson, Mathieu Poirier
Cc: Marek Szyprowski, André Apitzsch, linux-arm-msm,
linux-remoteproc, linux-kernel
Commit c70b9d5fdcd7 ("remoteproc: qcom: Use of_reserved_mem_region_*
functions for "memory-region"") switched from devm_ioremap_wc() to
devm_ioremap_resource_wc(). The difference is devm_ioremap_resource_wc()
also requests the resource which fails. Testing of both fixed and
dynamic reserved regions indicates that requesting the resource should
work, so I'm not sure why it doesn't work in this case. Fix the issue by
reverting back to devm_ioremap_wc().
Reported-by: Marek Szyprowski <m.szyprowski@samsung.com>
Reported-by: André Apitzsch <git@apitzsch.eu>
Fixes: c70b9d5fdcd7 ("remoteproc: qcom: Use of_reserved_mem_region_* functions for "memory-region"")
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
---
I created some dummy regions matching the flags used here and did
request_mem_region() on them successfully, so I'm not sure why it
doesn't work for this driver. Something else is requesting the region?
Perhaps there's a deferred probe and somehow request_mem_region() is not
getting undone correctly?
---
drivers/remoteproc/qcom_wcnss.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/remoteproc/qcom_wcnss.c b/drivers/remoteproc/qcom_wcnss.c
index ee18bf2e8054..4add9037dbd5 100644
--- a/drivers/remoteproc/qcom_wcnss.c
+++ b/drivers/remoteproc/qcom_wcnss.c
@@ -537,7 +537,7 @@ static int wcnss_alloc_memory_region(struct qcom_wcnss *wcnss)
wcnss->mem_phys = wcnss->mem_reloc = res.start;
wcnss->mem_size = resource_size(&res);
- wcnss->mem_region = devm_ioremap_resource_wc(wcnss->dev, &res);
+ wcnss->mem_region = devm_ioremap_wc(wcnss->dev, wcnss->mem_phys, wcnss->mem_size);
if (IS_ERR(wcnss->mem_region)) {
dev_err(wcnss->dev, "unable to map memory region: %pR\n", &res);
return PTR_ERR(wcnss->mem_region);
--
2.51.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] remoteproc: qcom_wcnss: Fix reserved region mapping failure
2026-01-28 22:02 ` [PATCH] remoteproc: qcom_wcnss: Fix reserved region mapping failure Rob Herring (Arm)
@ 2026-02-07 17:29 ` André Apitzsch
2026-02-10 10:05 ` Marek Szyprowski
2026-02-23 20:15 ` Bjorn Andersson
2 siblings, 0 replies; 4+ messages in thread
From: André Apitzsch @ 2026-02-07 17:29 UTC (permalink / raw)
To: Rob Herring (Arm), Bjorn Andersson, Mathieu Poirier
Cc: Marek Szyprowski, linux-arm-msm, linux-remoteproc, linux-kernel
Am Mittwoch, dem 28.01.2026 um 16:02 -0600 schrieb Rob Herring (Arm):
> Commit c70b9d5fdcd7 ("remoteproc: qcom: Use of_reserved_mem_region_*
> functions for "memory-region"") switched from devm_ioremap_wc() to
> devm_ioremap_resource_wc(). The difference is
> devm_ioremap_resource_wc() also requests the resource which fails.
> Testing of both fixed and dynamic reserved regions indicates that
> requesting the resource should work, so I'm not sure why it doesn't
> work in this case. Fix the issue by reverting back to
> devm_ioremap_wc().
>
> Reported-by: Marek Szyprowski <m.szyprowski@samsung.com>
> Reported-by: André Apitzsch <git@apitzsch.eu>
> Fixes: c70b9d5fdcd7 ("remoteproc: qcom: Use of_reserved_mem_region_*
> functions for "memory-region"")
> Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
> ---
> I created some dummy regions matching the flags used here and did
> request_mem_region() on them successfully, so I'm not sure why it
> doesn't work for this driver. Something else is requesting the
> region?
>
> Perhaps there's a deferred probe and somehow request_mem_region() is
> not getting undone correctly?
> ---
> drivers/remoteproc/qcom_wcnss.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/remoteproc/qcom_wcnss.c
> b/drivers/remoteproc/qcom_wcnss.c
> index ee18bf2e8054..4add9037dbd5 100644
> --- a/drivers/remoteproc/qcom_wcnss.c
> +++ b/drivers/remoteproc/qcom_wcnss.c
> @@ -537,7 +537,7 @@ static int wcnss_alloc_memory_region(struct
> qcom_wcnss *wcnss)
>
> wcnss->mem_phys = wcnss->mem_reloc = res.start;
> wcnss->mem_size = resource_size(&res);
> - wcnss->mem_region = devm_ioremap_resource_wc(wcnss->dev,
> &res);
> + wcnss->mem_region = devm_ioremap_wc(wcnss->dev, wcnss-
> >mem_phys, wcnss->mem_size);
> if (IS_ERR(wcnss->mem_region)) {
> dev_err(wcnss->dev, "unable to map memory region:
> %pR\n", &res);
> return PTR_ERR(wcnss->mem_region);
Thanks.
Tested-by: André Apitzsch <git@apitzsch.eu> # on BQ Aquaris M5
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] remoteproc: qcom_wcnss: Fix reserved region mapping failure
2026-01-28 22:02 ` [PATCH] remoteproc: qcom_wcnss: Fix reserved region mapping failure Rob Herring (Arm)
2026-02-07 17:29 ` André Apitzsch
@ 2026-02-10 10:05 ` Marek Szyprowski
2026-02-23 20:15 ` Bjorn Andersson
2 siblings, 0 replies; 4+ messages in thread
From: Marek Szyprowski @ 2026-02-10 10:05 UTC (permalink / raw)
To: Rob Herring (Arm), Bjorn Andersson, Mathieu Poirier
Cc: André Apitzsch, linux-arm-msm, linux-remoteproc,
linux-kernel
On 28.01.2026 23:02, Rob Herring (Arm) wrote:
> Commit c70b9d5fdcd7 ("remoteproc: qcom: Use of_reserved_mem_region_*
> functions for "memory-region"") switched from devm_ioremap_wc() to
> devm_ioremap_resource_wc(). The difference is devm_ioremap_resource_wc()
> also requests the resource which fails. Testing of both fixed and
> dynamic reserved regions indicates that requesting the resource should
> work, so I'm not sure why it doesn't work in this case. Fix the issue by
> reverting back to devm_ioremap_wc().
>
> Reported-by: Marek Szyprowski <m.szyprowski@samsung.com>
> Reported-by: André Apitzsch <git@apitzsch.eu>
> Fixes: c70b9d5fdcd7 ("remoteproc: qcom: Use of_reserved_mem_region_* functions for "memory-region"")
> Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Tested-by: Marek Szyprowski <m.szyprowski@samsung.com>
> ---
> I created some dummy regions matching the flags used here and did
> request_mem_region() on them successfully, so I'm not sure why it
> doesn't work for this driver. Something else is requesting the region?
>
> Perhaps there's a deferred probe and somehow request_mem_region() is not
> getting undone correctly?
I didn't manage to track what is the root cause of the
request_mem_region() failure, but this is definitely not related to
deferred probe. This function is called only once from the qcom_wcnss
driver and fails, because the region is already assigned to 'reserved'
owner.
> ---
> drivers/remoteproc/qcom_wcnss.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/remoteproc/qcom_wcnss.c b/drivers/remoteproc/qcom_wcnss.c
> index ee18bf2e8054..4add9037dbd5 100644
> --- a/drivers/remoteproc/qcom_wcnss.c
> +++ b/drivers/remoteproc/qcom_wcnss.c
> @@ -537,7 +537,7 @@ static int wcnss_alloc_memory_region(struct qcom_wcnss *wcnss)
>
> wcnss->mem_phys = wcnss->mem_reloc = res.start;
> wcnss->mem_size = resource_size(&res);
> - wcnss->mem_region = devm_ioremap_resource_wc(wcnss->dev, &res);
> + wcnss->mem_region = devm_ioremap_wc(wcnss->dev, wcnss->mem_phys, wcnss->mem_size);
> if (IS_ERR(wcnss->mem_region)) {
> dev_err(wcnss->dev, "unable to map memory region: %pR\n", &res);
> return PTR_ERR(wcnss->mem_region);
Best regards
--
Marek Szyprowski, PhD
Samsung R&D Institute Poland
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] remoteproc: qcom_wcnss: Fix reserved region mapping failure
2026-01-28 22:02 ` [PATCH] remoteproc: qcom_wcnss: Fix reserved region mapping failure Rob Herring (Arm)
2026-02-07 17:29 ` André Apitzsch
2026-02-10 10:05 ` Marek Szyprowski
@ 2026-02-23 20:15 ` Bjorn Andersson
2 siblings, 0 replies; 4+ messages in thread
From: Bjorn Andersson @ 2026-02-23 20:15 UTC (permalink / raw)
To: Mathieu Poirier, Rob Herring (Arm)
Cc: Marek Szyprowski, André Apitzsch, linux-arm-msm,
linux-remoteproc, linux-kernel
On Wed, 28 Jan 2026 16:02:42 -0600, Rob Herring (Arm) wrote:
> Commit c70b9d5fdcd7 ("remoteproc: qcom: Use of_reserved_mem_region_*
> functions for "memory-region"") switched from devm_ioremap_wc() to
> devm_ioremap_resource_wc(). The difference is devm_ioremap_resource_wc()
> also requests the resource which fails. Testing of both fixed and
> dynamic reserved regions indicates that requesting the resource should
> work, so I'm not sure why it doesn't work in this case. Fix the issue by
> reverting back to devm_ioremap_wc().
>
> [...]
Applied, thanks!
[1/1] remoteproc: qcom_wcnss: Fix reserved region mapping failure
commit: f9b888599418951b8229bbb28851ed4da50c58e9
Best regards,
--
Bjorn Andersson <andersson@kernel.org>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-02-23 20:15 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <CGME20260128220305eucas1p23e47ba043c0314765ce41478b4b8a0d6@eucas1p2.samsung.com>
2026-01-28 22:02 ` [PATCH] remoteproc: qcom_wcnss: Fix reserved region mapping failure Rob Herring (Arm)
2026-02-07 17:29 ` André Apitzsch
2026-02-10 10:05 ` Marek Szyprowski
2026-02-23 20:15 ` Bjorn Andersson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox