[Intel-gfx] [PATCH i-g-t v3 02/11] lib/i915/gem_mman: add fixed mode to mmap__device_coherent

Matthew Auld
2021-07-30T08:54:04Z

On discrete we need to fallback to this mode.

v2(Ashutosh):
- Move it up the pecking order

Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Ashutosh Dixit <ashutosh.dixit@intel.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Ramalingam C <ramalingam.c@intel.com>
---
lib/i915/gem_mman.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/lib/i915/gem_mman.c b/lib/i915/gem_mman.c
index 11df0d76..c432bb16 100644
--- a/lib/i915/gem_mman.c
+++ b/lib/i915/gem_mman.c
@@ -382,9 +382,11 @@ void *__gem_mmap__device_coherent(int fd, uint32_t handle, uint64_t offset,
{
void *ptr = __gem_mmap_offset(fd, handle, offset, size, prot,
I915_MMAP_OFFSET_WC);
+
+ if (!ptr)
+ ptr = __gem_mmap_offset__fixed(fd, handle, offset, size, prot);
if (!ptr)
ptr = __gem_mmap__wc(fd, handle, offset, size, prot);
-
if (!ptr)
ptr = __gem_mmap__gtt(fd, handle, size, prot);