Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> --- drivers/gpu/drm/i915/intel_engine_cs.c | 3 +++ drivers/gpu/drm/i915/intel_ringbuffer.c | 7 ++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/intel_engine_cs.c b/drivers/gpu/drm/i915/intel_engine_cs.c index 22c095035539..f2dfa3f9fbdf 100644 --- a/drivers/gpu/drm/i915/intel_engine_cs.c +++ b/drivers/gpu/drm/i915/intel_engine_cs.c @@ -29,6 +29,8 @@ #include "intel_ringbuffer.h" #include "intel_lrc.h" +#define GEN5_CXT_TOTAL_SIZE ( 1 * PAGE_SIZE) + /* Haswell does have the CXT_SIZE register however it does not appear to be * valid. Now, docs explain in dwords what is in the context object. The full * size is 70720 bytes, however, the power context and execlist context will @@ -175,6 +177,7 @@ __intel_engine_context_size(struct drm_i915_private *dev_priv, u8 class) return round_up(GEN6_CXT_TOTAL_SIZE(cxt_size) * 64, PAGE_SIZE); case 5: + return GEN5_CXT_TOTAL_SIZE; case 4: case 3: case 2: diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c index deb3cc7e08a8..d0c2dcb4c7ee 100644 --- a/drivers/gpu/drm/i915/intel_ringbuffer.c +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c @@ -1408,6 +1408,8 @@ static inline int mi_set_context(struct drm_i915_gem_request *rq, u32 flags) len = 4; if (IS_GEN7(i915)) len += 2 + (num_rings ? 4*num_rings + 6 : 0); + if (IS_GEN5(i915)) + len += 2; cs = intel_ring_begin(rq, len); if (IS_ERR(cs)) @@ -1430,6 +1432,8 @@ static inline int mi_set_context(struct drm_i915_gem_request *rq, u32 flags) GEN6_PSMI_SLEEP_MSG_DISABLE); } } + } else if (IS_GEN5(i915)) { + *cs++ = MI_SUSPEND_FLUSH | MI_SUSPEND_FLUSH_EN; } *cs++ = MI_NOOP; @@ -1463,7 +1467,8 @@ static inline int mi_set_context(struct drm_i915_gem_request *rq, u32 flags) *cs++ = i915_ggtt_offset(engine->scratch); *cs++ = MI_NOOP; } - *cs++ = MI_ARB_ON_OFF | MI_ARB_ENABLE; + } else if (IS_GEN5(i915)) { + *cs++ = MI_SUSPEND_FLUSH; } intel_ring_advance(rq, cs); -- 2.15.0 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx