Re: [PATCH] drm/pl111: Add a debugfs node to dump our registers.

From: Eric Anholt
Date: Fri May 19 2017 - 14:19:32 EST


Eric Engestrom <eric.engestrom@xxxxxxxxxx> writes:

> On Wednesday, 2017-05-17 17:56:40 -0700, Eric Anholt wrote:
>> While debugging an X11 display failure, I wanted to see where we were
>> actually scanning out from. This is probably generally useful to
>> others that might be working on this device.
>>
>> Signed-off-by: Eric Anholt <eric@xxxxxxxxxx>
>> ---
>> drivers/gpu/drm/pl111/Makefile | 2 ++
>> drivers/gpu/drm/pl111/pl111_debugfs.c | 55 +++++++++++++++++++++++++++++++++++
>> drivers/gpu/drm/pl111/pl111_drm.h | 3 ++
>> drivers/gpu/drm/pl111/pl111_drv.c | 4 +++
>> 4 files changed, 64 insertions(+)
>> create mode 100644 drivers/gpu/drm/pl111/pl111_debugfs.c
>>
>> diff --git a/drivers/gpu/drm/pl111/Makefile b/drivers/gpu/drm/pl111/Makefile
>> index 01caee727c13..59483d610ef5 100644
>> --- a/drivers/gpu/drm/pl111/Makefile
>> +++ b/drivers/gpu/drm/pl111/Makefile
>> @@ -2,4 +2,6 @@ pl111_drm-y += pl111_connector.o \
>> pl111_display.o \
>> pl111_drv.o
>>
>> +pl111_drm-$(CONFIG_DEBUG_FS) += pl111_debugfs.o
>> +
>> obj-$(CONFIG_DRM_PL111) += pl111_drm.o
>> diff --git a/drivers/gpu/drm/pl111/pl111_debugfs.c b/drivers/gpu/drm/pl111/pl111_debugfs.c
>> new file mode 100644
>> index 000000000000..ee13a060cddf
>> --- /dev/null
>> +++ b/drivers/gpu/drm/pl111/pl111_debugfs.c
>> @@ -0,0 +1,55 @@
>> +/*
>> + * Copyright  2017 Broadcom
>> + *
>> + * This program is free software; you can redistribute it and/or modify
>> + * it under the terms of the GNU General Public License version 2 as
>> + * published by the Free Software Foundation.
>> + */
>> +
>> +#include <linux/amba/clcd-regs.h>
>> +#include <linux/seq_file.h>
>> +#include <drm/drm_debugfs.h>
>> +#include <drm/drmP.h>
>> +#include "pl111_drm.h"
>> +
>> +#define REGDEF(reg) { reg, #reg }
>> +static const struct {
>> + uint32_t reg;
>> + const char *name;
>> +} pl111_reg_defs[] = {
>> + REGDEF(CLCD_TIM0),
>> + REGDEF(CLCD_TIM1),
>> + REGDEF(CLCD_TIM2),
>> + REGDEF(CLCD_TIM3),
>> + REGDEF(CLCD_UBAS),
>> + REGDEF(CLCD_PL111_CNTL),
>> + REGDEF(CLCD_PL111_IENB),
>> +};
>> +
>> +int pl111_debugfs_regs(struct seq_file *m, void *unused)
>> +{
>> + struct drm_info_node *node = (struct drm_info_node *)m->private;
>> + struct drm_device *dev = node->minor->dev;
>> + struct pl111_drm_dev_private *priv = dev->dev_private;
>> + int i;
>
> nit: this will print a warning; s/int/unsigned/ ?

I don't see any. I think the warning is only for non-constant
expressions -- we do i < ARRAY_SIZE all over the place.

Attachment: signature.asc
Description: PGP signature