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: Chris Park <chris.park@amd.com> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Acked-by: Agustin Gutierrez <agustin.gutierrez@amd.com> Signed-off-by: Bing Guo <Bing.Guo@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
fbde44bcdf
commit
b8f0208858
|
@ -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);
|
||||
|
||||
|
|
Loading…
Reference in New Issue