[PATCH 1/5] drm/i915/display: Fix the plane max height and width limits

Kandpal, Suraj suraj.kandpal at intel.com
Fri Oct 25 06:26:10 UTC 2024



> -----Original Message-----
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> Sent: Friday, October 25, 2024 11:51 AM
> To: Kandpal, Suraj <suraj.kandpal at intel.com>
> Cc: intel-xe at lists.freedesktop.org; intel-gfx at lists.freedesktop.org; Nautiyal,
> Ankit K <ankit.k.nautiyal at intel.com>; Roper, Matthew D
> <matthew.d.roper at intel.com>
> Subject: Re: [PATCH 1/5] drm/i915/display: Fix the plane max height and width
> limits
> 
> On Fri, Oct 25, 2024 at 11:31:32AM +0530, Suraj Kandpal wrote:
> > Fix the plane max height and width limits taking into account the
> > joined pipe limits too.
> >
> > Bspec: 28692, 49199, 68858
> > Fixes: 63dc014e37b9 ("drm/i915/dp: Allow big joiner modes in
> > intel_dp_mode_valid(), v3.")
> > Signed-off-by: Suraj Kandpal <suraj.kandpal at intel.com>
> > ---
> >  drivers/gpu/drm/i915/display/intel_display.c | 19 ++++++++++++++++---
> >  1 file changed, 16 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/display/intel_display.c
> > b/drivers/gpu/drm/i915/display/intel_display.c
> > index ef1436146325..fc578af4f394 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display.c
> > +++ b/drivers/gpu/drm/i915/display/intel_display.c
> > @@ -8450,9 +8450,22 @@ intel_mode_valid_max_plane_size(struct
> drm_i915_private *dev_priv,
> >  	 * plane so let's not advertize modes that are
> >  	 * too big for that.
> >  	 */
> > -	if (DISPLAY_VER(dev_priv) >= 11) {
> > -		plane_width_max = 5120 * num_joined_pipes;
> > -		plane_height_max = 4320;
> > +	if (DISPLAY_VER(dev_priv) >= 20) {
> > +		if (num_joined_pipes > 1) {
> > +			plane_width_max = 8192;
> > +			plane_height_max = 4800;
> > +		} else {
> > +			plane_width_max = 5120;
> > +			plane_height_max = 4096;
> 
> The joiner operates on horizontal lines. Why would the vertical resolution
> change here?
> 

This is what I got from the bspec when pipe are joined the vertical resolution ends up
Changing 

Regards,
Suraj Kandpal

> And this is breaking ultrajoiner now.
> 
> Frankly I have a hard time believing that there are any extra limits on plane
> size imposed by the hardware for joined pipes.
> If there is some kind of maximum width limit then it must be coming from the
> joiner itself (eg. max line buffer width) and not from the planes. So I think this
> is the wrong place to handle that.
> 
> > +		}
> > +	} else if (DISPLAY_VER(dev_priv) >= 11) {
> > +		if (num_joined_pipes > 1) {
> > +			plane_width_max = 7680;
> > +			plane_height_max = 4320;
> > +		} else {
> > +			plane_width_max = 5120;
> > +			plane_height_max = 4096;
> > +		}
> >  	} else {
> >  		plane_width_max = 5120;
> >  		plane_height_max = 4096;
> > --
> > 2.34.1
> 
> --
> Ville Syrjälä
> Intel


More information about the Intel-gfx mailing list