summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/nouveau_connector.h
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2011-10-17 12:23:41 +1000
committerBen Skeggs <bskeggs@redhat.com>2011-12-21 19:01:21 +1000
commitde69185573586302ada2e59ba41835df36986277 (patch)
tree4c80ab38e936aa292985ac67498fe99648ab6628 /drivers/gpu/drm/nouveau/nouveau_connector.h
parent488ff207f98650c6a1f077e432b541f3cdcb7ab8 (diff)
downloadlinux-de69185573586302ada2e59ba41835df36986277.tar.gz
linux-de69185573586302ada2e59ba41835df36986277.tar.bz2
linux-de69185573586302ada2e59ba41835df36986277.zip
drm/nouveau: improve dithering properties, and implement proper auto mode
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nouveau_connector.h')
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_connector.h27
1 files changed, 26 insertions, 1 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_connector.h b/drivers/gpu/drm/nouveau/nouveau_connector.h
index 5bcaabbd375c..6468f5e67ccf 100644
--- a/drivers/gpu/drm/nouveau/nouveau_connector.h
+++ b/drivers/gpu/drm/nouveau/nouveau_connector.h
@@ -30,12 +30,37 @@
#include "drm_edid.h"
#include "nouveau_i2c.h"
+enum nouveau_underscan_type {
+ UNDERSCAN_OFF,
+ UNDERSCAN_ON,
+ UNDERSCAN_AUTO,
+};
+
+/* the enum values specifically defined here match nv50/nvd0 hw values, and
+ * the code relies on this
+ */
+enum nouveau_dithering_mode {
+ DITHERING_MODE_OFF = 0x00,
+ DITHERING_MODE_ON = 0x01,
+ DITHERING_MODE_DYNAMIC2X2 = 0x10 | DITHERING_MODE_ON,
+ DITHERING_MODE_STATIC2X2 = 0x18 | DITHERING_MODE_ON,
+ DITHERING_MODE_TEMPORAL = 0x20 | DITHERING_MODE_ON,
+ DITHERING_MODE_AUTO
+};
+
+enum nouveau_dithering_depth {
+ DITHERING_DEPTH_6BPC = 0x00,
+ DITHERING_DEPTH_8BPC = 0x02,
+ DITHERING_DEPTH_AUTO
+};
+
struct nouveau_connector {
struct drm_connector base;
struct dcb_connector_table_entry *dcb;
- bool use_dithering;
+ int dithering_mode;
+ int dithering_depth;
int scaling_mode;
enum nouveau_underscan_type underscan;
u32 underscan_hborder;