2016-02-10, 01:05
I'd try to comment out the lines that try to set special values for 1080p23hz and 1080p24hz display modes:
Sorry cannot test this now.
Code:
diff --git a/arch/arm/mach-meson8/hdmi_tx_hw/hdmi_tx_hw.c b/arch/arm/mach-meson8/hdmi_tx_hw/hdmi_tx_hw.c
index 15ec325..3c97ae0 100755
--- a/arch/arm/mach-meson8/hdmi_tx_hw/hdmi_tx_hw.c
+++ b/arch/arm/mach-meson8/hdmi_tx_hw/hdmi_tx_hw.c
@@ -2608,6 +2608,7 @@ static unsigned int hdmitx_get_aud_n(HDMI_Video_Codes_t vic)
static unsigned int audio_N_1080p24=0;
static void hdmitx_set_aud_n(void)
{
+/*
#ifdef CONFIG_AML_VOUT_FRAMERATE_AUTOMATION
unsigned int audio_N_para = 6272 ;
unsigned int audio_N_tolerance = 3;
@@ -2625,6 +2626,7 @@ static void hdmitx_set_aud_n(void)
hdmi_wr_reg(TX_SYS1_ACR_N_2, (audio_N_tolerance<<4)|((audio_N_para>>16)&0xf)); // N[19:16]
}
#endif
+*/
}
static int hdmitx_set_audmode(struct hdmi_tx_dev_s* hdmitx_device, Hdmi_tx_audio_para_t* audio_param)
@@ -2715,10 +2717,10 @@ static int hdmitx_set_audmode(struct hdmi_tx_dev_s* hdmitx_device, Hdmi_tx_audio
}
}
if (audio_param->sample_rate == FS_48K) {
-#ifdef CONFIG_AML_VOUT_FRAMERATE_AUTOMATION
- if (strncmp(vinfo->name, "1080p23hz", strlen("1080p23hz")) == 0)
- audio_N_para=hdmitx_get_aud_n(hdmitx_device->cur_VIC);
-#endif
+//#ifdef CONFIG_AML_VOUT_FRAMERATE_AUTOMATION
+// if (strncmp(vinfo->name, "1080p23hz", strlen("1080p23hz")) == 0)
+// audio_N_para=hdmitx_get_aud_n(hdmitx_device->cur_VIC);
+//#endif
}
hdmi_print(INF, AUD "set audio N para\n");
@@ -2759,10 +2761,10 @@ static int hdmitx_set_audmode(struct hdmi_tx_dev_s* hdmitx_device, Hdmi_tx_audio
default:
break;
}
- if (strncmp(vinfo->name, "1080p24hz", strlen("1080p24hz")) == 0)
- {
- audio_N_1080p24=audio_N_para;//for recovery audio_N from 1080p23hz
- }
+// if (strncmp(vinfo->name, "1080p24hz", strlen("1080p24hz")) == 0)
+// {
+// audio_N_1080p24=audio_N_para;//for recovery audio_N from 1080p23hz
+// }
hdmi_wr_reg(TX_SYS1_ACR_N_0, (audio_N_para&0xff)); // N[7:0]
hdmi_wr_reg(TX_SYS1_ACR_N_1, (audio_N_para>>8)&0xff); // N[15:8]
hdmi_wr_reg(TX_SYS1_ACR_N_2, (audio_N_tolerance<<4)|((audio_N_para>>16)&0xf)); // N[19:16]
Sorry cannot test this now.