提交 34bd5000 编写于 作者: D Dom Cobley 提交者: Zheng Zengkai

vc4_hdmi: Remove firmware logic for MAI threshold setting

raspberrypi inclusion
category: feature
bugzilla: 50432

--------------------------------

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: NDom Cobley <popcornmix@gmail.com>
Signed-off-by: NFang Yafen <yafen@iscas.ac.cn>
Signed-off-by: NZheng Zengkai <zhengzengkai@huawei.com>
上级 a10db456
...@@ -1074,22 +1074,12 @@ static int vc4_hdmi_audio_prepare(struct snd_pcm_substream *substream, ...@@ -1074,22 +1074,12 @@ static int vc4_hdmi_audio_prepare(struct snd_pcm_substream *substream,
audio_packet_config |= VC4_SET_FIELD(channel_mask, audio_packet_config |= VC4_SET_FIELD(channel_mask,
VC4_HDMI_AUDIO_PACKET_CEA_MASK); VC4_HDMI_AUDIO_PACKET_CEA_MASK);
/* Set the MAI threshold. This logic mimics the firmware's. */ /* Set the MAI threshold */
if (vc4_hdmi->audio.samplerate > 96000) { HDMI_WRITE(HDMI_MAI_THR,
HDMI_WRITE(HDMI_MAI_THR, VC4_SET_FIELD(0x10, VC4_HD_MAI_THR_PANICHIGH) |
VC4_SET_FIELD(0x12, VC4_HD_MAI_THR_DREQHIGH) | VC4_SET_FIELD(0x10, VC4_HD_MAI_THR_PANICLOW) |
VC4_SET_FIELD(0x12, VC4_HD_MAI_THR_DREQLOW)); VC4_SET_FIELD(0x10, VC4_HD_MAI_THR_DREQHIGH) |
} else if (vc4_hdmi->audio.samplerate > 48000) { VC4_SET_FIELD(0x10, VC4_HD_MAI_THR_DREQLOW));
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));
}
HDMI_WRITE(HDMI_MAI_CONFIG, HDMI_WRITE(HDMI_MAI_CONFIG,
VC4_HDMI_MAI_CONFIG_BIT_REVERSE | VC4_HDMI_MAI_CONFIG_BIT_REVERSE |
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册