diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2009-02-02 06:55:47 +0100 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2009-03-13 05:23:57 +0100 |
commit | 41c2e75e60200a860a74b7c84a6375c105e7437f (patch) | |
tree | 18e97662d6859eead4de816e121d001b34a7352a /include/asm-generic/resource.h | |
parent | drm: Split drm_map and drm_local_map (diff) | |
download | linux-41c2e75e60200a860a74b7c84a6375c105e7437f.tar.xz linux-41c2e75e60200a860a74b7c84a6375c105e7437f.zip |
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>
Diffstat (limited to 'include/asm-generic/resource.h')
0 files changed, 0 insertions, 0 deletions