.../drm/amd/display/dc/hwss/dce110/dce110_hwseq.c | 3 --- drivers/gpu/drm/amd/display/include/audio_types.h | 12 +++++------- 2 files changed, 5 insertions(+), 10 deletions(-)
On a 32-bit ARM system, the audio_decoder struct ends up being too large
for dp_retrain_link_dp_test.
link_dp_cts.c:157:1: error: the frame size of 1328 bytes is larger than
1280 bytes [-Werror=frame-larger-than=]
This is mitigated by shrinking the members of the struct and avoids
having to deal with dynamic allocation.
feed_back_divider is assigned but otherwise unused. Remove both.
pixel_repetition looks like it should be a bool since it's only ever
assigned to 1. But there are checks for 2 and 4. Reduce to uint8_t.
Remove ss_percentage_divider. Unused.
Shrink refresh_rate as it gets assigned to at most a 3 digit integer
value.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
---
.../drm/amd/display/dc/hwss/dce110/dce110_hwseq.c | 3 ---
drivers/gpu/drm/amd/display/include/audio_types.h | 12 +++++-------
2 files changed, 5 insertions(+), 10 deletions(-)
diff --git a/drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c b/drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c
index 3005115c8505..852c117fe5b6 100644
--- a/drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c
+++ b/drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c
@@ -1480,9 +1480,6 @@ void build_audio_output(
state->clk_mgr);
}
- audio_output->pll_info.feed_back_divider =
- pipe_ctx->pll_settings.feedback_divider;
-
audio_output->pll_info.dto_source =
translate_to_dto_source(
pipe_ctx->stream_res.tg->inst + 1);
diff --git a/drivers/gpu/drm/amd/display/include/audio_types.h b/drivers/gpu/drm/amd/display/include/audio_types.h
index e4a26143f14c..6699ad4fa825 100644
--- a/drivers/gpu/drm/amd/display/include/audio_types.h
+++ b/drivers/gpu/drm/amd/display/include/audio_types.h
@@ -47,15 +47,15 @@ struct audio_crtc_info {
uint32_t h_total;
uint32_t h_active;
uint32_t v_active;
- uint32_t pixel_repetition;
uint32_t requested_pixel_clock_100Hz; /* in 100Hz */
uint32_t calculated_pixel_clock_100Hz; /* in 100Hz */
- uint32_t refresh_rate;
+ uint32_t dsc_bits_per_pixel;
+ uint32_t dsc_num_slices;
enum dc_color_depth color_depth;
enum dc_pixel_encoding pixel_encoding;
+ uint16_t refresh_rate;
+ uint8_t pixel_repetition;
bool interlaced;
- uint32_t dsc_bits_per_pixel;
- uint32_t dsc_num_slices;
};
struct azalia_clock_info {
uint32_t pixel_clock_in_10khz;
@@ -78,11 +78,9 @@ enum audio_dto_source {
struct audio_pll_info {
uint32_t audio_dto_source_clock_in_khz;
- uint32_t feed_back_divider;
+ uint32_t ss_percentage;
enum audio_dto_source dto_source;
bool ss_enabled;
- uint32_t ss_percentage;
- uint32_t ss_percentage_divider;
};
struct audio_channel_associate_info {
--
2.51.2
This patch pass this week's promotion test.
Reviewed-by: Alex Hung <alex.hung@amd.com>
On 11/8/25 10:40, Rosen Penev wrote:
> On a 32-bit ARM system, the audio_decoder struct ends up being too large
> for dp_retrain_link_dp_test.
>
> link_dp_cts.c:157:1: error: the frame size of 1328 bytes is larger than
> 1280 bytes [-Werror=frame-larger-than=]
>
> This is mitigated by shrinking the members of the struct and avoids
> having to deal with dynamic allocation.
>
> feed_back_divider is assigned but otherwise unused. Remove both.
>
> pixel_repetition looks like it should be a bool since it's only ever
> assigned to 1. But there are checks for 2 and 4. Reduce to uint8_t.
>
> Remove ss_percentage_divider. Unused.
>
> Shrink refresh_rate as it gets assigned to at most a 3 digit integer
> value.
>
> Signed-off-by: Rosen Penev <rosenp@gmail.com>
> ---
> .../drm/amd/display/dc/hwss/dce110/dce110_hwseq.c | 3 ---
> drivers/gpu/drm/amd/display/include/audio_types.h | 12 +++++-------
> 2 files changed, 5 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c b/drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c
> index 3005115c8505..852c117fe5b6 100644
> --- a/drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c
> +++ b/drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c
> @@ -1480,9 +1480,6 @@ void build_audio_output(
> state->clk_mgr);
> }
>
> - audio_output->pll_info.feed_back_divider =
> - pipe_ctx->pll_settings.feedback_divider;
> -
> audio_output->pll_info.dto_source =
> translate_to_dto_source(
> pipe_ctx->stream_res.tg->inst + 1);
> diff --git a/drivers/gpu/drm/amd/display/include/audio_types.h b/drivers/gpu/drm/amd/display/include/audio_types.h
> index e4a26143f14c..6699ad4fa825 100644
> --- a/drivers/gpu/drm/amd/display/include/audio_types.h
> +++ b/drivers/gpu/drm/amd/display/include/audio_types.h
> @@ -47,15 +47,15 @@ struct audio_crtc_info {
> uint32_t h_total;
> uint32_t h_active;
> uint32_t v_active;
> - uint32_t pixel_repetition;
> uint32_t requested_pixel_clock_100Hz; /* in 100Hz */
> uint32_t calculated_pixel_clock_100Hz; /* in 100Hz */
> - uint32_t refresh_rate;
> + uint32_t dsc_bits_per_pixel;
> + uint32_t dsc_num_slices;
> enum dc_color_depth color_depth;
> enum dc_pixel_encoding pixel_encoding;
> + uint16_t refresh_rate;
> + uint8_t pixel_repetition;
> bool interlaced;
> - uint32_t dsc_bits_per_pixel;
> - uint32_t dsc_num_slices;
> };
> struct azalia_clock_info {
> uint32_t pixel_clock_in_10khz;
> @@ -78,11 +78,9 @@ enum audio_dto_source {
>
> struct audio_pll_info {
> uint32_t audio_dto_source_clock_in_khz;
> - uint32_t feed_back_divider;
> + uint32_t ss_percentage;
> enum audio_dto_source dto_source;
> bool ss_enabled;
> - uint32_t ss_percentage;
> - uint32_t ss_percentage_divider;
> };
>
> struct audio_channel_associate_info {
© 2016 - 2025 Red Hat, Inc.