linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] drm/msm/gpu: fix msm_gpu_crashstate_capture stub prototype
@ 2018-08-13 21:23 Arnd Bergmann
  2018-08-13 21:23 ` [PATCH 2/2] drm/msm/gpu: fix building without debugfs Arnd Bergmann
  0 siblings, 1 reply; 4+ messages in thread
From: Arnd Bergmann @ 2018-08-13 21:23 UTC (permalink / raw)
  To: Rob Clark, David Airlie
  Cc: Arnd Bergmann, Jordan Crouse, linux-arm-msm, dri-devel,
	freedreno, linux-kernel

The function prototype recently changed, but the patch missed the
second prototype that is used when CONFIG_DEV_COREDUMP is disabled:

drivers/gpu/drm/msm/msm_gpu.c: In function 'recover_worker':
drivers/gpu/drm/msm/msm_gpu.c:461:34: error: passing argument 2 of 'msm_gpu_crashstate_capture' from incompatible pointer type [-Werror=incompatible-pointer-types]
  msm_gpu_crashstate_capture(gpu, submit, comm, cmd);
                                  ^~~~~~
drivers/gpu/drm/msm/msm_gpu.c:370:67: note: expected 'char *' but argument is of type 'struct msm_gem_submit *'
 static void msm_gpu_crashstate_capture(struct msm_gpu *gpu, char *comm,
                                                             ~~~~~~^~~~
drivers/gpu/drm/msm/msm_gpu.c:461:2: error: too many arguments to function 'msm_gpu_crashstate_capture'
  msm_gpu_crashstate_capture(gpu, submit, comm, cmd);
  ^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/msm/msm_gpu.c:370:13: note: declared here
 static void msm_gpu_crashstate_capture(struct msm_gpu *gpu, char *comm,

Change the stub to match the normal function.

Fixes: cdb95931dea3 ("drm/msm/gpu: Add the buffer objects from the submit to the crash dump")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/gpu/drm/msm/msm_gpu.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/msm/msm_gpu.c b/drivers/gpu/drm/msm/msm_gpu.c
index 5e808cfec345..46e6b82f7b66 100644
--- a/drivers/gpu/drm/msm/msm_gpu.c
+++ b/drivers/gpu/drm/msm/msm_gpu.c
@@ -367,8 +367,8 @@ static void msm_gpu_crashstate_capture(struct msm_gpu *gpu,
 		msm_gpu_devcoredump_read, msm_gpu_devcoredump_free);
 }
 #else
-static void msm_gpu_crashstate_capture(struct msm_gpu *gpu, char *comm,
-		char *cmd)
+static void msm_gpu_crashstate_capture(struct msm_gpu *gpu,
+		struct msm_gem_submit *submit, char *comm, char *cmd)
 {
 }
 #endif
-- 
2.18.0


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH 2/2] drm/msm/gpu: fix building without debugfs
  2018-08-13 21:23 [PATCH 1/2] drm/msm/gpu: fix msm_gpu_crashstate_capture stub prototype Arnd Bergmann
@ 2018-08-13 21:23 ` Arnd Bergmann
  2019-01-08 14:16   ` Ioana Ciornei
  0 siblings, 1 reply; 4+ messages in thread
From: Arnd Bergmann @ 2018-08-13 21:23 UTC (permalink / raw)
  To: Rob Clark, David Airlie
  Cc: Arnd Bergmann, Jordan Crouse, linux-arm-msm, dri-devel,
	freedreno, linux-kernel

When debugfs is disabled, but coredump is turned on, the adreno driver fails to build:

drivers/gpu/drm/msm/adreno/a3xx_gpu.c:460:4: error: 'struct msm_gpu_funcs' has no member named 'show'
   .show = adreno_show,
    ^~~~
drivers/gpu/drm/msm/adreno/a3xx_gpu.c:460:11: note: (near initialization for 'funcs.base')
drivers/gpu/drm/msm/adreno/a3xx_gpu.c:460:11: error: initialization of 'void (*)(struct msm_gpu *, struct msm_gem_submit *, struct msm_file_private *)' from incompatible pointer type 'void (*)(struct msm_gpu *, struct msm_gpu_state *, struct drm_printer *)' [-Werror=incompatible-pointer-types]
drivers/gpu/drm/msm/adreno/a3xx_gpu.c:460:11: note: (near initialization for 'funcs.base.submit')
drivers/gpu/drm/msm/adreno/a4xx_gpu.c:546:4: error: 'struct msm_gpu_funcs' has no member named 'show'
drivers/gpu/drm/msm/adreno/a5xx_gpu.c:1460:4: error: 'struct msm_gpu_funcs' has no member named 'show'
drivers/gpu/drm/msm/adreno/a6xx_gpu.c:769:4: error: 'struct msm_gpu_funcs' has no member named 'show'
drivers/gpu/drm/msm/msm_gpu.c: In function 'msm_gpu_devcoredump_read':
drivers/gpu/drm/msm/msm_gpu.c:289:12: error: 'const struct msm_gpu_funcs' has no member named 'show'

Adjust the #ifdef to make it build again.

Fixes: c0fec7f562ec ("drm/msm/gpu: Capture the GPU state on a GPU hang")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
Not sure if this does the right thing, but it does fix the build regression
---
 drivers/gpu/drm/msm/msm_gpu.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/msm/msm_gpu.h b/drivers/gpu/drm/msm/msm_gpu.h
index 9122ee6e55e4..1fe93920fb25 100644
--- a/drivers/gpu/drm/msm/msm_gpu.h
+++ b/drivers/gpu/drm/msm/msm_gpu.h
@@ -63,7 +63,7 @@ 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
+#if defined(CONFIG_DEBUG_FS) || defined(CONFIG_DEV_COREDUMP)
 	/* show GPU status in debugfs: */
 	void (*show)(struct msm_gpu *gpu, struct msm_gpu_state *state,
 			struct drm_printer *p);
-- 
2.18.0


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* RE: [PATCH 2/2] drm/msm/gpu: fix building without debugfs
  2018-08-13 21:23 ` [PATCH 2/2] drm/msm/gpu: fix building without debugfs Arnd Bergmann
