Detailed changes v1.2.9 v1.2.10

From AlsaProject
Revision as of 19:18, 1 September 2023 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.9 and 1.2.10 releases

Changelog between 1.2.9 and 1.2.10 releases

alsa-lib

Core

- Release v1.2.10 - Fix symver build error on non-ELF platforms

The following error is observed on Microblaze [1] build:

    error: symver is only supported on ELF platforms

due to using __attribute__((symver)) on non-ELF platform.

[1] http://autobuild.buildroot.net/results/1e9/1e965d83d75615f35308440c5db044314a349357/build-end.log

ac_check_attribute_symver.m4 was downloaded from
https://github.com/smuellerDD/libkcapi/blob/master/m4/ac_check_attribute_symver.m4

- doxygen: include docs for shmarea functions

Link: https://github.com/alsa-project/alsa-lib/pull/340

- doxygen: silence warning from asoundlib.h

Link: https://github.com/alsa-project/alsa-lib/pull/340

- doxygen: global: silence 'not documented' warnings

Link: https://github.com/alsa-project/alsa-lib/pull/340

- doxygen: Fix missing group end markers

Link: https://github.com/alsa-project/alsa-lib/pull/340

- configure: add AC_SYS_LARGEFILE

The support for the large files may be disabled using
--disable-largefile configure parameter.

Related: https://github.com/alsa-project/alsa-lib/pull/333

- seq: Add UMP 1.1 features

Add APIs for groupless message filtering.

- seq: Add UMP support

This patch adds the basic support of UMP on ALSA sequencer API.
An extended event type, snd_seq_ump_event_t, is defined.  It's
compatible with the existing type, snd_seq_event_t, but it has a
larger payload of 16 bytes instead of 12 bytes, for holding the full
128bit UMP packet.

The new snd_seq_ump_event_t must have the bit SND_SEQ_EVENT_UMP in the
event flags.

A few new API functions have been added such as
snd_seq_ump_event_output() and snd_seq_ump_event_input() for
reading/writing this new event object.

The support of UMP in the sequencer client is switched by the function
snd_seq_client_set_midi_version().  It can switch from the default
legacy MIDI to UMP MIDI 1.0 or 2.0 on the fly.

The automatic event conversion among UMP and legacy clients can be
suppressed via snd_seq_client_set_ump_conversion().

The inquiry of the associated UMP Endpoints and UMP Blocks can be done
via snd_seq_get_ump_endpoint_info() and snd_seq_get_ump_block_info().

- ump: Add helpers to parse / set UMP packet data

This patch defines the structs / unions that can be used for encoding
and decoding UMP packets, as well as inline helper functions.

- control: Add UMP Endpoint and Block info query support

Add functions to query the UMP Endpoint and Block info via control
interface.

- control: Add UMP device query support

Add a function to query the next available UMP device via control
interface, just like the existing one for rawmidi.  As the UMP rawmidi
is compatible with the standard rawmidi, no extra helper for the
rawmidi_info is present.  Ditto for the preferred subdevice, too.

- ump: Add initial support

This patch adds the initial support for UMP rawmidi access.
It's merely the wrapper for the standard rawmidi to access to the UMP
rawmidi device.

- include: fix SND_DLSYM_BUILD_VERSION() for static build

Correct the dlsym_name string for nested macros. See Fixes:.

Config API

- doxygen: conf: silence 'not documented' warnings

Link: https://github.com/alsa-project/alsa-lib/pull/340

Control API

- doxygen: namehint: silence 'not documented' warnings

Also creates a new module within the Configuration interface
documentation in which to present the name hint docs.

Link: https://github.com/alsa-project/alsa-lib/pull/340

- doxygen: control: silence 'not documented' item warnings

Link: https://github.com/alsa-project/alsa-lib/pull/340

- doxygen: include external control docs

Link: https://github.com/alsa-project/alsa-lib/pull/340

- reshuffle included files to include config.h as first

config.h may contain defines like _FILE_OFFSET_BITS which influence
the system wide include files (off_t types, open -> open64 function
usage etc.).

Related: https://github.com/alsa-project/alsa-lib/pull/333

- control: Add UMP Endpoint and Block info query support

Add functions to query the UMP Endpoint and Block info via control
interface.

- control: Add UMP device query support

