Re: [PATCH 06/11] soc: ti: knav_qmss: Fix __iomem annotations and __be32 type
From: Andrew Davis
Date: Fri May 08 2026 - 15:30:21 EST
On 5/8/26 12:36 PM, Nishanth Menon wrote:
On 12:14-20260508, Andrew Davis wrote:
[...]
writel_relaxed(val, &pdsp->regs->control);
/* wait for command register to clear */
- ret = knav_queue_pdsp_wait(pdsp->command, timeout, 0);
+ ret = knav_queue_pdsp_wait((u32 __iomem *)pdsp->command, timeout, 0);
Why not make `command`'s type `u32 __iomem *` instead of casting it when used?
pdsp->command is __iomem *, from what I see, from
It is a "void", should be "u32", that is why you are having to cast here,
not the iomem part.
Andrew
devm_io_remap_resource(), writel/readl_relaxed and other usage where
void __iomem* is used with command, and arithmetic used across the code,
__iomem * is intentional, except for this case. i did think of making
knav_queue_pdsp_wait take iomem, but that'd weaken what the strict
checking of a single u32 reg access it does.. this approach looked the
better of the alternatives.