[Freedreno] [PATCH v4 4/7] drm/msm/dpu: add PINGPONG_NONE to disconnect DSC from PINGPONG
Marijn Suijten
marijn.suijten at somainline.org
Wed May 3 23:36:53 UTC 2023
On 2023-05-03 13:10:36, Kuogee Hsieh wrote:
> During DSC setup, the crossbar mux need to be programmed to engage
> DSC to specified PINGPONG. Hence during tear down, the crossbar mux
> need to be reset to disengage DSC from PINGPONG. 0X0F is written to
> reset crossbar mux. It is not relevant to hw_pp->idx. This patch add
> PINGPONG_NONE to serve as disable to reset crossbar mux.
>
> Changes in v4:
> -- more details to commit text
As requested in v3, this doesn't adequately explain that all you're
doing is **removing `bool enable`** so that this function becomes
simpler to call in the disable scenario without coming up with a random
dpu_pingpong value that's irrelevant when enable=false. How about the
following wording:
drm/msm/dpu: Introduce PINGPONG_NONE to disconnect DSC from PINGPONG
Disabling the crossbar mux between DSC and PINGPONG currently
requires a bogus enum dpu_pingpong value to be passed when calling
dsc_bind_pingpong_blk() with enable=false, even though the register
value written is independent of the current PINGPONG block. Replace
that `bool enable` parameter with a new PINGPONG_NONE dpu_pingpong
flag that triggers the write of the "special" 0xF "crossbar
disabled" value to the register instead.
And don't forget to fix the log statement below.
<snip>
> DRM_DEBUG_KMS("%s dsc:%d %s pp:%d\n",
> - enable ? "Binding" : "Unbinding",
> + pp ? "Binding" : "Unbinding",
> hw_dsc->idx - DSC_0,
> - enable ? "to" : "from",
> + pp ? "to" : "from",
> pp - PINGPONG_0);
This wasn't adjusted, see v3 review.
- Marijn
More information about the Freedreno
mailing list