All of lore.kernel.org
 help / color / mirror / Atom feed
From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
To: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>,
	vkoul@kernel.org, broonie@kernel.org
Cc: devicetree@vger.kernel.org, alsa-devel@alsa-project.org,
	bgoswami@codeaurora.org, plai@codeaurora.org,
	lgirdwood@gmail.com, linux-kernel@vger.kernel.org,
	robh+dt@kernel.org, spapothi@codeaurora.org
Subject: Re: [alsa-devel] [PATCH v2 3/5] ASoC: core: add support to snd_soc_dai_get_sdw_stream()
Date: Tue, 13 Aug 2019 14:15:18 -0500	[thread overview]
Message-ID: <f0228cb4-0a6f-17f3-fe03-9be7f5f2e59d@linux.intel.com> (raw)
In-Reply-To: <d7c1fdb2-602f-ecb1-9b32-91b893e7f408@linaro.org>

On 8/13/19 1:06 PM, Srinivas Kandagatla wrote:
> 
> 
> On 13/08/2019 18:51, Pierre-Louis Bossart wrote:
>> On 8/13/19 11:50 AM, Srinivas Kandagatla wrote:
>>> Thanks for the review,
>>>
>>> On 13/08/2019 15:44, Pierre-Louis Bossart wrote:
>>>> On 8/13/19 3:35 AM, Srinivas Kandagatla wrote:
>>>>> On platforms which have smart speaker amplifiers connected via
>>>>> soundwire and modeled as aux devices in ASoC, in such usecases machine
>>>>> driver should be able to get sdw master stream from dai so that it can
>>>>> use the runtime stream to setup slave streams.
>>>>
>>>> using the _set_sdw_stream? I don't fully get the sequence with the 
>>>> wording above.
>>>
>>> Yes, using set_sdw_stream().
>>
>> Maybe I am missing something here, but I don't see where the 
>> set_sdw_stream() is called.
> 
> sorry for the confusion. It was too quick reply. :-)
> I was suppose to say sdw_stream_add_slave() instead of set_sdw_stream().

ok, so get_sdw_stream() and set_sdw_stream() are not meant to be mirrors 
or both implemented. It's just a helper to respectively get a context or 
set a context but a get-modify-set type of operation is not expected.

Do I get this right?

