[Freedreno] [PATCH v2 04/11] drm/msm/disp/dpu1: Add DSC support in RM

Vinod Koul vkoul at kernel.org
Tue Oct 19 15:30:40 UTC 2021


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


More information about the Freedreno mailing list