From effe579e691b044e3ce59b41b5c0eaaac4368dda Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Sun, 21 Jan 2007 20:23:13 +1100 Subject: [PATCH] ch7xxx: fix output detection as per datasheet, have no DVI to test this. --- src/ch7xxx/ch7xxx.c | 8 +++++++- src/ch7xxx/ch7xxx_reg.h | 4 +++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/ch7xxx/ch7xxx.c b/src/ch7xxx/ch7xxx.c index 5bfb7c5b..9e2a0055 100644 --- a/src/ch7xxx/ch7xxx.c +++ b/src/ch7xxx/ch7xxx.c @@ -182,7 +182,13 @@ out: static xf86OutputStatus ch7xxx_detect(I2CDevPtr d) { - return XF86OutputStatusUnknown; + struct ch7xxx_priv *dev_priv = d->DriverPrivate.ptr; + CARD8 cdet; + ch7xxx_read(dev_priv, CH7xxx_CONNECTION_DETECT, &cdet); + + if (cdet & CH7xxx_CDET_DVI) + return XF86OutputStatusConnected; + return XF86OutputStatusDisconnected; } static ModeStatus diff --git a/src/ch7xxx/ch7xxx_reg.h b/src/ch7xxx/ch7xxx_reg.h index c626e1fc..0ec84ea9 100644 --- a/src/ch7xxx/ch7xxx_reg.h +++ b/src/ch7xxx/ch7xxx_reg.h @@ -49,7 +49,9 @@ USE OR OTHER DEALINGS IN THE SOFTWARE. #define CH7xxx_IDF_HSP (1<<3) #define CH7xxx_IDF_VSP (1<<4) -#define CH7301_CONNECTION_DETECT 0x20 +#define CH7xxx_CONNECTION_DETECT 0x20 +#define CH7xxx_CDET_DVI (1<<5) + #define CH7301_DAC_CNTL 0x21 #define CH7301_HOTPLUG 0x23 #define CH7xxx_TCTL 0x31