Add a function to query the next available UMP device via control
interface, just like the existing one for rawmidi.  As the UMP rawmidi
is compatible with the standard rawmidi, no extra helper for the
rawmidi_info is present.  Ditto for the preferred subdevice, too.

- remove extra trailing new line in SNDMSG and SNDERR calls

Mixer API

- topology: fix src/mixer/mixer.c return value warning - doxygen: fix broken parameter name tags

Link: https://github.com/alsa-project/alsa-lib/pull/340

PCM API

- doxygen: fix broken examples links

Link: https://github.com/alsa-project/alsa-lib/pull/340

- doxygen: pcm: silence 'not documented' warnings

Link: https://github.com/alsa-project/alsa-lib/pull/340

- doxygen: fix inadvertent link requests

Link: https://github.com/alsa-project/alsa-lib/pull/340

- doxygen: fix broken parameter name tags

Link: https://github.com/alsa-project/alsa-lib/pull/340

- pcm: hw: fix minor bug in sw_params ioctl

Commit 2115cdb added a new call to the `SNDRV_PCM_IOCTL_SW_PARAMS`
ioctl on line 675 of src/pcm/pcm_hw.c, but passed the `sw_params`
argument by value; this should be passed by pointer.

I ran across this in the context of the direwolf software modem
for amateur radio; debugging details are in
https://groups.io/g/direwolf/message/8286

- remove extra trailing new line in SNDMSG and SNDERR calls - pcm: hw - prevent divide by zero for broken apps

RawMidi API

- doxygen: fix broken examples links

Link: https://github.com/alsa-project/alsa-lib/pull/340

- doxygen: rawmidi: silence 'not documented' warnings

Link: https://github.com/alsa-project/alsa-lib/pull/340

- doxygen: fix broken parameter name tags

Link: https://github.com/alsa-project/alsa-lib/pull/340

- rawmidi: Suppress error messages for non-fatal errors

Align the behavior of rawmidi errors at open & co with PCM, i.e. use
SYSMSG() instead of SYSERR() for suppressing the error messages as
default.

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

- ump: Add UMP 1.1 features

Add a few new features for UMP 1.1:
- New attributes in UMP Endpoint and Block info
- Static block bit flag for EP info

- ump: Add helpers for handling SysEx data

Yet a few more helpers for handling SysEx data with UMP packets.

- ump: Add helpers to parse / set UMP packet data

This patch defines the structs / unions that can be used for encoding
and decoding UMP packets, as well as inline helper functions.

- ump: Add initial support

This patch adds the initial support for UMP rawmidi access.
It's merely the wrapper for the standard rawmidi to access to the UMP
rawmidi device.

- rawmidi: Add UMP ioctl support

Just implement internal callbacks for two new ioctls for UMP
(ump_endpoint_info and ump_block_info).  No public API functions are
added yet here.

Rawmidi API

- ump: Add initial support

This patch adds the initial support for UMP rawmidi access.
It's merely the wrapper for the standard rawmidi to access to the UMP
rawmidi device.

Sequencer API

- doxygen: seq: silence 'not documented' warnings

Link: https://github.com/alsa-project/alsa-lib/pull/340

- seq: Fix wrong seq version update at snd_seq_hw_get_client_info()

snd_seq_hw_get_client_info() calls mistakenly update_midi_version()
that leads to the update of seq->version from another client info.
It may lead to the inconsistent packet size calculation and the
unaligned read, eventually a program may hit segfault.

Drop the incorrect call of update_midi_version() for fixing it.

Closes: https://github.com/alsa-project/alsa-utils/issues/232

- seq: Add overflow check in snd_seq_ev_set_ump_data()

It's better to add a sanity check than sorry for breaking.
Now the function return -EINVAL.

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

- seq: ump: Fix typo in function name containing "group"

In a couple places the function names were misspelled as "gruop"
instead of "group".  Fix them.

- seq: Add UMP 1.1 features

Add APIs for groupless message filtering.

- seq: Add UMP support

This patch adds the basic support of UMP on ALSA sequencer API.
An extended event type, snd_seq_ump_event_t, is defined.  It's
compatible with the existing type, snd_seq_event_t, but it has a
larger payload of 16 bytes instead of 12 bytes, for holding the full
128bit UMP packet.

The new snd_seq_ump_event_t must have the bit SND_SEQ_EVENT_UMP in the
event flags.

