diff --git a/projects/WeTek_Play/patches/linux/95-meson6-fixhdmitx-audiolock-1080p24.patch b/projects/WeTek_Play/patches/linux/95-meson6-fixhdmitx-audiolock-1080p24.patch new file mode 100644 index 0000000000..3ac7f2807a --- /dev/null +++ b/projects/WeTek_Play/patches/linux/95-meson6-fixhdmitx-audiolock-1080p24.patch @@ -0,0 +1,36 @@ +--- a/arch/arm/mach-meson6/hdmi_tx_hw/hdmi_tx_hw.c.orig 2015-01-15 22:15:55.446965413 +0100 ++++ b/arch/arm/mach-meson6/hdmi_tx_hw/hdmi_tx_hw.c 2015-01-15 22:16:13.378517737 +0100 +@@ -1999,6 +1999,7 @@ + { + unsigned int audio_N_para = 6272; + unsigned int audio_N_tolerance = 3; ++ unsigned int multiplier = 1; + // unsigned int audio_CTS = 30000; + + hdmi_print(INF, AUD "audio channel num is %d\n", hdmitx_device->cur_audio_param.channel_num); +@@ -2122,15 +2123,22 @@ + hdmi_print(INF, AUD "reset audio N para\n"); + switch(audio_param->sample_rate){ + case FS_44K1: +- audio_N_para = 6272 * 2; +- break; + case FS_48K: +- audio_N_para = 6144 * 2; ++ multiplier = 2; + break; + default: + break; + } + ++ //1080p24hz mode is a special case - at least for yamaha amps ++ //it needs 3 times the normal npara to get a stable audio lock ++ if((hdmitx_device->cur_VIC == HDMI_1080p24)) ++ { ++ multiplier = 3; ++ } ++ ++ audio_N_para *= multiplier; ++ + //TODO. Different audio type, maybe have different settings + switch(audio_param->type){ + case CT_PCM: