lkml.org 
[lkml]   [2022]   [Aug]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.10 199/545] drm/vc4: hdmi: Remove firmware logic for MAI threshold setting
    Date
    From: Dom Cobley <popcornmix@gmail.com>

    [ 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>
    ---
    drivers/gpu/drm/vc4/vc4_hdmi.c | 22 ++++++----------------
    1 file changed, 6 insertions(+), 16 deletions(-)

    diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c
    index d5822878b5a7..6acc34f1e095 100644
    --- a/drivers/gpu/drm/vc4/vc4_hdmi.c
    +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
    @@ -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 |
    --
    2.35.1


    \
     
     \ /
      Last update: 2022-08-19 18:09    [W:4.726 / U:0.228 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site