On Mon, 2022-08-29 at 02:48 +0000, Murthy, Arun R wrote: > > -----Original Message----- > > From: Intel-gfx <intel-gfx-bounces@xxxxxxxxxxxxxxxxxxxxx> On Behalf > > Of > > Animesh Manna > > Sent: Friday, August 26, 2022 5:48 PM > > To: intel-gfx@xxxxxxxxxxxxxxxxxxxxx > > Subject: [PATCH 1/2] drm/i915/mtl: Added restriction > > for plane > > downscaling > > > > The second Scaler (i.e. Scaler 2) does not support vertical > > downscaling (i.e. > > it's vertical scale factor must not be greater than 1.0). So, > > vertical plane > > downscaling is not supported on MTL, scale factor modified > > accordingly. > > > > Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > Cc: Manasi Navare <manasi.d.navare@xxxxxxxxx> > > Signed-off-by: Animesh Manna <animesh.manna@xxxxxxxxx> > > --- > > drivers/gpu/drm/i915/display/skl_universal_plane.c | 7 +++++-- > > 1 file changed, 5 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/gpu/drm/i915/display/skl_universal_plane.c > > b/drivers/gpu/drm/i915/display/skl_universal_plane.c > > index bcfde81e4d08..6bfcda748e7b 100644 > > --- a/drivers/gpu/drm/i915/display/skl_universal_plane.c > > +++ b/drivers/gpu/drm/i915/display/skl_universal_plane.c > > @@ -1464,9 +1464,12 @@ static int skl_plane_max_scale(struct > > drm_i915_private *dev_priv, > > * whether we can use the HQ scaler mode. Assume > > * the best case. > > * FIXME need to properly check this later. > > + * FIXME On MTL, adjust specific scaler's downscaling > > capability. > This should not be FIXME and this is a limitation of hardware. A NOTE > can be added instead! I have been working on this and I have a proper implementation for this FIXME. This patch is not correct because it limits scaling on all cases, i.e. vertical scaling, horizontal scaling and both in scaler 1 and scaler 2. But the hardware limitation is only in vertical scaling with scaler 2. I sent the fix to our internal list last Friday. I think we should only take this patch upstream after it has been squashed with my changes. > > */ > > - if (DISPLAY_VER(dev_priv) >= 10 || > > - !intel_format_info_is_yuv_semiplanar(fb->format, fb- > > >modifier)) > > + if (IS_METEORLAKE(dev_priv)) > > + return 0x10000; > Can this magic number be replaced with a macro? This is not really a magic number, it's a 16.16 fixed point notation. 0x10000 represents 1.0 (no scaling). -- Cheers, Luca.