A few new API functions have been added such as
snd_seq_ump_event_output() and snd_seq_ump_event_input() for
reading/writing this new event object.

The support of UMP in the sequencer client is switched by the function
snd_seq_client_set_midi_version().  It can switch from the default
legacy MIDI to UMP MIDI 1.0 or 2.0 on the fly.

The automatic event conversion among UMP and legacy clients can be
suppressed via snd_seq_client_set_ump_conversion().

The inquiry of the associated UMP Endpoints and UMP Blocks can be done
via snd_seq_get_ump_endpoint_info() and snd_seq_get_ump_block_info().

Timer API

- doxygen: fix broken examples links

Link: https://github.com/alsa-project/alsa-lib/pull/340

Topology API

- dogyxen: fix topology.h warnings - doxygen: topology: silence 'not documented' warnings

Link: https://github.com/alsa-project/alsa-lib/pull/340

- doxygen: fix inadvertent link requests

Link: https://github.com/alsa-project/alsa-lib/pull/340

- doxygen: escape xml tags

Link: https://github.com/alsa-project/alsa-lib/pull/340

- doxygen: Fix missing group end markers

Link: https://github.com/alsa-project/alsa-lib/pull/340

- remove extra trailing new line in SNDMSG and SNDERR calls

Use Case Manager API

- ucm: main - remove cast to pointer from integer of different size warning - ucm: mark internal functions static - doxygen: ucm: silence warnings

Removes duplicate documentation blocks and fixes 'not documented' warnings

Link: https://github.com/alsa-project/alsa-lib/pull/340

- doxygen: fix list indentation errors

Link: https://github.com/alsa-project/alsa-lib/pull/340

- doxygen: escape xml tags

Link: https://github.com/alsa-project/alsa-lib/pull/340

- doxygen: fix broken parameter name tags

Link: https://github.com/alsa-project/alsa-lib/pull/340

- usecase: add CaptureMicInfoFile field to documentation

/include/Makefile.am

- ump: Add helpers to parse / set UMP packet data

This patch defines the structs / unions that can be used for encoding
and decoding UMP packets, as well as inline helper functions.

- ump: Add initial support

This patch adds the initial support for UMP rawmidi access.
It's merely the wrapper for the standard rawmidi to access to the UMP
rawmidi device.

ALSA Lisp

- reshuffle included files to include config.h as first

config.h may contain defines like _FILE_OFFSET_BITS which influence
the system wide include files (off_t types, open -> open64 function
usage etc.).

Related: https://github.com/alsa-project/alsa-lib/pull/333

ALSA Server

- reshuffle included files to include config.h as first

config.h may contain defines like _FILE_OFFSET_BITS which influence
the system wide include files (off_t types, open -> open64 function
usage etc.).

Related: https://github.com/alsa-project/alsa-lib/pull/333

Async helpers

- doxygen: global: silence 'not documented' warnings

Link: https://github.com/alsa-project/alsa-lib/pull/340

Configuration

- doxygen: conf: do not hide PCM specific function

Link: https://github.com/alsa-project/alsa-lib/pull/340

- doxygen: conf: silence 'not documented' warnings

Link: https://github.com/alsa-project/alsa-lib/pull/340

- doxygen: fix broken parameter name tags

Link: https://github.com/alsa-project/alsa-lib/pull/340

- reshuffle included files to include config.h as first

config.h may contain defines like _FILE_OFFSET_BITS which influence
the system wide include files (off_t types, open -> open64 function
usage etc.).

Related: https://github.com/alsa-project/alsa-lib/pull/333

Documentation

- doxygen: include docs for shmarea functions

Link: https://github.com/alsa-project/alsa-lib/pull/340

- doxygen: namehint: silence 'not documented' warnings

Also creates a new module within the Configuration interface
documentation in which to present the name hint docs.

Link: https://github.com/alsa-project/alsa-lib/pull/340

- doxygen: seq: silence 'not documented' warnings

Link: https://github.com/alsa-project/alsa-lib/pull/340

- doxygen: conf: silence 'not documented' warnings

Link: https://github.com/alsa-project/alsa-lib/pull/340

- doxygen: include external control docs

Link: https://github.com/alsa-project/alsa-lib/pull/340

- doxygen: fix image path

Link: https://github.com/alsa-project/alsa-lib/pull/340

Dynamic Loader helpers

- doxygen: global: silence 'not documented' warnings

