<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/soundwire/stream.c, branch linux-4.20.y</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=linux-4.20.y</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=linux-4.20.y'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2018-08-27T04:19:48+00:00</updated>
<entry>
<title>soundwire: keep track of Masters in a stream</title>
<updated>2018-08-27T04:19:48+00:00</updated>
<author>
<name>Shreyas NC</name>
<email>shreyas.nc@intel.com</email>
</author>
<published>2018-07-27T09:14:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=9b5c132a1ec98895fe40ba73a19e0a17293122e5'/>
<id>urn:sha1:9b5c132a1ec98895fe40ba73a19e0a17293122e5</id>
<content type='text'>
A multi link bankswitch can be done if the hardware supports and
the stream is handled by multiple Master(s).

This preparatory patch adds support to track m_rt in a stream.
Modifying m_rt_count and usage is added as part of the next patch.

Signed-off-by: Shreyas NC &lt;shreyas.nc@intel.com&gt;
Acked-by: Pierre-Louis Bossart &lt;pierre-louis.bossart@linux.intel.com&gt;
Signed-off-by: Vinod Koul &lt;vkoul@kernel.org&gt;
</content>
</entry>
<entry>
<title>soundwire: Add support for multi link bank switch</title>
<updated>2018-08-27T04:19:48+00:00</updated>
<author>
<name>Shreyas NC</name>
<email>shreyas.nc@intel.com</email>
</author>
<published>2018-07-27T09:14:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=ce6e74d008ff5c8b43e3bafaa7343bf7eb69593e'/>
<id>urn:sha1:ce6e74d008ff5c8b43e3bafaa7343bf7eb69593e</id>
<content type='text'>
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 &lt;sanyog.r.kale@intel.com&gt;
Signed-off-by: Shreyas NC &lt;shreyas.nc@intel.com&gt;
Acked-by: Pierre-Louis Bossart &lt;pierre-louis.bossart@linux.intel.com&gt;
Signed-off-by: Vinod Koul &lt;vkoul@kernel.org&gt;
</content>
</entry>
<entry>
<title>soundwire: Handle multiple master instances in a stream</title>
<updated>2018-08-27T04:19:48+00:00</updated>
<author>
<name>Vinod Koul</name>
<email>vkoul@kernel.org</email>
</author>
<published>2018-07-27T09:14:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=48949722ced4daacfa32f13c221f173b87231ead'/>
<id>urn:sha1:48949722ced4daacfa32f13c221f173b87231ead</id>
<content type='text'>
For each SoundWire stream operation, we need to parse master
list and operate upon all master runtime.

This is a preparatory patch to do the boilerplate conversion
of stream handling from single master runtime to handle a
list of master runtime. The code to support bank switch for
multiple master instances is added in the next patch.

Signed-off-by: Sanyog Kale &lt;sanyog.r.kale@intel.com&gt;
Signed-off-by: Shreyas NC &lt;shreyas.nc@intel.com&gt;
Acked-by: Pierre-Louis Bossart &lt;pierre-louis.bossart@linux.intel.com&gt;
Signed-off-by: Vinod Koul &lt;vkoul@kernel.org&gt;
</content>
</entry>
<entry>
<title>soundwire: Add support to lock across bus instances</title>
<updated>2018-08-27T04:19:48+00:00</updated>
<author>
<name>Sanyog Kale</name>
<email>sanyog.r.kale@intel.com</email>
</author>
<published>2018-07-27T09:14:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=0c4a1049cf298721eaec4553d3d5039798086e12'/>
<id>urn:sha1:0c4a1049cf298721eaec4553d3d5039798086e12</id>
<content type='text'>
Currently, the stream concept is limited to single Master and one
or more Codecs.

This patch extends the concept to support multiple Master(s)
sharing the same reference clock and synchronized in the hardware.
Modify sdw_stream_runtime to support a list of sdw_master_runtime
for the same. The existing reference to a single m_rt is removed
in the next patch.

Typically to lock, one would acquire a global lock and then lock
bus instances. In this case, the caller framework(ASoC DPCM)
guarantees that stream operations on a card are always serialized.
So, there is no race condition and hence no need for global lock.

Bus lock(s) are acquired to reconfigure the bus while the stream
is set-up.
So, we add sdw_acquire_bus_lock()/sdw_release_bus_lock() APIs which
are used only to reconfigure the bus.

Signed-off-by: Sanyog Kale &lt;sanyog.r.kale@intel.com&gt;
Signed-off-by: Shreyas NC &lt;shreyas.nc@intel.com&gt;
Acked-by: Pierre-Louis Bossart &lt;pierre-louis.bossart@linux.intel.com&gt;
Signed-off-by: Vinod Koul &lt;vkoul@kernel.org&gt;
</content>
</entry>
<entry>
<title>soundwire: Fix acquiring bus lock twice during master release</title>
<updated>2018-08-27T04:19:48+00:00</updated>
<author>
<name>Sanyog Kale</name>
<email>sanyog.r.kale@intel.com</email>
</author>
<published>2018-07-27T09:14:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=8d6ccf5cebbc7ed1dee9986e36853a78dfb64084'/>
<id>urn:sha1:8d6ccf5cebbc7ed1dee9986e36853a78dfb64084</id>
<content type='text'>
As part of sdw_stream_remove_master(), sdw_stream_remove_slave() is called
which results in bus lock being acquired twice.

