2019-01-15 18:12:41

by Rasmus Villemoes

[permalink] [raw]
Subject: [PATCH] drm/msm: fix building with DEBUG_FS=n

With CONFIG_DEV_COREDUMP=y and CONFIG_DEBUG_FS=n, building fails:

drivers/gpu/drm/msm/adreno/a2xx_gpu.c:428:4: error: ‘struct msm_gpu_funcs’ has no member named ‘show’
.show = adreno_show,
^~~~
drivers/gpu/drm/msm/adreno/a2xx_gpu.c:428:11: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
.show = adreno_show,
^~~~~~~~~~~
drivers/gpu/drm/msm/adreno/a2xx_gpu.c:428:11: note: (near initialization for ‘funcs.base.gpu_busy’)
cc1: some warnings being treated as errors

Fixes: c0fec7f562ec7 (drm/msm/gpu: Capture the GPU state on a GPU hang)
Cc: [email protected] # v4.19+
Signed-off-by: Rasmus Villemoes <[email protected]>
---
drivers/gpu/drm/msm/msm_gpu.h | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/msm/msm_gpu.h b/drivers/gpu/drm/msm/msm_gpu.h
index efb49bb64191..4cb41db7f9e8 100644
--- a/drivers/gpu/drm/msm/msm_gpu.h
+++ b/drivers/gpu/drm/msm/msm_gpu.h
@@ -63,10 +63,12 @@ struct msm_gpu_funcs {
struct msm_ringbuffer *(*active_ring)(struct msm_gpu *gpu);
void (*recover)(struct msm_gpu *gpu);
void (*destroy)(struct msm_gpu *gpu);
-#ifdef CONFIG_DEBUG_FS
- /* show GPU status in debugfs: */
+#if defined(CONFIG_DEBUG_FS) || defined(CONFIG_DEV_COREDUMP)
+ /* show GPU status in debugfs or device coredump: */
void (*show)(struct msm_gpu *gpu, struct msm_gpu_state *state,
struct drm_printer *p);
+#endif
+#ifdef CONFIG_DEBUG_FS
/* for generation specific debugfs: */
int (*debugfs_init)(struct msm_gpu *gpu, struct drm_minor *minor);
#endif
--
2.20.1


2019-01-29 08:29:13

by Rasmus Villemoes

[permalink] [raw]
Subject: Re: [PATCH] drm/msm: fix building with DEBUG_FS=n

ping

On 15/01/2019 16.46, Rasmus Villemoes wrote:
> With CONFIG_DEV_COREDUMP=y and CONFIG_DEBUG_FS=n, building fails:
>
> drivers/gpu/drm/msm/adreno/a2xx_gpu.c:428:4: error: ‘struct msm_gpu_funcs’ has no member named ‘show’
> .show = adreno_show,
> ^~~~
> drivers/gpu/drm/msm/adreno/a2xx_gpu.c:428:11: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
> .show = adreno_show,
> ^~~~~~~~~~~
> drivers/gpu/drm/msm/adreno/a2xx_gpu.c:428:11: note: (near initialization for ‘funcs.base.gpu_busy’)
> cc1: some warnings being treated as errors
>
> Fixes: c0fec7f562ec7 (drm/msm/gpu: Capture the GPU state on a GPU hang)
> Cc: [email protected] # v4.19+
> Signed-off-by: Rasmus Villemoes <[email protected]>
> ---
> drivers/gpu/drm/msm/msm_gpu.h | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/msm/msm_gpu.h b/drivers/gpu/drm/msm/msm_gpu.h
> index efb49bb64191..4cb41db7f9e8 100644
> --- a/drivers/gpu/drm/msm/msm_gpu.h
> +++ b/drivers/gpu/drm/msm/msm_gpu.h
> @@ -63,10 +63,12 @@ struct msm_gpu_funcs {
> struct msm_ringbuffer *(*active_ring)(struct msm_gpu *gpu);
> void (*recover)(struct msm_gpu *gpu);
> void (*destroy)(struct msm_gpu *gpu);
> -#ifdef CONFIG_DEBUG_FS
> - /* show GPU status in debugfs: */
> +#if defined(CONFIG_DEBUG_FS) || defined(CONFIG_DEV_COREDUMP)
> + /* show GPU status in debugfs or device coredump: */
> void (*show)(struct msm_gpu *gpu, struct msm_gpu_state *state,
> struct drm_printer *p);
> +#endif
> +#ifdef CONFIG_DEBUG_FS
> /* for generation specific debugfs: */
> int (*debugfs_init)(struct msm_gpu *gpu, struct drm_minor *minor);
> #endif
>

2019-01-29 15:07:46

by Rob Clark

[permalink] [raw]
Subject: Re: [PATCH] drm/msm: fix building with DEBUG_FS=n

This should be fixed by c878a628e0c483ec36fa70f4590e4a58e34a6e49

BR,
-R

On Tue, Jan 29, 2019 at 3:29 AM Rasmus Villemoes
<[email protected]> wrote:
>
> ping
>
> On 15/01/2019 16.46, Rasmus Villemoes wrote:
> > With CONFIG_DEV_COREDUMP=y and CONFIG_DEBUG_FS=n, building fails:
> >
> > drivers/gpu/drm/msm/adreno/a2xx_gpu.c:428:4: error: ‘struct msm_gpu_funcs’ has no member named ‘show’
> > .show = adreno_show,
> > ^~~~
> > drivers/gpu/drm/msm/adreno/a2xx_gpu.c:428:11: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
> > .show = adreno_show,
> > ^~~~~~~~~~~
> > drivers/gpu/drm/msm/adreno/a2xx_gpu.c:428:11: note: (near initialization for ‘funcs.base.gpu_busy’)
> > cc1: some warnings being treated as errors
> >
> > Fixes: c0fec7f562ec7 (drm/msm/gpu: Capture the GPU state on a GPU hang)
> > Cc: [email protected] # v4.19+
> > Signed-off-by: Rasmus Villemoes <[email protected]>
> > ---
> > drivers/gpu/drm/msm/msm_gpu.h | 6 ++++--
> > 1 file changed, 4 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/msm/msm_gpu.h b/drivers/gpu/drm/msm/msm_gpu.h
> > index efb49bb64191..4cb41db7f9e8 100644
> > --- a/drivers/gpu/drm/msm/msm_gpu.h
> > +++ b/drivers/gpu/drm/msm/msm_gpu.h
> > @@ -63,10 +63,12 @@ struct msm_gpu_funcs {
> > struct msm_ringbuffer *(*active_ring)(struct msm_gpu *gpu);
> > void (*recover)(struct msm_gpu *gpu);
> > void (*destroy)(struct msm_gpu *gpu);
> > -#ifdef CONFIG_DEBUG_FS
> > - /* show GPU status in debugfs: */
> > +#if defined(CONFIG_DEBUG_FS) || defined(CONFIG_DEV_COREDUMP)
> > + /* show GPU status in debugfs or device coredump: */
> > void (*show)(struct msm_gpu *gpu, struct msm_gpu_state *state,
> > struct drm_printer *p);
> > +#endif
> > +#ifdef CONFIG_DEBUG_FS
> > /* for generation specific debugfs: */
> > int (*debugfs_init)(struct msm_gpu *gpu, struct drm_minor *minor);
> > #endif
> >
>