drm/dp/mst: dump branch OUI in debugfs (v2)
authorDave Airlie <airlied@redhat.com>
Tue, 14 Jul 2015 01:33:31 +0000 (11:33 +1000)
committerDave Airlie <airlied@redhat.com>
Fri, 21 Aug 2015 02:04:49 +0000 (12:04 +1000)
It appears some MST docks are worse than other, but the only
way to know is to see the sw revisions in here, so dump
the branch OUI so we can look at the sw revision.

v2: Thierry made me feel guilty, so I parsed the branch
OUI.

Reviewed-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
drivers/gpu/drm/drm_dp_mst_topology.c
include/drm/drm_dp_helper.h

index b0487c9f018cfd09d040ffb08fe4585f68ab6022..86bc9ade5fc487bf63e060789be4198c4fcf0076 100644 (file)
@@ -2631,6 +2631,16 @@ void drm_dp_mst_dump_topology(struct seq_file *m,
                        seq_printf(m, "%02x ", buf[i]);
                seq_printf(m, "\n");
 
+               /* dump the standard OUI branch header */
+               ret = drm_dp_dpcd_read(mgr->aux, DP_BRANCH_OUI, buf, DP_BRANCH_OUI_HEADER_SIZE);
+               seq_printf(m, "branch oui: ");
+               for (i = 0; i < 0x3; i++)
+                       seq_printf(m, "%02x", buf[i]);
+               seq_printf(m, " devid: ");
+               for (i = 0x3; i < 0x8; i++)
+                       seq_printf(m, "%c", buf[i]);
+               seq_printf(m, " revision: hw: %x.%x sw: %x.%x", buf[0x9] >> 4, buf[0x9] & 0xf, buf[0xa], buf[0xb]);
+               seq_printf(m, "\n");
                bret = dump_dp_payload_table(mgr, buf);
                if (bret == true) {
                        seq_printf(m, "payload table: ");
index 94898f6ea02af17d84dbbe46f0c8e8818b5b9124..499e9f625aeffb2f618458b45121a6a6286e6e3e 100644 (file)
@@ -578,6 +578,7 @@ u8 drm_dp_get_adjust_request_voltage(const u8 link_status[DP_LINK_STATUS_SIZE],
 u8 drm_dp_get_adjust_request_pre_emphasis(const u8 link_status[DP_LINK_STATUS_SIZE],
                                          int lane);
 
+#define DP_BRANCH_OUI_HEADER_SIZE      0xc
 #define DP_RECEIVER_CAP_SIZE           0xf
 #define EDP_PSR_RECEIVER_CAP_SIZE      2