Detailed changes v1.2.11 v1.2.12

From AlsaProject
Revision as of 12:27, 11 June 2024 by Perex (talk | contribs) (1 revision imported)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Detailed changelog between 1.2.7 and 1.2.12 releases

Changelog between 1.2.11 and 1.2.12 releases

alsa-python

Core

- Release v1.2.12 - hcontrol,mixer: improve callback GIL state handling

Link: https://github.com/alsa-project/alsa-python/issues/11
Closes: https://github.com/alsa-project/alsa-python/pull/12

- setup.py: fix symlinks for test programs for python 3 - setup.py: licence -> license

pyalsa.alsahcontrol module

- hcontrol,mixer: improve callback GIL state handling

Link: https://github.com/alsa-project/alsa-python/issues/11
Closes: https://github.com/alsa-project/alsa-python/pull/12

pyalsa.alsamixer module

- hcontrol,mixer: improve callback GIL state handling

Link: https://github.com/alsa-project/alsa-python/issues/11
Closes: https://github.com/alsa-project/alsa-python/pull/12

pyalsa.alsaseq module

- alsaseq: fix seg. fault when accessing `ConstantObject` extra

Closes: https://github.com/alsa-project/alsa-python/pull/10

Detailed changelog between 1.2.6 and 1.2.12 releases

Changelog between 1.2.11 and 1.2.12 releases

alsa-plugins

Core

- Release v1.2.12 - disable -ldl check for *BSDs, find <soundcard.h> path

Closes: https://github.com/alsa-project/alsa-plugins/pull/48

- Release v1.2.7.1

A52 Output plugin

- a52 plugin: add support for FFMPEG 7.0

channel_layout has been replace with ch_layout

avcodec_close has been deprecated in favor of avcodec_free_context

Closes: https://github.com/alsa-project/alsa-plugins/pull/58

- ESTRPIPE not defined, use ESPIPE (not EPIPE)

Closes: https://github.com/alsa-project/alsa-plugins/pull/48

- use EPIPE and EBADF when ESTRPIPE and EBADFD unsupported

Closes: https://github.com/alsa-project/alsa-plugins/pull/48

Arcam AV control plugin

- arcam_av.c: Include missing string.h

bzero() function needs this header to be included

Closes: https://github.com/alsa-project/alsa-plugins/pull/47

Jack PCM plugin

- program_invocation_short_name: __linux__ -> _GNU_SOURCE

Closes: https://github.com/alsa-project/alsa-plugins/pull/48

- remove unused <byteswap.h>, use getprogname() for *BSDs

Closes: https://github.com/alsa-project/alsa-plugins/pull/48

- jack: use program_invocation_short_name - jack: implement pcm operation sw_params

Alsa-lib commit 88e4ae27 introduced a dynamic recalculation of the avail_min
value on the underlaying slave devices.
This updated avail_min value is not reaching the alsa-jack plugin due to lack
of the sw_params operation.
This patch adds this missing operation to correctly apply an updated avail_min
setting during runtime.

OSS Mixer -> ALSA Control plugin

- use <linux/soundcard.h>, <sys/soundcard.h> or

Closes: https://github.com/alsa-project/alsa-plugins/pull/48

PulseAudio -> ALSA plugin

- use EPIPE and EBADF when ESTRPIPE and EBADFD unsupported

Closes: https://github.com/alsa-project/alsa-plugins/pull/48

Rate Converter plugins

- samplerate: Make LGPL-only

As libsamplerate itself was already relicensed to 2-Clause BSD
license, there is no need for restriction of GPL license for
samplerate plugin, too.

Let's switch to LGPL-only for relaxing the use.

Luckily, I am the sole author of this piece of code, so it should be
no legal problem for immediate relicensing.

Closes: https://github.com/alsa-project/alsa-plugins/issues/54

USB stream plugin

- remove unused <byteswap.h>, use getprogname() for *BSDs

Closes: https://github.com/alsa-project/alsa-plugins/pull/48

libavcodec's resampler

- a52 plugin: add support for FFMPEG 7.0

channel_layout has been replace with ch_layout

avcodec_close has been deprecated in favor of avcodec_free_context

Closes: https://github.com/alsa-project/alsa-plugins/pull/58

Detailed changelog between 1.2.11 and 1.2.12 releases

