359
359
.name = "RENDER",
360
360
.engine_class = I915_ENGINE_CLASS_RENDER,
362
.elsp_reg = EXECLIST_SUBMITPORT_RCSUNIT,
363
.elsq_reg = EXECLIST_SQ_CONTENTS0_RCSUNIT,
364
.status_reg = EXECLIST_STATUS_RCSUNIT,
365
.control_reg = EXECLIST_CONTROL_RCSUNIT,
362
.elsp_reg = RCSUNIT(EXECLIST_SUBMITPORT),
363
.elsq_reg = RCSUNIT(EXECLIST_SQ_CONTENTS),
364
.status_reg = RCSUNIT(EXECLIST_STATUS),
365
.control_reg = RCSUNIT(EXECLIST_CONTROL),
367
367
[I915_ENGINE_CLASS_VIDEO] = {
369
369
.engine_class = I915_ENGINE_CLASS_VIDEO,
371
.elsp_reg = EXECLIST_SUBMITPORT_VCSUNIT0,
372
.elsq_reg = EXECLIST_SQ_CONTENTS0_VCSUNIT0,
373
.status_reg = EXECLIST_STATUS_VCSUNIT0,
374
.control_reg = EXECLIST_CONTROL_VCSUNIT0,
371
.elsp_reg = VCSUNIT0(EXECLIST_SUBMITPORT),
372
.elsq_reg = VCSUNIT0(EXECLIST_SQ_CONTENTS),
373
.status_reg = VCSUNIT0(EXECLIST_STATUS),
374
.control_reg = VCSUNIT0(EXECLIST_CONTROL),
376
376
[I915_ENGINE_CLASS_COPY] = {
377
377
.name = "BLITTER",
378
378
.engine_class = I915_ENGINE_CLASS_COPY,
380
.elsp_reg = EXECLIST_SUBMITPORT_BCSUNIT,
381
.elsq_reg = EXECLIST_SQ_CONTENTS0_BCSUNIT,
382
.status_reg = EXECLIST_STATUS_BCSUNIT,
383
.control_reg = EXECLIST_CONTROL_BCSUNIT,
380
.elsp_reg = BCSUNIT0(EXECLIST_SUBMITPORT),
381
.elsq_reg = BCSUNIT0(EXECLIST_SQ_CONTENTS),
382
.status_reg = BCSUNIT0(EXECLIST_STATUS),
383
.control_reg = BCSUNIT0(EXECLIST_CONTROL),
505
505
uint32_t reg = 0;
506
506
switch (engine_class) {
507
case I915_ENGINE_CLASS_RENDER: reg = HWS_PGA_RCSUNIT; break;
508
case I915_ENGINE_CLASS_COPY: reg = HWS_PGA_BCSUNIT; break;
509
case I915_ENGINE_CLASS_VIDEO: reg = HWS_PGA_VCSUNIT0; break;
507
case I915_ENGINE_CLASS_RENDER: reg = RCSUNIT (HWS_PGA); break;
508
case I915_ENGINE_CLASS_COPY: reg = BCSUNIT0(HWS_PGA); break;
509
case I915_ENGINE_CLASS_VIDEO: reg = VCSUNIT0(HWS_PGA); break;
511
511
unreachable("unknown ring");
572
572
write_execlists_default_setup(struct aub_file *aub)
574
register_write_out(aub, GFX_MODE_RCSUNIT, 0x80008000 /* execlist enable */);
575
register_write_out(aub, GFX_MODE_VCSUNIT0, 0x80008000 /* execlist enable */);
576
register_write_out(aub, GFX_MODE_BCSUNIT, 0x80008000 /* execlist enable */);
574
register_write_out(aub, RCSUNIT(GFX_MODE), 0x80008000 /* execlist enable */);
575
register_write_out(aub, VCSUNIT0(GFX_MODE), 0x80008000 /* execlist enable */);
576
register_write_out(aub, BCSUNIT0(GFX_MODE), 0x80008000 /* execlist enable */);
579
579
static void write_legacy_default_setup(struct aub_file *aub)