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

Eric Anholt eric at anholt.net
Fri May 19 18:17:11 UTC 2017


Eric Engestrom <eric.engestrom at imgtec.com> 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 at anholt.net>
>> ---
>>  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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 832 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20170519/5e9f44ce/attachment.sig>


More information about the dri-devel mailing list