drm/i915: Disable MI_STORE_DATA_IMM for i915g/i915gm
The early gen3 machines (i915g/Grantsdale and i915gm/Alviso) share a lot of characteristics in their MI/GTT blocks with gen2, and in particular can only use physical addresses in MI_STORE_DATA_IMM. This makes it incompatible with our usage, so include those two machines in the blacklist to prevent usage. v2: Make it easy for gcc and rewrite it as a switch to save some space. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> #v1 Link: https://patchwork.freedesktop.org/patch/msgid/20170906152859.5304-1-chris@chris-wilson.co.uk
This commit is contained in:
@@ -735,16 +735,6 @@ bool intel_engines_are_idle(struct drm_i915_private *dev_priv);
|
||||
void intel_engines_mark_idle(struct drm_i915_private *i915);
|
||||
void intel_engines_reset_default_submission(struct drm_i915_private *i915);
|
||||
|
||||
static inline bool
|
||||
__intel_engine_can_store_dword(unsigned int gen, unsigned int class)
|
||||
{
|
||||
if (gen <= 2)
|
||||
return false; /* uses physical not virtual addresses */
|
||||
|
||||
if (gen == 6 && class == VIDEO_DECODE_CLASS)
|
||||
return false; /* b0rked */
|
||||
|
||||
return true;
|
||||
}
|
||||
bool intel_engine_can_store_dword(struct intel_engine_cs *engine);
|
||||
|
||||
#endif /* _INTEL_RINGBUFFER_H_ */
|
||||
|
Reference in New Issue
Block a user