summaryrefslogtreecommitdiff
path: root/src/radeon_probe.h
diff options
context:
space:
mode:
authorAlex Deucher <alex@cube.(none)>2008-02-03 00:09:59 -0500
committerAlex Deucher <alex@cube.(none)>2008-02-03 00:09:59 -0500
commitf65e8dfac23adfa199026765fe3a1ea08cf4da67 (patch)
treed209ebda78a72160a1df973cdcc2b36b02d453f7 /src/radeon_probe.h
parenta38a903debc0a50dbc73f59dc2741bbea76d2bd9 (diff)
RADEON: rework i2c handling
Split out clk, data, and lock regs and masks. some cards use different regs and masks for each. For cards with ATOMBIOS, use the i2c bios table to grab the i2c data.
Diffstat (limited to 'src/radeon_probe.h')
-rw-r--r--src/radeon_probe.h22
1 files changed, 12 insertions, 10 deletions
diff --git a/src/radeon_probe.h b/src/radeon_probe.h
index 5dd1d008..df87dab8 100644
--- a/src/radeon_probe.h
+++ b/src/radeon_probe.h
@@ -161,9 +161,15 @@ typedef enum
typedef struct
{
- CARD32 gpio_reg;
- CARD32 put_reg;
- CARD32 get_reg;
+ Bool valid;
+ CARD32 mask_clk_reg;
+ CARD32 mask_data_reg;
+ CARD32 put_clk_reg;
+ CARD32 put_data_reg;
+ CARD32 get_clk_reg;
+ CARD32 get_data_reg;
+ CARD32 mask_clk_mask;
+ CARD32 mask_data_mask;
CARD32 put_clk_mask;
CARD32 put_data_mask;
CARD32 get_clk_mask;
@@ -193,7 +199,6 @@ typedef struct _RADEONCrtcPrivateRec {
} RADEONCrtcPrivateRec, *RADEONCrtcPrivatePtr;
typedef struct {
- CARD32 ddc_line;
RADEONDacType DACType;
RADEONTmdsType TMDSType;
RADEONConnectorType ConnectorType;
@@ -201,8 +206,7 @@ typedef struct {
int output_id;
int devices;
int hpd_mask;
- CARD32 ddc_clk_mask;
- CARD32 ddc_data_mask;
+ RADEONI2CBusRec ddc_i2c;
} RADEONBIOSConnector;
typedef struct _RADEONOutputPrivateRec {
@@ -218,6 +222,7 @@ typedef struct _RADEONOutputPrivateRec {
int crtc_num;
int DDCReg;
I2CBusPtr pI2CBus;
+ RADEONI2CBusRec ddc_i2c;
CARD32 ps2_tvdac_adj;
CARD32 pal_tvdac_adj;
CARD32 ntsc_tvdac_adj;
@@ -237,7 +242,7 @@ typedef struct _RADEONOutputPrivateRec {
RADEONRMXType rmx_type;
/* dvo */
I2CDevPtr DVOChip;
- int dvo_i2c_reg;
+ RADEONI2CBusRec dvo_i2c;
int dvo_i2c_slave_addr;
Bool dvo_duallink;
/* TV out */
@@ -251,9 +256,6 @@ typedef struct _RADEONOutputPrivateRec {
Bool tv_on;
int load_detection;
- CARD32 ddc_clk_mask;
- CARD32 ddc_data_mask;
-
char *name;
int output_id;
int devices;