提交 be663057 编写于 作者: A Alex Deucher 提交者: Dave Airlie

drm/radeon/kms: fix i2c pad masks on rs4xx

These got lost in the last i2c cleanup.  Fixes:
https://bugzilla.kernel.org/show_bug.cgi?id=23222Signed-off-by: NAlex Deucher <alexdeucher@gmail.com>
Cc: stable@kernel.org
Signed-off-by: NDave Airlie <airlied@redhat.com>
上级 95ccb0f3
...@@ -571,6 +571,7 @@ static struct radeon_i2c_bus_rec combios_setup_i2c_bus(struct radeon_device *rde ...@@ -571,6 +571,7 @@ static struct radeon_i2c_bus_rec combios_setup_i2c_bus(struct radeon_device *rde
} }
if (clk_mask && data_mask) { if (clk_mask && data_mask) {
/* system specific masks */
i2c.mask_clk_mask = clk_mask; i2c.mask_clk_mask = clk_mask;
i2c.mask_data_mask = data_mask; i2c.mask_data_mask = data_mask;
i2c.a_clk_mask = clk_mask; i2c.a_clk_mask = clk_mask;
...@@ -579,7 +580,19 @@ static struct radeon_i2c_bus_rec combios_setup_i2c_bus(struct radeon_device *rde ...@@ -579,7 +580,19 @@ static struct radeon_i2c_bus_rec combios_setup_i2c_bus(struct radeon_device *rde
i2c.en_data_mask = data_mask; i2c.en_data_mask = data_mask;
i2c.y_clk_mask = clk_mask; i2c.y_clk_mask = clk_mask;
i2c.y_data_mask = data_mask; i2c.y_data_mask = data_mask;
} else if ((ddc_line == RADEON_GPIOPAD_MASK) ||
(ddc_line == RADEON_MDGPIO_MASK)) {
/* default gpiopad masks */
i2c.mask_clk_mask = (0x20 << 8);
i2c.mask_data_mask = 0x80;
i2c.a_clk_mask = (0x20 << 8);
i2c.a_data_mask = 0x80;
i2c.en_clk_mask = (0x20 << 8);
i2c.en_data_mask = 0x80;
i2c.y_clk_mask = (0x20 << 8);
i2c.y_data_mask = 0x80;
} else { } else {
/* default masks for ddc pads */
i2c.mask_clk_mask = RADEON_GPIO_EN_1; i2c.mask_clk_mask = RADEON_GPIO_EN_1;
i2c.mask_data_mask = RADEON_GPIO_EN_0; i2c.mask_data_mask = RADEON_GPIO_EN_0;
i2c.a_clk_mask = RADEON_GPIO_A_1; i2c.a_clk_mask = RADEON_GPIO_A_1;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册