Re: [RFC PATCH 3/7] drm/msm/dpu: Disable MDP vsync source selection on DPU 5.0.0 and above

From: Marijn Suijten
Date: Mon Jan 02 2023 - 05:18:21 EST


On 2023-01-02 10:30:58, Konrad Dybcio wrote:
>
>
> On 31.12.2022 22:52, Marijn Suijten wrote:
> > On 2022-12-31 22:50:02, Marijn Suijten wrote:
> >> Since hardware revision 5.0.0 the TE configuration moved out of the
> >> PINGPONG block into the INTF block, including vsync source selection
> >> that was previously part of MDP top. Writing to the MDP_VSYNC_SEL
> >> register has no effect anymore and is omitted downstream via the
> >> DPU/SDE_MDP_VSYNC_SEL feature flag. This flag is only added to INTF
> >> blocks used by hardware prior to 5.0.0.
> >>
> >> The code that writes to these registers in the INTF block will follow in
> >> subsequent patches.
> >>
> >> Signed-off-by: Marijn Suijten <marijn.suijten@xxxxxxxxxxxxxx>
> >> ---
> >> .../gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c | 33 ++++++++++--
> >> .../gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h | 1 +
> >> drivers/gpu/drm/msm/disp/dpu1/dpu_hw_top.c | 52 +++++++++++++------
> >> 3 files changed, 66 insertions(+), 20 deletions(-)
> >>
> >> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c
> >> index 39d4b293710c..1cfe94494135 100644
> >> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c
> >> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c
> >> @@ -407,7 +407,7 @@ static const struct dpu_mdp_cfg msm8998_mdp[] = {
> >> {
> >> .name = "top_0", .id = MDP_TOP,
> >> .base = 0x0, .len = 0x458,
> >> - .features = 0,
> >> + .features = BIT(DPU_MDP_VSYNC_SEL),
> >> .highest_bank_bit = 0x2,
> >> .clk_ctrls[DPU_CLK_CTRL_VIG0] = {
> >> .reg_off = 0x2AC, .bit_off = 0},
> >> @@ -436,7 +436,7 @@ static const struct dpu_mdp_cfg sdm845_mdp[] = {
> >> {
> >> .name = "top_0", .id = MDP_TOP,
> >> .base = 0x0, .len = 0x45C,
> >> - .features = BIT(DPU_MDP_AUDIO_SELECT),
> >> + .features = BIT(DPU_MDP_AUDIO_SELECT) | BIT(DPU_MDP_VSYNC_SEL),
> >> .highest_bank_bit = 0x2,
> >> .clk_ctrls[DPU_CLK_CTRL_VIG0] = {
> >> .reg_off = 0x2AC, .bit_off = 0},
> >> @@ -512,6 +512,31 @@ static const struct dpu_mdp_cfg sm6115_mdp[] = {
> >> },
> >> };
> >>
> >> +static const struct dpu_mdp_cfg sdm8150_mdp[] = {
> >
> > Sometimes it is only possible to spot such things _after_ sending,
> > probably the thing that makes us human :)
> >
> > sm8150_mdp*, not sdm.
> >
> > - Marijn
> >
> >> + {
> >> + .name = "top_0", .id = MDP_TOP,
> >> + .base = 0x0, .len = 0x45C,
> >> + .features = BIT(DPU_MDP_AUDIO_SELECT),
> >> + .highest_bank_bit = 0x2,
> >> + .clk_ctrls[DPU_CLK_CTRL_VIG0] = {
> >> + .reg_off = 0x2AC, .bit_off = 0},
> Keeping the hex values lowercase would be nice.

Ack, this was copied verbatim from sdm845_mdp but will cleanup as we go.
Looks like this file has a mixed approach towards lower and uppercase,
when does the normalization patch land?

- Marijn