[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <0f24fbffee25ded20f536577c6e0e3b3055d55ea.camel@apitzsch.eu>
Date: Sat, 07 Feb 2026 18:29:25 +0100
From: André Apitzsch <git@...tzsch.eu>
To: "Rob Herring (Arm)" <robh@...nel.org>, Bjorn Andersson
<andersson@...nel.org>, Mathieu Poirier <mathieu.poirier@...aro.org>
Cc: Marek Szyprowski <m.szyprowski@...sung.com>,
linux-arm-msm@...r.kernel.org, linux-remoteproc@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] remoteproc: qcom_wcnss: Fix reserved region mapping
failure
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@...sung.com>
> Reported-by: André Apitzsch <git@...tzsch.eu>
> Fixes: c70b9d5fdcd7 ("remoteproc: qcom: Use of_reserved_mem_region_*
> functions for "memory-region"")
> Signed-off-by: Rob Herring (Arm) <robh@...nel.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@...tzsch.eu> # on BQ Aquaris M5
Powered by blists - more mailing lists