Changelog between 1.2.11 and 1.2.12 releases

alsa-lib

Core

- Release v1.2.12 - GitHub Actions: Use actions/checkout@v4 - pcm: plug - add automatic conversion for iec958 subframe samples

As Pavel noted, a possibility to automatically convert standard
linear samples to iec958 subframe format would be handy for latest
Raspberry HDMI driver.

Link: https://lore.kernel.org/alsa-devel/81b0be0a-5ab7-db91-21cb-0c59a55291e9@ivitera.com/
Suggested-by: Pavel Hofman <pavel.hofman@ivitera.com>

PCM API

- pcm: extend doc for snd_pcm_hw_params_get_sbits()

Try to explain more the output value and its relation between
format and sample bits defined by the format.

Link: https://github.com/larsimmisch/pyalsaaudio/pull/146

- pcm: clarify and fix default sbits (msbits) value for all formats

As described in the kernel patch (link bellow), the significant (resolution)
bits should be related to the usable sample bits not the physical sample bits.

Link: https://lore.kernel.org/linux-sound/20240222173649.1447549-1-perex@perex.cz/
Link: https://github.com/larsimmisch/pyalsaaudio/pull/146

- pcm: ladspa - Skip missing ladspa directories

Closes: https://github.com/alsa-project/alsa-lib/pull/385

- pcm: snd_pcm_(physical_)format_width() - change documentation

The word "nominal" is not so correct here. Use similar
wording as we use in the kernel space (the bit-width of the format).

Link: https://github.com/larsimmisch/pyalsaaudio/pull/146

- pcm: plug - add automatic conversion for iec958 subframe samples

As Pavel noted, a possibility to automatically convert standard
linear samples to iec958 subframe format would be handy for latest
Raspberry HDMI driver.

Link: https://lore.kernel.org/alsa-devel/81b0be0a-5ab7-db91-21cb-0c59a55291e9@ivitera.com/
Suggested-by: Pavel Hofman <pavel.hofman@ivitera.com>

PCM Plugin API

- pcm: plug - add automatic conversion for iec958 subframe samples

As Pavel noted, a possibility to automatically convert standard
linear samples to iec958 subframe format would be handy for latest
Raspberry HDMI driver.

Link: https://lore.kernel.org/alsa-devel/81b0be0a-5ab7-db91-21cb-0c59a55291e9@ivitera.com/
Suggested-by: Pavel Hofman <pavel.hofman@ivitera.com>

Topology API

- topology: correct version script path

contrary to libasound, version script for libatopology is a regular
source file. while it's often the case that $(builddir) and $(srcdir)
point to the same directory, they don't always have to. therefore path
needs to point explicitly to $(srcdir) for Versions script in topology

Closes: https://github.com/alsa-project/alsa-lib/pull/383

Use Case Manager API

- use-case.h: add DisplayPort to HDMI device description

Link: https://github.com/alsa-project/alsa-ucm-conf/pull/423

- ucm: doc - add Variant and Macro to the evaluation order - ucm: define and describe Syntax 7

- for new macro argument substitution
- for new Path condition fields substitutions

Link: https://github.com/alsa-project/alsa-ucm-conf/pull/411
Link: https://github.com/alsa-project/alsa-lib/issues/395

- ucm: raise error when macro argument is already defined (used)

Link: https://github.com/alsa-project/alsa-ucm-conf/pull/411

- ucm: do argument value substitution for Macros

Link: https://github.com/alsa-project/alsa-ucm-conf/pull/411

- ucm: fix Path condition - substitute Path

Use the appropriate variable for access/eaccess call.

- ucm: fix Path condition - substitute Path and Mode fields

The Path and Mode fields should be also substituted for
the runtime evaluation. See Fixes.

Async helpers

- async: snd_async_del_handler - move clear signal using sigaction as last

Improve the shutdown order for the asynchronous users. There may be
unhandled signals, because the signal is reset before signal deactivation
using fnctl (O_ASYNC).

Closes: https://github.com/alsa-project/alsa-lib/issues/394

Configuration

- conf: aliases: hdmi: Include unconditionally the

The hdmi.conf contains the high level macro to be used by cards to create
the hdmi: device.
Instead of including it in different config files, include it in the main
aliases.conf and remove it's inclusion by other config files.

