diff options
author | Dave Airlie <airlied@linux.ie> | 2007-01-21 20:23:13 +1100 |
---|---|---|
committer | Dave Airlie <airlied@linux.ie> | 2007-01-23 16:10:53 +1100 |
commit | effe579e691b044e3ce59b41b5c0eaaac4368dda (patch) | |
tree | 9faa434418796c718f5c8e54c7de31764082c4cb /src | |
parent | c68dae2705d6e5b05dba7d40b6da112b98b926b4 (diff) |
ch7xxx: fix output detection as per datasheet, have no DVI to test this.
Diffstat (limited to 'src')
-rw-r--r-- | src/ch7xxx/ch7xxx.c | 8 | ||||
-rw-r--r-- | 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 |