On 14-10-21, 17:11, Dmitry Baryshkov wrote: > On 07/10/2021 10:08, Vinod Koul wrote: > > +static int _dpu_rm_reserve_dsc(struct dpu_rm *rm, > > + struct dpu_global_state *global_state, > > + struct drm_encoder *enc) > > +{ > > + struct msm_drm_private *priv; > > + > > + priv = enc->dev->dev_private; > > + > > + if (!priv) > > + return -EIO; > > + > > + /* check if DSC is supported */ > > + if (!priv->dsc) > > + return 0; > > + > > + /* check if DSC 0 & 1 and allocated or not */ > > + if (global_state->dsc_to_enc_id[0] || global_state->dsc_to_enc_id[1]) { > > + DPU_ERROR("DSC 0|1 is already allocated\n"); > > + return -EIO; > > + } > > + > > + global_state->dsc_to_enc_id[0] = enc->base.id; > > + global_state->dsc_to_enc_id[1] = enc->base.id; > > Still hardcoding DSC_0 and DSC_1. Yes! > Could you please add num_dsc to the topology and allocate the requested > amount of DSC blocks? Otherwise this would break for the DSI + DP case. It wont as we check for dsc and dont proceed, so it cant make an impact in non dsc case. Nevertheless I agree with you, so I am making it based on dsc defined in topology. Do we need additional field for num_dsc in topology, num_enc should be it, right? -- ~Vinod