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.