drm/radeon/kms: fix some logic errors in combios i2c mapping
The virtual i2c to real i2c channel mappings weren't setting the right id in some cases. Spotted by: Andrew Randrianasulu Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
d4a3b10c16
commit
776f2b7cb4
@ -544,20 +544,26 @@ static struct radeon_i2c_bus_rec combios_setup_i2c_bus(struct radeon_device *rde
|
|||||||
rdev->family == CHIP_RS480)
|
rdev->family == CHIP_RS480)
|
||||||
ddc_line = RADEON_GPIOPAD_MASK;
|
ddc_line = RADEON_GPIOPAD_MASK;
|
||||||
else if (rdev->family == CHIP_R300 ||
|
else if (rdev->family == CHIP_R300 ||
|
||||||
rdev->family == CHIP_R350)
|
rdev->family == CHIP_R350) {
|
||||||
ddc_line = RADEON_GPIO_DVI_DDC;
|
ddc_line = RADEON_GPIO_DVI_DDC;
|
||||||
else
|
ddc = DDC_DVI;
|
||||||
|
} else
|
||||||
ddc_line = RADEON_GPIO_MONID;
|
ddc_line = RADEON_GPIO_MONID;
|
||||||
break;
|
break;
|
||||||
case DDC_CRT2:
|
case DDC_CRT2:
|
||||||
if (rdev->family == CHIP_R200 ||
|
if (rdev->family == CHIP_R200 ||
|
||||||
rdev->family == CHIP_R300 ||
|
rdev->family == CHIP_R300 ||
|
||||||
rdev->family == CHIP_R350)
|
rdev->family == CHIP_R350) {
|
||||||
ddc_line = RADEON_GPIO_DVI_DDC;
|
ddc_line = RADEON_GPIO_DVI_DDC;
|
||||||
else if (rdev->family == CHIP_RS300 ||
|
ddc = DDC_DVI;
|
||||||
rdev->family >= CHIP_RV350)
|
} else if (rdev->family == CHIP_RS300 ||
|
||||||
|
rdev->family == CHIP_RS400 ||
|
||||||
|
rdev->family == CHIP_RS480)
|
||||||
ddc_line = RADEON_GPIO_MONID;
|
ddc_line = RADEON_GPIO_MONID;
|
||||||
else
|
else if (rdev->family >= CHIP_RV350) {
|
||||||
|
ddc_line = RADEON_GPIO_MONID;
|
||||||
|
ddc = DDC_MONID;
|
||||||
|
} else
|
||||||
ddc_line = RADEON_GPIO_CRT2_DDC;
|
ddc_line = RADEON_GPIO_CRT2_DDC;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user