@ 2019-01-08 14:16   ` Ioana Ciornei
  2019-01-08 17:42     ` Rob Clark
  0 siblings, 1 reply; 4+ messages in thread
From: Ioana Ciornei @ 2019-01-08 14:16 UTC (permalink / raw)
  To: Arnd Bergmann, Rob Clark, David Airlie
  Cc: Jordan Crouse, linux-arm-msm, dri-devel, freedreno, linux-kernel


> Subject: [PATCH 2/2] drm/msm/gpu: fix building without debugfs
> 
> When debugfs is disabled, but coredump is turned on, the adreno driver fails to
> build:
> 
> drivers/gpu/drm/msm/adreno/a3xx_gpu.c:460:4: error: 'struct msm_gpu_funcs'
> has no member named 'show'
>    .show = adreno_show,
>     ^~~~
> drivers/gpu/drm/msm/adreno/a3xx_gpu.c:460:11: note: (near initialization for
> 'funcs.base')
> drivers/gpu/drm/msm/adreno/a3xx_gpu.c:460:11: error: initialization of 'void
> (*)(struct msm_gpu *, struct msm_gem_submit *, struct msm_file_private *)'
> from incompatible pointer type 'void (*)(struct msm_gpu *, struct
> msm_gpu_state *, struct drm_printer *)' [-Werror=incompatible-pointer-types]
> drivers/gpu/drm/msm/adreno/a3xx_gpu.c:460:11: note: (near initialization for
> 'funcs.base.submit')
> drivers/gpu/drm/msm/adreno/a4xx_gpu.c:546:4: error: 'struct msm_gpu_funcs'
> has no member named 'show'
> drivers/gpu/drm/msm/adreno/a5xx_gpu.c:1460:4: error: 'struct
> msm_gpu_funcs' has no member named 'show'
> drivers/gpu/drm/msm/adreno/a6xx_gpu.c:769:4: error: 'struct msm_gpu_funcs'
> has no member named 'show'
> drivers/gpu/drm/msm/msm_gpu.c: In function 'msm_gpu_devcoredump_read':
> drivers/gpu/drm/msm/msm_gpu.c:289:12: error: 'const struct msm_gpu_funcs'
> has no member named 'show'
> 
> Adjust the #ifdef to make it build again.

Was this patch picked up by someone? I am asking this since the compile error can be still seen in 5.0-rc1.

Ioana

> 
> Fixes: c0fec7f562ec ("drm/msm/gpu: Capture the GPU state on a GPU hang")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
> Not sure if this does the right thing, but it does fix the build regression
> ---
>  drivers/gpu/drm/msm/msm_gpu.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/msm/msm_gpu.h
> b/drivers/gpu/drm/msm/msm_gpu.h
> index 9122ee6e55e4..1fe93920fb25 100644
> --- a/drivers/gpu/drm/msm/msm_gpu.h
> +++ b/drivers/gpu/drm/msm/msm_gpu.h
> @@ -63,7 +63,7 @@ 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
> +#if defined(CONFIG_DEBUG_FS) || defined(CONFIG_DEV_COREDUMP)
>  	/* show GPU status in debugfs: */
>  	void (*show)(struct msm_gpu *gpu, struct msm_gpu_state *state,
>  			struct drm_printer *p);
> --
> 2.18.0


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH 2/2] drm/msm/gpu: fix building without debugfs
  2019-01-08 14:16   ` Ioana Ciornei
@ 2019-01-08 17:42     ` Rob Clark
  0 siblings, 0 replies; 4+ messages in thread
