> -----Original Message----- > From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > Sent: Friday, October 25, 2024 1:35 PM > To: Nautiyal, Ankit K <ankit.k.nautiyal@xxxxxxxxx> > Cc: Kandpal, Suraj <suraj.kandpal@xxxxxxxxx>; intel-xe@xxxxxxxxxxxxxxxxxxxxx; > intel-gfx@xxxxxxxxxxxxxxxxxxxxx; Roper, Matthew D > <matthew.d.roper@xxxxxxxxx> > 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@xxxxxxxxx> > > >> --- > > >> 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