summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/nouveau_connector.c
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2014-12-22 18:19:45 +1000
committerBen Skeggs <bskeggs@redhat.com>2015-01-22 12:15:00 +1000
commit0ea5fe8a83c2d1d59bcf1a59ba685a6452c41205 (patch)
tree75bd1718d3626b322bf34bc81c4bb3eae8edfad7 /drivers/gpu/drm/nouveau/nouveau_connector.c
parent7d95216e1ca4be5964ce3f1949c07fb87bef0565 (diff)
downloadop-kernel-dev-0ea5fe8a83c2d1d59bcf1a59ba685a6452c41205.zip
op-kernel-dev-0ea5fe8a83c2d1d59bcf1a59ba685a6452c41205.tar.gz
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 <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nouveau_connector.c')
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_connector.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_connector.c b/drivers/gpu/drm/nouveau/nouveau_connector.c
index 938de24d..9c871f9 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;
}
OpenPOWER on IntegriCloud