Commit f9b88859 authored by Rob Herring (Arm)'s avatar Rob Herring (Arm) Committed by Bjorn Andersson
Browse files

remoteproc: qcom_wcnss: Fix reserved region mapping failure



Commit c70b9d5f ("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: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
Reported-by: default avatarAndré Apitzsch <git@apitzsch.eu>
Fixes: c70b9d5f ("remoteproc: qcom: Use of_reserved_mem_region_* functions for "memory-region"")
Signed-off-by: default avatarRob Herring (Arm) <robh@kernel.org>
Tested-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
Tested-by: André Apitzsch <git@apitzsch.eu> # on BQ Aquaris M5
Link: https://lore.kernel.org/r/20260128220243.3018526-1-robh@kernel.org


Signed-off-by: default avatarBjorn Andersson <andersson@kernel.org>
parent 6de23f81
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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);