This change is needed to add support for the hdmi: device mapping via UCM.

Closes: https://github.com/alsa-project/alsa-lib/pull/393
Suggested-by: Jaroslav Kysela <perex@perex.cz>

- conf: USB-Audio: Add Corsair HS60 Pro to the IEC958 blacklist

This device is just an external USB soundcard with a female 3.5mm jack
for a headset, no S/PDIF | IEC958 connector. Add it to the blacklist to
prevent it being opened.

Link: https://lore.kernel.org/alsa-devel/ZeWGbxZIc7AF96h0@m.b4.vu/

- conf: USB-Audio: Add more Scarlett devices to the IEC958 blacklist

The Scarlett Solo and 2i2 don't have S/PDIF outputs.

Link: https://lore.kernel.org/alsa-devel/ZeWGbxZIc7AF96h0@m.b4.vu/

Test/Example code

- tests: latency.c - fix copy-n-paste typos (sw -> hw params) in error messages

Closes: https://github.com/alsa-project/alsa-lib/pull/384

alsa-utils

Core

- Release v1.2.12 - aseqsend: initial version

aseqsend is a command-line utility which allows one to send SysEx
(system exclusive) data to ALSA MIDI seqencer port. It can also send
any other MIDI commands.

Closes: https://github.com/alsa-project/alsa-utils/pull/257

- chore: Use actions/checkout@v4

Closes: https://github.com/alsa-project/alsa-utils/pull/259

/seq/Makefile.am

- aseqsend: initial version

aseqsend is a command-line utility which allows one to send SysEx
(system exclusive) data to ALSA MIDI seqencer port. It can also send
any other MIDI commands.

Closes: https://github.com/alsa-project/alsa-utils/pull/257

ALSA Control (alsactl)

- alsactl: don't free a card pointing NULL

alsactl distributed as part of Fedora 40 got a SEGV:

    # journalctl
    ...
    May 17 00:55:58 dev64.localdomain kernel: alsactl[1923]: segfault at 28 ip 00005600705b3373 sp 00007ffd9712bef0 error 4 in alsactl[5600705af000+13000] likely on CPU 5 (core 8, socket 0)
    ...

