mbox series

[v2,0/5] regmap/SoundWire/ASoC: Add SoundWire SDCA support

Message ID 20201130144020.19757-1-yung-chuan.liao@linux.intel.com (mailing list archive)
Headers show
Series regmap/SoundWire/ASoC: Add SoundWire SDCA support | expand

Message

Bard Liao Nov. 30, 2020, 2:40 p.m. UTC
The MIPI SoundWire Device Class standard will define audio functionality
beyond the scope of the existing SoundWire 1.2 standard, which is limited
to the bus and interface.

The description is inspired by the USB Audio Class, with "functions",
"entities", "control selectors", "audio clusters". The main difference
with the USB Audio class is that the devices are typically on a motherboard
and descriptors stored in platform firmware instead of being retrieved
from the device.

The current set of devices managed in this patchset are conformant with the
SDCA 0.6 specification and require dedicated drivers since the descriptors
and platform firmware specification is not complete at this time. They do
however rely on the hierarchical addressing required by the SDCA standard.
Future devices conformant with SDCA 1.0 should rely on a class driver.

This series adds support for the hierarchical SDCA addressing and extends
regmap. It then provides 3 codecs for RT711-sdca headset codec, RT1316
amplifier and RT715-scda microphone codec.

Note that the release of this code before the formal adoption of the
SDCA 1.0 specification was formally endorsed by the MIPI Board to make
sure there is no delay for Linux-based support of this specification.

v2:
- rt715-sdca: Use rt715_sdca prefix to avoid compiling issue.
- rt715-sdca: Merge multiple mute/volume operation into single mute/volume
  operation
- rt711-sdca: Initial ret = 0 as it could be used uninitialized.

Jack Yu (1):
  ASoC/SoundWire: rt715-sdca: First version of rt715 sdw sdca codec
    driver

Pierre-Louis Bossart (2):
  soundwire: SDCA: add helper macro to access controls
  regmap/SoundWire: sdw: add support for SoundWire 1.2 MBQ

Shuming Fan (2):
  ASoC/SoundWire: rt1316: Add RT1316 SDCA vendor-specific driver
  ASoC/SoundWire: rt711-sdca: Add RT711 SDCA vendor-specific driver

 drivers/base/regmap/Kconfig             |    6 +-
 drivers/base/regmap/Makefile            |    1 +
 drivers/base/regmap/regmap-sdw-mbq.c    |  101 ++
 include/linux/regmap.h                  |   35 +
 include/linux/soundwire/sdw_registers.h |   32 +
 sound/soc/codecs/Kconfig                |   20 +
 sound/soc/codecs/Makefile               |    6 +
 sound/soc/codecs/rt1316-sdw.c           |  756 ++++++++++++
 sound/soc/codecs/rt1316-sdw.h           |  115 ++
 sound/soc/codecs/rt711-sdca-sdw.c       |  424 +++++++
 sound/soc/codecs/rt711-sdca-sdw.h       |  101 ++
 sound/soc/codecs/rt711-sdca.c           | 1482 +++++++++++++++++++++++
 sound/soc/codecs/rt711-sdca.h           |  246 ++++
 sound/soc/codecs/rt715-sdca-sdw.c       |  278 +++++
 sound/soc/codecs/rt715-sdca-sdw.h       |  170 +++
 sound/soc/codecs/rt715-sdca.c           |  947 +++++++++++++++
 sound/soc/codecs/rt715-sdca.h           |  124 ++
 17 files changed, 4843 insertions(+), 1 deletion(-)
 create mode 100644 drivers/base/regmap/regmap-sdw-mbq.c
 create mode 100644 sound/soc/codecs/rt1316-sdw.c
 create mode 100644 sound/soc/codecs/rt1316-sdw.h
 create mode 100644 sound/soc/codecs/rt711-sdca-sdw.c
 create mode 100644 sound/soc/codecs/rt711-sdca-sdw.h
 create mode 100644 sound/soc/codecs/rt711-sdca.c
 create mode 100644 sound/soc/codecs/rt711-sdca.h
 create mode 100644 sound/soc/codecs/rt715-sdca-sdw.c
 create mode 100644 sound/soc/codecs/rt715-sdca-sdw.h
 create mode 100644 sound/soc/codecs/rt715-sdca.c
 create mode 100644 sound/soc/codecs/rt715-sdca.h

