2019-04-03 06:49:50

by Yue Haibing

[permalink] [raw]
Subject: [PATCH] drm/msm/a6xx: Fix build with !CONFIG_DEBUG_FS

From: YueHaibing <[email protected]>

When building CONFIG_DEBUG_FS is not set
gcc warn this:

drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c: In function a6xx_show:
drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c:1124:2: error: implicit declaration of function adreno_show; did you mean adreno_dump? [-Werror=implicit-function-declaration]
adreno_show(gpu, state, p);
^~~~~~~~~~~

Reported-by: Hulk Robot <[email protected]>
Fixes: 1707add81551 ("drm/msm/a6xx: Add a6xx gpu state")
Signed-off-by: YueHaibing <[email protected]>
---
drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c b/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c
index e686331..d327eb5 100644
--- a/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c
+++ b/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c
@@ -1121,7 +1121,9 @@ void a6xx_show(struct msm_gpu *gpu, struct msm_gpu_state *state,
if (IS_ERR_OR_NULL(state))
return;

+#if defined(CONFIG_DEBUG_FS) || defined(CONFIG_DEV_COREDUMP)
adreno_show(gpu, state, p);
+#endif

drm_puts(p, "registers:\n");
for (i = 0; i < a6xx_state->nr_registers; i++) {
--
2.7.0



2019-04-03 09:00:04

by Mukesh Ojha

[permalink] [raw]
Subject: Re: [PATCH] drm/msm/a6xx: Fix build with !CONFIG_DEBUG_FS


On 4/3/2019 12:18 PM, Yue Haibing wrote:
> From: YueHaibing <[email protected]>
>
> When building CONFIG_DEBUG_FS is not set
> gcc warn this:
>
> drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c: In function a6xx_show:
> drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c:1124:2: error: implicit declaration of function adreno_show; did you mean adreno_dump? [-Werror=implicit-function-declaration]
> adreno_show(gpu, state, p);
> ^~~~~~~~~~~
>
> Reported-by: Hulk Robot <[email protected]>
> Fixes: 1707add81551 ("drm/msm/a6xx: Add a6xx gpu state")
> Signed-off-by: YueHaibing <[email protected]>


Reviewed-by: Mukesh Ojha <[email protected]>

Cheers,
-Mukesh

> ---
> drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c b/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c
> index e686331..d327eb5 100644
> --- a/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c
> +++ b/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c
> @@ -1121,7 +1121,9 @@ void a6xx_show(struct msm_gpu *gpu, struct msm_gpu_state *state,
> if (IS_ERR_OR_NULL(state))
> return;
>
> +#if defined(CONFIG_DEBUG_FS) || defined(CONFIG_DEV_COREDUMP)
> adreno_show(gpu, state, p);
> +#endif
>
> drm_puts(p, "registers:\n");
> for (i = 0; i < a6xx_state->nr_registers; i++) {

2019-04-03 15:39:38

by Jordan Crouse

[permalink] [raw]
Subject: Re: [PATCH] drm/msm/a6xx: Fix build with !CONFIG_DEBUG_FS

On Wed, Apr 03, 2019 at 02:48:11PM +0800, Yue Haibing wrote:
> From: YueHaibing <[email protected]>
>
> When building CONFIG_DEBUG_FS is not set
> gcc warn this:
>
> drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c: In function a6xx_show:
> drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c:1124:2: error: implicit declaration of function adreno_show; did you mean adreno_dump? [-Werror=implicit-function-declaration]
> adreno_show(gpu, state, p);
> ^~~~~~~~~~~
>
> Reported-by: Hulk Robot <[email protected]>
> Fixes: 1707add81551 ("drm/msm/a6xx: Add a6xx gpu state")
> Signed-off-by: YueHaibing <[email protected]>
> ---
> drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c b/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c
> index e686331..d327eb5 100644
> --- a/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c
> +++ b/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c
> @@ -1121,7 +1121,9 @@ void a6xx_show(struct msm_gpu *gpu, struct msm_gpu_state *state,
> if (IS_ERR_OR_NULL(state))
> return;
>
> +#if defined(CONFIG_DEBUG_FS) || defined(CONFIG_DEV_COREDUMP)
> adreno_show(gpu, state, p);
> +#endif

I agree that this is a problem, but I think I would prefer if we just made a
stub function for adreno_show instead of doing a inline ifdef, so in
adreno_gpu.c:

#ifdef defined(CONFIG_DEBUG_FS) || defined(CONFIG_DEV_COREDUMP)
...
#else
void adreno_show(struct msm_gpu *gpu, msm_gpu_state *state,
struct drm_printer *p)
{
}
#endif

If you want, I can do a quick patch.

Jordan

--
The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project

2019-04-04 02:03:11

by Yue Haibing

[permalink] [raw]
Subject: Re: [PATCH] drm/msm/a6xx: Fix build with !CONFIG_DEBUG_FS

On 2019/4/3 23:36, Jordan Crouse wrote:
> On Wed, Apr 03, 2019 at 02:48:11PM +0800, Yue Haibing wrote:
>> From: YueHaibing <[email protected]>
>>
>> When building CONFIG_DEBUG_FS is not set
>> gcc warn this:
>>
>> drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c: In function a6xx_show:
>> drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c:1124:2: error: implicit declaration of function adreno_show; did you mean adreno_dump? [-Werror=implicit-function-declaration]
>> adreno_show(gpu, state, p);
>> ^~~~~~~~~~~
>>
>> Reported-by: Hulk Robot <[email protected]>
>> Fixes: 1707add81551 ("drm/msm/a6xx: Add a6xx gpu state")
>> Signed-off-by: YueHaibing <[email protected]>
>> ---
>> drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c | 2 ++
>> 1 file changed, 2 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c b/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c
>> index e686331..d327eb5 100644
>> --- a/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c
>> +++ b/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c
>> @@ -1121,7 +1121,9 @@ void a6xx_show(struct msm_gpu *gpu, struct msm_gpu_state *state,
>> if (IS_ERR_OR_NULL(state))
>> return;
>>
>> +#if defined(CONFIG_DEBUG_FS) || defined(CONFIG_DEV_COREDUMP)
>> adreno_show(gpu, state, p);
>> +#endif
>
> I agree that this is a problem, but I think I would prefer if we just made a
> stub function for adreno_show instead of doing a inline ifdef, so in
> adreno_gpu.c:
>
> #ifdef defined(CONFIG_DEBUG_FS) || defined(CONFIG_DEV_COREDUMP)
> ...
> #else
> void adreno_show(struct msm_gpu *gpu, msm_gpu_state *state,
> struct drm_printer *p)
> {
> }
> #endif
>
> If you want, I can do a quick patch.

Sure, it's ok for me.

>
> Jordan
>

2019-04-10 19:02:59

by Jordan Crouse

[permalink] [raw]
Subject: Re: [Freedreno] [PATCH] drm/msm/a6xx: Fix build with !CONFIG_DEBUG_FS

On Thu, Apr 04, 2019 at 10:02:07AM +0800, YueHaibing wrote:
> On 2019/4/3 23:36, Jordan Crouse wrote:
> > On Wed, Apr 03, 2019 at 02:48:11PM +0800, Yue Haibing wrote:
> >> From: YueHaibing <[email protected]>
> >>
> >> When building CONFIG_DEBUG_FS is not set
> >> gcc warn this:
> >>
> >> drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c: In function a6xx_show:
> >> drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c:1124:2: error: implicit declaration of function adreno_show; did you mean adreno_dump? [-Werror=implicit-function-declaration]
> >> adreno_show(gpu, state, p);
> >> ^~~~~~~~~~~
> >>
> >> Reported-by: Hulk Robot <[email protected]>
> >> Fixes: 1707add81551 ("drm/msm/a6xx: Add a6xx gpu state")
> >> Signed-off-by: YueHaibing <[email protected]>
> >> ---
> >> drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c | 2 ++
> >> 1 file changed, 2 insertions(+)
> >>
> >> diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c b/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c
> >> index e686331..d327eb5 100644
> >> --- a/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c
> >> +++ b/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c
> >> @@ -1121,7 +1121,9 @@ void a6xx_show(struct msm_gpu *gpu, struct msm_gpu_state *state,
> >> if (IS_ERR_OR_NULL(state))
> >> return;
> >>
> >> +#if defined(CONFIG_DEBUG_FS) || defined(CONFIG_DEV_COREDUMP)
> >> adreno_show(gpu, state, p);
> >> +#endif
> >
> > I agree that this is a problem, but I think I would prefer if we just made a
> > stub function for adreno_show instead of doing a inline ifdef, so in
> > adreno_gpu.c:
> >
> > #ifdef defined(CONFIG_DEBUG_FS) || defined(CONFIG_DEV_COREDUMP)
> > ...
> > #else
> > void adreno_show(struct msm_gpu *gpu, msm_gpu_state *state,
> > struct drm_printer *p)
> > {
> > }
> > #endif
> >
> > If you want, I can do a quick patch.
>
> Sure, it's ok for me.

Sorry for the delay. I went back and looked at this and discovered that the
problem was a bit more extensive - none of a6xx_gpu_state.c is useful without
the dependencies, so I made a bit more extensive patch to handle the root of
that:

https://patchwork.freedesktop.org/series/59297/

Jordan

--
The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project