intel: Keep libdrm working without pread/pwrite ioctls
The general direction at this time is to phase out pread/write ioctls and not support them in future products. The ioctls have already been disabled in i915 for future products. This means libdrm must handle the absence of these ioctls. This patch does this by modifying drm_intel_gem_bo_subdata() and drm_intel_gem_bo_get_subdata() to do the read/write using the pread/pwrite ioctls first but when these ioctls are unavailable fall back to doing the read/write using a combination of mmap and memcpy.
A similar solution was added to igt-gpu-tools in commit ad5eb02eb3 ("lib/ioctl_wrappers: Keep IGT working without pread/pwrite ioctls").
Signed-off-by: Ashutosh Dixit ashutosh.dixit@intel.com