Re: [PATCH] drm/arcpgu: Opt in debugfs
From: Liviu Dudau
Date: Fri Mar 03 2017 - 11:25:07 EST
On Fri, Mar 03, 2017 at 03:30:35PM +0300, Alexey Brodkin wrote:
> This change adopts debugfs usage for outputting useful data.
> As of today we print:
> * Mode and real HW clock values
> * Standard FB info
>
> Code is heavily borrowed from ARM's HDLCD thus adding Liviu in Cc.
FWIW: Reviewed-by: Liviu Dudau <Liviu.Dudau@xxxxxxx>
Best regards,
Liviu
>
> Signed-off-by: Alexey Brodkin <abrodkin@xxxxxxxxxxxx>
> Cc: Liviu Dudau <Liviu.Dudau@xxxxxxx>
> Cc: Daniel Vetter <daniel@xxxxxxxx>
> Cc: David Airlie <airlied@xxxxxxxx>
> Cc: Jose Abreu <joabreu@xxxxxxxxxxxx>
> ---
> drivers/gpu/drm/arc/arcpgu_drv.c | 29 +++++++++++++++++++++++++++++
> 1 file changed, 29 insertions(+)
>
> diff --git a/drivers/gpu/drm/arc/arcpgu_drv.c b/drivers/gpu/drm/arc/arcpgu_drv.c
> index 8d8344ed655e..5c82f52fba80 100644
> --- a/drivers/gpu/drm/arc/arcpgu_drv.c
> +++ b/drivers/gpu/drm/arc/arcpgu_drv.c
> @@ -161,6 +161,32 @@ static int arcpgu_unload(struct drm_device *drm)
> return 0;
> }
>
> +#ifdef CONFIG_DEBUG_FS
> +static int arcpgu_show_pxlclock(struct seq_file *m, void *arg)
> +{
> + struct drm_info_node *node = (struct drm_info_node *)m->private;
> + struct drm_device *drm = node->minor->dev;
> + struct arcpgu_drm_private *arcpgu = drm->dev_private;
> + unsigned long clkrate = clk_get_rate(arcpgu->clk);
> + unsigned long mode_clock = arcpgu->crtc.mode.crtc_clock * 1000;
> +
> + seq_printf(m, "hw : %lu\n", clkrate);
> + seq_printf(m, "mode: %lu\n", mode_clock);
> + return 0;
> +}
> +
> +static struct drm_info_list arcpgu_debugfs_list[] = {
> + { "clocks", arcpgu_show_pxlclock, 0 },
> + { "fb", drm_fb_cma_debugfs_show, 0 },
> +};
> +
> +static int arcpgu_debugfs_init(struct drm_minor *minor)
> +{
> + return drm_debugfs_create_files(arcpgu_debugfs_list,
> + ARRAY_SIZE(arcpgu_debugfs_list), minor->debugfs_root, minor);
> +}
> +#endif
> +
> static struct drm_driver arcpgu_drm_driver = {
> .driver_features = DRIVER_MODESET | DRIVER_GEM | DRIVER_PRIME |
> DRIVER_ATOMIC,
> @@ -187,6 +213,9 @@ static struct drm_driver arcpgu_drm_driver = {
> .gem_prime_vmap = drm_gem_cma_prime_vmap,
> .gem_prime_vunmap = drm_gem_cma_prime_vunmap,
> .gem_prime_mmap = drm_gem_cma_prime_mmap,
> +#ifdef CONFIG_DEBUG_FS
> + .debugfs_init = arcpgu_debugfs_init,
> +#endif
> };
>
> static int arcpgu_probe(struct platform_device *pdev)
> --
> 2.7.4
>
--
====================
| I would like to |
| fix the world, |
| but they're not |
| giving me the |
\ source code! /
---------------
Â\_(ã)_/Â