On Wed Jun 24, 2026 at 12:33 AM CEST, Dave Airlie wrote:
> @@ -172,8 +175,7 @@ nv50_instobj_kmap(struct nv50_instobj *iobj, struct 
> nvkm_vmm *vmm)
>  
>       /* Make the mapping visible to the host. */
>       iobj->bar = bar;
> -     iobj->map = ioremap_wc(device->func->resource_addr(device, 
> NVKM_BAR2_INST) +
> -                            (u32)iobj->bar->addr, size);
> +     iobj->map = io_mapping_map_wc(&imem->iomap, iobj->bar->addr, size);

Apparently, the u32 cast was there for a reason. nv50_bar_oneinit() creates the
BAR2 VMM with a 4GiB base, so iobj->bar->addr includes a 4GiB offset that was
truncated by the cast.

Reply via email to