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:
Chen Shunqing
2023-08-01 07:06:02 +00:00
committed by Tao Huang
parent b406f355a2
commit 0cb0d5f1ec
2 changed files with 6 additions and 1 deletions

View File

@@ -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,

View File

@@ -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)