mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-06 10:58:48 +09:00
media: rockchip: hdmirx: fix CTS HF2-86 test fail
If sample_flat field is set to 1, there can't be any sound. Change-Id: I56ad87d1165fe7d1cc993f9522c4e6d50c253b80 Signed-off-by: Chen Shunqing <csq@rock-chips.com>
This commit is contained in:
@@ -3172,7 +3172,7 @@ static void hdmirx_delayed_work_audio(struct work_struct *work)
|
||||
struct rk_hdmirx_dev,
|
||||
delayed_work_audio);
|
||||
struct hdmirx_audiostate *as = &hdmirx_dev->audio_state;
|
||||
u32 fs_audio, ch_audio;
|
||||
u32 fs_audio, ch_audio, sample_flat;
|
||||
int cur_state, init_state, pre_state, fifo_status2;
|
||||
unsigned long delay = 200;
|
||||
|
||||
@@ -3237,6 +3237,10 @@ static void hdmirx_delayed_work_audio(struct work_struct *work)
|
||||
}
|
||||
}
|
||||
as->pre_state = cur_state;
|
||||
|
||||
sample_flat = hdmirx_readl(hdmirx_dev, AUDIO_PROC_STATUS1) & AUD_SAMPLE_FLAT;
|
||||
hdmirx_update_bits(hdmirx_dev, AUDIO_PROC_CONFIG0, I2S_EN, sample_flat ? 0 : I2S_EN);
|
||||
|
||||
exit:
|
||||
schedule_delayed_work_on(hdmirx_dev->bound_cpu,
|
||||
&hdmirx_dev->delayed_work_audio,
|
||||
|
||||
@@ -228,6 +228,7 @@
|
||||
#define AUDIO_PROC_CONFIG3 0x048c
|
||||
#define AUDIO_PROC_STATUS1 0x0490
|
||||
#define AUD_SAMPLE_PRESENT GENMASK(20, 17)
|
||||
#define AUD_SAMPLE_FLAT GENMASK(16, 13)
|
||||
#define SCDC_CONFIG 0x0580
|
||||
#define HPDLOW BIT(1)
|
||||
#define POWERPROVIDED BIT(0)
|
||||
|
||||
Reference in New Issue
Block a user