diff options
author | Zhenyu Wang <zhenyuw@linux.intel.com> | 2014-12-26 10:32:01 +0800 |
---|---|---|
committer | Zhigang Gong <zhigang.gong@intel.com> | 2015-01-06 17:55:07 +0800 |
commit | 14f3b4dd69dcce6739cfea7b83656eace62d8b82 (patch) | |
tree | 33481180ee410bc228836ac1aabd8d2a25f1687d /src | |
parent | fe01feadf637c7c9c131b550e1519a2ce7477497 (diff) |
Remove obsolete MI_FLUSH
This is caught in emulator debug that MI_FLUSH is obsolete from
IVB/HSW and beignet used wrong flush bit too, so don't go risk
but remove it. Current kernel would take care to flush ring
after each request, so shouldn't need extra flush.
Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
Signed-off-by: Zhigang Gong <zhigang.gong@intel.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/intel/intel_batchbuffer.c | 7 | ||||
-rw-r--r-- | src/intel/intel_batchbuffer.h | 1 | ||||
-rw-r--r-- | src/intel/intel_driver.h | 2 | ||||
-rw-r--r-- | src/intel/intel_gpgpu.c | 4 |
4 files changed, 3 insertions, 11 deletions
diff --git a/src/intel/intel_batchbuffer.c b/src/intel/intel_batchbuffer.c index a65ac86d..dcc8d980 100644 --- a/src/intel/intel_batchbuffer.c +++ b/src/intel/intel_batchbuffer.c @@ -158,13 +158,6 @@ intel_batchbuffer_emit_reloc(intel_batchbuffer_t *batch, intel_batchbuffer_emit_dword(batch, bo->offset + delta); } -LOCAL void -intel_batchbuffer_emit_mi_flush(intel_batchbuffer_t *batch) -{ - intel_batchbuffer_require_space(batch, 4); - intel_batchbuffer_emit_dword(batch, MI_FLUSH | STATE_INSTRUCTION_CACHE_INVALIDATE); -} - LOCAL intel_batchbuffer_t* intel_batchbuffer_new(intel_driver_t *intel) { diff --git a/src/intel/intel_batchbuffer.h b/src/intel/intel_batchbuffer.h index 121c824f..0071be6c 100644 --- a/src/intel/intel_batchbuffer.h +++ b/src/intel/intel_batchbuffer.h @@ -96,7 +96,6 @@ extern void intel_batchbuffer_emit_reloc(intel_batchbuffer_t*, uint32_t read_domains, uint32_t write_domains, uint32_t delta); -extern void intel_batchbuffer_emit_mi_flush(intel_batchbuffer_t*); extern void intel_batchbuffer_init(intel_batchbuffer_t*, struct intel_driver*); extern void intel_batchbuffer_terminate(intel_batchbuffer_t*); extern void intel_batchbuffer_flush(intel_batchbuffer_t*); diff --git a/src/intel/intel_driver.h b/src/intel/intel_driver.h index 513d4ab1..f972ec82 100644 --- a/src/intel/intel_driver.h +++ b/src/intel/intel_driver.h @@ -61,8 +61,6 @@ #define MI_NOOP (CMD_MI | 0) #define MI_BATCH_BUFFER_END (CMD_MI | (0xA << 23)) -#define MI_FLUSH (CMD_MI | (0x4 << 23)) -#define STATE_INSTRUCTION_CACHE_INVALIDATE (0x1 << 0) #define XY_COLOR_BLT_CMD (CMD_2D | (0x50 << 22) | 0x04) #define XY_COLOR_BLT_WRITE_ALPHA (1 << 21) diff --git a/src/intel/intel_gpgpu.c b/src/intel/intel_gpgpu.c index 9e442c05..fb03bcc7 100644 --- a/src/intel/intel_gpgpu.c +++ b/src/intel/intel_gpgpu.c @@ -761,7 +761,6 @@ static void intel_gpgpu_flush_batch_buffer(intel_batchbuffer_t *batch) { assert(batch); - intel_batchbuffer_emit_mi_flush(batch); intel_batchbuffer_flush(batch); } @@ -1611,6 +1610,9 @@ intel_gpgpu_walker_gen7(intel_gpgpu_t *gpgpu, OUT_BATCH(gpgpu->batch, CMD_MEDIA_STATE_FLUSH | 0); OUT_BATCH(gpgpu->batch, 0); /* kernel index == 0 */ ADVANCE_BATCH(gpgpu->batch); + + if (IS_IVYBRIDGE(gpgpu->drv->device_id)) + intel_gpgpu_pipe_control(gpgpu); } static void |