From 990c70b0049de363bb33c5d30c852221c2dedae3 Mon Sep 17 00:00:00 2001 From: Laxminath Kasam Date: Fri, 9 Nov 2018 23:15:09 +0530 Subject: [PATCH] soc: swr-mstr: Update hparams for all swr master ports Need to specify hstart and hstop bit fields even if those are not used in frameshape for given port. Soundwire master register config needs to set as 0x0, 0xF for hstart and hstop for those ports. CRs-Fixed: 2333434 Change-Id: I78e103a3d4c9085ea14884691d5df3f35fa7a754 Signed-off-by: Laxminath Kasam --- soc/swr-mstr-ctrl.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/soc/swr-mstr-ctrl.c b/soc/swr-mstr-ctrl.c index 80dd5e8d3f..dc105f20d3 100644 --- a/soc/swr-mstr-ctrl.c +++ b/soc/swr-mstr-ctrl.c @@ -41,6 +41,8 @@ ((reg) | ((id) << 16) | ((dev) << 20) | ((data) << 24)) #define SWR_INVALID_PARAM 0xFF +#define SWR_HSTOP_MAX_VAL 0xF +#define SWR_HSTART_MIN_VAL 0x0 #define SWRM_INTERRUPT_STATUS_MASK 0x1FDFD /* pm runtime auto suspend timer in msecs */ @@ -926,6 +928,10 @@ static void swrm_copy_data_port_config(struct swr_master *master, u8 bank) reg[len] = SWRM_DP_PORT_HCTRL_BANK(i + 1, bank); hparams = (mport->hstart << 4) | mport->hstop; val[len++] = hparams; + } else { + reg[len] = SWRM_DP_PORT_HCTRL_BANK(i + 1, bank); + hparams = (SWR_HSTOP_MAX_VAL << 4) | SWR_HSTART_MIN_VAL; + val[len++] = hparams; } if (mport->blk_pack_mode != SWR_INVALID_PARAM) { reg[len] = SWRM_DP_BLOCK_CTRL3_BANK(i + 1, bank);