mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-01 00:36:40 +09:00
drm/radeon/kms: fix up gpio i2c mask bits for r4xx for real
commit d724502a9d upstream.
Fixes i2c test failures when i2c_algo_bit.bit_test=1.
The hw doesn't actually require a mask, so just set it
to the default mask bits for r1xx-r4xx radeon ddc.
I missed this part the first time through.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
02a04b98ad
commit
24966e9702
@@ -169,6 +169,18 @@ void radeon_atombios_i2c_init(struct radeon_device *rdev)
|
||||
gpio = &i2c_info->asGPIO_Info[i];
|
||||
i2c.valid = false;
|
||||
|
||||
/* r4xx mask is technically not used by the hw, so patch in the legacy mask bits */
|
||||
if ((rdev->family == CHIP_R420) ||
|
||||
(rdev->family == CHIP_R423) ||
|
||||
(rdev->family == CHIP_RV410)) {
|
||||
if ((le16_to_cpu(gpio->usClkMaskRegisterIndex) == 0x0018) ||
|
||||
(le16_to_cpu(gpio->usClkMaskRegisterIndex) == 0x0019) ||
|
||||
(le16_to_cpu(gpio->usClkMaskRegisterIndex) == 0x001a)) {
|
||||
gpio->ucClkMaskShift = 0x19;
|
||||
gpio->ucDataMaskShift = 0x18;
|
||||
}
|
||||
}
|
||||
|
||||
/* some evergreen boards have bad data for this entry */
|
||||
if (ASIC_IS_DCE4(rdev)) {
|
||||
if ((i == 7) &&
|
||||
|
||||
Reference in New Issue
Block a user