mirror of
https://gitlab.freedesktop.org/mesa/drm.git
synced 2025-12-20 07:00:11 +01:00
The existing 'offset' field is unfortunately typed as 'unsigned long', which is unfortunately only 4 bytes with a 32-bit userspace. Traditionally, the hardware has only supported 32-bit virtual addresses, so even though the kernel uses a __u64, the value would always fit. However, Broadwell supports 48-bit addressing. So with a 64-bit kernel, the card virtual address may be too large to fit in the 'offset' field. Ideally, we would change the type of 'offset' to be a uint64_t---but this would break the libdrm ABI. Instead, we create a new 'offset64' field to hold the full 64-bit value from the kernel, and store the 32-bit truncation in the existing 'offset' field, for compatibility. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Ben Widawsky <ben@bwidawsk.net> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> |
||
|---|---|---|
| .. | ||
| tests | ||
| .gitignore | ||
| intel_aub.h | ||
| intel_bufmgr.c | ||
| intel_bufmgr.h | ||
| intel_bufmgr_fake.c | ||
| intel_bufmgr_gem.c | ||
| intel_bufmgr_priv.h | ||
| intel_chipset.h | ||
| intel_debug.h | ||
| intel_decode.c | ||
| libdrm_intel.pc.in | ||
| Makefile.am | ||
| mm.c | ||
| mm.h | ||
| test_decode.c | ||