Re: [PATCH] drm: Use vsnprintf extension %ph

2017-06-11 Thread Andy Shevchenko
On Sun, Jun 11, 2017 at 3:20 AM, Joe Perches  wrote:
> On Sat, 2017-06-10 at 19:12 +0300, Andy Shevchenko wrote:
>> On Wed, May 31, 2017 at 2:35 AM, Joe Perches  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.

-- 
With Best Regards,
Andy Shevchenko


Re: [PATCH] drm: Use vsnprintf extension %ph

2017-06-11 Thread Andy Shevchenko
On Sun, Jun 11, 2017 at 3:20 AM, Joe Perches  wrote:
> On Sat, 2017-06-10 at 19:12 +0300, Andy Shevchenko wrote:
>> On Wed, May 31, 2017 at 2:35 AM, Joe Perches  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.

-- 
With Best Regards,
Andy Shevchenko


Re: [PATCH] drm: Use vsnprintf extension %ph

2017-06-10 Thread Joe Perches
On Sat, 2017-06-10 at 19:12 +0300, Andy Shevchenko wrote:
> On Wed, May 31, 2017 at 2:35 AM, Joe Perches  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...



Re: [PATCH] drm: Use vsnprintf extension %ph

2017-06-10 Thread Joe Perches
On Sat, 2017-06-10 at 19:12 +0300, Andy Shevchenko wrote:
> On Wed, May 31, 2017 at 2:35 AM, Joe Perches  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...



Re: [PATCH] drm: Use vsnprintf extension %ph

2017-06-10 Thread Andy Shevchenko
On Wed, May 31, 2017 at 2:35 AM, Joe Perches  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 :-)

-- 
With Best Regards,
Andy Shevchenko


Re: [PATCH] drm: Use vsnprintf extension %ph

2017-06-10 Thread Andy Shevchenko
On Wed, May 31, 2017 at 2:35 AM, Joe Perches  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 :-)

-- 
With Best Regards,
Andy Shevchenko


Re: [PATCH] drm: Use vsnprintf extension %ph

2017-05-31 Thread Daniel Vetter
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   258646508 
> drivers/gpu/drm/drm_dp_mst_topology.o.new
>   26091 0  16   2610765fb 
> drivers/gpu/drm/drm_dp_mst_topology.o.old
>3362 2   03364 d24 
> drivers/gpu/drm/tinydrm/mipi-dbi.o.new
>3376 2   03378 d32 
> drivers/gpu/drm/tinydrm/mipi-dbi.o.old
> 
> Signed-off-by: Joe Perches 
> ---
>  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), [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,
> +  [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(>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 
> 

Re: [PATCH] drm: Use vsnprintf extension %ph

2017-05-31 Thread Daniel Vetter
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   258646508 
> drivers/gpu/drm/drm_dp_mst_topology.o.new
>   26091 0  16   2610765fb 
> drivers/gpu/drm/drm_dp_mst_topology.o.old
>3362 2   03364 d24 
> drivers/gpu/drm/tinydrm/mipi-dbi.o.new
>3376 2   03378 d32 
> drivers/gpu/drm/tinydrm/mipi-dbi.o.old
> 
> Signed-off-by: Joe Perches 
> ---
>  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), [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,
> +  [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(>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)
> 

[PATCH] drm: Use vsnprintf extension %ph

2017-05-30 Thread Joe Perches
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*
   textdata bss dec hex filename
  25848   0  16   258646508 
drivers/gpu/drm/drm_dp_mst_topology.o.new
  26091   0  16   2610765fb 
drivers/gpu/drm/drm_dp_mst_topology.o.old
   3362   2   03364 d24 drivers/gpu/drm/tinydrm/mipi-dbi.o.new
   3376   2   03378 d32 drivers/gpu/drm/tinydrm/mipi-dbi.o.old

Signed-off-by: Joe Perches 
---
 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), [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,
+[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(>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, 

[PATCH] drm: Use vsnprintf extension %ph

2017-05-30 Thread Joe Perches
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*
   textdata bss dec hex filename
  25848   0  16   258646508 
drivers/gpu/drm/drm_dp_mst_topology.o.new
  26091   0  16   2610765fb 
drivers/gpu/drm/drm_dp_mst_topology.o.old
   3362   2   03364 d24 drivers/gpu/drm/tinydrm/mipi-dbi.o.new
   3376   2   03378 d32 drivers/gpu/drm/tinydrm/mipi-dbi.o.old

Signed-off-by: Joe Perches 
---
 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), [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,
+[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(>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");