diff mbox

drm/radeon: reduce memory footprint for debugging

Message ID 1409834654-11237-1-git-send-email-andriy.shevchenko@linux.intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Andy Shevchenko Sept. 4, 2014, 12:44 p.m. UTC
There is no need to use hex_dump_to_buffer() since we have a kernel helper to
dump up to 64 bytes just via printk(). In our case the actual size is 15 bytes.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/gpu/drm/radeon/atombios_dp.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

Comments

Alex Deucher Sept. 8, 2014, 10:28 p.m. UTC | #1
On Thu, Sep 4, 2014 at 8:44 AM, Andy Shevchenko
<andriy.shevchenko@linux.intel.com> wrote:
> There is no need to use hex_dump_to_buffer() since we have a kernel helper to
> dump up to 64 bytes just via printk(). In our case the actual size is 15 bytes.
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

Patch generates the following warning:
  CC [M]  drivers/gpu/drm/radeon/atombios_dp.o
drivers/gpu/drm/radeon/atombios_dp.c: In function ‘radeon_dp_getdpcd’:
drivers/gpu/drm/radeon/atombios_dp.c:413:3: warning: field width
specifier ‘*’ expects argument of type ‘int’, but argument 3 has type
‘u8 *’ [-Wformat=]
   DRM_DEBUG_KMS("DPCD: %*ph\n", dig_connector->dpcd,
   ^
drivers/gpu/drm/radeon/atombios_dp.c:413:3: warning: format ‘%p’
expects argument of type ‘void *’, but argument 4 has type ‘int’
[-Wformat=]
  LD [M]  drivers/gpu/drm/radeon/radeon.o
  Building modules, stage 2.
  MODPOST 2485 modules
  LD [M]  drivers/gpu/drm/radeon/radeon.ko



> ---
>  drivers/gpu/drm/radeon/atombios_dp.c | 7 ++-----
>  1 file changed, 2 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/radeon/atombios_dp.c b/drivers/gpu/drm/radeon/atombios_dp.c
> index 95ea276..4e75c48 100644
> --- a/drivers/gpu/drm/radeon/atombios_dp.c
> +++ b/drivers/gpu/drm/radeon/atombios_dp.c
> @@ -405,16 +405,13 @@ bool radeon_dp_getdpcd(struct radeon_connector *radeon_connector)
>         u8 msg[DP_DPCD_SIZE];
>         int ret;
>
> -       char dpcd_hex_dump[DP_DPCD_SIZE * 3];
> -
>         ret = drm_dp_dpcd_read(&radeon_connector->ddc_bus->aux, DP_DPCD_REV, msg,
>                                DP_DPCD_SIZE);
>         if (ret > 0) {
>                 memcpy(dig_connector->dpcd, msg, DP_DPCD_SIZE);
>
> -               hex_dump_to_buffer(dig_connector->dpcd, sizeof(dig_connector->dpcd),
> -                                  32, 1, dpcd_hex_dump, sizeof(dpcd_hex_dump), false);
> -               DRM_DEBUG_KMS("DPCD: %s\n", dpcd_hex_dump);
> +               DRM_DEBUG_KMS("DPCD: %*ph\n", dig_connector->dpcd,
> +                             (int)sizeof(dig_connector->dpcd));
>
>                 radeon_dp_probe_oui(radeon_connector);
>
> --
> 2.1.0
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
Andy Shevchenko Sept. 9, 2014, 8:14 a.m. UTC | #2
On Mon, 2014-09-08 at 18:28 -0400, Alex Deucher wrote:
> On Thu, Sep 4, 2014 at 8:44 AM, Andy Shevchenko
> <andriy.shevchenko@linux.intel.com> wrote:
> > There is no need to use hex_dump_to_buffer() since we have a kernel helper to
> > dump up to 64 bytes just via printk(). In our case the actual size is 15 bytes.
> >
> > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> 
> Patch generates the following warning:
>   CC [M]  drivers/gpu/drm/radeon/atombios_dp.o
> drivers/gpu/drm/radeon/atombios_dp.c: In function ‘radeon_dp_getdpcd’:
> drivers/gpu/drm/radeon/atombios_dp.c:413:3: warning: field width
> specifier ‘*’ expects argument of type ‘int’, but argument 3 has type
> ‘u8 *’ [-Wformat=]
>    DRM_DEBUG_KMS("DPCD: %*ph\n", dig_connector->dpcd,
>    ^
> drivers/gpu/drm/radeon/atombios_dp.c:413:3: warning: format ‘%p’
> expects argument of type ‘void *’, but argument 4 has type ‘int’
> [-Wformat=]
>   LD [M]  drivers/gpu/drm/radeon/radeon.o
>   Building modules, stage 2.
>   MODPOST 2485 modules
>   LD [M]  drivers/gpu/drm/radeon/radeon.ko

There is a patch v2.

http://www.spinics.net/lists/dri-devel/msg67407.html

> 
> 
> 
> > ---
> >  drivers/gpu/drm/radeon/atombios_dp.c | 7 ++-----
> >  1 file changed, 2 insertions(+), 5 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/radeon/atombios_dp.c b/drivers/gpu/drm/radeon/atombios_dp.c
> > index 95ea276..4e75c48 100644
> > --- a/drivers/gpu/drm/radeon/atombios_dp.c
> > +++ b/drivers/gpu/drm/radeon/atombios_dp.c
> > @@ -405,16 +405,13 @@ bool radeon_dp_getdpcd(struct radeon_connector *radeon_connector)
> >         u8 msg[DP_DPCD_SIZE];
> >         int ret;
> >
> > -       char dpcd_hex_dump[DP_DPCD_SIZE * 3];
> > -
> >         ret = drm_dp_dpcd_read(&radeon_connector->ddc_bus->aux, DP_DPCD_REV, msg,
> >                                DP_DPCD_SIZE);
> >         if (ret > 0) {
> >                 memcpy(dig_connector->dpcd, msg, DP_DPCD_SIZE);
> >
> > -               hex_dump_to_buffer(dig_connector->dpcd, sizeof(dig_connector->dpcd),
> > -                                  32, 1, dpcd_hex_dump, sizeof(dpcd_hex_dump), false);
> > -               DRM_DEBUG_KMS("DPCD: %s\n", dpcd_hex_dump);
> > +               DRM_DEBUG_KMS("DPCD: %*ph\n", dig_connector->dpcd,
> > +                             (int)sizeof(dig_connector->dpcd));
> >
> >                 radeon_dp_probe_oui(radeon_connector);
> >
> > --
> > 2.1.0
> >
> > _______________________________________________
> > dri-devel mailing list
> > dri-devel@lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/dri-devel
Alex Deucher Sept. 9, 2014, 2:57 p.m. UTC | #3
On Tue, Sep 9, 2014 at 4:14 AM, Andy Shevchenko
<andriy.shevchenko@linux.intel.com> wrote:
> On Mon, 2014-09-08 at 18:28 -0400, Alex Deucher wrote:
>> On Thu, Sep 4, 2014 at 8:44 AM, Andy Shevchenko
>> <andriy.shevchenko@linux.intel.com> wrote:
>> > There is no need to use hex_dump_to_buffer() since we have a kernel helper to
>> > dump up to 64 bytes just via printk(). In our case the actual size is 15 bytes.
>> >
>> > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
>>
>> Patch generates the following warning:
>>   CC [M]  drivers/gpu/drm/radeon/atombios_dp.o
>> drivers/gpu/drm/radeon/atombios_dp.c: In function ‘radeon_dp_getdpcd’:
>> drivers/gpu/drm/radeon/atombios_dp.c:413:3: warning: field width
>> specifier ‘*’ expects argument of type ‘int’, but argument 3 has type
>> ‘u8 *’ [-Wformat=]
>>    DRM_DEBUG_KMS("DPCD: %*ph\n", dig_connector->dpcd,
>>    ^
>> drivers/gpu/drm/radeon/atombios_dp.c:413:3: warning: format ‘%p’
>> expects argument of type ‘void *’, but argument 4 has type ‘int’
>> [-Wformat=]
>>   LD [M]  drivers/gpu/drm/radeon/radeon.o
>>   Building modules, stage 2.
>>   MODPOST 2485 modules
>>   LD [M]  drivers/gpu/drm/radeon/radeon.ko
>
> There is a patch v2.
>
> http://www.spinics.net/lists/dri-devel/msg67407.html

Thanks.  Applied.

Alex

>
>>
>>
>>
>> > ---
>> >  drivers/gpu/drm/radeon/atombios_dp.c | 7 ++-----
>> >  1 file changed, 2 insertions(+), 5 deletions(-)
>> >
>> > diff --git a/drivers/gpu/drm/radeon/atombios_dp.c b/drivers/gpu/drm/radeon/atombios_dp.c
>> > index 95ea276..4e75c48 100644
>> > --- a/drivers/gpu/drm/radeon/atombios_dp.c
>> > +++ b/drivers/gpu/drm/radeon/atombios_dp.c
>> > @@ -405,16 +405,13 @@ bool radeon_dp_getdpcd(struct radeon_connector *radeon_connector)
>> >         u8 msg[DP_DPCD_SIZE];
>> >         int ret;
>> >
>> > -       char dpcd_hex_dump[DP_DPCD_SIZE * 3];
>> > -
>> >         ret = drm_dp_dpcd_read(&radeon_connector->ddc_bus->aux, DP_DPCD_REV, msg,
>> >                                DP_DPCD_SIZE);
>> >         if (ret > 0) {
>> >                 memcpy(dig_connector->dpcd, msg, DP_DPCD_SIZE);
>> >
>> > -               hex_dump_to_buffer(dig_connector->dpcd, sizeof(dig_connector->dpcd),
>> > -                                  32, 1, dpcd_hex_dump, sizeof(dpcd_hex_dump), false);
>> > -               DRM_DEBUG_KMS("DPCD: %s\n", dpcd_hex_dump);
>> > +               DRM_DEBUG_KMS("DPCD: %*ph\n", dig_connector->dpcd,
>> > +                             (int)sizeof(dig_connector->dpcd));
>> >
>> >                 radeon_dp_probe_oui(radeon_connector);
>> >
>> > --
>> > 2.1.0
>> >
>> > _______________________________________________
>> > dri-devel mailing list
>> > dri-devel@lists.freedesktop.org
>> > http://lists.freedesktop.org/mailman/listinfo/dri-devel
>
>
> --
> Andy Shevchenko <andriy.shevchenko@intel.com>
> Intel Finland Oy
>
diff mbox

Patch

diff --git a/drivers/gpu/drm/radeon/atombios_dp.c b/drivers/gpu/drm/radeon/atombios_dp.c
index 95ea276..4e75c48 100644
--- a/drivers/gpu/drm/radeon/atombios_dp.c
+++ b/drivers/gpu/drm/radeon/atombios_dp.c
@@ -405,16 +405,13 @@  bool radeon_dp_getdpcd(struct radeon_connector *radeon_connector)
 	u8 msg[DP_DPCD_SIZE];
 	int ret;
 
-	char dpcd_hex_dump[DP_DPCD_SIZE * 3];
-
 	ret = drm_dp_dpcd_read(&radeon_connector->ddc_bus->aux, DP_DPCD_REV, msg,
 			       DP_DPCD_SIZE);
 	if (ret > 0) {
 		memcpy(dig_connector->dpcd, msg, DP_DPCD_SIZE);
 
-		hex_dump_to_buffer(dig_connector->dpcd, sizeof(dig_connector->dpcd),
-				   32, 1, dpcd_hex_dump, sizeof(dpcd_hex_dump), false);
-		DRM_DEBUG_KMS("DPCD: %s\n", dpcd_hex_dump);
+		DRM_DEBUG_KMS("DPCD: %*ph\n", dig_connector->dpcd,
+			      (int)sizeof(dig_connector->dpcd));
 
 		radeon_dp_probe_oui(radeon_connector);