[Nouveau] [PATCH] drm: default scaling to NONE for external connectors

Ilia Mirkin imirkin at alum.mit.edu
Thu Jul 3 12:27:03 PDT 2014


Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
---

Based on a recent discussion in #radeon, and also my own observation that the
'full' scaling causes no end of confusion among users.

See https://bugs.freedesktop.org/show_bug.cgi?id=80868 for some more details,
although it is more radeon-specific.

Side-note: the scaling mode update handler disallows setting the mode to none
for LVDS... should it be the same for eDP as well? Or perhaps relax the
restriction and let people do whatever they want?

 drm/nouveau_connector.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/drm/nouveau_connector.c b/drm/nouveau_connector.c
index 1fa222e..295e222 100644
--- a/drm/nouveau_connector.c
+++ b/drm/nouveau_connector.c
@@ -1192,6 +1192,8 @@ nouveau_connector_create(struct drm_device *dev, int index)
 					      disp->color_vibrance_property,
 					      150);
 
+	nv_connector->scaling_mode = DRM_MODE_SCALE_NONE;
+
 	switch (nv_connector->type) {
 	case DCB_CONNECTOR_VGA:
 		if (nv_device(drm->device)->card_type >= NV_50) {
@@ -1203,10 +1205,11 @@ nouveau_connector_create(struct drm_device *dev, int index)
 	case DCB_CONNECTOR_TV_0:
 	case DCB_CONNECTOR_TV_1:
 	case DCB_CONNECTOR_TV_3:
-		nv_connector->scaling_mode = DRM_MODE_SCALE_NONE;
 		break;
 	default:
-		nv_connector->scaling_mode = DRM_MODE_SCALE_FULLSCREEN;
+		if (type == DRM_MODE_CONNECTOR_LVDS ||
+		    type == DRM_MODE_CONNECTOR_eDP)
+			nv_connector->scaling_mode = DRM_MODE_SCALE_FULLSCREEN;
 
 		drm_object_attach_property(&connector->base,
 				dev->mode_config.scaling_mode_property,
-- 
1.8.5.5



More information about the Nouveau mailing list