aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Jackson <ajax@redhat.com>2012-05-14 16:05:48 -0400
committerDave Airlie <airlied@redhat.com>2012-05-22 05:19:03 -0400
commit40c5d876478abb5aa8e5fb1741205dd35fcffe42 (patch)
tree8b536e5ef1114aa20311111599d0f8a56b08c685
parent0d198328538276c4459ef5de081e68ae60e6c4c2 (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>
-rw-r--r--drivers/gpu/drm/radeon/atombios_dp.c20
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
533static 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
533bool radeon_dp_getdpcd(struct radeon_connector *radeon_connector) 550bool 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;