Link: https://github.com/alsa-project/alsa-lib/pull/340

- reshuffle included files to include config.h as first

config.h may contain defines like _FILE_OFFSET_BITS which influence
the system wide include files (off_t types, open -> open64 function
usage etc.).

Related: https://github.com/alsa-project/alsa-lib/pull/333

Kernel Headers

- seq: Add UMP 1.1 features

Add APIs for groupless message filtering.

- uapi: Update rawmidi API to 2.0.4

Sync with the kernel change of rawmidi API for supporting UMP 1.1
features.

- uapi: Update asequencer.h definitions for 1.0.3

Updated from kernel for supporting UMP on sequencer API.

- uapi: Update control API to 2.0.9

Copied from the kernel uapi header for control API.
A few new ioctls have been added for the support of UMP next device
and inquiries of UMP Endpoint and Block info.

- uapi: Update rawmidi API to 2.0.3

Copied from the kernel uapi header for rawmidi API.
A few new structs and constants for UMP are defined in addition to a
few new ioctls.

MIDI 2.0 (UMP)

- ump: Add UMP 1.1 features

Add a few new features for UMP 1.1:
- New attributes in UMP Endpoint and Block info
- Static block bit flag for EP info

- ump: Add helpers for handling SysEx data

Yet a few more helpers for handling SysEx data with UMP packets.

- ump: Add helpers to parse / set UMP packet data

This patch defines the structs / unions that can be used for encoding
and decoding UMP packets, as well as inline helper functions.

- ump: Add initial support

This patch adds the initial support for UMP rawmidi access.
It's merely the wrapper for the standard rawmidi to access to the UMP
rawmidi device.

SHM helpers

- doxygen: global: silence 'not documented' warnings

Link: https://github.com/alsa-project/alsa-lib/pull/340

Test/Example code

- test: oldapi - fix the clang-16 compilation error

alsa-utils

Core

- Release v1.2.10 - github: update build.yml

- use actions/checkout@v3
- improve code to generate a specific git version

- aseqdump: Add UMP support

Add the support for showing the UMP events to aseqdump.
With the new option -u, the program can start as a UMP sequencer
client and receive UMP events instead of the legacy MIDI events.

Also, the automatic event conversion among legacy and UMP clients can
be suppressed by the new -r option, too.

- nhlt: add nhlt-dmic-info utility

The microphone arrays for Intel platforms are described in the
ACPI NHLT table. This table is available in sysfs. Parse this
information and use a more common format (json) for output. This
information is usable for the further DSP processing.

ALSA Control (alsactl)

- alsactl: fix compilation when building in a subdir

Compile errors when building in a subdir:
alsactl/alsactl.c:33:10: fatal error: os_compat.h: No such file or directory
   33 | #include "os_compat.h"
      |          ^~~~~~~~~~~~~
alsactl/lock.c:34:10: fatal error: os_compat.h: No such file or directory
   34 | #include "os_compat.h"
      |          ^~~~~~~~~~~~~

- alsactl: fix the verbose compilation warnings for latest gcc - alsactl: fix the copy-n-paste typo (SND_RAWMIDI_STREAM_*) - alsactl: add define to compile with glibc 2.38

strlcat and strlcpy have been added to glibc 2.38.
update the defines to use the glibc versions, and not conflict with
string.h.

ref:
- https://sourceware.org/git/?p=glibc.git;a=commit;h=454a20c8756c9c1d55419153255fc7692b3d2199

ALSA RawMidi Utility (amidi)

- reshuffle included files to include config.h as first

config.h may contain defines like _FILE_OFFSET_BITS which influence
the system wide include files (off_t types, open -> open64 function
usage etc.).

Related: https://github.com/alsa-project/alsa-utils/pull/223

- amidi: fix the verbose compilation warnings for latest gcc

Audio Transfer utility

- reshuffle included files to include config.h as first

config.h may contain defines like _FILE_OFFSET_BITS which influence
the system wide include files (off_t types, open -> open64 function
usage etc.).

Related: https://github.com/alsa-project/alsa-utils/pull/223

- axfer: fix the verbose compilation warnings for latest gcc

NHLT ACPI parser

- nhlt-dmic-info: fix the verbose compilation warnings for latest gcc - nhlt: add nhlt-dmic-info utility