From: Rob Clark @ 2019-01-08 17:42 UTC (permalink / raw)
  To: Ioana Ciornei
  Cc: Arnd Bergmann, David Airlie, Jordan Crouse, linux-arm-msm,
	dri-devel, freedreno, linux-kernel

On Tue, Jan 8, 2019 at 9:16 AM Ioana Ciornei <ioana.ciornei@nxp.com> wrote:
>
>
> > Subject: [PATCH 2/2] drm/msm/gpu: fix building without debugfs
> >
> > When debugfs is disabled, but coredump is turned on, the adreno driver fails to
> > build:
> >
> > drivers/gpu/drm/msm/adreno/a3xx_gpu.c:460:4: error: 'struct msm_gpu_funcs'
> > has no member named 'show'
> >    .show = adreno_show,
> >     ^~~~
> > drivers/gpu/drm/msm/adreno/a3xx_gpu.c:460:11: note: (near initialization for
> > 'funcs.base')
> > drivers/gpu/drm/msm/adreno/a3xx_gpu.c:460:11: error: initialization of 'void
> > (*)(struct msm_gpu *, struct msm_gem_submit *, struct msm_file_private *)'
> > from incompatible pointer type 'void (*)(struct msm_gpu *, struct
> > msm_gpu_state *, struct drm_printer *)' [-Werror=incompatible-pointer-types]
> > drivers/gpu/drm/msm/adreno/a3xx_gpu.c:460:11: note: (near initialization for
> > 'funcs.base.submit')
> > drivers/gpu/drm/msm/adreno/a4xx_gpu.c:546:4: error: 'struct msm_gpu_funcs'
> > has no member named 'show'
> > drivers/gpu/drm/msm/adreno/a5xx_gpu.c:1460:4: error: 'struct
> > msm_gpu_funcs' has no member named 'show'
> > drivers/gpu/drm/msm/adreno/a6xx_gpu.c:769:4: error: 'struct msm_gpu_funcs'
> > has no member named 'show'
> > drivers/gpu/drm/msm/msm_gpu.c: In function 'msm_gpu_devcoredump_read':
> > drivers/gpu/drm/msm/msm_gpu.c:289:12: error: 'const struct msm_gpu_funcs'
> > has no member named 'show'
> >
> > Adjust the #ifdef to make it build again.
>
> Was this patch picked up by someone? I am asking this since the compile error can be still seen in 5.0-rc1.

Hmm, looks like I overlooked this thinking it was a resend of an
earlier patch from Arnd with (nearly) the same subject line.

Maybe we can pick this up via drm-misc?  I've pushed to msm-next
should fix should show up in linux-next in the near future.

BR,
-R


>
> Ioana
>
> >
> > Fixes: c0fec7f562ec ("drm/msm/gpu: Capture the GPU state on a GPU hang")
> > Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> > ---
> > Not sure if this does the right thing, but it does fix the build regression
> > ---
> >  drivers/gpu/drm/msm/msm_gpu.h | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/msm/msm_gpu.h
> > b/drivers/gpu/drm/msm/msm_gpu.h
> > index 9122ee6e55e4..1fe93920fb25 100644
> > --- a/drivers/gpu/drm/msm/msm_gpu.h
> > +++ b/drivers/gpu/drm/msm/msm_gpu.h
> > @@ -63,7 +63,7 @@ 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
> > +#if defined(CONFIG_DEBUG_FS) || defined(CONFIG_DEV_COREDUMP)
> >       /* show GPU status in debugfs: */
> >       void (*show)(struct msm_gpu *gpu, struct msm_gpu_state *state,
> >                       struct drm_printer *p);
> > --
> > 2.18.0
>

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2019-01-08 17:42 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-08-13 21:23 [PATCH 1/2] drm/msm/gpu: fix msm_gpu_crashstate_capture stub prototype Arnd Bergmann
2018-08-13 21:23 ` [PATCH 2/2] drm/msm/gpu: fix building without debugfs Arnd Bergmann
2019-01-08 14:16   ` Ioana Ciornei
2019-01-08 17:42     ` Rob Clark

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).