From: Ben Skeggs Date: Mon, 22 Dec 2014 08:19:45 +0000 (+1000) Subject: drm/nouveau/kms: default to panel scaling, except for fixed panels prior to nv50 X-Git-Tag: firefly_0821_release~176^2~2312^2~34^2~62 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=0ea5fe8a83c2d1d59bcf1a59ba685a6452c41205;p=firefly-linux-kernel-4.4.55.git drm/nouveau/kms: default to panel scaling, except for fixed panels prior to nv50 On NV50 and up, we'll allow fixed panels to use EDID-provided modes without the GPU scaler, and force scaling (even for NONE) otherwise. Signed-off-by: Ben Skeggs --- diff --git a/drivers/gpu/drm/nouveau/nouveau_connector.c b/drivers/gpu/drm/nouveau/nouveau_connector.c index 938de24da7dd..9c871f93cc1e 100644 --- a/drivers/gpu/drm/nouveau/nouveau_connector.c +++ b/drivers/gpu/drm/nouveau/nouveau_connector.c @@ -1199,14 +1199,18 @@ nouveau_connector_create(struct drm_device *dev, int index) /* default scaling mode */ switch (nv_connector->type) { - case DCB_CONNECTOR_TV_0: - case DCB_CONNECTOR_TV_1: - case DCB_CONNECTOR_TV_3: - case DCB_CONNECTOR_VGA: + case DCB_CONNECTOR_LVDS: + case DCB_CONNECTOR_LVDS_SPWG: + case DCB_CONNECTOR_eDP: + /* see note in nouveau_connector_set_property() */ + if (disp->disp.oclass < NV50_DISP) { + nv_connector->scaling_mode = DRM_MODE_SCALE_FULLSCREEN; + break; + } nv_connector->scaling_mode = DRM_MODE_SCALE_NONE; break; default: - nv_connector->scaling_mode = DRM_MODE_SCALE_FULLSCREEN; + nv_connector->scaling_mode = DRM_MODE_SCALE_NONE; break; }