soc: swr-mstr: Avoid overflow during swr fifo read/write

Avoid swr fifo overflow by checking no. of outstanding
commands in fifo and comparing with fifo depth before
every read/write. If no. of commands is equal to fifo
depth then give some delay and retry. If no of outstanding
commands are still equal to fifo depth then flush fifo
and try writing/reading from fifo again.

Change-Id: Ifd986c7affb70a61f8a90e4960a2779273a7d4d2
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
This commit is contained in:
Vatsal Bucha
2020-07-13 02:30:04 -07:00
committed by Gerrit - the friendly Code Review server
parent b2ab0d8947
commit 47b3116ec1
3 changed files with 78 additions and 1 deletions

View File

@@ -190,6 +190,8 @@ struct swr_mstr_ctrl {
int aud_core_clk_en;
int clk_src;
u32 disable_div2_clk_switch;
u32 rd_fifo_depth;
u32 wr_fifo_depth;
#ifdef CONFIG_DEBUG_FS
struct dentry *debugfs_swrm_dent;
struct dentry *debugfs_peek;