From 8f6f2d6c03c1d75df64b7e3836bd3bdd7ec9479d Mon Sep 17 00:00:00 2001 From: Sanyog Kale Date: Mon, 4 Dec 2017 15:05:59 +0530 Subject: [PATCH 277/550] soundwire: Change programming sequence for BRA Currently, the register programming (PDI, ALH, DP_CTRL) is performed before FW pipeline creation. The ALH ownership is set to host as part of first SoundWire gateway configuration. Due to this changes in FW, the first instance of BRA fails. This patch changes the sequence and performs register programming after FW pipeline creation. Change-Id: Ifbff05f9033e88541406b42d7d5a5370e1bccdcb Signed-off-by: Sanyog Kale Reviewed-on: Reviewed-by: Prabhu, PuneethX Reviewed-by: Pawse, GuruprasadX Reviewed-by: Singh, Guneshwor O Reviewed-by: Koul, Vinod Tested-by: Sm, Bhadur A --- drivers/sdw/sdw_cnl.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/sdw/sdw_cnl.c b/drivers/sdw/sdw_cnl.c index 9f8e77c20699..95eb7a8fab2b 100644 --- a/drivers/sdw/sdw_cnl.c +++ b/drivers/sdw/sdw_cnl.c @@ -1900,9 +1900,6 @@ static int cnl_sdw_xfer_bulk(struct sdw_master *mstr, /* Fill master number in bra info data structure */ info.mstr_num = mstr->nr; - /* PDI Configuration (ON) */ - cnl_sdw_bra_pdi_config(mstr, true); - /* Prepare TX buffer */ ret = cnl_sdw_bra_data_ops(mstr, block, &info); if (ret < 0) { @@ -1917,6 +1914,9 @@ static int cnl_sdw_xfer_bulk(struct sdw_master *mstr, goto out; } + /* PDI Configuration (ON) */ + cnl_sdw_bra_pdi_config(mstr, true); + /* Trigger START host DMA and pipeline */ ret = ops->bra_platform_xfer(data->bra_data->drv_data, true, &info); if (ret < 0) { -- 2.19.1