Commit 9b9fe724 accidentally used RADEON_GPIO_EN_* where
RADEON_GPIO_MASK_* was intended. This caused improper initialization
of I2C buses, mostly visible when setting i2c_algo_bit.bit_test=1.
Using the right constants fixes the problem.

Signed-off-by: Jean Delvare <jdelvare at suse.de>
Cc: Alex Deucher <alexander.deucher at amd.com>
Cc: Jerome Glisse <j.glisse at gmail.com>
Cc: stable at kernel.org
---
This needs testing on more combios-based Radeon cards, please. I
could only test it on one Radeon 9200 (RV280) card.

 drivers/gpu/drm/radeon/radeon_combios.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

--- linux-3.0.orig/drivers/gpu/drm/radeon/radeon_combios.c      2011-10-06 
14:52:59.000000000 +0200
+++ linux-3.0/drivers/gpu/drm/radeon/radeon_combios.c   2011-10-06 
14:53:23.000000000 +0200
@@ -620,8 +620,8 @@ static struct radeon_i2c_bus_rec combios
                i2c.y_data_mask = 0x80;
        } else {
                /* default masks for ddc pads */
-               i2c.mask_clk_mask = RADEON_GPIO_EN_1;
-               i2c.mask_data_mask = RADEON_GPIO_EN_0;
+               i2c.mask_clk_mask = RADEON_GPIO_MASK_1;
+               i2c.mask_data_mask = RADEON_GPIO_MASK_0;
                i2c.a_clk_mask = RADEON_GPIO_A_1;
                i2c.a_data_mask = RADEON_GPIO_A_0;
                i2c.en_clk_mask = RADEON_GPIO_EN_1;

-- 
Jean Delvare
Suse L3

Reply via email to