So, fix it by performing specific Slave remove operations in
sdw_release_master_stream() instead of calling sdw_stream_remove_slave().

Signed-off-by: Sanyog Kale &lt;sanyog.r.kale@intel.com&gt;
Signed-off-by: Shreyas NC &lt;shreyas.nc@intel.com&gt;
Acked-by: Pierre-Louis Bossart &lt;pierre-louis.bossart@linux.intel.com&gt;
Signed-off-by: Vinod Koul &lt;vkoul@kernel.org&gt;
</content>
</entry>
<entry>
<title>soundwire: Fix incorrect exit after configuring stream</title>
<updated>2018-08-27T04:19:48+00:00</updated>
<author>
<name>Shreyas NC</name>
<email>shreyas.nc@intel.com</email>
</author>
<published>2018-07-27T09:14:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=3fef1a2259c556cce34df2791688cb3001f81c92'/>
<id>urn:sha1:3fef1a2259c556cce34df2791688cb3001f81c92</id>
<content type='text'>
In sdw_stream_add_master() after the Master ports are configured,
the stream is released incorrectly.

So, fix it by avoiding stream release after configuring the Master
for the stream.
While at it, rename the label appropriately.

Signed-off-by: Shreyas NC &lt;shreyas.nc@intel.com&gt;
Acked-by: Pierre-Louis Bossart &lt;pierre-louis.bossart@linux.intel.com&gt;
Signed-off-by: Vinod Koul &lt;vkoul@kernel.org&gt;
</content>
</entry>
<entry>
<title>soundwire: Fix duplicate stream state assignment</title>
<updated>2018-08-27T04:19:48+00:00</updated>
<author>
<name>Shreyas NC</name>
<email>shreyas.nc@intel.com</email>
</author>
<published>2018-07-27T09:14:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=0aebe40bae6cf5652fdc3d05ecee15fbf5748194'/>
<id>urn:sha1:0aebe40bae6cf5652fdc3d05ecee15fbf5748194</id>
<content type='text'>
For a SoundWire stream it is expected that a Slave is added to the
stream before Master is added.

So, move the stream state to CONFIGURED after the first Slave is
added and remove the stream state assignment for Master add.
Along with these changes, add additional comments to explain the same.

Signed-off-by: Shreyas NC &lt;shreyas.nc@intel.com&gt;
Acked-by: Pierre-Louis Bossart &lt;pierre-louis.bossart@linux.intel.com&gt;
Signed-off-by: Vinod Koul &lt;vkoul@kernel.org&gt;
</content>
</entry>
<entry>
<title>docs: Fix more broken references</title>
<updated>2018-06-15T21:11:26+00:00</updated>
<author>
<name>Mauro Carvalho Chehab</name>
<email>mchehab+samsung@kernel.org</email>
</author>
<published>2018-05-08T18:14:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=34962fb8070cb5a60b686a5ee11f81f2978836bd'/>
<id>urn:sha1:34962fb8070cb5a60b686a5ee11f81f2978836bd</id>
<content type='text'>
As we move stuff around, some doc references are broken. Fix some of
them via this script:
	./scripts/documentation-file-ref-check --fix

Manually checked that produced results are valid.

Acked-by: Matthias Brugger &lt;matthias.bgg@gmail.com&gt;
Acked-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Acked-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
Acked-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Acked-by: Miguel Ojeda &lt;miguel.ojeda.sandonis@gmail.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab+samsung@kernel.org&gt;
Acked-by: Jonathan Corbet &lt;corbet@lwn.net&gt;
</content>
</entry>
<entry>
<title>soundwire: Add stream configuration APIs</title>
<updated>2018-05-11T16:17:06+00:00</updated>
<author>
<name>Sanyog Kale</name>
<email>sanyog.r.kale@intel.com</email>
</author>
<published>2018-04-26T13:08:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=5c3eb9f7bdf1f141e051605b7b4225b1e83820a2'/>
<id>urn:sha1:5c3eb9f7bdf1f141e051605b7b4225b1e83820a2</id>
<content type='text'>
Add APIs for prepare, enable, disable and de-prepare stream.

Signed-off-by: Sanyog Kale &lt;sanyog.r.kale@intel.com&gt;
Signed-off-by: Shreyas NC &lt;shreyas.nc@intel.com&gt;
Signed-off-by: Vinod Koul &lt;vkoul@kernel.org&gt;
</content>
</entry>
<entry>
<title>soundwire: Add bank switch routine</title>
<updated>2018-05-11T16:17:05+00:00</updated>
<author>
<name>Sanyog Kale</name>
<email>sanyog.r.kale@intel.com</email>
</author>
<published>2018-04-26T13:08:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=99b8a5d608a64254f22483f6b67a98f26d3eac8c'/>
<id>urn:sha1:99b8a5d608a64254f22483f6b67a98f26d3eac8c</id>
<content type='text'>
SoundWire supports two registers banks. So, program the alternate bank
with new configuration and then performs bank switch.

Signed-off-by: Sanyog Kale &lt;sanyog.r.kale@intel.com&gt;
Signed-off-by: Shreyas NC &lt;shreyas.nc@intel.com&gt;
Signed-off-by: Vinod Koul &lt;vkoul@kernel.org&gt;
</content>
</entry>
</feed>
