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.kand...@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.

-- 
Ville Syrjälä
Intel

Reply via email to