Message ID | a78a21b5f34947da65473a0b7326922cda51a3be.1496187315.git.joe@perches.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Tue, May 30, 2017 at 04:35:37PM -0700, Joe Perches wrote: > Using the extension saves a bit of code. > > Miscellanea: > > o Neaten and simplify dump_dp_payload_table > o Removed trailing blank space from output Not a huge fan of smashing random trivia into the same patch, but merged anyway. %ph is rather neat, TIL. Thanks, Daniel > > $ 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> > --- > drivers/gpu/drm/drm_dp_mst_topology.c | 51 +++++++++++------------------------ > drivers/gpu/drm/tinydrm/mipi-dbi.c | 7 ++--- > 2 files changed, 18 insertions(+), 40 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, > static bool dump_dp_payload_table(struct drm_dp_mst_topology_mgr *mgr, > char *buf) > { > - int ret; > int i; > - for (i = 0; i < 4; i++) { > - ret = drm_dp_dpcd_read(mgr->aux, DP_PAYLOAD_TABLE_UPDATE_STATUS + (i * 16), &buf[i * 16], 16); > - if (ret != 16) > - break; > + > + for (i = 0; i < 64; i += 16) { > + if (drm_dp_dpcd_read(mgr->aux, > + DP_PAYLOAD_TABLE_UPDATE_STATUS + i, > + &buf[i], 16) != 16) > + return false; > } > - if (i == 4) > - return true; > - return false; > + return true; > } > > static 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, > mutex_lock(&mgr->lock); > if (mgr->mst_primary) { > u8 buf[64]; > - bool bret; > int ret; > + > ret = drm_dp_dpcd_read(mgr->aux, DP_DPCD_REV, buf, DP_RECEIVER_CAP_SIZE); > - seq_printf(m, "dpcd: "); > - for (i = 0; i < DP_RECEIVER_CAP_SIZE; i++) > - seq_printf(m, "%02x ", buf[i]); > - seq_printf(m, "\n"); > + seq_printf(m, "dpcd: %*ph\n", DP_RECEIVER_CAP_SIZE, buf); > ret = drm_dp_dpcd_read(mgr->aux, DP_FAUX_CAP, buf, 2); > - seq_printf(m, "faux/mst: "); > - for (i = 0; i < 2; i++) > - seq_printf(m, "%02x ", buf[i]); > - seq_printf(m, "\n"); > + seq_printf(m, "faux/mst: %*ph\n", 2, buf); > ret = drm_dp_dpcd_read(mgr->aux, DP_MSTM_CTRL, buf, 1); > - seq_printf(m, "mst ctrl: "); > - for (i = 0; i < 1; i++) > - seq_printf(m, "%02x ", buf[i]); > - seq_printf(m, "\n"); > + seq_printf(m, "mst ctrl: %*ph\n", 1, buf); > > /* 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: "); > + seq_printf(m, "branch oui: %*phN devid: ", 3, buf); > for (i = 0x3; i < 0x8 && buf[i]; 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: "); > - for (i = 0; i < 63; i++) > - seq_printf(m, "%02x ", buf[i]); > - seq_printf(m, "\n"); > - } > + seq_printf(m, " revision: hw: %x.%x sw: %x.%x\n", > + buf[0x9] >> 4, buf[0x9] & 0xf, buf[0xa], buf[0xb]); > + if (dump_dp_payload_table(mgr, buf)) > + seq_printf(m, "payload table: %*ph\n", 63, buf); > > } > > diff --git a/drivers/gpu/drm/tinydrm/mipi-dbi.c b/drivers/gpu/drm/tinydrm/mipi-dbi.c > index f4eb412f3604..c83eeb7a34b0 100644 > --- a/drivers/gpu/drm/tinydrm/mipi-dbi.c > +++ b/drivers/gpu/drm/tinydrm/mipi-dbi.c > @@ -914,7 +914,7 @@ static int mipi_dbi_debugfs_command_show(struct seq_file *m, void *unused) > { > struct mipi_dbi *mipi = m->private; > u8 cmd, val[4]; > - size_t len, i; > + size_t len; > int ret; > > for (cmd = 0; cmd < 255; cmd++) { > @@ -943,10 +943,7 @@ static int mipi_dbi_debugfs_command_show(struct seq_file *m, void *unused) > seq_puts(m, "XX\n"); > continue; > } > - > - for (i = 0; i < len; i++) > - seq_printf(m, "%02x", val[i]); > - seq_puts(m, "\n"); > + seq_printf(m, "%*phN\n", (int)len, val); > } > > return 0; > -- > 2.10.0.rc2.1.g053435c > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel
On Wed, May 31, 2017 at 2:35 AM, Joe Perches <joe@perches.com> wrote: > Using the extension saves a bit of code. > + seq_printf(m, "faux/mst: %*ph\n", 2, buf); > + seq_printf(m, "mst ctrl: %*ph\n", 1, buf); > + seq_printf(m, "branch oui: %*phN devid: ", 3, buf); All above may use shorter form, i.e. "..., "%Xph", buf);", where X is a constant written explicitly inplace. > + seq_printf(m, " revision: hw: %x.%x sw: %x.%x\n", > + buf[0x9] >> 4, buf[0x9] & 0xf, buf[0xa], buf[0xb]); Matter of taste, though buf[9], buf[10], buf[11] looks better to me :-)
On Sat, 2017-06-10 at 19:12 +0300, Andy Shevchenko wrote: > On Wed, May 31, 2017 at 2:35 AM, Joe Perches <joe@perches.com> wrote: > > Using the extension saves a bit of code. > > + seq_printf(m, "faux/mst: %*ph\n", 2, buf); > > + seq_printf(m, "mst ctrl: %*ph\n", 1, buf); > > + seq_printf(m, "branch oui: %*phN devid: ", 3, buf); > > All above may use shorter form, i.e. > "..., "%Xph", buf);", where X is a constant written explicitly inplace. I know. Consistency is better though. Note the use of DP_RECEIVER_CAP_SIZE, etc...
On Sun, Jun 11, 2017 at 3:20 AM, Joe Perches <joe@perches.com> wrote: > On Sat, 2017-06-10 at 19:12 +0300, Andy Shevchenko wrote: >> On Wed, May 31, 2017 at 2:35 AM, Joe Perches <joe@perches.com> wrote: >> > Using the extension saves a bit of code. >> > + seq_printf(m, "faux/mst: %*ph\n", 2, buf); >> > + seq_printf(m, "mst ctrl: %*ph\n", 1, buf); >> > + seq_printf(m, "branch oui: %*phN devid: ", 3, buf); >> >> All above may use shorter form, i.e. >> "..., "%Xph", buf);", where X is a constant written explicitly inplace. > > I know. Consistency is better though. > Note the use of DP_RECEIVER_CAP_SIZE, etc... Fair enough.
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, static bool dump_dp_payload_table(struct drm_dp_mst_topology_mgr *mgr, char *buf) { - int ret; int i; - for (i = 0; i < 4; i++) { - ret = drm_dp_dpcd_read(mgr->aux, DP_PAYLOAD_TABLE_UPDATE_STATUS + (i * 16), &buf[i * 16], 16); - if (ret != 16) - break; + + for (i = 0; i < 64; i += 16) { + if (drm_dp_dpcd_read(mgr->aux, + DP_PAYLOAD_TABLE_UPDATE_STATUS + i, + &buf[i], 16) != 16) + return false; } - if (i == 4) - return true; - return false; + return true; } static 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, mutex_lock(&mgr->lock); if (mgr->mst_primary) { u8 buf[64]; - bool bret; int ret; + ret = drm_dp_dpcd_read(mgr->aux, DP_DPCD_REV, buf, DP_RECEIVER_CAP_SIZE); - seq_printf(m, "dpcd: "); - for (i = 0; i < DP_RECEIVER_CAP_SIZE; i++) - seq_printf(m, "%02x ", buf[i]); - seq_printf(m, "\n"); + seq_printf(m, "dpcd: %*ph\n", DP_RECEIVER_CAP_SIZE, buf); ret = drm_dp_dpcd_read(mgr->aux, DP_FAUX_CAP, buf, 2); - seq_printf(m, "faux/mst: "); - for (i = 0; i < 2; i++) - seq_printf(m, "%02x ", buf[i]); - seq_printf(m, "\n"); + seq_printf(m, "faux/mst: %*ph\n", 2, buf); ret = drm_dp_dpcd_read(mgr->aux, DP_MSTM_CTRL, buf, 1); - seq_printf(m, "mst ctrl: "); - for (i = 0; i < 1; i++) - seq_printf(m, "%02x ", buf[i]); - seq_printf(m, "\n"); + seq_printf(m, "mst ctrl: %*ph\n", 1, buf); /* 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: "); + seq_printf(m, "branch oui: %*phN devid: ", 3, buf); for (i = 0x3; i < 0x8 && buf[i]; 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: "); - for (i = 0; i < 63; i++) - seq_printf(m, "%02x ", buf[i]); - seq_printf(m, "\n"); - } + seq_printf(m, " revision: hw: %x.%x sw: %x.%x\n", + buf[0x9] >> 4, buf[0x9] & 0xf, buf[0xa], buf[0xb]); + if (dump_dp_payload_table(mgr, buf)) + seq_printf(m, "payload table: %*ph\n", 63, buf); } diff --git a/drivers/gpu/drm/tinydrm/mipi-dbi.c b/drivers/gpu/drm/tinydrm/mipi-dbi.c index f4eb412f3604..c83eeb7a34b0 100644 --- a/drivers/gpu/drm/tinydrm/mipi-dbi.c +++ b/drivers/gpu/drm/tinydrm/mipi-dbi.c @@ -914,7 +914,7 @@ static int mipi_dbi_debugfs_command_show(struct seq_file *m, void *unused) { struct mipi_dbi *mipi = m->private; u8 cmd, val[4]; - size_t len, i; + size_t len; int ret; for (cmd = 0; cmd < 255; cmd++) { @@ -943,10 +943,7 @@ static int mipi_dbi_debugfs_command_show(struct seq_file *m, void *unused) seq_puts(m, "XX\n"); continue; } - - for (i = 0; i < len; i++) - seq_printf(m, "%02x", val[i]); - seq_puts(m, "\n"); + seq_printf(m, "%*phN\n", (int)len, val); } return 0;
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> --- drivers/gpu/drm/drm_dp_mst_topology.c | 51 +++++++++++------------------------ drivers/gpu/drm/tinydrm/mipi-dbi.c | 7 ++--- 2 files changed, 18 insertions(+), 40 deletions(-)