On Sun, 26 May 2019 at 08:41, Ilia Mirkin <imirkin@xxxxxxxxxxxx> wrote: > > Higher layers tend to add a lot of modes not actually in the EDID, such > as the standard DMT modes. Changing this would be extremely intrusive to > everyone, so just force the scaler more often. There are no practical > cases we're aware of where a LVDS/eDP panel has multiple resolutions > exposed, and i915 already does it this way. > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110660 > Signed-off-by: Ilia Mirkin <imirkin@xxxxxxxxxxxx> Thanks Ilia, grabbed both patches. > --- > > Untested for now, hoping that the bugzilla filer will test it out. Seems > obvious though. > > drivers/gpu/drm/nouveau/dispnv50/disp.c | 9 +++++++-- > 1 file changed, 7 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/nouveau/dispnv50/disp.c b/drivers/gpu/drm/nouveau/dispnv50/disp.c > index 134701a837c8..ef8d7a71564a 100644 > --- a/drivers/gpu/drm/nouveau/dispnv50/disp.c > +++ b/drivers/gpu/drm/nouveau/dispnv50/disp.c > @@ -322,8 +322,13 @@ nv50_outp_atomic_check_view(struct drm_encoder *encoder, > switch (connector->connector_type) { > case DRM_MODE_CONNECTOR_LVDS: > case DRM_MODE_CONNECTOR_eDP: > - /* Force use of scaler for non-EDID modes. */ > - if (adjusted_mode->type & DRM_MODE_TYPE_DRIVER) > + /* Don't force scaler for EDID modes with > + * same size as the native one (e.g. different > + * refresh rate) > + */ > + if (adjusted_mode->hdisplay == native_mode->hdisplay && > + adjusted_mode->vdisplay == native_mode->vdisplay && > + adjusted_mode->type & DRM_MODE_TYPE_DRIVER) > break; > mode = native_mode; > asyc->scaler.full = true; > -- > 2.21.0 > > _______________________________________________ > Nouveau mailing list > Nouveau@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/nouveau _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel