Re: [PATCH -next] drm/nouveau/disp: fix cast removes address space of expression warnings

From: Lyude Paul
Date: Wed Oct 12 2022 - 18:49:13 EST


...oops, totally forgot to actually give you the magic tag so patchwork knows
I reviewed it:

Reviewed-by: Lyude Paul <lyude@xxxxxxxxxx>

On Sat, 2022-09-24 at 17:25 +0800, ruanjinjie wrote:
> When build Linux kernel with 'make C=2', encounter the following warnings:
>
> ./drivers/gpu/drm/nouveau/dispnv50/disp.c:134:34: warning: cast removes address space '__iomem' of expression
> ./drivers/gpu/drm/nouveau/dispnv50/disp.c:197:34: warning: cast removes address space '__iomem' of expression
>
> The data type of dmac->_push.mem.object.map.ptr is 'void __iomem *', but
> converted to 'u32 *' directly and cause above warnings, now
> recover their data types to fix these warnings.
>
> Signed-off-by: ruanjinjie <ruanjinjie@xxxxxxxxxx>
> ---
> drivers/gpu/drm/nouveau/dispnv50/disp.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/nouveau/dispnv50/disp.c b/drivers/gpu/drm/nouveau/dispnv50/disp.c
> index 33c97d510999..aa94f8e284dd 100644
> --- a/drivers/gpu/drm/nouveau/dispnv50/disp.c
> +++ b/drivers/gpu/drm/nouveau/dispnv50/disp.c
> @@ -131,7 +131,7 @@ nv50_dmac_kick(struct nvif_push *push)
> {
> struct nv50_dmac *dmac = container_of(push, typeof(*dmac), _push);
>
> - dmac->cur = push->cur - (u32 *)dmac->_push.mem.object.map.ptr;
> + dmac->cur = push->cur - (u32 __iomem *)dmac->_push.mem.object.map.ptr;
> if (dmac->put != dmac->cur) {
> /* Push buffer fetches are not coherent with BAR1, we need to ensure
> * writes have been flushed right through to VRAM before writing PUT.
> @@ -194,7 +194,7 @@ nv50_dmac_wait(struct nvif_push *push, u32 size)
> if (WARN_ON(size > dmac->max))
> return -EINVAL;
>
> - dmac->cur = push->cur - (u32 *)dmac->_push.mem.object.map.ptr;
> + dmac->cur = push->cur - (u32 __iomem *)dmac->_push.mem.object.map.ptr;
> if (dmac->cur + size >= dmac->max) {
> int ret = nv50_dmac_wind(dmac);
> if (ret)

--
Cheers,
Lyude Paul (she/her)
Software Engineer at Red Hat