diff options
Diffstat (limited to 'drivers/gpu/drm/radeon')
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_atombios.c | 9 | ||||
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_i2c.c | 8 |
2 files changed, 7 insertions, 10 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_atombios.c b/drivers/gpu/drm/radeon/radeon_atombios.c index a1de975eec30..87ead090c7d5 100644 --- a/drivers/gpu/drm/radeon/radeon_atombios.c +++ b/drivers/gpu/drm/radeon/radeon_atombios.c | |||
@@ -526,9 +526,6 @@ bool radeon_get_atom_connector_info_from_object_table(struct drm_device *dev) | |||
526 | if (crev < 2) | 526 | if (crev < 2) |
527 | return false; | 527 | return false; |
528 | 528 | ||
529 | router.ddc_valid = false; | ||
530 | router.cd_valid = false; | ||
531 | |||
532 | obj_header = (ATOM_OBJECT_HEADER *) (ctx->bios + data_offset); | 529 | obj_header = (ATOM_OBJECT_HEADER *) (ctx->bios + data_offset); |
533 | path_obj = (ATOM_DISPLAY_OBJECT_PATH_TABLE *) | 530 | path_obj = (ATOM_DISPLAY_OBJECT_PATH_TABLE *) |
534 | (ctx->bios + data_offset + | 531 | (ctx->bios + data_offset + |
@@ -625,6 +622,8 @@ bool radeon_get_atom_connector_info_from_object_table(struct drm_device *dev) | |||
625 | if (connector_type == DRM_MODE_CONNECTOR_Unknown) | 622 | if (connector_type == DRM_MODE_CONNECTOR_Unknown) |
626 | continue; | 623 | continue; |
627 | 624 | ||
625 | router.ddc_valid = false; | ||
626 | router.cd_valid = false; | ||
628 | for (j = 0; j < ((le16_to_cpu(path->usSize) - 8) / 2); j++) { | 627 | for (j = 0; j < ((le16_to_cpu(path->usSize) - 8) / 2); j++) { |
629 | uint8_t grph_obj_id, grph_obj_num, grph_obj_type; | 628 | uint8_t grph_obj_id, grph_obj_num, grph_obj_type; |
630 | 629 | ||
@@ -648,10 +647,8 @@ bool radeon_get_atom_connector_info_from_object_table(struct drm_device *dev) | |||
648 | usDeviceTag)); | 647 | usDeviceTag)); |
649 | 648 | ||
650 | } else if (grph_obj_type == GRAPH_OBJECT_TYPE_ROUTER) { | 649 | } else if (grph_obj_type == GRAPH_OBJECT_TYPE_ROUTER) { |
651 | router.ddc_valid = false; | ||
652 | router.cd_valid = false; | ||
653 | for (k = 0; k < router_obj->ucNumberOfObjects; k++) { | 650 | for (k = 0; k < router_obj->ucNumberOfObjects; k++) { |
654 | u16 router_obj_id = le16_to_cpu(router_obj->asObjects[j].usObjectID); | 651 | u16 router_obj_id = le16_to_cpu(router_obj->asObjects[k].usObjectID); |
655 | if (le16_to_cpu(path->usGraphicObjIds[j]) == router_obj_id) { | 652 | if (le16_to_cpu(path->usGraphicObjIds[j]) == router_obj_id) { |
656 | ATOM_COMMON_RECORD_HEADER *record = (ATOM_COMMON_RECORD_HEADER *) | 653 | ATOM_COMMON_RECORD_HEADER *record = (ATOM_COMMON_RECORD_HEADER *) |
657 | (ctx->bios + data_offset + | 654 | (ctx->bios + data_offset + |
diff --git a/drivers/gpu/drm/radeon/radeon_i2c.c b/drivers/gpu/drm/radeon/radeon_i2c.c index 24b8a8be2cd4..0cfbba02c4d0 100644 --- a/drivers/gpu/drm/radeon/radeon_i2c.c +++ b/drivers/gpu/drm/radeon/radeon_i2c.c | |||
@@ -1095,14 +1095,14 @@ void radeon_router_select_ddc_port(struct radeon_connector *radeon_connector) | |||
1095 | radeon_i2c_get_byte(radeon_connector->router_bus, | 1095 | radeon_i2c_get_byte(radeon_connector->router_bus, |
1096 | radeon_connector->router.i2c_addr, | 1096 | radeon_connector->router.i2c_addr, |
1097 | 0x3, &val); | 1097 | 0x3, &val); |
1098 | val &= radeon_connector->router.ddc_mux_control_pin; | 1098 | val &= ~radeon_connector->router.ddc_mux_control_pin; |
1099 | radeon_i2c_put_byte(radeon_connector->router_bus, | 1099 | radeon_i2c_put_byte(radeon_connector->router_bus, |
1100 | radeon_connector->router.i2c_addr, | 1100 | radeon_connector->router.i2c_addr, |
1101 | 0x3, val); | 1101 | 0x3, val); |
1102 | radeon_i2c_get_byte(radeon_connector->router_bus, | 1102 | radeon_i2c_get_byte(radeon_connector->router_bus, |
1103 | radeon_connector->router.i2c_addr, | 1103 | radeon_connector->router.i2c_addr, |
1104 | 0x1, &val); | 1104 | 0x1, &val); |
1105 | val &= radeon_connector->router.ddc_mux_control_pin; | 1105 | val &= ~radeon_connector->router.ddc_mux_control_pin; |
1106 | val |= radeon_connector->router.ddc_mux_state; | 1106 | val |= radeon_connector->router.ddc_mux_state; |
1107 | radeon_i2c_put_byte(radeon_connector->router_bus, | 1107 | radeon_i2c_put_byte(radeon_connector->router_bus, |
1108 | radeon_connector->router.i2c_addr, | 1108 | radeon_connector->router.i2c_addr, |
@@ -1120,14 +1120,14 @@ void radeon_router_select_cd_port(struct radeon_connector *radeon_connector) | |||
1120 | radeon_i2c_get_byte(radeon_connector->router_bus, | 1120 | radeon_i2c_get_byte(radeon_connector->router_bus, |
1121 | radeon_connector->router.i2c_addr, | 1121 | radeon_connector->router.i2c_addr, |
1122 | 0x3, &val); | 1122 | 0x3, &val); |
1123 | val &= radeon_connector->router.cd_mux_control_pin; | 1123 | val &= ~radeon_connector->router.cd_mux_control_pin; |
1124 | radeon_i2c_put_byte(radeon_connector->router_bus, | 1124 | radeon_i2c_put_byte(radeon_connector->router_bus, |
1125 | radeon_connector->router.i2c_addr, | 1125 | radeon_connector->router.i2c_addr, |
1126 | 0x3, val); | 1126 | 0x3, val); |
1127 | radeon_i2c_get_byte(radeon_connector->router_bus, | 1127 | radeon_i2c_get_byte(radeon_connector->router_bus, |
1128 | radeon_connector->router.i2c_addr, | 1128 | radeon_connector->router.i2c_addr, |
1129 | 0x1, &val); | 1129 | 0x1, &val); |
1130 | val &= radeon_connector->router.cd_mux_control_pin; | 1130 | val &= ~radeon_connector->router.cd_mux_control_pin; |
1131 | val |= radeon_connector->router.cd_mux_state; | 1131 | val |= radeon_connector->router.cd_mux_state; |
1132 | radeon_i2c_put_byte(radeon_connector->router_bus, | 1132 | radeon_i2c_put_byte(radeon_connector->router_bus, |
1133 | radeon_connector->router.i2c_addr, | 1133 | radeon_connector->router.i2c_addr, |