All of lore.kernel.org
 help / color / mirror / Atom feed
From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
To: Jaroslav Kysela <perex@perex.cz>, Mark Brown <broonie@kernel.org>,
	Jack Yu <jack.yu@realtek.com>
Cc: "Oder Chiou" <oder_chiou@realtek.com>,
	"alsa-devel@alsa-project.org" <alsa-devel@alsa-project.org>,
	"lars@metafoo.de" <lars@metafoo.de>,
	"lgirdwood@gmail.com" <lgirdwood@gmail.com>,
	"Derek [方德義]" <derek.fang@realtek.com>,
	"Flove(HsinFu)" <flove@realtek.com>,
	"Shuming [范書銘]" <shumingf@realtek.com>,
	"bard.liao@intel.com" <bard.liao@intel.com>,
	"pierre-louis.bossart@intel.com" <pierre-louis.bossart@intel.com>
Subject: Re: [PATCH v2 2/3] ASoC: rt715: remove kcontrols which no longer be used
Date: Fri, 16 Apr 2021 10:58:13 -0500	[thread overview]
Message-ID: <09eaea61-d330-4f88-29cc-15d7b70aa0c4@linux.intel.com> (raw)
In-Reply-To: <4166fcbe-4e62-74f4-b4cc-241ddd07e9dc@perex.cz>


> The only my concern is that RT715 as an universal codec can handle the
> multiple stereo streams (current controls mapping) or the multichannel stream
> (new proposed controls mapping). The ASoC codec code should be universal, so
> it's a question, how to model the controls and how to detect and set the
> model. I think that we're missing a communication way between the DMA /
> machine driver and the codec driver. Yes, we can add DMI checks to RT715, but
> usually, the specific machines are already detected in the higher layer
> (soundwire bus, pci bus). It would be really nice, if the SOF driver can do a
> query: "If present, I need RT715 codec in the multichannel mode.".

The RT715 was an early SoundWire device, and it'll likely be superseded 
by the newer SDCA version. The direction for SDCA 'SmartMic' devices is 
not to manage independent stereo streams corresponding to different 
pairs of microphones, and it's not a solution we want to promote in the 
rest of the stack.

There will be multiple streams provided by the codec, but each stream 
will be tied to a given functionality (regular capture, buffered capture 
with triggers, voice, etc).

In addition, what can be configured by the user for volume/mute in 
'Feature Units' is after platform-specific channel 
remapping/mixing/processing. It could very well be that there are 4 mics 
in a platform but only 2 channels are provided to the host.

In other words, the streams generated by the codec and transmitted on 
the SoundWire bus will always be exposed with N channels, in a 
multichannel mode. We will need to report this N to UCM, currently 
that's missing, and the SOF topologies also have a limitation to 2ch 
that we will need to remove.

> So my opinion is that both mappings may exist and the correct one should be
> selected at runtime. So I won't delete the old mapping, it may be usable. Mark?

What I was suggesting is not to delete the old controls in UCM but make 
them conditional. If present you use them, otherwise you use the newer 
solution.

> BTW: I already implemented the control remap plugin to alsa-lib, so you can
> split / merge controls with similar parameters as you like now. I need to do
> more test with the UCM integration, but it's here.
> 
> https://github.com/alsa-project/alsa-lib/blob/master/src/control/control_remap.c#L1197

thanks for the pointer, I'll have to look into this.

  reply	other threads:[~2021-04-16 16:07 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-29  6:54 [PATCH v2 2/3] ASoC: rt715: remove kcontrols which no longer be used Jack Yu
2021-03-30 17:09 ` Mark Brown
2021-03-30 17:23   ` Jaroslav Kysela
2021-03-30 19:26     ` Pierre-Louis Bossart
2021-04-15 21:35       ` Pierre-Louis Bossart
2021-04-16 13:07         ` Mark Brown
2021-04-16 15:36           ` Pierre-Louis Bossart
2021-04-16 13:40         ` Jaroslav Kysela
2021-04-16 15:58           ` Pierre-Louis Bossart [this message]
2021-04-16 18:34 ` Mark Brown

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=09eaea61-d330-4f88-29cc-15d7b70aa0c4@linux.intel.com \
    --to=pierre-louis.bossart@linux.intel.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=bard.liao@intel.com \
    --cc=broonie@kernel.org \
    --cc=derek.fang@realtek.com \
    --cc=flove@realtek.com \
    --cc=jack.yu@realtek.com \
    --cc=lars@metafoo.de \
    --cc=lgirdwood@gmail.com \
    --cc=oder_chiou@realtek.com \
    --cc=perex@perex.cz \
    --cc=pierre-louis.bossart@intel.com \
    --cc=shumingf@realtek.com \
    /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.