Commit 2c800e3b authored by Pierre-Louis Bossart's avatar Pierre-Louis Bossart Committed by Vinod Koul
Browse files

soundwire: cadence: multi-link support



Enable multi-link (aka multi-master configuration). In this
configuration, updates and commands with the 'ssp_sync' tag will be
deferred and controlled by the gsync hardware signal.

Signed-off-by: default avatarPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20200317163329.25501-17-pierre-louis.bossart@linux.intel.com


Signed-off-by: default avatarVinod Koul <vkoul@kernel.org>
parent b17350e4
Loading
Loading
Loading
Loading
+10 −2
Original line number Diff line number Diff line
@@ -843,7 +843,13 @@ int sdw_cdns_exit_reset(struct sdw_cdns *cdns)
		     CDNS_MCP_CONTROL_HW_RST);

	/* commit changes */
	return cdns_config_update(cdns);
	cdns_updatel(cdns, CDNS_MCP_CONFIG_UPDATE,
		     CDNS_MCP_CONFIG_UPDATE_BIT,
		     CDNS_MCP_CONFIG_UPDATE_BIT);

	/* don't wait here */
	return 0;

}
EXPORT_SYMBOL(sdw_cdns_exit_reset);

@@ -1104,7 +1110,9 @@ int sdw_cdns_init(struct sdw_cdns *cdns)
	/* Disable auto bus release */
	val &= ~CDNS_MCP_CONFIG_BUS_REL;

	/* Multi-master support to be added here */
	if (cdns->bus.multi_link)
		/* Set Multi-master mode to take gsync into account */
		val |= CDNS_MCP_CONFIG_MMASTER;

	/* leave frame delay to hardware default of 0x1F */