[PATCH] drm/etnaviv: remove register logging

Christian Gmeiner christian.gmeiner at gmail.com
Sat Apr 21 07:35:03 UTC 2018


2018-04-20 19:14 GMT+02:00 Lucas Stach <l.stach at pengutronix.de>:
> I'm not aware of any case where tracing GPU register manipulation at the
> kernel level would have been useful. It only adds more indirections and
> adds to the code size.

It was a nice to have during initial driver development and I am okay
to remove it.

> Signed-off-by: Lucas Stach <l.stach at pengutronix.de>

Reviewed-by: Christian Gmeiner <christian.gmeiner at gmail.com>

> ---
>  drivers/gpu/drm/etnaviv/Kconfig       |  8 ------
>  drivers/gpu/drm/etnaviv/etnaviv_drv.c | 51 -----------------------------------
>  drivers/gpu/drm/etnaviv/etnaviv_drv.h |  5 ----
>  drivers/gpu/drm/etnaviv/etnaviv_gpu.c |  4 ++-
>  drivers/gpu/drm/etnaviv/etnaviv_gpu.h |  4 +--
>  5 files changed, 5 insertions(+), 67 deletions(-)
>
> diff --git a/drivers/gpu/drm/etnaviv/Kconfig b/drivers/gpu/drm/etnaviv/Kconfig
> index e5bfeca361bd..041a77e400d4 100644
> --- a/drivers/gpu/drm/etnaviv/Kconfig
> +++ b/drivers/gpu/drm/etnaviv/Kconfig
> @@ -22,11 +22,3 @@ config DRM_ETNAVIV_THERMAL
>         help
>           Compile in support for thermal throttling.
>           Say Y unless you want to risk burning your SoC.
> -
> -config DRM_ETNAVIV_REGISTER_LOGGING
> -       bool "enable ETNAVIV register logging"
> -       depends on DRM_ETNAVIV
> -       help
> -         Compile in support for logging register reads/writes in a format
> -         that can be parsed by envytools demsm tool.  If enabled, register
> -         logging can be switched on via etnaviv.reglog=y module param.
> diff --git a/drivers/gpu/drm/etnaviv/etnaviv_drv.c b/drivers/gpu/drm/etnaviv/etnaviv_drv.c
> index ab50090d066c..0aa543d75953 100644
> --- a/drivers/gpu/drm/etnaviv/etnaviv_drv.c
> +++ b/drivers/gpu/drm/etnaviv/etnaviv_drv.c
> @@ -25,57 +25,6 @@
>  #include "etnaviv_mmu.h"
>  #include "etnaviv_perfmon.h"
>
> -#ifdef CONFIG_DRM_ETNAVIV_REGISTER_LOGGING
> -static bool reglog;
> -MODULE_PARM_DESC(reglog, "Enable register read/write logging");
> -module_param(reglog, bool, 0600);
> -#else
> -#define reglog 0
> -#endif
> -
> -void __iomem *etnaviv_ioremap(struct platform_device *pdev, const char *name,
> -               const char *dbgname)
> -{
> -       struct resource *res;
> -       void __iomem *ptr;
> -
> -       if (name)
> -               res = platform_get_resource_byname(pdev, IORESOURCE_MEM, name);
> -       else
> -               res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> -
> -       ptr = devm_ioremap_resource(&pdev->dev, res);
> -       if (IS_ERR(ptr)) {
> -               dev_err(&pdev->dev, "failed to ioremap %s: %ld\n", name,
> -                       PTR_ERR(ptr));
> -               return ptr;
> -       }
> -
> -       if (reglog)
> -               dev_printk(KERN_DEBUG, &pdev->dev, "IO:region %s 0x%p %08zx\n",
> -                          dbgname, ptr, (size_t)resource_size(res));
> -
> -       return ptr;
> -}
> -
> -void etnaviv_writel(u32 data, void __iomem *addr)
> -{
> -       if (reglog)
> -               printk(KERN_DEBUG "IO:W %p %08x\n", addr, data);
> -
> -       writel(data, addr);
> -}
> -
> -u32 etnaviv_readl(const void __iomem *addr)
> -{
> -       u32 val = readl(addr);
> -
> -       if (reglog)
> -               printk(KERN_DEBUG "IO:R %p %08x\n", addr, val);
> -
> -       return val;
> -}
> -
>  /*
>   * DRM operations:
>   */
> diff --git a/drivers/gpu/drm/etnaviv/etnaviv_drv.h b/drivers/gpu/drm/etnaviv/etnaviv_drv.h
> index ddb17ee565e9..56be51c13c49 100644
> --- a/drivers/gpu/drm/etnaviv/etnaviv_drv.h
> +++ b/drivers/gpu/drm/etnaviv/etnaviv_drv.h
> @@ -101,11 +101,6 @@ void etnaviv_gem_describe_objects(struct etnaviv_drm_private *priv,
>         struct seq_file *m);
>  #endif
>
> -void __iomem *etnaviv_ioremap(struct platform_device *pdev, const char *name,
> -               const char *dbgname);
> -void etnaviv_writel(u32 data, void __iomem *addr);
> -u32 etnaviv_readl(const void __iomem *addr);
> -
>  #define DBG(fmt, ...) DRM_DEBUG(fmt"\n", ##__VA_ARGS__)
>  #define VERB(fmt, ...) if (0) DRM_DEBUG(fmt"\n", ##__VA_ARGS__)
>
> diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
> index 8a88799bf79b..08c587547f19 100644
> --- a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
> +++ b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
> @@ -1735,6 +1735,7 @@ static int etnaviv_gpu_platform_probe(struct platform_device *pdev)
>  {
>         struct device *dev = &pdev->dev;
>         struct etnaviv_gpu *gpu;
> +       struct resource *res;
>         int err;
>
>         gpu = devm_kzalloc(dev, sizeof(*gpu), GFP_KERNEL);
> @@ -1746,7 +1747,8 @@ static int etnaviv_gpu_platform_probe(struct platform_device *pdev)
>         mutex_init(&gpu->fence_idr_lock);
>
>         /* Map registers: */
> -       gpu->mmio = etnaviv_ioremap(pdev, NULL, dev_name(gpu->dev));
> +       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> +       gpu->mmio = devm_ioremap_resource(&pdev->dev, res);
>         if (IS_ERR(gpu->mmio))
>                 return PTR_ERR(gpu->mmio);
>
> diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gpu.h b/drivers/gpu/drm/etnaviv/etnaviv_gpu.h
> index 3c3005501846..6052093d00b2 100644
> --- a/drivers/gpu/drm/etnaviv/etnaviv_gpu.h
> +++ b/drivers/gpu/drm/etnaviv/etnaviv_gpu.h
> @@ -161,12 +161,12 @@ struct etnaviv_gpu {
>
>  static inline void gpu_write(struct etnaviv_gpu *gpu, u32 reg, u32 data)
>  {
> -       etnaviv_writel(data, gpu->mmio + reg);
> +       writel(data, gpu->mmio + reg);
>  }
>
>  static inline u32 gpu_read(struct etnaviv_gpu *gpu, u32 reg)
>  {
> -       return etnaviv_readl(gpu->mmio + reg);
> +       return readl(gpu->mmio + reg);
>  }
>
>  static inline bool fence_completed(struct etnaviv_gpu *gpu, u32 fence)
> --
> 2.16.3
>



-- 
greets
--
Christian Gmeiner, MSc

https://christian-gmeiner.info


More information about the dri-devel mailing list