The microphone arrays for Intel platforms are described in the
ACPI NHLT table. This table is available in sysfs. Parse this
information and use a more common format (json) for output. This
information is usable for the further DSP processing.

Speaker Test

- speaker-test: fix the verbose compilation warnings for latest gcc - speaker-test: allow large buffer and period time setup - up to 100 seconds

BugLink: https://github.com/alsa-project/alsa-utils/issues/224

aconnect

- aconnect: fix the verbose compilation warnings for latest gcc - aconnect: Add UMP support

This patch extends the aconnect program for supporting UMP.
Now the verbose output can show the UMP client version.

Also, a new option -a is added to control the behavior whether to show
the all ports including the inactive ports or not.  As default, only
the active ports are shown, but UMP clients allow to hide some ports
as inactive.

alsaloop

- reshuffle included files to include config.h as first

config.h may contain defines like _FILE_OFFSET_BITS which influence
the system wide include files (off_t types, open -> open64 function
usage etc.).

Related: https://github.com/alsa-project/alsa-utils/pull/223

- alsaloop: fix the verbose compilation warnings for latest gcc

alsamixer

- alsamixer: fix the verbose compilation warnings for latest gcc

alsatplg (topology)

- topology: fix the verbose compilation warnings for latest gcc - topology: plugins: nhlt: remove dmic error print

Remove "fs not set" print from dmic processing. The message is printed out
when pdm is enabled but not configured. Many sof topologies enable all
pdms even if not used as it is a requirement for some Intel firmware
versions to work correctly.

- Topology: NHLT: Intel: Update DMIC FIR coefficients

The previous version contained some hand edit mistakes those
impacted the filter frequency response. The used generator script
is found from directory:

https://github.com/thesofproject/sof/tree/main/tools/tune/dmic .

Use command "dmic_batch.h" to generate these and copy new version
to alsa-utils.

- topology: nhlt: intel: support more device types and directions

In current NHLT table the device type of all SSP endpoints are set to
BT Sideband(0) instead of SSP Analog Codec(4) and the direction only
supports Render(0) and Capture(1).

Here we introduce two new quirks from topology to set the device type
correctly and support two more directions: Render with loopback(2)
and Feedback for render(3) for speakers with echo reference or IV
sense feedback.

- topology: pre-processor: Add support for CombineArrays

Introduce a new keyword, "CombineArrays" to instantiate multiple nodes
of the type specified. For example:

CombineArrays.Object.Base.input_audio_format [
        {
                in_rate [
                        8000
                        16000
                        48000
                ]
                in_bit_depth [
                        32
                ]
                in_valid_bit_depth [
                        24
                        32
                ]
        }
]

This would be expanded into 6 objects with the rate, bit_depth and
valid_bit_depth combinations of the arrays of values above.

Object.Base.input_audio_format [
        {
                in_rate 8000
                in_bit_depth 32
                in_valid_bit_depth 32
        }
        {
                in_rate 16000
                in_bit_depth 32
                in_valid_bit_depth 32
        }
        {
                in_rate 48000
                in_bit_depth 32
                in_valid_bit_depth 32
        }
        {
                in_rate 8000
                in_bit_depth 32
                in_valid_bit_depth 24
        }
        {
                in_rate 16000
                in_bit_depth 32
                in_valid_bit_depth 24
        }
        {
                in_rate 48000
                in_bit_depth 32
                in_valid_bit_depth 24
        }
]

The CombineArrays definition is an array so that multiple combinations can
be specified in order to deal with only valid combinations. For example,
16-bit bit_depth is only valid with 16-bit valid_bit_depth. So if we
also want to add those combinations with the multiple rates, the
definition would look like:

CombineArrays.Object.Base.input_audio_format [
        {
                in_rate [
                        8000
                        16000
                        48000
                ]
                in_bit_depth [
                        32
                ]
                in_valid_bit_depth [
                        24
                        32
                ]
        }
        {
                in_rate [
                        8000
                        16000
                        48000
                ]
                in_bit_depth [
                        16
                ]
                in_valid_bit_depth [
                        16
                ]
        }
]

- topology: plugins: nhlt: set dmic stereo mode only in hw version 1

Dmic stereo mode should be set only in hw version 1. In later hw
versions this bit is reserved.

alsaucm

- alsaucm: fix the verbose compilation warnings for latest gcc

amixer

- reshuffle included files to include config.h as first

