diff mbox

[3/5] ALSA: hdac: Add snd_hdac_get_hdac_stream()

Message ID 1440173181-3150-4-git-send-email-vinod.koul@intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Vinod Koul Aug. 21, 2015, 4:06 p.m. UTC
From: Jeeja KP <jeeja.kp@intel.com>

Add a helper to find the stream using stream tag and direction.
This is useful for drivers to query stream based on stream tag and
direction, fox example while downloading FW thru DSP loader code

Signed-off-by: Jeeja KP <jeeja.kp@intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
---
 include/sound/hdaudio.h |  2 ++
 sound/hda/hdac_stream.c | 19 +++++++++++++++++++
 2 files changed, 21 insertions(+)

Comments

Takashi Iwai Aug. 21, 2015, 4:35 p.m. UTC | #1
On Fri, 21 Aug 2015 18:06:19 +0200,
Vinod Koul wrote:
> 
> From: Jeeja KP <jeeja.kp@intel.com>
> 
> Add a helper to find the stream using stream tag and direction.
> This is useful for drivers to query stream based on stream tag and
> direction, fox example while downloading FW thru DSP loader code
> 
> Signed-off-by: Jeeja KP <jeeja.kp@intel.com>
> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
> ---
>  include/sound/hdaudio.h |  2 ++
>  sound/hda/hdac_stream.c | 19 +++++++++++++++++++
>  2 files changed, 21 insertions(+)
> 
> diff --git a/include/sound/hdaudio.h b/include/sound/hdaudio.h
> index e37c3355ae8a..67f7068696b9 100644
> --- a/include/sound/hdaudio.h
> +++ b/include/sound/hdaudio.h
> @@ -438,6 +438,8 @@ void snd_hdac_stream_init(struct hdac_bus *bus, struct hdac_stream *azx_dev,
>  struct hdac_stream *snd_hdac_stream_assign(struct hdac_bus *bus,
>  					   struct snd_pcm_substream *substream);
>  void snd_hdac_stream_release(struct hdac_stream *azx_dev);
> +struct hdac_stream *snd_hdac_get_hdac_stream(struct hdac_bus *bus,
> +						int dir, int stream_tag);
>  
>  int snd_hdac_stream_setup(struct hdac_stream *azx_dev);
>  void snd_hdac_stream_cleanup(struct hdac_stream *azx_dev);
> diff --git a/sound/hda/hdac_stream.c b/sound/hda/hdac_stream.c
> index 4c15d0accc9e..02aed2e85504 100644
> --- a/sound/hda/hdac_stream.c
> +++ b/sound/hda/hdac_stream.c
> @@ -286,6 +286,25 @@ void snd_hdac_stream_release(struct hdac_stream *azx_dev)
>  }
>  EXPORT_SYMBOL_GPL(snd_hdac_stream_release);
>  
> +/**
> + * snd_hdac_get_hdac_stream - return hdac_stream based on stream_tag and
> + * direction
> + *
> + * @bus: HD-audio core bus
> + */

Please complete the description.

> +struct hdac_stream *snd_hdac_get_hdac_stream(struct hdac_bus *bus,
> +						int dir, int stream_tag)
> +{
> +	struct hdac_stream *s;
> +
> +	list_for_each_entry(s, &bus->stream_list, list) {
> +		if (s->direction == dir && s->stream_tag == stream_tag)
> +			return s;
> +	}
> +
> +	return NULL;
> +}
> +EXPORT_SYMBOL_GPL(snd_hdac_get_hdac_stream);
>  /*

Put the empty line after EXPORT_SYMBOL_GPL().


thanks,

Takashi
Vinod Koul Aug. 23, 2015, 5:45 a.m. UTC | #2
On Fri, Aug 21, 2015 at 06:35:09PM +0200, Takashi Iwai wrote:
> On Fri, 21 Aug 2015 18:06:19 +0200,
> > +/**
> > + * snd_hdac_get_hdac_stream - return hdac_stream based on stream_tag and
> > + * direction
> > + *
> > + * @bus: HD-audio core bus
> > + */
> 
> Please complete the description.
Okay will add more details

> > +EXPORT_SYMBOL_GPL(snd_hdac_get_hdac_stream);
> >  /*
> 
> Put the empty line after EXPORT_SYMBOL_GPL().
Sure
diff mbox

Patch

diff --git a/include/sound/hdaudio.h b/include/sound/hdaudio.h
index e37c3355ae8a..67f7068696b9 100644
--- a/include/sound/hdaudio.h
+++ b/include/sound/hdaudio.h
@@ -438,6 +438,8 @@  void snd_hdac_stream_init(struct hdac_bus *bus, struct hdac_stream *azx_dev,
 struct hdac_stream *snd_hdac_stream_assign(struct hdac_bus *bus,
 					   struct snd_pcm_substream *substream);
 void snd_hdac_stream_release(struct hdac_stream *azx_dev);
+struct hdac_stream *snd_hdac_get_hdac_stream(struct hdac_bus *bus,
+						int dir, int stream_tag);
 
 int snd_hdac_stream_setup(struct hdac_stream *azx_dev);
 void snd_hdac_stream_cleanup(struct hdac_stream *azx_dev);
diff --git a/sound/hda/hdac_stream.c b/sound/hda/hdac_stream.c
index 4c15d0accc9e..02aed2e85504 100644
--- a/sound/hda/hdac_stream.c
+++ b/sound/hda/hdac_stream.c
@@ -286,6 +286,25 @@  void snd_hdac_stream_release(struct hdac_stream *azx_dev)
 }
 EXPORT_SYMBOL_GPL(snd_hdac_stream_release);
 
+/**
+ * snd_hdac_get_hdac_stream - return hdac_stream based on stream_tag and
+ * direction
+ *
+ * @bus: HD-audio core bus
+ */
+struct hdac_stream *snd_hdac_get_hdac_stream(struct hdac_bus *bus,
+						int dir, int stream_tag)
+{
+	struct hdac_stream *s;
+
+	list_for_each_entry(s, &bus->stream_list, list) {
+		if (s->direction == dir && s->stream_tag == stream_tag)
+			return s;
+	}
+
+	return NULL;
+}
+EXPORT_SYMBOL_GPL(snd_hdac_get_hdac_stream);
 /*
  * set up a BDL entry
  */