drm/vc4: hdmi: Remove firmware logic for MAI threshold setting
[ Upstream commit 8434111ccfec8fc0549ec325a632067232d38e14 ] This was a workaround for bugs in hardware on earlier Pi models and wasn't totally successful. It makes audio quality worse on a Pi4 at the higher sample rates Signed-off-by: Dom Cobley <popcornmix@gmail.com> Signed-off-by: Maxime Ripard <maxime@cerno.tech> Link: https://patchwork.freedesktop.org/patch/msgid/20210525132354.297468-10-maxime@cerno.tech Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
cefc8e7e0e
commit
b161b27067
@ -1031,22 +1031,12 @@ static int vc4_hdmi_audio_hw_params(struct snd_pcm_substream *substream,
|
||||
audio_packet_config |= VC4_SET_FIELD(channel_mask,
|
||||
VC4_HDMI_AUDIO_PACKET_CEA_MASK);
|
||||
|
||||
/* Set the MAI threshold. This logic mimics the firmware's. */
|
||||
if (vc4_hdmi->audio.samplerate > 96000) {
|
||||
HDMI_WRITE(HDMI_MAI_THR,
|
||||
VC4_SET_FIELD(0x12, VC4_HD_MAI_THR_DREQHIGH) |
|
||||
VC4_SET_FIELD(0x12, VC4_HD_MAI_THR_DREQLOW));
|
||||
} else if (vc4_hdmi->audio.samplerate > 48000) {
|
||||
HDMI_WRITE(HDMI_MAI_THR,
|
||||
VC4_SET_FIELD(0x14, VC4_HD_MAI_THR_DREQHIGH) |
|
||||
VC4_SET_FIELD(0x12, VC4_HD_MAI_THR_DREQLOW));
|
||||
} else {
|
||||
HDMI_WRITE(HDMI_MAI_THR,
|
||||
VC4_SET_FIELD(0x10, VC4_HD_MAI_THR_PANICHIGH) |
|
||||
VC4_SET_FIELD(0x10, VC4_HD_MAI_THR_PANICLOW) |
|
||||
VC4_SET_FIELD(0x10, VC4_HD_MAI_THR_DREQHIGH) |
|
||||
VC4_SET_FIELD(0x10, VC4_HD_MAI_THR_DREQLOW));
|
||||
}
|
||||
/* Set the MAI threshold */
|
||||
HDMI_WRITE(HDMI_MAI_THR,
|
||||
VC4_SET_FIELD(0x10, VC4_HD_MAI_THR_PANICHIGH) |
|
||||
VC4_SET_FIELD(0x10, VC4_HD_MAI_THR_PANICLOW) |
|
||||
VC4_SET_FIELD(0x10, VC4_HD_MAI_THR_DREQHIGH) |
|
||||
VC4_SET_FIELD(0x10, VC4_HD_MAI_THR_DREQLOW));
|
||||
|
||||
HDMI_WRITE(HDMI_MAI_CONFIG,
|
||||
VC4_HDMI_MAI_CONFIG_BIT_REVERSE |
|
||||
|
Loading…
x
Reference in New Issue
Block a user