config.h may contain defines like _FILE_OFFSET_BITS which influence
the system wide include files (off_t types, open -> open64 function
usage etc.).

Related: https://github.com/alsa-project/alsa-utils/pull/223

- amixer: fix the verbose compilation warnings for latest gcc

aplay/arecord

- aplay: fix the verbose compilation warnings for latest gcc

aplaymidi/arecordmidi

- aplaymidi: fix the verbose compilation warnings for latest gcc - aplaymidi: Add UMP support

By switching via the new option -u, aplaymidi can behave as a UMP
client and output UMP packets instead of legacy sequencer events.
As of now, the only supported version is 1.

aseqdump

- aseqdump: fix MIDI 2.0 code - it compiles now - aseqdump: fix the verbose compilation warnings for latest gcc - aseqdump: Add options to switch view mode

This patch adds to switch the operation mode of aseqdump to specify
how the values are shown.  Namely, it allows to show the MIDI 2.0
values in two more different ways: compatible "normalized" view and
percentage view, in addition to the default "raw" view.

The "raw" view mode just shows the value found in the event almost as
is.  The MIDI 2.0 values are shown in 16 or 32bit hex numbers.
The channel and UMP group numbers are 0-based, taking from 0 to 15.

OTOH, in the normalized view, the 16bit or 32bit velocity and data
values of MIDI 2.0 are normalized to the value fit in MIDI 1.0,
i.e. from 0 to 127, but with decimal points.  Similarly, the pitch
wheel values are normalized between -8192 to 8191.
Also, the channel numbers and UMP group numbers are 1-based, taking
from 1 to 16.

In the percentage view, the velocity and data values are normalized
and shown in percentage, from 0% to 100%.  The pitch wheel is
normalized from -100% to 100%.  The channel and UMP groups are 1-based
as well as in normalized view mode.

- aseqdump: Correct wrong channel number

Correct the wrong value shown in MIDI2 default output (status instead
of channel).  Also adjust the printf formats to use %2d consistently
for the channel numbers.

- aseqdump: Align outputs of UMP MIDI 1.0 with legacy MIDI 1.0

The outputs from UMP MIDI 1.0 are slightly differently shown as the
legacy MIDI 1.0 (the velocities and values are in hex), which is
rather confusing.  Let's make them look more similar.

- aseqdump: Add UMP support

Add the support for showing the UMP events to aseqdump.
With the new option -u, the program can start as a UMP sequencer
client and receive UMP events instead of the legacy MIDI events.

Also, the automatic event conversion among legacy and UMP clients can
be suppressed by the new -r option, too.

aseqnet

- aseqnet: fix the verbose compilation warnings for latest gcc

bat (basic audio tester)

- bat: fix the verbose compilation warnings for latest gcc

gitcompile

- gitcompile: set more verbose compilation warnings

iecset

- iecset: fix the verbose compilation warnings for latest gcc

alsa-ucm-conf

Configuration

- mtk-rt5650: remove duplicate JackControl "Headset Jack" lines

We cannot judge which device should be activated in this case.

- USB-Audio: ALC4080 - 26ce:0a08 - Z790 PG-ITX/TB4 - USB-Audio: ALC4080 - 26ce:0a06 - ASRock X670E Taichi

BugLink: https://github.com/alsa-project/alsa-ucm-conf/issues/229
Co-developed-by: Hon Weng Chong <hon@corticallabs.com>

- tegra: Add UCM for MAX98089 based LG Optimus 4X HD and Vu

Maxim MAX98089 based LG Optimus 4X HD and Vu are powered by
NVIDIA Tegra30 SoC. They feature 2-channel speaker, built-in
stereo microphone and 4-pin 3.5mm jack for headphones and
headset.

Tested-by: Andreas Westman Dorcsak <hedmoo@yahoo.com> # LG P880 T30
Tested-by: Svyatoslav Ryhel <clamor95@gmail.com> # LG P895 T30

- tegra: Add UCM for WM8903 based ASUS Transformers

Wolfson Microelectronics WM8903 based ASUS Transformer tablet devices
are powered by NVIDIA Tegra30 SoC. They feature 2-channel speaker,
built-in mono microphone and 4-pin 3.5mm jack for headphones and
headset.

