浏览代码

drm/radeon: reset i2c valid to avoid incorrect tv-out polling.

We really don't want to be polling tv-out but since we weren't forcing the
i2c lines to invalid (tv-out has no DDC), we were adding tv connectors to the
polling setup and this was causing blinking on secondary displays.

This fixes the regression Torsten reported.

Reported-by: Torsten Kaiser <just.for.lkml@googlemail.com>
Tested-by: Torsten Kaiser <just.for.lkml@googlemail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Dave Airlie 15 年之前
父节点
当前提交
d294ed6940
共有 1 个文件被更改,包括 2 次插入0 次删除
  1. 2 0
      drivers/gpu/drm/radeon/radeon_combios.c

+ 2 - 0
drivers/gpu/drm/radeon/radeon_combios.c

@@ -2026,6 +2026,7 @@ bool radeon_get_legacy_connector_info_from_bios(struct drm_device *dev)
 					combios_setup_i2c_bus(rdev, RADEON_GPIO_CRT2_DDC);
 					combios_setup_i2c_bus(rdev, RADEON_GPIO_CRT2_DDC);
 				break;
 				break;
 			default:
 			default:
+				ddc_i2c.valid = false;
 				break;
 				break;
 			}
 			}
 
 
@@ -2339,6 +2340,7 @@ bool radeon_get_legacy_connector_info_from_bios(struct drm_device *dev)
 			if (RBIOS8(tv_info + 6) == 'T') {
 			if (RBIOS8(tv_info + 6) == 'T') {
 				if (radeon_apply_legacy_tv_quirks(dev)) {
 				if (radeon_apply_legacy_tv_quirks(dev)) {
 					hpd.hpd = RADEON_HPD_NONE;
 					hpd.hpd = RADEON_HPD_NONE;
+					ddc_i2c.valid = false;
 					radeon_add_legacy_encoder(dev,
 					radeon_add_legacy_encoder(dev,
 								  radeon_get_encoder_id
 								  radeon_get_encoder_id
 								  (dev,
 								  (dev,