diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2017-09-06 15:34:13 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2017-09-06 18:57:27 +0100 |
commit | dddbc2ed136f3edf007366c2e81c3f735bd29266 (patch) | |
tree | 8ec701faef29fe7a05694a74147b1d6fb1194971 /lib/igt_gt.c | |
parent | 918863f8e3e8f49235fd2e4a36e11f386c06c11c (diff) |
lib: Disable MI_STORE_DATA_IMM for gen3 (i915g and i915gm)
The early gen3 machines inherited the MI block and restrictions from
gen2, and may only use physical addresses in conjunction with
MI_STORE_DATA_IMM -- that makes it unusable for us from userspace, where
we can only use virtual offsets.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Diffstat (limited to 'lib/igt_gt.c')
-rw-r--r-- | lib/igt_gt.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/igt_gt.c b/lib/igt_gt.c index d5e8b557..b3f3b380 100644 --- a/lib/igt_gt.c +++ b/lib/igt_gt.c @@ -557,6 +557,9 @@ bool gem_can_store_dword(int fd, unsigned int engine) if (gen <= 2) /* requires physical addresses */ return false; + if (gen == 3 && (info->is_grantsdale || info->is_alviso)) + return false; /* only supports physical addresses */ + if (gen == 6 && (engine & ~(3<<13)) == I915_EXEC_BSD) return false; /* kills the machine! */ |