diff options
author | Laxminath Kasam <lkasam@codeaurora.org> | 2018-12-04 15:25:39 +0530 |
---|---|---|
committer | Laxminath Kasam <lkasam@codeaurora.org> | 2018-12-04 15:25:39 +0530 |
commit | 314f0ae55e92084463ac1188a7de96433e5de994 (patch) | |
tree | abc8278c03e1013bbc11deb4ab1879629db778fd /drivers | |
parent | 8a475d4ba16373d30f8a57f8e2ee8f997dd00fbb (diff) |
soc: swr-wcd: Apply div2 setting on slave side before bank switch
In soundwire controller, bank switch happen twice
for a playback session with stereo speakers. Ensure
the setting of div2 applied to inactive bank before
bank switch occurs to avoid impact based on bank chosen.
Change-Id: I033b19e78309485ca9da85ec67b54409e6fe22cc
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/soundwire/swr-wcd-ctrl.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/soundwire/swr-wcd-ctrl.c b/drivers/soundwire/swr-wcd-ctrl.c index a8458b9b6e3a..ce2cc512caa9 100644 --- a/drivers/soundwire/swr-wcd-ctrl.c +++ b/drivers/soundwire/swr-wcd-ctrl.c @@ -653,6 +653,10 @@ static u8 get_inactive_bank_num(struct swr_mstr_ctrl *swrm) static void enable_bank_switch(struct swr_mstr_ctrl *swrm, u8 bank, u8 row, u8 col) { + /* apply div2 setting for inactive bank before bank switch */ + swrm_cmd_fifo_wr_cmd(swrm, 0x01, 0xF, 0x00, + SWRS_SCP_HOST_CLK_DIV2_CTL_BANK(bank)); + swrm_cmd_fifo_wr_cmd(swrm, ((row << 3) | col), 0xF, 0xF, SWRS_SCP_FRAME_CTRL_BANK(bank)); } @@ -891,9 +895,6 @@ static void swrm_apply_port_config(struct swr_master *master) __func__, bank, master->num_port); - swrm_cmd_fifo_wr_cmd(swrm, 0x01, 0xF, 0x00, - SWRS_SCP_HOST_CLK_DIV2_CTL_BANK(bank)); - swrm_copy_data_port_config(master, bank); } |