Commit 2166d9fb authored by Charlene Liu's avatar Charlene Liu Committed by Alex Deucher

drm/amd/display: update audio wall clock programming

[why]
for audio on real TV issue.

[how]
-add wall clock programming for DPREF based when
Pixel clock is done by DP DTO.
Signed-off-by: default avatarCharlene Liu <Charlene.Liu@amd.com>
Reviewed-by: default avatarChris Park <Chris.Park@amd.com>
Acked-by: default avatarQingqing Zhuo <qingqing.zhuo@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 92bfc4a1
...@@ -140,6 +140,8 @@ static void check_audio_bandwidth_hdmi( ...@@ -140,6 +140,8 @@ static void check_audio_bandwidth_hdmi(
bool limit_freq_to_88_2_khz = false; bool limit_freq_to_88_2_khz = false;
bool limit_freq_to_96_khz = false; bool limit_freq_to_96_khz = false;
bool limit_freq_to_174_4_khz = false; bool limit_freq_to_174_4_khz = false;
if (!crtc_info)
return;
/* For two channels supported return whatever sink support,unmodified*/ /* For two channels supported return whatever sink support,unmodified*/
if (channel_count > 2) { if (channel_count > 2) {
...@@ -784,7 +786,7 @@ void dce_aud_wall_dto_setup( ...@@ -784,7 +786,7 @@ void dce_aud_wall_dto_setup(
struct azalia_clock_info clock_info = { 0 }; struct azalia_clock_info clock_info = { 0 };
if (dc_is_hdmi_signal(signal)) { if (dc_is_hdmi_tmds_signal(signal)) {
uint32_t src_sel; uint32_t src_sel;
/*DTO0 Programming goal: /*DTO0 Programming goal:
......
...@@ -1148,7 +1148,7 @@ static void build_audio_output( ...@@ -1148,7 +1148,7 @@ static void build_audio_output(
pipe_ctx->stream_res.pix_clk_params.requested_pix_clk_100hz; pipe_ctx->stream_res.pix_clk_params.requested_pix_clk_100hz;
/*for HDMI, audio ACR is with deep color ratio factor*/ /*for HDMI, audio ACR is with deep color ratio factor*/
if (dc_is_hdmi_signal(pipe_ctx->stream->signal) && if (dc_is_hdmi_tmds_signal(pipe_ctx->stream->signal) &&
audio_output->crtc_info.requested_pixel_clock_100Hz == audio_output->crtc_info.requested_pixel_clock_100Hz ==
(stream->timing.pix_clk_100hz)) { (stream->timing.pix_clk_100hz)) {
if (pipe_ctx->stream_res.pix_clk_params.pixel_encoding == PIXEL_ENCODING_YCBCR420) { if (pipe_ctx->stream_res.pix_clk_params.pixel_encoding == PIXEL_ENCODING_YCBCR420) {
...@@ -1963,10 +1963,8 @@ static void dce110_setup_audio_dto( ...@@ -1963,10 +1963,8 @@ static void dce110_setup_audio_dto(
if (pipe_ctx->top_pipe) if (pipe_ctx->top_pipe)
continue; continue;
if (pipe_ctx->stream->signal != SIGNAL_TYPE_HDMI_TYPE_A) if (pipe_ctx->stream->signal != SIGNAL_TYPE_HDMI_TYPE_A)
continue; continue;
if (pipe_ctx->stream_res.audio != NULL) { if (pipe_ctx->stream_res.audio != NULL) {
struct audio_output audio_output; struct audio_output audio_output;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment