ASoC: wcd-spi: fix clock disable
Currently, the clock request is performed during init and the clock is kept on assuming that there will be code download event followed by init. This assumption may not always be true and might cause the clock to be enabled when it is really not needed. Change fixes clock disable such that clock is disabled right after init and re-enabled again if code download event is raised. CRs-fixed: 1071949 Change-Id: Icc415e911653012726e5b81b4fc09199560d5691 Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
This commit is contained in:
parent
d728aa9031
commit
acaf2a7f79
1 changed files with 2 additions and 3 deletions
|
@ -639,12 +639,10 @@ static int wcd_spi_init(struct spi_device *spi)
|
|||
WCD_SPI_SLAVE_TRNS_LEN,
|
||||
0xFFFF0000,
|
||||
(WCD_SPI_RW_MULTI_MAX_LEN / 4) << 16);
|
||||
done:
|
||||
return ret;
|
||||
|
||||
err_wr_en:
|
||||
wcd_spi_clk_ctrl(spi, WCD_SPI_CLK_DISABLE,
|
||||
WCD_SPI_CLK_FLAG_IMMEDIATE);
|
||||
done:
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -845,6 +843,7 @@ static int wdsp_spi_event_handler(struct device *dev, void *priv_data,
|
|||
__func__, event);
|
||||
|
||||
switch (event) {
|
||||
case WDSP_EVENT_PRE_DLOAD_CODE:
|
||||
case WDSP_EVENT_PRE_DLOAD_DATA:
|
||||
ret = wcd_spi_clk_ctrl(spi, WCD_SPI_CLK_ENABLE,
|
||||
WCD_SPI_CLK_FLAG_IMMEDIATE);
|
||||
|
|
Loading…
Add table
Reference in a new issue