Comments

Liao, Bard Dec. 1, 2020, 2:42 a.m. UTC | #1
> -----Original Message-----
> From: Bard Liao <yung-chuan.liao@linux.intel.com>
> Sent: Monday, November 30, 2020 10:40 PM
> To: alsa-devel@alsa-project.org; vkoul@kernel.org
> Cc: vinod.koul@linaro.org; linux-kernel@vger.kernel.org; tiwai@suse.de;
> broonie@kernel.org; gregkh@linuxfoundation.org; jank@cadence.com;
> srinivas.kandagatla@linaro.org; rander.wang@linux.intel.com;
> ranjani.sridharan@linux.intel.com; hui.wang@canonical.com; pierre-
> louis.bossart@linux.intel.com; Kale, Sanyog R <sanyog.r.kale@intel.com>;
> Liao, Bard <bard.liao@intel.com>
> Subject: [PATCH v2 0/5] regmap/SoundWire/ASoC: Add SoundWire SDCA
> support
> 
> The MIPI SoundWire Device Class standard will define audio functionality
> beyond the scope of the existing SoundWire 1.2 standard, which is limited to
> the bus and interface.
> 
> The description is inspired by the USB Audio Class, with "functions",
> "entities", "control selectors", "audio clusters". The main difference with the
> USB Audio class is that the devices are typically on a motherboard and
> descriptors stored in platform firmware instead of being retrieved from the
> device.
> 
> The current set of devices managed in this patchset are conformant with the
> SDCA 0.6 specification and require dedicated drivers since the descriptors
> and platform firmware specification is not complete at this time. They do
> however rely on the hierarchical addressing required by the SDCA standard.
> Future devices conformant with SDCA 1.0 should rely on a class driver.
> 
> This series adds support for the hierarchical SDCA addressing and extends
> regmap. It then provides 3 codecs for RT711-sdca headset codec, RT1316
> amplifier and RT715-scda microphone codec.
> 
> Note that the release of this code before the formal adoption of the SDCA
> 1.0 specification was formally endorsed by the MIPI Board to make sure
> there is no delay for Linux-based support of this specification.
> 
> v2:
> - rt715-sdca: Use rt715_sdca prefix to avoid compiling issue.
> - rt715-sdca: Merge multiple mute/volume operation into single
> mute/volume
>   operation
> - rt711-sdca: Initial ret = 0 as it could be used uninitialized.
> 
> Jack Yu (1):
>   ASoC/SoundWire: rt715-sdca: First version of rt715 sdw sdca codec
>     driver
> 
> Pierre-Louis Bossart (2):
>   soundwire: SDCA: add helper macro to access controls
>   regmap/SoundWire: sdw: add support for SoundWire 1.2 MBQ
> 
> Shuming Fan (2):
>   ASoC/SoundWire: rt1316: Add RT1316 SDCA vendor-specific driver
>   ASoC/SoundWire: rt711-sdca: Add RT711 SDCA vendor-specific driver
> 

Hi Vinod/Mark,

Could we take this series into Vinod's tree with Mark's Acked-by?
It failed to build on Mark's tree.

> 
> --
> 2.17.1
Vinod Koul Dec. 1, 2020, 4:11 a.m. UTC | #2
On 01-12-20, 02:42, Liao, Bard wrote:

> Hi Vinod/Mark,
> 
> Could we take this series into Vinod's tree with Mark's Acked-by?
> It failed to build on Mark's tree.

I see Mark has already applied 1-3 ..

Thanks
Pierre-Louis Bossart Dec. 1, 2020, 2:35 p.m. UTC | #3
On 11/30/20 10:11 PM, Vinod Koul wrote:
> On 01-12-20, 02:42, Liao, Bard wrote:
> 
>> Hi Vinod/Mark,
>>
>> Could we take this series into Vinod's tree with Mark's Acked-by?
>> It failed to build on Mark's tree.
> 
> I see Mark has already applied 1-3 ..

Sorry, I thought Mark had reversed the entire series.

Vinod, would you mind providing a tag for Mark then? The following 
commit is needed to compile:

b7cab9be7c161 ('soundwire: SDCA: detect sdca_cascade interrupt')

