[Sound-open-firmware] [PATCH 1/2] uapi: ipc: Add lbm in sof_ipc_dai_config

Liam Girdwood liam.r.girdwood at linux.intel.com
Tue Jun 5 09:52:13 CEST 2018


On Tue, 2018-06-05 at 13:22 +0800, Pan, Xiuli wrote:
> 
> On 6/5/2018 12:35, Pierre-Louis Bossart wrote:
> > 
> > 
> > On 06/04/2018 08:19 PM, Keyon Jie wrote:
> > > 
> > > 
> > > On 2018年06月04日 23:08, Pierre-Louis Bossart wrote:
> > > > On 6/4/18 4:26 AM, Liam Girdwood wrote:
> > > > > On Mon, 2018-06-04 at 16:58 +0800, Pan, Xiuli wrote:
> > > > > > > > diff --git a/src/include/uapi/ipc.h b/src/include/uapi/ipc.h
> > > > > > > > index 9b1063f..06498fb 100644
> > > > > > > > --- a/src/include/uapi/ipc.h
> > > > > > > > +++ b/src/include/uapi/ipc.h
> > > > > > > > @@ -345,7 +345,7 @@ struct sof_ipc_dai_config {
> > > > > > > >        /* physical protocol and clocking */
> > > > > > > >        uint16_t format;        /* SOF_DAI_FMT_ */
> > > > > > > > -    uint16_t reserved;      /* alignment */
> > > > > > > > +    uint16_t lbm;           /* loopback mode*/
> > > > > > > > 
> > > > > > > 
> > > > > > > loopback is not tied to HW config, it can be enabled/disable at 
> > > > > > > runtime so
> > > > > > > hould use the standard IPC for component commands like volume.
> > > > > > 
> > > > > > OK, this is done by suggestion from Pierre to not use a kcontrol 
> > > > > > but a
> > > > > > static topology token,
> > > > > > So if it is need to be runtime enable/disable. Then a kcontrol or a
> > > > > > debugfs should be used?
> > > > > 
> > > > > kcontrol is more flexible since we don't have to change topologies 
> > > > > and they
> > > > > should come as standard with all SSP topologies.
> > > > 
> > > > I don't really agree here. If a user sets the loopback kcontrol 
> > > > there's no audio any more. "Be careful what you wish for" seems to 
> > > > apply here, 
> > > 
> > > Actually not accurate here, there may still be audio which is coming 
> > > from Tx of the same SSP port, only the audio data from SDI of SSP 
> > > will be ignored.
> > 
> > which is a brilliant feature if you need the microphone data for e.g. 
> > hangouts or similar VoIP... As discussed with Liam, this is fine with 
> > a kcontrol as long as it's not exposed to end users.
> > 
> > > 
> > > > this will generate support issues. LBM is only useful in test modes, 
> > > > and there's no problem generating test configurations.
> > > 
> > > I agree to add LBM kcontrol for each SSP here, similar to kinds of 
> > > kcontrols exported by codec driver, they are only for expert, end 
> > > user should not touch them if they can't understand it.
> > 
> > Good luck with that. We have to add some protection here
> 
> OK, let me have a summary here:
> 1. LBM switch should be bind to each SSP, no question about this.
> 2. LBM switch should be protect or hidden to end user: debugfs or root 
> access kcontrol (curious about if ALSA have such interface)

You could create a debugFS interface that could enable/disable global SOF driver
debug mode. Once this is enabled the kcontrols for "DBG SSPn Loopback" would
then work. 

> For the Kcontrol I have some question below:
> 
> > > 
> > > Thanks,
> > > ~Keyon
> > > 
> > > > 
> > > > > 
> > > > > > I tried to use kcontrol but did not know which widget to bind with
> > > > > > in
> > > > > > the pipeline. The DAPM kcontrol has so many limit.
> > > > > > What would you suggest to do with it?
> > > > > 
> > > > > SSp port is represented by AIF widget ? If so, add a kcontrol to it.
> 
> I tried to add mixer for AIF widgets, but DAPM is designed not to expose 
> a kcontrol for AIF widgets.

ok, then just create a new vendor tuple that can be attached as private data to
the DAI topology object. This tuple "flag" creates a kcontrol in the driver that
uses the DAI component ID. In the FW dai.c handles the command and does the LBM
or whatever.

> I have seen one of patch in EIG kernel
> [WORKAROUND] ASoC: dapm: fix stream directions for dsp_loopback links
> What is this dsp_loopback means here.
> Maybe I think we may add a dai_link widget for the switch.

No idea, I've not seen it.

Liam

> 
> Thanks
> Xiuli
> 
> > > > > 
> > > > > Liam
> 
> 


More information about the Sound-open-firmware mailing list