drm: Make sure the DRM offset matches the CPU
The pgoff option in mmap() is defined as an unsigned long so the offset generated by DRM needs to fit into BITS_PER_LONG for the CPU in question. Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
4b7fb9b574
commit
05269a3a5a
|
@ -68,8 +68,18 @@
|
|||
* We make up offsets for buffer objects so we can recognize them at
|
||||
* mmap time.
|
||||
*/
|
||||
|
||||
/* pgoff in mmap is an unsigned long, so we need to make sure that
|
||||
* the faked up offset will fit
|
||||
*/
|
||||
|
||||
#if BITS_PER_LONG == 64
|
||||
#define DRM_FILE_PAGE_OFFSET_START ((0xFFFFFFFFUL >> PAGE_SHIFT) + 1)
|
||||
#define DRM_FILE_PAGE_OFFSET_SIZE ((0xFFFFFFFFUL >> PAGE_SHIFT) * 16)
|
||||
#else
|
||||
#define DRM_FILE_PAGE_OFFSET_START ((0xFFFFFFFUL >> PAGE_SHIFT) + 1)
|
||||
#define DRM_FILE_PAGE_OFFSET_SIZE ((0xFFFFFFFUL >> PAGE_SHIFT) * 16)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Initialize the GEM device fields
|
||||
|
|
Loading…
Reference in New Issue