diff options
author | Adam Jackson <ajax@redhat.com> | 2012-05-14 16:05:48 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2012-05-22 05:19:03 -0400 |
commit | 40c5d876478abb5aa8e5fb1741205dd35fcffe42 (patch) | |
tree | 8b536e5ef1114aa20311111599d0f8a56b08c685 /drivers/gpu | |
parent | 0d198328538276c4459ef5de081e68ae60e6c4c2 (diff) |
drm/radeon/dp: Probe branch/sink OUIs
Signed-off-by: Adam Jackson <ajax@redhat.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Jerome Glisse <jglisse@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu')
-rw-r--r-- | drivers/gpu/drm/radeon/atombios_dp.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/atombios_dp.c b/drivers/gpu/drm/radeon/atombios_dp.c index cadbb107c803..5131b3b0f7d2 100644 --- a/drivers/gpu/drm/radeon/atombios_dp.c +++ b/drivers/gpu/drm/radeon/atombios_dp.c | |||
@@ -530,6 +530,23 @@ u8 radeon_dp_getsinktype(struct radeon_connector *radeon_connector) | |||
530 | dig_connector->dp_i2c_bus->rec.i2c_id, 0); | 530 | dig_connector->dp_i2c_bus->rec.i2c_id, 0); |
531 | } | 531 | } |
532 | 532 | ||
533 | static void radeon_dp_probe_oui(struct radeon_connector *radeon_connector) | ||
534 | { | ||
535 | struct radeon_connector_atom_dig *dig_connector = radeon_connector->con_priv; | ||
536 | u8 buf[3]; | ||
537 | |||
538 | if (!(dig_connector->dpcd[DP_DOWN_STREAM_PORT_COUNT] & DP_OUI_SUPPORT)) | ||
539 | return; | ||
540 | |||
541 | if (radeon_dp_aux_native_read(radeon_connector, DP_SINK_OUI, buf, 3, 0)) | ||
542 | DRM_DEBUG_KMS("Sink OUI: %02hx%02hx%02hx\n", | ||
543 | buf[0], buf[1], buf[2]); | ||
544 | |||
545 | if (radeon_dp_aux_native_read(radeon_connector, DP_BRANCH_OUI, buf, 3, 0)) | ||
546 | DRM_DEBUG_KMS("Branch OUI: %02hx%02hx%02hx\n", | ||
547 | buf[0], buf[1], buf[2]); | ||
548 | } | ||
549 | |||
533 | bool radeon_dp_getdpcd(struct radeon_connector *radeon_connector) | 550 | bool radeon_dp_getdpcd(struct radeon_connector *radeon_connector) |
534 | { | 551 | { |
535 | struct radeon_connector_atom_dig *dig_connector = radeon_connector->con_priv; | 552 | struct radeon_connector_atom_dig *dig_connector = radeon_connector->con_priv; |
@@ -543,6 +560,9 @@ bool radeon_dp_getdpcd(struct radeon_connector *radeon_connector) | |||
543 | for (i = 0; i < 8; i++) | 560 | for (i = 0; i < 8; i++) |
544 | DRM_DEBUG_KMS("%02x ", msg[i]); | 561 | DRM_DEBUG_KMS("%02x ", msg[i]); |
545 | DRM_DEBUG_KMS("\n"); | 562 | DRM_DEBUG_KMS("\n"); |
563 | |||
564 | radeon_dp_probe_oui(radeon_connector); | ||
565 | |||
546 | return true; | 566 | return true; |
547 | } | 567 | } |
548 | dig_connector->dpcd[0] = 0; | 568 | dig_connector->dpcd[0] = 0; |