On Mon, Dec 16, 2024 at 01:11:35PM -0800, Abhinav Kumar wrote: > > > On 12/16/2024 12:27 AM, Dmitry Baryshkov wrote: > > Link DSPP_2 to the LM_2 and DSPP_3 to the LM_3 mixer blocks. > > > > Fixes: 05ae91d960fd ("drm/msm/dpu: enable DSPP support on SM8[12]50") > > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> > > --- > > drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_0_sm8150.h | 2 ++ > > 1 file changed, 2 insertions(+) > > > > Change looks fine > > Reviewed-by: Abhinav Kumar <quic_abhinavk@xxxxxxxxxxx> > > One question below (not tied to the change but arose due to it): > > > diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_0_sm8150.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_0_sm8150.h > > index 6ccfde82fecdb4e3612df161814b16f7af40ca5f..421afacb7248039abd9fb66bcb73b756ae0d640a 100644 > > --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_0_sm8150.h > > +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_0_sm8150.h > > @@ -164,6 +164,7 @@ static const struct dpu_lm_cfg sm8150_lm[] = { > > .sblk = &sdm845_lm_sblk, > > .lm_pair = LM_3, > > .pingpong = PINGPONG_2, > > + .dspp = DSPP_2, > > }, { > > .name = "lm_3", .id = LM_3, > > .base = 0x47000, .len = 0x320, > > @@ -171,6 +172,7 @@ static const struct dpu_lm_cfg sm8150_lm[] = { > > .sblk = &sdm845_lm_sblk, > > .lm_pair = LM_2, > > .pingpong = PINGPONG_3, > > + .dspp = DSPP_3, > > }, { > > .name = "lm_4", .id = LM_4, > > .base = 0x48000, .len = 0x320, > > > > the consumer of .dspp seems to be in the RM code which is used to map the > DSPP to encoder_id but is there really any case where lm_id != dspp_id ... I > guess I am missing the context of why DSPP id needs to be tracked as LMs and > DSPPs go together. Let me also check this part internally. For example check the SDM845, the LM_5 is tied to DSPP_3. LM | DSPP --------- 0 | 0 1 | 1 2 | 2 5 | 3 -- With best wishes Dmitry