Thank you Sir!
Mark Brown Dec. 1, 2020, 2:53 p.m. UTC | #4
On Tue, Dec 01, 2020 at 08:35:42AM -0600, Pierre-Louis Bossart wrote:
> On 11/30/20 10:11 PM, Vinod Koul wrote:

> > I see Mark has already applied 1-3 ..

> Sorry, I thought Mark had reversed the entire series.

Yeah, I just backed out the one change for the driver.

> Vinod, would you mind providing a tag for Mark then? The following commit is
> needed to compile:

> b7cab9be7c161 ('soundwire: SDCA: detect sdca_cascade interrupt')

That'd work, looks like there's only one fix patch it's based off.
Vinod Koul Dec. 2, 2020, 7:14 a.m. UTC | #5
Hi Mark, 

On 01-12-20, 14:53, Mark Brown wrote:
> On Tue, Dec 01, 2020 at 08:35:42AM -0600, Pierre-Louis Bossart wrote:
> > On 11/30/20 10:11 PM, Vinod Koul wrote:
> 
> > > I see Mark has already applied 1-3 ..
> 
> > Sorry, I thought Mark had reversed the entire series.
> 
> Yeah, I just backed out the one change for the driver.
> 
> > Vinod, would you mind providing a tag for Mark then? The following commit is
> > needed to compile:
> 
> > b7cab9be7c161 ('soundwire: SDCA: detect sdca_cascade interrupt')
> 
> That'd work, looks like there's only one fix patch it's based off.

I have created the tag, please pull:

The following changes since commit 3650b228f83adda7e5ee532e2b90429c03f7b9ec:

  Linux 5.10-rc1 (2020-10-25 15:14:11 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire.git tags/soundwire-for-asoc-5.11

for you to fetch changes up to b7cab9be7c16128a0de21ed7ae67211838813437:

  soundwire: SDCA: detect sdca_cascade interrupt (2020-11-24 14:09:31 +0530)

----------------------------------------------------------------
soundwire-for-asoc-5.11

Tag for asoc to resolve build dependency with commit b7cab9be7c16
("soundwire: SDCA: detect sdca_cascade interrupt")

----------------------------------------------------------------
Pierre-Louis Bossart (1):
      soundwire: SDCA: detect sdca_cascade interrupt

Srinivas Kandagatla (1):
      soundwire: Fix DEBUG_LOCKS_WARN_ON for uninitialized attribute

 drivers/soundwire/bus.c             | 28 +++++++++++++++++++++++++++-
 drivers/soundwire/sysfs_slave_dpn.c |  1 +
 include/linux/soundwire/sdw.h       |  4 ++++
 3 files changed, 32 insertions(+), 1 deletion(-)
Mark Brown Dec. 2, 2020, 4:08 p.m. UTC | #6
On Wed, Dec 02, 2020 at 12:44:05PM +0530, Vinod Koul wrote:

>   Linux 5.10-rc1 (2020-10-25 15:14:11 -0700)
> 
> are available in the Git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire.git tags/soundwire-for-asoc-5.11
> 
> for you to fetch changes up to b7cab9be7c16128a0de21ed7ae67211838813437:
> 
>   soundwire: SDCA: detect sdca_cascade interrupt (2020-11-24 14:09:31 +0530)

Pulled in, thanks.
Mark Brown Dec. 2, 2020, 5:19 p.m. UTC | #7
On Mon, 30 Nov 2020 22:40:15 +0800, Bard Liao wrote:
> The MIPI SoundWire Device Class standard will define audio functionality
> beyond the scope of the existing SoundWire 1.2 standard, which is limited
> to the bus and interface.
> 
> The description is inspired by the USB Audio Class, with "functions",
> "entities", "control selectors", "audio clusters". The main difference
> with the USB Audio class is that the devices are typically on a motherboard
> and descriptors stored in platform firmware instead of being retrieved
> from the device.
> 
> [...]

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next

Thanks!

[3/5] ASoC/SoundWire: rt715-sdca: First version of rt715 sdw sdca codec driver
      commit: 6f4a038b99677f4db737841b81b9d45ed4b54966
[4/5] ASoC/SoundWire: rt1316: Add RT1316 SDCA vendor-specific driver
      (no commit info)
[5/5] ASoC/SoundWire: rt711-sdca: Add RT711 SDCA vendor-specific driver
      (no commit info)

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark