Commit b8f02088 authored by Guo, Bing's avatar Guo, Bing Committed by Alex Deucher
Browse files

drm/amd/display: set Layout properly for 8ch audio at timing validation



Why:
For audio packet type 0x02, there are 2 Layouts:
   Layout = 0 for 2 channels
and Layout = 1 for > 2 channels.
Layout will affect bandwidth check.

Currently, for HDMI FRL, Layout field isn't set and has a default value
of 0, so theoretically only 2-channel audio for audio packet type 0x02
is supported now.

How:
1. Set Layout properly according to maximum audio channel numbers for
audios with audio packet type 0x02.
2. 8ch LPCM audio is not supported for timing modes with v_active <= 576.

Reviewed-by: default avatarChris Park <chris.park@amd.com>
Tested-by: default avatarDaniel Wheeler <daniel.wheeler@amd.com>
Acked-by: default avatarAgustin Gutierrez <agustin.gutierrez@amd.com>
Signed-off-by: default avatarBing Guo <Bing.Guo@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent fbde44bc
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -514,13 +514,15 @@ void dce_aud_az_configure(
			union audio_sample_rates sample_rates =
					audio_mode->sample_rates;
			uint8_t byte2 = audio_mode->max_bit_rate;
			uint8_t channel_count = audio_mode->channel_count;

			/* adjust specific properties */
			switch (audio_format_code) {
			case AUDIO_FORMAT_CODE_LINEARPCM: {

				check_audio_bandwidth(
					crtc_info,
					audio_mode->channel_count,
					channel_count,
					signal,
					&sample_rates);

@@ -548,7 +550,7 @@ void dce_aud_az_configure(

			/* fill audio format data */
			set_reg_field_value(value,
					audio_mode->channel_count - 1,
					channel_count - 1,
					AZALIA_F0_CODEC_PIN_CONTROL_AUDIO_DESCRIPTOR0,
					MAX_CHANNELS);