2023-04-17 22:19:43

by Arnd Bergmann

[permalink] [raw]
Subject: [PATCH] [v2] drm/amd/display: fix is_timing_changed() prototype

From: Arnd Bergmann <[email protected]>

Three functions in the amdgpu display driver cause -Wmissing-prototype
warnings:

drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_resource.c:1858:6: error: no previous prototype for 'is_timing_changed' [-Werror=missing-prototypes]

is_timing_changed() is actually meant to be a global symbol, but needs
a proper name and prototype.

Fixes: 17ce8a6907f7 ("drm/amd/display: Add dsc pre-validation in atomic check")
Signed-off-by: Arnd Bergmann <[email protected]>
---
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c | 5 ++---
drivers/gpu/drm/amd/display/dc/core/dc_resource.c | 6 +++---
drivers/gpu/drm/amd/display/dc/dc.h | 3 +++
3 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c
index 994ba426ca66..442511061178 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c
@@ -45,8 +45,7 @@
#endif

#include "dc/dcn20/dcn20_resource.h"
-bool is_timing_changed(struct dc_stream_state *cur_stream,
- struct dc_stream_state *new_stream);
+
#define PEAK_FACTOR_X1000 1006

static ssize_t dm_dp_aux_transfer(struct drm_dp_aux *aux,
@@ -1417,7 +1416,7 @@ int pre_validate_dsc(struct drm_atomic_state *state,
struct dc_stream_state *stream = dm_state->context->streams[i];

if (local_dc_state->streams[i] &&
- is_timing_changed(stream, local_dc_state->streams[i])) {
+ dc_is_timing_changed(stream, local_dc_state->streams[i])) {
DRM_INFO_ONCE("crtc[%d] needs mode_changed\n", i);
} else {
int ind = find_crtc_index_in_state_by_stream(state, stream);
diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
index 85d54bfb595c..344533623cb9 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
@@ -1855,7 +1855,7 @@ bool dc_add_all_planes_for_stream(
return add_all_planes_for_stream(dc, stream, &set, 1, context);
}

-bool is_timing_changed(struct dc_stream_state *cur_stream,
+bool dc_is_timing_changed(struct dc_stream_state *cur_stream,
struct dc_stream_state *new_stream)
{
if (cur_stream == NULL)
@@ -1880,7 +1880,7 @@ static bool are_stream_backends_same(
if (stream_a == NULL || stream_b == NULL)
return false;

- if (is_timing_changed(stream_a, stream_b))
+ if (dc_is_timing_changed(stream_a, stream_b))
return false;

if (stream_a->signal != stream_b->signal)
@@ -3505,7 +3505,7 @@ bool pipe_need_reprogram(
if (pipe_ctx_old->stream_res.stream_enc != pipe_ctx->stream_res.stream_enc)
return true;

- if (is_timing_changed(pipe_ctx_old->stream, pipe_ctx->stream))
+ if (dc_is_timing_changed(pipe_ctx_old->stream, pipe_ctx->stream))
return true;

if (pipe_ctx_old->stream->dpms_off != pipe_ctx->stream->dpms_off)
diff --git a/drivers/gpu/drm/amd/display/dc/dc.h b/drivers/gpu/drm/amd/display/dc/dc.h
index 23ee63b98dcd..e7ab6cb3769b 100644
--- a/drivers/gpu/drm/amd/display/dc/dc.h
+++ b/drivers/gpu/drm/amd/display/dc/dc.h
@@ -2225,4 +2225,7 @@ void dc_process_dmub_dpia_hpd_int_enable(const struct dc *dc,
/* Disable acc mode Interfaces */
void dc_disable_accelerated_mode(struct dc *dc);

+bool dc_is_timing_changed(struct dc_stream_state *cur_stream,
+ struct dc_stream_state *new_stream);
+
#endif /* DC_INTERFACE_H_ */
--
2.39.2


2023-04-18 13:37:04

by Aurabindo Pillai

[permalink] [raw]
Subject: Re: [PATCH] [v2] drm/amd/display: fix is_timing_changed() prototype



On 4/17/2023 6:07 PM, Arnd Bergmann wrote:
> From: Arnd Bergmann <[email protected]>
>
> Three functions in the amdgpu display driver cause -Wmissing-prototype
> warnings:
>
> drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_resource.c:1858:6: error: no previous prototype for 'is_timing_changed' [-Werror=missing-prototypes]
>
> is_timing_changed() is actually meant to be a global symbol, but needs
> a proper name and prototype.
>
> Fixes: 17ce8a6907f7 ("drm/amd/display: Add dsc pre-validation in atomic check")
> Signed-off-by: Arnd Bergmann <[email protected]>
> ---
> drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c | 5 ++---
> drivers/gpu/drm/amd/display/dc/core/dc_resource.c | 6 +++---
> drivers/gpu/drm/amd/display/dc/dc.h | 3 +++
> 3 files changed, 8 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c
> index 994ba426ca66..442511061178 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c
> @@ -45,8 +45,7 @@
> #endif
>
> #include "dc/dcn20/dcn20_resource.h"
> -bool is_timing_changed(struct dc_stream_state *cur_stream,
> - struct dc_stream_state *new_stream);
> +
> #define PEAK_FACTOR_X1000 1006
>
> static ssize_t dm_dp_aux_transfer(struct drm_dp_aux *aux,
> @@ -1417,7 +1416,7 @@ int pre_validate_dsc(struct drm_atomic_state *state,
> struct dc_stream_state *stream = dm_state->context->streams[i];
>
> if (local_dc_state->streams[i] &&
> - is_timing_changed(stream, local_dc_state->streams[i])) {
> + dc_is_timing_changed(stream, local_dc_state->streams[i])) {
> DRM_INFO_ONCE("crtc[%d] needs mode_changed\n", i);
> } else {
> int ind = find_crtc_index_in_state_by_stream(state, stream);
> diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
> index 85d54bfb595c..344533623cb9 100644
> --- a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
> +++ b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
> @@ -1855,7 +1855,7 @@ bool dc_add_all_planes_for_stream(
> return add_all_planes_for_stream(dc, stream, &set, 1, context);
> }
>
> -bool is_timing_changed(struct dc_stream_state *cur_stream,
> +bool dc_is_timing_changed(struct dc_stream_state *cur_stream,
> struct dc_stream_state *new_stream)
> {
> if (cur_stream == NULL)
> @@ -1880,7 +1880,7 @@ static bool are_stream_backends_same(
> if (stream_a == NULL || stream_b == NULL)
> return false;
>
> - if (is_timing_changed(stream_a, stream_b))
> + if (dc_is_timing_changed(stream_a, stream_b))
> return false;
>
> if (stream_a->signal != stream_b->signal)
> @@ -3505,7 +3505,7 @@ bool pipe_need_reprogram(
> if (pipe_ctx_old->stream_res.stream_enc != pipe_ctx->stream_res.stream_enc)
> return true;
>
> - if (is_timing_changed(pipe_ctx_old->stream, pipe_ctx->stream))
> + if (dc_is_timing_changed(pipe_ctx_old->stream, pipe_ctx->stream))
> return true;
>
> if (pipe_ctx_old->stream->dpms_off != pipe_ctx->stream->dpms_off)
> diff --git a/drivers/gpu/drm/amd/display/dc/dc.h b/drivers/gpu/drm/amd/display/dc/dc.h
> index 23ee63b98dcd..e7ab6cb3769b 100644
> --- a/drivers/gpu/drm/amd/display/dc/dc.h
> +++ b/drivers/gpu/drm/amd/display/dc/dc.h
> @@ -2225,4 +2225,7 @@ void dc_process_dmub_dpia_hpd_int_enable(const struct dc *dc,
> /* Disable acc mode Interfaces */
> void dc_disable_accelerated_mode(struct dc *dc);
>
> +bool dc_is_timing_changed(struct dc_stream_state *cur_stream,
> + struct dc_stream_state *new_stream);
> +
> #endif /* DC_INTERFACE_H_ */
>


Reviewed-by: Aurabindo Pillai <[email protected]>

2023-04-18 14:18:18

by Hamza Mahfooz

[permalink] [raw]
Subject: Re: [PATCH] [v2] drm/amd/display: fix is_timing_changed() prototype

On 4/17/23 18:07, Arnd Bergmann wrote:
> From: Arnd Bergmann <[email protected]>
>
> Three functions in the amdgpu display driver cause -Wmissing-prototype
> warnings:
>
> drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_resource.c:1858:6: error: no previous prototype for 'is_timing_changed' [-Werror=missing-prototypes]
>
> is_timing_changed() is actually meant to be a global symbol, but needs
> a proper name and prototype.
>
> Fixes: 17ce8a6907f7 ("drm/amd/display: Add dsc pre-validation in atomic check")
> Signed-off-by: Arnd Bergmann <[email protected]>

Applied, thanks!

> ---
> drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c | 5 ++---
> drivers/gpu/drm/amd/display/dc/core/dc_resource.c | 6 +++---
> drivers/gpu/drm/amd/display/dc/dc.h | 3 +++
> 3 files changed, 8 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c
> index 994ba426ca66..442511061178 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c
> @@ -45,8 +45,7 @@
> #endif
>
> #include "dc/dcn20/dcn20_resource.h"
> -bool is_timing_changed(struct dc_stream_state *cur_stream,
> - struct dc_stream_state *new_stream);
> +
> #define PEAK_FACTOR_X1000 1006
>
> static ssize_t dm_dp_aux_transfer(struct drm_dp_aux *aux,
> @@ -1417,7 +1416,7 @@ int pre_validate_dsc(struct drm_atomic_state *state,
> struct dc_stream_state *stream = dm_state->context->streams[i];
>
> if (local_dc_state->streams[i] &&
> - is_timing_changed(stream, local_dc_state->streams[i])) {
> + dc_is_timing_changed(stream, local_dc_state->streams[i])) {
> DRM_INFO_ONCE("crtc[%d] needs mode_changed\n", i);
> } else {
> int ind = find_crtc_index_in_state_by_stream(state, stream);
> diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
> index 85d54bfb595c..344533623cb9 100644
> --- a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
> +++ b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
> @@ -1855,7 +1855,7 @@ bool dc_add_all_planes_for_stream(
> return add_all_planes_for_stream(dc, stream, &set, 1, context);
> }
>
> -bool is_timing_changed(struct dc_stream_state *cur_stream,
> +bool dc_is_timing_changed(struct dc_stream_state *cur_stream,
> struct dc_stream_state *new_stream)
> {
> if (cur_stream == NULL)
> @@ -1880,7 +1880,7 @@ static bool are_stream_backends_same(
> if (stream_a == NULL || stream_b == NULL)
> return false;
>
> - if (is_timing_changed(stream_a, stream_b))
> + if (dc_is_timing_changed(stream_a, stream_b))
> return false;
>
> if (stream_a->signal != stream_b->signal)
> @@ -3505,7 +3505,7 @@ bool pipe_need_reprogram(
> if (pipe_ctx_old->stream_res.stream_enc != pipe_ctx->stream_res.stream_enc)
> return true;
>
> - if (is_timing_changed(pipe_ctx_old->stream, pipe_ctx->stream))
> + if (dc_is_timing_changed(pipe_ctx_old->stream, pipe_ctx->stream))
> return true;
>
> if (pipe_ctx_old->stream->dpms_off != pipe_ctx->stream->dpms_off)
> diff --git a/drivers/gpu/drm/amd/display/dc/dc.h b/drivers/gpu/drm/amd/display/dc/dc.h
> index 23ee63b98dcd..e7ab6cb3769b 100644
> --- a/drivers/gpu/drm/amd/display/dc/dc.h
> +++ b/drivers/gpu/drm/amd/display/dc/dc.h
> @@ -2225,4 +2225,7 @@ void dc_process_dmub_dpia_hpd_int_enable(const struct dc *dc,
> /* Disable acc mode Interfaces */
> void dc_disable_accelerated_mode(struct dc *dc);
>
> +bool dc_is_timing_changed(struct dc_stream_state *cur_stream,
> + struct dc_stream_state *new_stream);
> +
> #endif /* DC_INTERFACE_H_ */
--
Hamza