[PATCH v6 6/9] drm/i915/gt: Ensure memory quiesced before invalidation for all engines

Andi Shyti andi.shyti at linux.intel.com
Thu Jul 20 14:44:39 UTC 2023


Hi Nirmoy,

>     +       if (aux_inv) {
>     +               u32 bit_group_0 = 0;
>     +               u32 bit_group_1 = 0;
>     +
>     +               cmd += 4;
>     +
>     +               bit_group_0 |= PIPE_CONTROL0_HDC_PIPELINE_FLUSH;
>     +
>     +               switch (rq->engine->class) {
>     +               case VIDEO_DECODE_CLASS:
>     +                       bit_group_1 |= PIPE_CONTROL_RENDER_TARGET_CACHE_FLUSH;
>     +                       bit_group_1 |= PIPE_CONTROL_DEPTH_CACHE_FLUSH;
>     +                       bit_group_1 |= PIPE_CONTROL_DC_FLUSH_ENABLE;
>     +                       bit_group_1 |= PIPE_CONTROL_FLUSH_L3;
>     +                       bit_group_1 |= PIPE_CONTROL_CS_STALL;
>     +
>     +                       intel_emit_pipe_control_cs(rq, bit_group_0, bit_group_1,
>     +                                                  LRC_PPHWSP_SCRATCH_ADDR);
> 
> 
> I think pipe control is only for compute and render engines.
> 
>     +
>     +                       break;
>     +
>     +               case VIDEO_ENHANCEMENT_CLASS:
>     +               case COMPUTE_CLASS:
> 
> Don't think gen12_emit_flush_xcs() will get called for compute engine.
> 
> intel_guc_submission_setup() --> rcs_submission_override() replaces
> gen12_emit_flush_xcs() with gen12_emit_flush_rcs()
> 
> for compute and render.

yes, I made some confusion here... this part is bogus... will try
to clean things up and try again.

Andi


More information about the dri-devel mailing list