[PATCH 06/11] ahlp
Chris Wilson
chris at chris-wilson.co.uk
Thu Nov 14 22:54:01 UTC 2019
---
drivers/gpu/drm/i915/gem/i915_gem_mman.c | 21 +++++++++++++++------
include/uapi/drm/i915_drm.h | 7 ++++---
2 files changed, 19 insertions(+), 9 deletions(-)
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_mman.c b/drivers/gpu/drm/i915/gem/i915_gem_mman.c
index 62ebc24b219f..07696e1f5180 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_mman.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_mman.c
@@ -587,6 +587,11 @@ static int gem_mmap_offset(struct drm_device *dev, void *data,
enum i915_mmap_type type;
switch (args->flags) {
+ case I915_MMAP_OFFSET_GTT:
+ if (!i915_ggtt_has_aperture(&to_i915(dev)->ggtt))
+ return -ENODEV;
+ type = I915_MMAP_TYPE_GTT;
+ break;
case I915_MMAP_OFFSET_WC:
if (!boot_cpu_has(X86_FEATURE_PAT))
return -ENODEV;
@@ -602,8 +607,7 @@ static int gem_mmap_offset(struct drm_device *dev, void *data,
break;
default:
return -EINVAL;
-
- };
+ }
return __assign_gem_object_mmap_data(file, args->handle, type,
&args->offset);
@@ -615,11 +619,16 @@ i915_gem_mmap_dumb(struct drm_file *file,
u32 handle,
u64 *offset)
{
- enum i915_mmap_type mmap_type = boot_cpu_has(X86_FEATURE_PAT) ?
- I915_MMAP_TYPE_WC : I915_MMAP_TYPE_GTT;
+ enum i915_mmap_type mmap_type;
+
+ if (boot_cpu_has(X86_FEATURE_PAT))
+ mmap_type = I915_MMAP_TYPE_WC;
+ else if (!i915_ggtt_has_aperture(&to_i915(dev)->ggtt))
+ return -ENODEV;
+ else
+ mmap_type = I915_MMAP_TYPE_GTT;
- return __assign_gem_object_mmap_data(file, handle, mmap_type,
- offset);
+ return __assign_gem_object_mmap_data(file, handle, mmap_type, offset);
}
/**
diff --git a/include/uapi/drm/i915_drm.h b/include/uapi/drm/i915_drm.h
index e99999a80b94..5f9e18e15613 100644
--- a/include/uapi/drm/i915_drm.h
+++ b/include/uapi/drm/i915_drm.h
@@ -811,9 +811,10 @@ struct drm_i915_gem_mmap_offset {
* should be passed here.
*/
__u64 flags;
-#define I915_MMAP_OFFSET_WC 1
-#define I915_MMAP_OFFSET_WB 2
-#define I915_MMAP_OFFSET_UC 3
+#define I915_MMAP_OFFSET_GTT 1
+#define I915_MMAP_OFFSET_WC 2
+#define I915_MMAP_OFFSET_WB 3
+#define I915_MMAP_OFFSET_UC 4
__u64 extensions;
};
--
2.24.0
More information about the Intel-gfx-trybot
mailing list