> 
> As Aux device is dailess there is no way to get hold of sdw stream 
> runtime for slave device associated with it.
> 
> Having snd_soc_dai_get_sdw_stream() would help machine driver to get 
> hold of sdw_stream_runtime from controller dai and setup slave streams 
> using sdw_stream_add_slave().
> 
> 
> thanks,
> srini
> 
> 
>>
>> Also I don't fully get the rule. set_sdw_stream() looks required, 
>> get_sdw_stream() is optional, is this what you are suggesting?
>>
>>>>
>>>>>
>>>>> soundwire already as a set function, get function would provide more
>>>>> flexibility to above configurations.
>>>>
>>>> I am not clear if you are asking for both to be used, or get only or 
>>>> set only?
>>>
>>> It depends on the usecase, in db845c usecase  [1] as Aux device is 
>>> dai less, machine driver is using get function to get hold of master 
>>> stream so that it can setup slave port config.
>>>
>>>
>>> Looks like there is a typo in above like
>>>
>>> This was supposed to be "soundwire already has a set function, get 
>>> function would provide more flexibility to above configurations"
>>>
>>> [1] 
>>> https://git.linaro.org/landing-teams/working/qualcomm/kernel.git/tree/sound/soc/qcom/db845c.c?h=integration-linux-qcomlt 
>>>
>>>
>>> thanks,
>>> srini
>>>
>>>>
>>>>>
>>>>> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
>>>>> ---
>>>>>   include/sound/soc-dai.h | 10 ++++++++++
>>>>>   1 file changed, 10 insertions(+)
>>>>>
>>>>> diff --git a/include/sound/soc-dai.h b/include/sound/soc-dai.h
>>>>> index dc48fe081a20..1e01f4a302e0 100644
>>>>> --- a/include/sound/soc-dai.h
>>>>> +++ b/include/sound/soc-dai.h
>>>>> @@ -202,6 +202,7 @@ struct snd_soc_dai_ops {
>>>>>       int (*set_sdw_stream)(struct snd_soc_dai *dai,
>>>>>               void *stream, int direction);
>>>>> +    void *(*get_sdw_stream)(struct snd_soc_dai *dai, int direction);
>>>>>       /*
>>>>>        * DAI digital mute - optional.
>>>>>        * Called by soc-core to minimise any pops.
>>>>> @@ -410,4 +411,13 @@ static inline int 
>>>>> snd_soc_dai_set_sdw_stream(struct snd_soc_dai *dai,
>>>>>           return -ENOTSUPP;
>>>>>   }
>>>>> +static inline void *snd_soc_dai_get_sdw_stream(struct snd_soc_dai 
>>>>> *dai,
>>>>> +                           int direction)
>>>>> +{
>>>>> +    if (dai->driver->ops->get_sdw_stream)
>>>>> +        return dai->driver->ops->get_sdw_stream(dai, direction);
>>>>> +    else
>>>>> +        return ERR_PTR(-ENOTSUPP);
>>>>> +}
>>>>> +
>>>>>   #endif
>>>>>
>>>>
>>> _______________________________________________
>>> Alsa-devel mailing list
>>> Alsa-devel@alsa-project.org
>>> https://mailman.alsa-project.org/mailman/listinfo/alsa-devel
>>

  reply	other threads:[~2019-08-13 19:15 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-13  8:35 [PATCH v2 0/5] soundwire: Add support to Qualcomm SoundWire master Srinivas Kandagatla
2019-08-13  8:35 ` [PATCH v2 1/5] soundwire: Add compute_params callback Srinivas Kandagatla
2019-08-13 14:34   ` Pierre-Louis Bossart
2019-08-13 18:17     ` Srinivas Kandagatla
2019-08-13 19:08       ` Pierre-Louis Bossart
2019-08-14  4:05         ` Vinod Koul
2019-09-04  9:28   ` [alsa-devel] " Vinod Koul
2019-09-04  9:28     ` Vinod Koul
2019-09-04 13:36     ` [alsa-devel] " Pierre-Louis Bossart
2019-09-04 13:36       ` Pierre-Louis Bossart
2019-08-13  8:35 ` [PATCH v2 2/5] soundwire: stream: make stream name a const pointer Srinivas Kandagatla
2019-09-04  9:29   ` [alsa-devel] " Vinod Koul
2019-09-04  9:29     ` Vinod Koul
2019-08-13  8:35 ` [PATCH v2 3/5] ASoC: core: add support to snd_soc_dai_get_sdw_stream() Srinivas Kandagatla
2019-08-13 14:44   ` [alsa-devel] " Pierre-Louis Bossart
2019-08-13 16:50     ` Srinivas Kandagatla
2019-08-13 17:51       ` Pierre-Louis Bossart
2019-08-13 18:06         ` Srinivas Kandagatla
2019-08-13 19:15           ` Pierre-Louis Bossart [this message]
2019-08-13 19:18             ` Mark Brown
2019-08-13 19:38               ` Pierre-Louis Bossart
2019-08-13 19:58                 ` Mark Brown
2019-08-14  4:11                   ` Vinod Koul
2019-08-14  9:08                     ` Mark Brown
2019-08-14 14:09                     ` Pierre-Louis Bossart
2019-10-09  8:32                       ` Srinivas Kandagatla
2019-10-09  8:32                         ` Srinivas Kandagatla
2019-10-09 14:29                         ` Pierre-Louis Bossart
2019-10-09 14:29                           ` Pierre-Louis Bossart
2019-10-09 14:29                           ` Pierre-Louis Bossart
2019-10-09 16:01                           ` Srinivas Kandagatla
2019-10-09 16:01                             ` Srinivas Kandagatla
2019-10-09 16:01                             ` Srinivas Kandagatla
2019-10-09 18:53                             ` Pierre-Louis Bossart
2019-10-09 18:53                               ` Pierre-Louis Bossart
2019-10-10  8:50                               ` Srinivas Kandagatla
2019-10-10  8:50                                 ` Srinivas Kandagatla
2019-10-10 12:03                                 ` Charles Keepax
2019-10-10 12:03                                   ` Charles Keepax
2019-10-10 12:03                                   ` Charles Keepax
2019-10-10 13:51                                   ` Mark Brown
2019-10-10 13:51                                     ` Mark Brown
2019-10-10 14:01                                   ` Pierre-Louis Bossart
2019-10-10 14:01                                     ` Pierre-Louis Bossart
2019-10-10 14:52                                     ` Srinivas Kandagatla
2019-10-10 14:52                                       ` Srinivas Kandagatla
2019-10-10 15:49                                       ` Pierre-Louis Bossart
2019-10-10 15:49                                         ` Pierre-Louis Bossart
2019-10-11 12:30                                         ` Srinivas Kandagatla
2019-10-11 12:30                                           ` Srinivas Kandagatla
2019-08-13 16:03   ` Cezary Rojewski
2019-08-13 16:52     ` Srinivas Kandagatla
2019-08-13 17:29       ` Cezary Rojewski
2019-08-13 19:19         ` Mark Brown
2019-08-13  8:35 ` [PATCH v2 4/5] dt-bindings: soundwire: add bindings for Qcom controller Srinivas Kandagatla
2019-08-23  7:28   ` Vinod Koul
2019-08-30  8:05     ` Srinivas Kandagatla
2019-08-30  8:05       ` [alsa-devel] " Srinivas Kandagatla
2019-08-13  8:35 ` [PATCH v2 5/5] soundwire: qcom: add support for SoundWire controller Srinivas Kandagatla

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=f0228cb4-0a6f-17f3-fe03-9be7f5f2e59d@linux.intel.com \
    --to=pierre-louis.bossart@linux.intel.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=bgoswami@codeaurora.org \
    --cc=broonie@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=lgirdwood@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=plai@codeaurora.org \
    --cc=robh+dt@kernel.org \
    --cc=spapothi@codeaurora.org \
    --cc=srinivas.kandagatla@linaro.org \
    --cc=vkoul@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.