diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2014-12-22 18:19:45 +1000 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2015-01-22 12:15:00 +1000 |
commit | 0ea5fe8a83c2d1d59bcf1a59ba685a6452c41205 (patch) | |
tree | 75bd1718d3626b322bf34bc81c4bb3eae8edfad7 /drivers/gpu/drm/nouveau | |
parent | 7d95216e1ca4be5964ce3f1949c07fb87bef0565 (diff) | |
download | blackbird-op-linux-0ea5fe8a83c2d1d59bcf1a59ba685a6452c41205.tar.gz blackbird-op-linux-0ea5fe8a83c2d1d59bcf1a59ba685a6452c41205.zip |
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')
-rw-r--r-- | drivers/gpu/drm/nouveau/nouveau_connector.c | 14 |
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 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; } |