aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/soundwire
diff options
context:
space:
mode:
authorShreyas NC <shreyas.nc@intel.com>2018-07-27 14:44:16 +0530
committerVinod Koul <vkoul@kernel.org>2018-08-27 09:49:48 +0530
commitce6e74d008ff5c8b43e3bafaa7343bf7eb69593e (patch)
tree88194f56809b4631aba7cb4e7bfbb8a4b20c8afc /include/linux/soundwire
parentsoundwire: Handle multiple master instances in a stream (diff)
downloadlinux-dev-ce6e74d008ff5c8b43e3bafaa7343bf7eb69593e.tar.xz
linux-dev-ce6e74d008ff5c8b43e3bafaa7343bf7eb69593e.zip
soundwire: Add support for multi link bank switch
In cases of multiple Masters in a stream, synchronization between multiple Master(s) is achieved by performing bank switch together and using Master methods. Add sdw_ml_bank_switch() to wait for completion of bank switch. Signed-off-by: Sanyog Kale <sanyog.r.kale@intel.com> Signed-off-by: Shreyas NC <shreyas.nc@intel.com> Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Signed-off-by: Vinod Koul <vkoul@kernel.org>
Diffstat (limited to 'include/linux/soundwire')
-rw-r--r--include/linux/soundwire/sdw.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/soundwire/sdw.h b/include/linux/soundwire/sdw.h
index 03df709fb8ef..c6aa2bf847c7 100644
--- a/include/linux/soundwire/sdw.h
+++ b/include/linux/soundwire/sdw.h
@@ -678,6 +678,9 @@ struct sdw_master_ops {
* @defer_msg: Defer message
* @clk_stop_timeout: Clock stop timeout computed
* @bank_switch_timeout: Bank switch timeout computed
+ * @multi_link: Store bus property that indicates if multi links
+ * are supported. This flag is populated by drivers after reading
+ * appropriate firmware (ACPI/DT).
*/
struct sdw_bus {
struct device *dev;
@@ -694,6 +697,7 @@ struct sdw_bus {
struct sdw_defer defer_msg;
unsigned int clk_stop_timeout;
u32 bank_switch_timeout;
+ bool multi_link;
};
int sdw_add_bus_master(struct sdw_bus *bus);