As the following output of the debug session, card_free() tried a card
pointing NULL:

    $ sudo coredumpctl debug alsactl
               PID: 1923 (alsactl)
               UID: 0 (root)
               GID: 0 (root)
            Signal: 11 (SEGV)
         Timestamp: Fri 2024-05-17 00:55:58 JST (3h 34min ago)
      Command Line: /usr/sbin/alsactl -s -n 19 -c -E ALSA_CONFIG_PATH=/etc/alsa/alsactl.conf --initfile=/lib/alsa/init/00main rdaemon
        Executable: /usr/sbin/alsactl
     Control Group: /system.slice/alsa-state.service
              Unit: alsa-state.service
             Slice: system.slice
           Boot ID: 241b5a2ef86f4940bb3d340583c80d88
        Machine ID: 437365709a8c488c9481ee4b6651c2ec
          Hostname: dev64.localdomain
           Storage: /var/lib/systemd/coredump/core.alsactl.0.241b5a2ef86f4940bb3d340583c80d88.1923.1715874958000000.zst (present)
      Size on Disk: 81.7K
           Package: alsa-utils/1.2.11-1.fc40
          build-id: 3b6fec58b3566d666d6e9fd48e8fcf04f03f0152
           Message: Process 1923 (alsactl) of user 0 dumped core.

                    Module libasound.so.2 from rpm alsa-lib-1.2.11-2.fc40.x86_64
                    Module alsactl from rpm alsa-utils-1.2.11-1.fc40.x86_64
                    Stack trace of thread 1923:
                    #0  0x00005600705b3373 card_free (alsactl + 0xa373)
                    #1  0x00005600705c0e54 state_daemon (alsactl + 0x17e54)
                    #2  0x00005600705b2339 main (alsactl + 0x9339)
                    #3  0x00007f4c0b9b7088 __libc_start_call_main (libc.so.6 + 0x2a088)
                    #4  0x00007f4c0b9b714b __libc_start_main_impl (libc.so.6 + 0x2a14b)
                    #5  0x00005600705b2df5 _start (alsactl + 0x9df5)
                    ELF object binary architecture: AMD x86-64

    GNU gdb (Fedora Linux) 14.2-1.fc40
    Copyright (C) 2023 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.
    Type "show copying" and "show warranty" for details.
    This GDB was configured as "x86_64-redhat-linux-gnu".
    Type "show configuration" for configuration details.
    For bug reporting instructions, please see:
    <https://www.gnu.org/software/gdb/bugs/>.
    Find the GDB manual and other documentation resources online at:
        <http://www.gnu.org/software/gdb/documentation/>.

    For help, type "help".
    Type "apropos word" to search for commands related to "word"...
    Reading symbols from /usr/sbin/alsactl...
    Reading symbols from /usr/lib/debug/usr/sbin/alsactl-1.2.11-1.fc40.x86_64.debug...
    [New LWP 1923]
    [Thread debugging using libthread_db enabled]
    Using host libthread_db library "/lib64/libthread_db.so.1".
    Core was generated by `/usr/sbin/alsactl -s -n 19 -c -E ALSA_CONFIG_PATH=/etc/alsa/alsactl.conf --init'.
    Program terminated with signal SIGSEGV, Segmentation fault.
    #0  free_list (list=0x20) at /usr/src/debug/alsa-utils-1.2.11-1.fc40.x86_64/alsactl/daemon.c:73
    73          for (i = 0; i < list->size; i++)
    (gdb) where
    #0  free_list (list=0x20) at /usr/src/debug/alsa-utils-1.2.11-1.fc40.x86_64/alsactl/daemon.c:73
    #1  card_free (card=card@entry=0x5600707455f0) at /usr/src/debug/alsa-utils-1.2.11-1.fc40.x86_64/alsactl/daemon.c:82
    #2  0x00005600705c0e54 in state_daemon (file=file@entry=0x5600705c31a1 "/var/lib/alsa/asound.state", cardname=cardname@entry=0x0, period=period@entry=300,
        pidfile=pidfile@entry=0x5600705c3170 "/var/run/alsactl.pid") at /usr/src/debug/alsa-utils-1.2.11-1.fc40.x86_64/alsactl/daemon.c:455
    #3  0x00005600705b2339 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/alsa-utils-1.2.11-1.fc40.x86_64/alsactl/alsactl.c:459
    (gdb) list
    68
    69  static void free_list(struct id_list *list)
    70  {
    71          int i;
    72
    73          for (i = 0; i < list->size; i++)
    74                  free(list->list[i]);
    75          free(list->list);
    76  }
    77
    (gdb) up
    #1  card_free (card=card@entry=0x5600707455f0) at /usr/src/debug/alsa-utils-1.2.11-1.fc40.x86_64/alsactl/daemon.c:82
    82          free_list(&c->blacklist);
    (gdb) p c
    $1 = (struct card *) 0x0
    (gdb)

Closes: https://github.com/alsa-project/alsa-utils/pull/267

alsa-info.sh

- alsa-info.sh: log SoundWire devices reported in ACPI

Track SoundWire devices reported in ACPI, this will help detect
missing or invalid configurations.

For now we only filter information from Realtek, Cirrus Logic and TI,
based on the manufacturer ID of their devices.

Example log for the classic RT711/RT1316x2/RT714 configuration.

!!ACPI SoundWire Device Status Information
!!---------------

Realtek 0x000030025d071101
Realtek 0x000331025d131601
Realtek 0x000230025d131601
Realtek 0x000130025d071401

As noted by reviewers, the script reports everything exposed in
ACPI. In practice some of the devices listed may not be physically
populated in hardware, or be listed as attached on a link that's
disabled by the manager. The drivers can cope with this case, it's not
technically an error.

Closes: https://github.com/alsa-project/alsa-utils/pull/264

alsamixer

- alsamixer: fix calculation in set_normalized_volume (overflow)

Lowering volume below 0 causes overflow spike to 100% volume (volume goes
below 0 and back to 100 repeatedly). 0 overflows past infinity when holding
down z,x,c.

> value = lrint_dir(6000.0 * log10(volume), dir) + max;
   (where volume = 0 , and dir = -1 . min = -9999999 , and max = -6)
> log10(0) is negative infinity = error

alsatplg (topology)

- topology: nhlt: Intel: Improve all error prints

Many error prints had obsolete function name written in them, use
__func__ everywhere and add problematic value to the print if its
available.

Closes: https://github.com/alsa-project/alsa-utils/pull/254

- topology: nhlt: Intel: Clear DMIC BFTH bits for version

The former Burst Fifo ThresHold bits 20-23 in output register are
specified as reserved bits starting from driver version 4.

Closes: https://github.com/alsa-project/alsa-utils/pull/254

- topology: nhlt: Intel: Add check for DMIC version

Error if the version passed from topology is not known. Also fix the
dmic_set_params() error prints for to show the correct function name.

Closes: https://github.com/alsa-project/alsa-utils/pull/254

aplay/arecord

- aplay: fix S24_LE wav header

S24_LE is 32 bits in width storing 24 bits of data and 8 bits of padding
So wav header needs to be 32 bits not 24

Closes: https://github.com/alsa-project/alsa-utils/pull/260

aseqdump

- aseqdump: Add dump for UMP Utility and System messages

Add the dump functions for UMP Type 0 (Utility) and Type 1 (System)
messages.

aseqsend

- aseqsend: initial version

aseqsend is a command-line utility which allows one to send SysEx
(system exclusive) data to ALSA MIDI seqencer port. It can also send
any other MIDI commands.

Closes: https://github.com/alsa-project/alsa-utils/pull/257

alsa-ucm-conf

Configuration

- sof-soundwire: fix missing MultiCodec1 initialization and Empty condition - UCM2: Intel: sof-hda-dsp: Control SOF processing from UCM

This patch adds to Intel/sof-hda-dsp/HiFi.conf inclusion of
HiFi-sof.conf that by redefine of headphone and speaker handling
adds to UCM control of DRC and EQ SOF processing components.

The modified setting are applied in case of SOF processing
components' controls are detected. There is no change to operation
if no controls are present e.g. with legacy SOF topology.

If DRC control is found, it is assumed that also FIR and IIR
also exist. If there is no DRC but FIR is found, then it is assumed
that IIR also exists. This matches SOF FW builds for IPC3 (FIR, IIR)
and IPC4 (DRC, FIR, IIR). The controls names are different in IPC3
and IPC4 topologies. Also the configuration blobs differ.

The speaker mode is by default set up with 100 Hz high-pass IIR. The
DRC is set to a default speaker setting that boosts playback loudness.
The FIR is bypassed.

In the headphone mode all the processing is set to bypass and DRC
switch is set off.

The processing can be customized for products with UCM scripts placed
into blobs/sof/product_configs. The file path should be
<sys_vendor>/<product_name>.conf from DMI ID. An user configuration can
be similarly placed into blobs/sof/user_configs directory to e.g. avoid
it being overwritten by distribution.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/419

- UCM2: SOF: Add example blobs customization for AAEON

This example shows how to define IIR, FIR, and DRC processing for
speaker and headphone endpoints.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/419

- UCM2: Add sample SOF processing configuration blobs

The example set contains passthrough configuration blobs with SOF IPC3
and IPC4 headers for DRC, FIR, and IIR. A few high-pass configurations
are added for IIR to be used e.g. for speakers. A DRC blob is added
that can be used to boost speaker playback loudness.

The blobs are all in binary format.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/419

- codecs: qcom-lpass/tx-macro: Move TX1 MODE ctrl to

The tx-macro is a common interface for WCD937x and wcd938x and
also the TX1 MODE setting is not applicable for WCD937x codec.

The TX1 MODE mixer controller is derived in WCD938x codec driver,
So move TX1 MODE mixer control to wcd938x.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/421

- ucm2: codecs: wcd937x: add codec sequences

Add default, enable/disable codec sequence for Headphone and Mic on
WCD937x codec

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/421

- ucm2: soundwire: add rt722 SDCA device

Add support of ucm to rt722 SDCA.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/409

- ucm2: Qualcomm: x1e80100: add recording via DMIC01

Add support for Digital Microphones DMIC01 on Qualcomm X1E80100 CRD
board.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/414

- ucm2: sof-soundwire: Create ALSA config file for hdmi:

If the HDMI PCM index (3-5) is found in iec61937-pcm list of the card's
components list then use the HdmiPCM/HdmiPCMSave macros to create the
configuration file.

The PCMs that will be created are:
aplay -L | grep hdmi

hdmi:CARD=sofsoundwire,DEV=0
hdmi:CARD=sofsoundwire,DEV=1
hdmi:CARD=sofsoundwire,DEV=2

Audio servers (Pulseaudio, Pipewrire) or applications then can use these for
bytestream passthrough, for example:
mplayer -ao alsa:device=hdmi=sofsoundwire,DEV=0 -ac hwdts <video with dts>

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/411

- ucm2: Intel/sof-hda-dsp: Create ALSA config file for

If the HDMI PCM index (3-5) is found in iec61937-pcm list of the card's
components list then use the HdmiPCM/HdmiPCMSave macros to create the
configuration file.

The PCMs that will be created are:
aplay -L | grep hdmi

hdmi:CARD=sofhdadsp,DEV=0
hdmi:CARD=sofhdadsp,DEV=1
hdmi:CARD=sofhdadsp,DEV=2

Audio servers (Pulseaudio, Pipewrire) or applications then can use these for
bytestream passthrough, for example:
mplayer -ao alsa:device=hdmi=sofhdadsp,DEV=0 -ac hwdts <video with dts>

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/411

- ucm2: common: pcm: Add hdmi.conf to handle the creation

User space expect to see hdmi: PCM devices to be able to use bytestream
passthrough.

The common/pcm/hdmi.conf provides two macros:
HdmiPCM: to generate an ALSA conf section for an hdmi: PCM device
HdmiPCMSave: to save the generated config

Example of use (sof-hda-dsp card with hardware HDMI PCMs: 3-5):
Macro.0.HdmiPCM { Device 3 Index 0 }
Macro.1.HdmiPCM { Device 4 Index 1 }
Macro.2.HdmiPCM { Device 5 Index 2 }
Macro.3.HdmiPCMSave { }

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/411

- sof-soundwire: Add basic support for cs42l43's speaker

Previous support was added for the mics and headset on cs42l43, expand
this support with additional configuration for the speaker output.

Link: https://lore.kernel.org/alsa-devel/20240423154305.2782347-1-ckeepax@opensource.cirrus.com/

- qcom: sdm845: MM1: enable jack detection

This has been added to kernel recently, so make use of it here.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/408

- qcom: sdm845: MM1: use analog volume controls instead of

Besides the improvement by using analog volume control, it also makes
volume levels normal instead of insanely high levels reached by this
digital mixer.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/408

- ucm2: Qualcomm: x1e80100: correct headphones

Fix wireplumber warnings:

  Path HP Digital is not a volume or mute control

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/396

- ucm2: Qualcomm: x1e80100: add number of channels

Describe number of playback channels for speakers (where it is not
obvious: 4 channels) and headphones.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/396

- Add support for Coachz with HDMI disabled

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/403

- USB-Audio: ALC4080: Add support for MSI MEG Z790 Ace

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/405

- ucm2: MediaTek: mt8195-sof: Add support for Tomato RT5682s

A later revision of the MT8195 Cherry Tomato Chromebook (Acer Chromebook
Spin 513 CP513-2H, Revision 3 and 4) are using the RT5682s codec instead
of RT5682i.

The differences are only about a couple of missing switches, where the
'i' variant had a switch for the L/R Headphone output and a configurable
DAC L/R Mux, while the 's' one misses the mux control and solely relies
on the main Headphone Switch.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/406

- sof-soundwire: rt1316/rt1318 - fix channel selection for one amp

Like in commit 9e29f9e27f4e27dce40d8d6803031bb4f7be3c48, use L-R
channel selection when single amp is present.

- sof-soundwire: rt1308: Fix single amp configuration

If the device have single rt1308 amp then the codec's Channel Select should
be set to "LR" and not to "LL". "LL" is only valid if we have 2 amps, in
that case one is the Left and the other is the Right channel.

This fixes for example Dell Latitude 9520 which only played on the Left
speaker, Right is silent.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/402
Suggested-by: Jaroslav Kysela <perex@perex.cz>

- sof-soundwire: fix rt1318 config copy-n-paste error in rt1318spk macro - sof-soundwire: fix rt1318 config typo in rt1318spk macro - USB-Audio: ALC4080: add 0b05:1af1 ASUS ROG Strix Z790-A Gaming Wifi II

Description

- Release v1.2.12