linux_dsm_epyc7002/drivers/gpu/drm/r128
Benjamin Herrenschmidt 41c2e75e60 drm: Make drm_local_map use a resource_size_t offset
This changes drm_local_map to use a resource_size for its "offset"
member instead of an unsigned long, thus allowing 32-bit machines
with a >32-bit physical address space to be able to store there
their register or framebuffer addresses when those are above 4G,
such as when using a PCI video card on a recent AMCC 440 SoC.

This patch isn't as "trivial" as it sounds: A few functions needed
to have some unsigned long/int changed to resource_size_t and a few
printk's had to be adjusted.

But also, because userspace isn't capable of passing such offsets,
I had to modify drm_find_matching_map() to ignore the offset passed
in for maps of type _DRM_FRAMEBUFFER or _DRM_REGISTERS.

If we ever support multiple _DRM_FRAMEBUFFER or _DRM_REGISTERS maps
for a given device, we might have to change that trick, but I don't
think that happens on any current driver.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Dave Airlie <airlied@linux.ie>
2009-03-13 14:23:57 +10:00
..
Makefile drm: reorganise drm tree to be more future proof. 2008-07-14 10:45:01 +10:00
r128_cce.c drm: Make drm_local_map use a resource_size_t offset 2009-03-13 14:23:57 +10:00
r128_drv.c drm: move drm vblank initialization/cleanup to driver load/unload 2008-11-25 09:49:03 +10:00
r128_drv.h drm: move drm vblank initialization/cleanup to driver load/unload 2008-11-25 09:49:03 +10:00
r128_ioc32.c drm: reorganise drm tree to be more future proof. 2008-07-14 10:45:01 +10:00
r128_irq.c drm: move drm vblank initialization/cleanup to driver load/unload 2008-11-25 09:49:03 +10:00
r128_state.c drm: kill drm_device->irq 2008-10-18 07:10:53 +10:00