[Intel-gfx] [PATCH] drm/i915: Split GPU commands definitions into separate header
Jani Nikula
jani.nikula at linux.intel.com
Mon Mar 19 16:14:04 UTC 2018
On Tue, 13 Mar 2018, Chris Wilson <chris at chris-wilson.co.uk> wrote:
> Quoting Michal Wajdeczko (2018-03-13 11:21:21)
>> We should not mix MMIO with MI_INSTR definitions.
>>
>> Suggested-by: Chris Wilson <chris at chris-wilson.co.uk>
>> Signed-off-by: Michal Wajdeczko <michal.wajdeczko at intel.com>
>> Cc: Chris Wilson <chris at chris-wilson.co.uk>
>> ---
>
>> +#define MI_STORE_DWORD_INDEX_SHIFT 2
>> +/* Official intel docs are somewhat sloppy concerning MI_LOAD_REGISTER_IMM:
>
> Sanitize "/*\n" while we are here ?
How about adding spaces around operators and replacing (1 << N) with
BIT(N) while at it? Or in an immediate follow-up patch. If you're going
to cause conflicts, you could fix this stuff at minimum extra
disturbance.
BR,
Jani.
>
>> + * - Always issue a MI_NOOP _before_ the MI_LOAD_REGISTER_IMM - otherwise hw
>> + * simply ignores the register load under certain conditions.
>> + * - One can actually load arbitrary many arbitrary registers: Simply issue x
>> + * address/value pairs. Don't overdue it, though, x <= 2^4 must hold!
>> + */
>> +#define MI_LOAD_REGISTER_IMM(x) MI_INSTR(0x22, 2*(x)-1)
>> +#define MI_LRI_FORCE_POSTED (1<<12)
>> +#define MI_STORE_REGISTER_MEM MI_INSTR(0x24, 1)
>> +#define MI_STORE_REGISTER_MEM_GEN8 MI_INSTR(0x24, 2)
>> +#define MI_SRM_LRM_GLOBAL_GTT (1<<22)
>> +#define MI_FLUSH_DW MI_INSTR(0x26, 1) /* for GEN6 */
>> +#define MI_FLUSH_DW_STORE_INDEX (1<<21)
>> +#define MI_INVALIDATE_TLB (1<<18)
>> +#define MI_FLUSH_DW_OP_STOREDW (1<<14)
>> +#define MI_FLUSH_DW_OP_MASK (3<<14)
>> +#define MI_FLUSH_DW_NOTIFY (1<<8)
>> +#define MI_INVALIDATE_BSD (1<<7)
>> +#define MI_FLUSH_DW_USE_GTT (1<<2)
>> +#define MI_FLUSH_DW_USE_PPGTT (0<<2)
>> +#define MI_LOAD_REGISTER_MEM MI_INSTR(0x29, 1)
>> +#define MI_LOAD_REGISTER_MEM_GEN8 MI_INSTR(0x29, 2)
>> +#define MI_BATCH_BUFFER MI_INSTR(0x30, 1)
>> +#define MI_BATCH_NON_SECURE (1)
>> +/* for snb/ivb/vlv this also means "batch in ppgtt" when ppgtt is enabled. */
>> +#define MI_BATCH_NON_SECURE_I965 (1<<8)
>> +#define MI_BATCH_PPGTT_HSW (1<<8)
>> +#define MI_BATCH_NON_SECURE_HSW (1<<13)
>> +#define MI_BATCH_BUFFER_START MI_INSTR(0x31, 0)
>> +#define MI_BATCH_GTT (2<<6) /* aliased with (1<<7) on gen4 */
>> +#define MI_BATCH_BUFFER_START_GEN8 MI_INSTR(0x31, 1)
>> +#define MI_BATCH_RESOURCE_STREAMER (1<<10)
>
>> diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.h b/drivers/gpu/drm/i915/intel_ringbuffer.h
>> index 81cdbbf..8f2c71a 100644
>> --- a/drivers/gpu/drm/i915/intel_ringbuffer.h
>> +++ b/drivers/gpu/drm/i915/intel_ringbuffer.h
>> @@ -7,7 +7,8 @@
>> #include "i915_gem_batch_pool.h"
>> #include "i915_gem_timeline.h"
>>
>> -#include "i915_reg.h" /* FIXME split out i915_gpu_commands.h */
>> +#include "intel_gpu_commands.h"
>
> Alphabetical?
>
> Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>
> -Chris
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Jani Nikula, Intel Open Source Technology Center
More information about the Intel-gfx
mailing list