mirror of
https://github.com/hardkernel/kernel_common_drivers.git
synced 2026-06-25 12:03:48 +09:00
hdmitx: switch mat to pcm will no sound [1/1]
PD#SWPL-185077 Problem: switch mat to pcm will no sound Solution: ACR will stop when switch audio mode; now dont stop ACR when switch audio mode; add some delay before enable audio sample Verify: s7d Test: DRM-TX-33 Change-Id: I58521b98336abca72fe6f75474048b4cde91d581 Signed-off-by: Wenjie Qiao <wenjie.qiao@amlogic.com>
This commit is contained in:
committed by
gerrit autosubmit
parent
ca2c092758
commit
18e52d5106
@@ -1924,7 +1924,6 @@ static void set_aud_acr_pkt(struct aud_para *audio_param)
|
||||
break;
|
||||
}
|
||||
HDMITX_INFO("audio: aud_n_para = %d\n", aud_n_para);
|
||||
hdmitx21_wr_reg(ACR_CTRL_IVCTX, 0x02);
|
||||
hdmitx21_wr_reg(N_SVAL1_IVCTX, (aud_n_para >> 0) & 0xff); //N_SVAL1
|
||||
hdmitx21_wr_reg(N_SVAL2_IVCTX, (aud_n_para >> 8) & 0xff); //N_SVAL2
|
||||
hdmitx21_wr_reg(N_SVAL3_IVCTX, (aud_n_para >> 16) & 0xff); //N_SVAL3
|
||||
@@ -2020,8 +2019,6 @@ static int hdmitx_set_audmode(struct hdmitx_hw_common *tx_hw, struct aud_para *a
|
||||
} else {
|
||||
data32 = (0 << 1);
|
||||
}
|
||||
/* AUDP_TXCTRL : [1] layout; [7] aud_mute_en */
|
||||
data32 |= (1 << 7);
|
||||
hdmitx21_wr_reg(AUDP_TXCTRL_IVCTX, data32 & 0xff);
|
||||
|
||||
set_aud_acr_pkt(audio_param);
|
||||
@@ -2131,6 +2128,11 @@ static int hdmitx_set_audmode(struct hdmitx_hw_common *tx_hw, struct aud_para *a
|
||||
hdmitx_hw_cntl_misc(tx_hw, MISC_AUDIO_RESET, 1);
|
||||
hdmitx21_set_reg_bits(AIP_RST_IVCTX, 0, 0, 1);
|
||||
mutex_unlock(&aud_mutex);
|
||||
/*
|
||||
* audio compliance issue, for YAMAHA-TSR-700,
|
||||
* need delay more time 30ms when switch audio format
|
||||
*/
|
||||
usleep_range(30 * 1000, 30 * 1000 + 10);
|
||||
audio_mute_op(audio_param->aud_output_en);
|
||||
return 0;
|
||||
}
|
||||
@@ -3290,12 +3292,6 @@ static int hdmitx_cntl_misc(struct hdmitx_hw_common *tx_hw, u32 cmd,
|
||||
hdmitx21_set_reg_bits(AUDP_TXCTRL_IVCTX, 1, 7, 1);
|
||||
break;
|
||||
case MISC_AUDIO_ACR_CTRL:
|
||||
/* disable */
|
||||
if (argv == 0)
|
||||
hdmitx21_set_reg_bits(ACR_CTRL_IVCTX, 0, 1, 1);
|
||||
/* enable */
|
||||
if (argv == 1)
|
||||
hdmitx21_set_reg_bits(ACR_CTRL_IVCTX, 1, 1, 1);
|
||||
break;
|
||||
case MISC_SUSFLAG:
|
||||
arm_smccc_smc(HDCPTX_IOOPR, HDCP_SET_SUS_FLAG, !!argv, 0, 0, 0, 0, 0, &res);
|
||||
|
||||
Reference in New Issue
Block a user