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

Kandpal, Suraj suraj.kandpal at intel.com
Mon Oct 28 04:13:00 UTC 2024



> -----Original Message-----
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> Sent: Friday, October 25, 2024 1:35 PM
> To: Nautiyal, Ankit K <ankit.k.nautiyal at intel.com>
> Cc: Kandpal, Suraj <suraj.kandpal at intel.com>; intel-xe at lists.freedesktop.org;
> intel-gfx at lists.freedesktop.org; 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 12:54:45PM +0530, Nautiyal, Ankit K wrote:
> >
> > On 10/25/2024 11:51 AM, Ville Syrjälä wrote:
> > > 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?
> > >
> > > And this is breaking ultrajoiner now.
> >
> > Yeah this will complicate function to check whether go to ultrajoiner
> > or bigjoiner.
> >
> > Perhaps need to have separate function for max_joined_plane_width()
> > and max_unjoined_plane_width();
> 
> I don't think max plane sizes have anything to with joiner. In fact we should
> probably make this code just ask the "primary" plane its max dimensions and
> then just multiply that with the number of joined pipes. Any other joiner
> specific limits should be handled elsewhere.

Then moving back to the old method of just having width as 5120*num_of_joined_pipe
And height as 4320 would be for the best

Regards,
Suraj Kandpal

> 
> --
> Ville Syrjälä
> Intel


More information about the Intel-xe mailing list