diff options
author | Alex Deucher <alex@botch2.(none)> | 2008-02-19 19:55:41 -0500 |
---|---|---|
committer | Alex Deucher <alex@botch2.(none)> | 2008-02-19 19:55:41 -0500 |
commit | b77e2aff7453a9f370beba37ca3c25b92b3f97ff (patch) | |
tree | 7f62f8dddda853146e069d5d486acaaa11a65fc3 /src | |
parent | af82172a82f2bdf96e571def659a1c70f92dfdbf (diff) |
RADEON: fix DDC types 5 and 6
Diffstat (limited to 'src')
-rw-r--r-- | src/radeon_output.c | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/src/radeon_output.c b/src/radeon_output.c index aceb3d8..e65e269 100644 --- a/src/radeon_output.c +++ b/src/radeon_output.c @@ -1754,12 +1754,23 @@ legacy_setup_i2c_bus(int ddc_line) i2c.put_data_mask = RADEON_GPIO_EN_0; i2c.get_clk_mask = RADEON_GPIO_Y_1; i2c.get_data_mask = RADEON_GPIO_Y_0; - i2c.mask_clk_reg = ddc_line; - i2c.mask_data_reg = ddc_line; - i2c.put_clk_reg = ddc_line; - i2c.put_data_reg = ddc_line; - i2c.get_clk_reg = ddc_line; - i2c.get_data_reg = ddc_line; + if ((ddc_line == RADEON_LCD_GPIO_MASK) || + (ddc_line == RADEON_MDGPIO_EN_REG)) { + i2c.mask_clk_reg = ddc_line; + i2c.mask_data_reg = ddc_line; + i2c.put_clk_reg = ddc_line; + i2c.put_data_reg = ddc_line; + i2c.get_clk_reg = ddc_line + 4; + i2c.get_data_reg = ddc_line + 4; + } else { + i2c.mask_clk_reg = ddc_line; + i2c.mask_data_reg = ddc_line; + i2c.put_clk_reg = ddc_line; + i2c.put_data_reg = ddc_line; + i2c.get_clk_reg = ddc_line; + i2c.get_data_reg = ddc_line; + } + if (ddc_line) i2c.valid = TRUE; else |