|
|
@@ -1,42 +0,0 @@
|
|
|
-From 1a0b802bb6bca3b42034245d35b56309749a362c Mon Sep 17 00:00:00 2001
|
|
|
-From: Dom Cobley <[email protected]>
|
|
|
-Date: Tue, 23 Jun 2020 18:37:01 +0100
|
|
|
-Subject: [PATCH] vc4_hdmi: Set HD_CTL_WHOLSMP and HD_CTL_CHALIGN_SET
|
|
|
-
|
|
|
-Symptom is random switching of speakers when using multichannel.
|
|
|
-
|
|
|
-Repeatedly running speakertest -c8 occasionally starts with
|
|
|
-channels jumbled. This is fixed with HD_CTL_WHOLSMP.
|
|
|
-
|
|
|
-The other bit looks beneficial and apears harmless in testing so
|
|
|
-I'd suggest adding it too.
|
|
|
-
|
|
|
-Documentation says: HD_CTL_WHILSMP_SET
|
|
|
-Wait for whole sample. When this bit is set MAI transmit will start
|
|
|
-only when there is at least one whole sample available in the fifo.
|
|
|
-
|
|
|
-Documentation says: HD_CTL_CHALIGN_SET
|
|
|
-Channel Align When Overflow. This bit is used to realign the audio
|
|
|
-channels in case of an overflow.
|
|
|
-If this bit is set, after the detection of an overflow, equal
|
|
|
-amount of dummy words to the missing words will be written to fifo,
|
|
|
-filling up the broken sample and maintaining alignment.
|
|
|
-
|
|
|
-Signed-off-by: Dom Cobley <[email protected]>
|
|
|
----
|
|
|
- drivers/gpu/drm/vc4/vc4_hdmi.c | 4 +++-
|
|
|
- 1 file changed, 3 insertions(+), 1 deletion(-)
|
|
|
-
|
|
|
---- a/drivers/gpu/drm/vc4/vc4_hdmi.c
|
|
|
-+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
|
|
|
-@@ -1074,7 +1074,9 @@ static int vc4_hdmi_audio_trigger(struct
|
|
|
- HDMI_WRITE(HDMI_MAI_CTL,
|
|
|
- VC4_SET_FIELD(vc4_hdmi->audio.channels,
|
|
|
- VC4_HD_MAI_CTL_CHNUM) |
|
|
|
-- VC4_HD_MAI_CTL_ENABLE);
|
|
|
-+ VC4_HD_MAI_CTL_WHOLSMP |
|
|
|
-+ VC4_HD_MAI_CTL_CHALIGN |
|
|
|
-+ VC4_HD_MAI_CTL_ENABLE);
|
|
|
- break;
|
|
|
- case SNDRV_PCM_TRIGGER_STOP:
|
|
|
- HDMI_WRITE(HDMI_MAI_CTL,
|