Tested-by: Robert Eckelmann <longnoserob@gmail.com> # ASUS TF101 T20
Tested-by: Andreas Westman Dorcsak <hedmoo@yahoo.com> # ASUS TF300T T30
Tested-by: Svyatoslav Ryhel <clamor95@gmail.com> # ASUS TF300T T30

- tegra: Add UCM for RT5631 based ASUS Transformers

Realtek RT5631 based ASUS Transformer tablet devices are powered by
NVIDIA Tegra30 SoC. They feature 2-channel built-in speaker, built-in
1-channel microphone and 4-pin 3.5mm jack for headphones/headset.

Tested-by: Andreas Westman Dorcsak <hedmoo@yahoo.com> # ASUS TF700T T30
Tested-by: Svyatoslav Ryhel <clamor95@gmail.com> # ASUS TF201 T30

- ucm2: Rockchip: Add UCM support for ES8316 on Rock 5B

Add UCM configuration for the RK3588 SoC based Rock 5B board to enable
the analog audio support provided by the Everest Semi ES8316 codec.

- USB-Audio: Added Universal Audio Volt 2 config - SplitPCM: Fix Device variable in SplitPCMDevice macro

Currently, the variable name is dev instead of Device as the comment
would suggest, update the name to fit the comment. Also, the variable
gets ignored due to it getting set to nothing right away, remove that
line to allow the variable to work as intended.

- USB-Audio: Do not use 4ch playback stream for stereo Focusrite Scarlet devices

Link: https://github.com/alsa-project/alsa-ucm-conf/pull/309
Link: https://github.com/alsa-project/alsa-ucm-conf/issues/329
Link: https://github.com/alsa-project/alsa-ucm-conf/issues/314

- ucm2: USB-Audio: Add support for more Focusrite Scarlet 2-input devices

Adds USB ids for several more 2i2 and 2i4 devices, along with the Solo
devices. Solo is basically identical to the 2i2 devices of the same
generation; the difference is that the first input can only be used for
a mic, and the second input can only be used for line/instrument. (On
the 2i devices, both inputs are the same - they both have mic preamps,
and both support line/instrument input.)

The conditions in the main configuration have been rewritten to assign
properties by device model and generation to simplify things and allow
setting comments on the playback/capture devices to better indicate
their functionality on different models.

- USB-Audio: Arturia: set S32_LE format for SplitPCM

Improve quality with forcing the S32_LE format. Apparently,
current pipewire does not handle correctly the conflicting
PCM streams - not all splitted streams are closed before
rate / format change.

Link: https://github.com/alsa-project/alsa-ucm-conf/issues/333

- Intel/sof-essx8336: Fix HiFi.conf

1. Switch Headphone on/off in Headphones enable/disable sequence.  This
   should be obvious.
2. "Headset Switch" is not recognized and triggers errors running
   "alsaucm -c hw:0 set _verb Hifi".  Change it to "Headset Mic Switch".
   And in the disable sequence we should turn it off, not on.

- USB-Audio: ALC4080: Add USB ID 0b05:1a5c (ASUS ROG Strix B650E-I)

Added configuration for ASUS ROG Strix B650E-I Gaming WiFi and ALC4080

- Add Asus ROG STRIX X670E-F Gaming Wifi to USB-Audio.conf - ucm2: PinePhone: use "Mix Mono" routing for earpiece

The earpiece speaker is a mono device, using only a single channel (in
our case, the left one) from the DA0 output. This causes loss of
information as the right channel is completely discarded when playing
stereo audio.

In order to avoid this issue, set `AIF1 DA0 Stereo Playback Route` to
`Mix Mono` when using the "Earpiece" output port (and only in this
case).

- Add support for Steinberg UR44C - ucm2: Qualcomm: sc8280xp: fix device numbers

Due to a bug in the Qualcomm ASoC drivers, we ended up with card device
numbers starting at some number that is not dai-link id. This bug is now
fixed, so update the ucm files inline with this.

- acp62: add initial support for AMD ACP v6.2 RPL

Also simplify the regex for AcpCardId.

- acp63.conf: use symbolic link - acp63: add initial support for AMD Pink Sardine - ACP63 - sof-hda-dsp: move card-init include to top

... otherwise the rm is called after the nhlt-dmic-info

- sof-hda-dsp,sof-soundwire: add CaptureMicInfoFile fields for dmics - sof-essx8336: Dmic is not a valid UCM device identifier, use Mic

Description

- Release v1.2.10