[alsa-devel] [PATCH v6 07/10] soundwire: keep track of Masters in a stream
Sanyog Kale
sanyog.r.kale at intel.com
Mon Jul 23 05:50:39 CEST 2018
On Thu, Jul 19, 2018 at 10:06:30AM -0500, Pierre-Louis Bossart wrote:
> On 7/16/18 1:47 PM, Sanyog Kale wrote:
> >From: Shreyas NC <shreyas.nc at intel.com>
> >
> >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.
>
> The order of the patches seems off, you are adding the definition of
> m_rt_count in patch 7 but using it in patch 6, that'll break git bisect.
> What am i missing?
>
> It'd also make more sense to have the reference counts in the same patch,
> it's hard to track otherwise, so maybe one patch to add the definitions and
> inits and the second to increase/decrease+use the value as needed.
>
Ok. Will check and update accordingly.
> >
> >Signed-off-by: Shreyas NC <shreyas.nc at intel.com>
> >Signed-off-by: Sanyog Kale <sanyog.r.kale at intel.com>
> >---
> > drivers/soundwire/stream.c | 2 ++
> > include/linux/soundwire/sdw.h | 2 ++
> > 2 files changed, 4 insertions(+)
> >
> >diff --git a/drivers/soundwire/stream.c b/drivers/soundwire/stream.c
> >index 7e75a400d03e..539b98ec18d9 100644
> >--- a/drivers/soundwire/stream.c
> >+++ b/drivers/soundwire/stream.c
> >@@ -759,6 +759,7 @@ struct sdw_stream_runtime *sdw_alloc_stream(char *stream_name)
> > stream->name = stream_name;
> > INIT_LIST_HEAD(&stream->master_list);
> > stream->state = SDW_STREAM_ALLOCATED;
> >+ stream->m_rt_count = 0;
> > return stream;
> > }
> >@@ -963,6 +964,7 @@ int sdw_stream_remove_master(struct sdw_bus *bus,
> > sdw_master_port_release(bus, m_rt);
> > sdw_release_master_stream(m_rt, stream);
> >+ stream->m_rt_count--;
> > }
> > if (list_empty(&stream->master_list))
> >diff --git a/include/linux/soundwire/sdw.h b/include/linux/soundwire/sdw.h
> >index 03df709fb8ef..214e14604d9f 100644
> >--- a/include/linux/soundwire/sdw.h
> >+++ b/include/linux/soundwire/sdw.h
> >@@ -771,6 +771,7 @@ struct sdw_stream_params {
> > * @master_list: List of Master runtime(s) in this stream.
> > * master_list can contain only one m_rt per Master instance
> > * for a stream
> >+ * @m_rt_count: Count of Master runtime(s) in this stream
> > */
> > struct sdw_stream_runtime {
> > char *name;
> >@@ -778,6 +779,7 @@ struct sdw_stream_runtime {
> > enum sdw_stream_state state;
> > enum sdw_stream_type type;
> > struct list_head master_list;
> >+ int m_rt_count;
> > };
> > struct sdw_stream_runtime *sdw_alloc_stream(char *stream_name);
> >
>
--
More information about the Alsa-devel
mailing list