aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/drm_dp_mst_topology.c
diff options
context:
space:
mode:
authorJoe Perches <joe@perches.com>2017-05-30 19:35:37 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2017-05-31 04:30:38 -0400
commit46466b0dac3f6bee397c1db4f0ebfedf3e8c9e9c (patch)
tree9b115d63f292300957f723487a720cee78119411 /drivers/gpu/drm/drm_dp_mst_topology.c
parent99cdb35e787b277bc66ed9fe7d5f9852de9e0eb0 (diff)
drm: Use vsnprintf extension %ph
Using the extension saves a bit of code. Miscellanea: o Neaten and simplify dump_dp_payload_table o Removed trailing blank space from output $ size drivers/gpu/drm/drm_dp_mst_topology.o.* drivers/gpu/drm/tinydrm/*.o* text data bss dec hex filename 25848 0 16 25864 6508 drivers/gpu/drm/drm_dp_mst_topology.o.new 26091 0 16 26107 65fb drivers/gpu/drm/drm_dp_mst_topology.o.old 3362 2 0 3364 d24 drivers/gpu/drm/tinydrm/mipi-dbi.o.new 3376 2 0 3378 d32 drivers/gpu/drm/tinydrm/mipi-dbi.o.old Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: http://patchwork.freedesktop.org/patch/msgid/a78a21b5f34947da65473a0b7326922cda51a3be.1496187315.git.joe@perches.com
Diffstat (limited to 'drivers/gpu/drm/drm_dp_mst_topology.c')
-rw-r--r--drivers/gpu/drm/drm_dp_mst_topology.c51
1 files changed, 16 insertions, 35 deletions
diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c b/drivers/gpu/drm/drm_dp_mst_topology.c
index 222eb1a8549b..bfd237c15e76 100644
--- a/drivers/gpu/drm/drm_dp_mst_topology.c
+++ b/drivers/gpu/drm/drm_dp_mst_topology.c
@@ -2836,16 +2836,15 @@ static void drm_dp_mst_dump_mstb(struct seq_file *m,
2836static bool dump_dp_payload_table(struct drm_dp_mst_topology_mgr *mgr, 2836static bool dump_dp_payload_table(struct drm_dp_mst_topology_mgr *mgr,
2837 char *buf) 2837 char *buf)
2838{ 2838{
2839 int ret;
2840 int i; 2839 int i;
2841 for (i = 0; i < 4; i++) { 2840
2842 ret = drm_dp_dpcd_read(mgr->aux, DP_PAYLOAD_TABLE_UPDATE_STATUS + (i * 16), &buf[i * 16], 16); 2841 for (i = 0; i < 64; i += 16) {
2843 if (ret != 16) 2842 if (drm_dp_dpcd_read(mgr->aux,
2844 break; 2843 DP_PAYLOAD_TABLE_UPDATE_STATUS + i,
2844 &buf[i], 16) != 16)
2845 return false;
2845 } 2846 }
2846 if (i == 4) 2847 return true;
2847 return true;
2848 return false;
2849} 2848}
2850 2849
2851static void fetch_monitor_name(struct drm_dp_mst_topology_mgr *mgr, 2850static void fetch_monitor_name(struct drm_dp_mst_topology_mgr *mgr,
@@ -2909,42 +2908,24 @@ void drm_dp_mst_dump_topology(struct seq_file *m,
2909 mutex_lock(&mgr->lock); 2908 mutex_lock(&mgr->lock);
2910 if (mgr->mst_primary) { 2909 if (mgr->mst_primary) {
2911 u8 buf[64]; 2910 u8 buf[64];
2912 bool bret;
2913 int ret; 2911 int ret;
2912
2914 ret = drm_dp_dpcd_read(mgr->aux, DP_DPCD_REV, buf, DP_RECEIVER_CAP_SIZE); 2913 ret = drm_dp_dpcd_read(mgr->aux, DP_DPCD_REV, buf, DP_RECEIVER_CAP_SIZE);
2915 seq_printf(m, "dpcd: "); 2914 seq_printf(m, "dpcd: %*ph\n", DP_RECEIVER_CAP_SIZE, buf);
2916 for (i = 0; i < DP_RECEIVER_CAP_SIZE; i++)
2917 seq_printf(m, "%02x ", buf[i]);
2918 seq_printf(m, "\n");
2919 ret = drm_dp_dpcd_read(mgr->aux, DP_FAUX_CAP, buf, 2); 2915 ret = drm_dp_dpcd_read(mgr->aux, DP_FAUX_CAP, buf, 2);
2920 seq_printf(m, "faux/mst: "); 2916 seq_printf(m, "faux/mst: %*ph\n", 2, buf);
2921 for (i = 0; i < 2; i++)
2922 seq_printf(m, "%02x ", buf[i]);
2923 seq_printf(m, "\n");
2924 ret = drm_dp_dpcd_read(mgr->aux, DP_MSTM_CTRL, buf, 1); 2917 ret = drm_dp_dpcd_read(mgr->aux, DP_MSTM_CTRL, buf, 1);
2925 seq_printf(m, "mst ctrl: "); 2918 seq_printf(m, "mst ctrl: %*ph\n", 1, buf);
2926 for (i = 0; i < 1; i++)
2927 seq_printf(m, "%02x ", buf[i]);
2928 seq_printf(m, "\n");
2929 2919
2930 /* dump the standard OUI branch header */ 2920 /* dump the standard OUI branch header */
2931 ret = drm_dp_dpcd_read(mgr->aux, DP_BRANCH_OUI, buf, DP_BRANCH_OUI_HEADER_SIZE); 2921 ret = drm_dp_dpcd_read(mgr->aux, DP_BRANCH_OUI, buf, DP_BRANCH_OUI_HEADER_SIZE);
2932 seq_printf(m, "branch oui: "); 2922 seq_printf(m, "branch oui: %*phN devid: ", 3, buf);
2933 for (i = 0; i < 0x3; i++)
2934 seq_printf(m, "%02x", buf[i]);
2935 seq_printf(m, " devid: ");
2936 for (i = 0x3; i < 0x8 && buf[i]; i++) 2923 for (i = 0x3; i < 0x8 && buf[i]; i++)
2937 seq_printf(m, "%c", buf[i]); 2924 seq_printf(m, "%c", buf[i]);
2938 2925 seq_printf(m, " revision: hw: %x.%x sw: %x.%x\n",
2939 seq_printf(m, " revision: hw: %x.%x sw: %x.%x", buf[0x9] >> 4, buf[0x9] & 0xf, buf[0xa], buf[0xb]); 2926 buf[0x9] >> 4, buf[0x9] & 0xf, buf[0xa], buf[0xb]);
2940 seq_printf(m, "\n"); 2927 if (dump_dp_payload_table(mgr, buf))
2941 bret = dump_dp_payload_table(mgr, buf); 2928 seq_printf(m, "payload table: %*ph\n", 63, buf);
2942 if (bret == true) {
2943 seq_printf(m, "payload table: ");
2944 for (i = 0; i < 63; i++)
2945 seq_printf(m, "%02x ", buf[i]);
2946 seq_printf(m, "\n");
2947 }
2948 2929
2949 } 2930 }
2950 2931