From 5d52dd8613ae70d7bd3f4155e13d00d9b0ed655e Mon Sep 17 00:00:00 2001 From: Karthikeyan Mani Date: Thu, 15 Aug 2019 16:58:08 -0700 Subject: [PATCH] soc: swr-mstr: Reduce swr register write sleep timings Reduce swr bulk write and swr command fifo write sleeps to reach coldstart latency numbers. Change-Id: I52f2868a488e167b0a0f617b6af3e79cbf6f7eea Signed-off-by: Karthikeyan Mani --- soc/swr-mstr-ctrl.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/soc/swr-mstr-ctrl.c b/soc/swr-mstr-ctrl.c index f184e1bccfcb..f16f1d837744 100644 --- a/soc/swr-mstr-ctrl.c +++ b/soc/swr-mstr-ctrl.c @@ -397,7 +397,11 @@ static int swr_master_bulk_write(struct swr_mstr_ctrl *swrm, u32 *reg_addr, mutex_lock(&swrm->iolock); for (i = 0; i < length; i++) { /* wait for FIFO WR command to complete to avoid overflow */ - usleep_range(100, 105); + /* + * Reduce sleep from 100us to 10us to meet KPIs + * This still meets the hardware spec + */ + usleep_range(10, 12); swr_master_write(swrm, reg_addr[i], val[i]); } mutex_unlock(&swrm->iolock); @@ -559,7 +563,7 @@ static int swrm_cmd_fifo_wr_cmd(struct swr_mstr_ctrl *swrm, u8 cmd_data, * skip delay if write is handled in platform driver. */ if(!swrm->write) - usleep_range(250, 255); + usleep_range(150, 155); if (cmd_id == 0xF) { /* * sleep for 10ms for MSM soundwire variant to allow broadcast