History

Merge tag 'sound-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound

Pull sound updates from Takashi Iwai: "This was a relatively calm development cycle. Most of changes are rather small device-specific fixes and enhancements. The only significant changes in ALSA core are code refactoring with the recent cleanup infrastructure, which should bring no functionality changes. Some highlights below: Core: - Lots of cleanups in ALSA core code with automatic kfree cleanup and locking guard macros - New ALSA core kunit test ASoC: - SoundWire support for AMD ACP 6.3 systems - Support for reporting version information for AVS firmware - Support DSPless mode for Intel Soundwire systems - Support for configuring CS35L56 amplifiers using EFI calibration data - Log which component is being operated on as part of power management trace events. - Support for Microchip SAM9x7, NXP i.MX95 and Qualcomm WCD939x HD- and USB-audio: - More Cirrus HD-audio codec support - TAS2781 HD-audio codec fixes - Scarlett2 mixer fixes Others: - Enhancement of virtio driver for audio control supports - Cleanups of legacy PM code with new macros - Firewire sound updates" * tag 'sound-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (307 commits) ALSA: usb-audio: Stop parsing channels bits when all channels are found. ALSA: hda/tas2781: remove unnecessary runtime_pm calls ALSA: hda/realtek - ALC236 fix volume mute & mic mute LED on some HP models ALSA: aaci: Delete unused variable in aaci_do_suspend ALSA: scarlett2: Fix Scarlett 4th Gen input gain range again ALSA: scarlett2: Fix Scarlett 4th Gen input gain range ALSA: scarlett2: Fix Scarlett 4th Gen autogain status values ALSA: scarlett2: Fix Scarlett 4th Gen 4i4 low-voltage detection ALSA: hda/tas2781: restore power state after system_resume ALSA: hda/tas2781: do not call pm_runtime_force_* in system_resume/suspend ALSA: hda/tas2781: do not reset cur_* values in runtime_suspend ALSA: hda/tas2781: add lock to system_suspend ALSA: hda/tas2781: use dev_dbg in system_resume ALSA: hda/realtek: fix ALC285 issues on HP Envy x360 laptops platform/x86: serial-multi-instantiate: Add support for CS35L54 and CS35L57 ALSA: hda: cs35l56: Add support for CS35L54 and CS35L57 ASoC: cs35l56: Add support for CS35L54 and CS35L57 ASoC: Intel: catpt: Carefully use PCI bitwise constants ALSA: hda: hda_component: Include sound/hda_codec.h ALSA: hda: hda_component: Add missing #include guards ...

Linus Torvalds committed 2 years ago

Commit fe46a7d2 parents 705c1da a39d51f344 files · +16592 −5305Browse files

Showing the changes to include/uapi (3 of 344 files). Show all

Unified · Split

3 files
  1. include/uapi/linux/virtio_snd.h +154 −0
  2. include/uapi/sound/intel/avs/tokens.h +9 −0
  3. include/uapi/sound/sof/tokens.h +4 −0
include/uapi/linux/virtio_snd.h+154−0
@@ -7,6 +7,14 @@ · 6 unmodified lines
77
88 #include <linux/virtio_types.h>
99
10+/*******************************************************************************
11+ * FEATURE BITS
12+ */
13+enum {
14+ /* device supports control elements */
15+ VIRTIO_SND_F_CTLS = 0
16+};
17+
1018 /*******************************************************************************
1119 * CONFIGURATION SPACE
1220 */
@@ -17,6 +25,8 @@ struct virtio_snd_config { · 4 unmodified lines
1725 __le32 streams;
1826 /* # of available channel maps */
1927 __le32 chmaps;
28+ /* # of available control elements */
29+ __le32 controls;
2030 };
2131
2232 enum {
@@ -55,6 +65,15 @@ enum { · 32 unmodified lines
5565 /* channel map control request types */
5666 VIRTIO_SND_R_CHMAP_INFO = 0x0200,
5767
68+ /* control element request types */
69+ VIRTIO_SND_R_CTL_INFO = 0x0300,
70+ VIRTIO_SND_R_CTL_ENUM_ITEMS,
71+ VIRTIO_SND_R_CTL_READ,
72+ VIRTIO_SND_R_CTL_WRITE,
73+ VIRTIO_SND_R_CTL_TLV_READ,
74+ VIRTIO_SND_R_CTL_TLV_WRITE,
75+ VIRTIO_SND_R_CTL_TLV_COMMAND,
76+
5877 /* jack event types */
5978 VIRTIO_SND_EVT_JACK_CONNECTED = 0x1000,
6079 VIRTIO_SND_EVT_JACK_DISCONNECTED,
@@ -63,6 +82,9 @@ enum { · 2 unmodified lines
6382 VIRTIO_SND_EVT_PCM_PERIOD_ELAPSED = 0x1100,
6483 VIRTIO_SND_EVT_PCM_XRUN,
6584
85+ /* control element event types */
86+ VIRTIO_SND_EVT_CTL_NOTIFY = 0x1200,
87+
6688 /* common status codes */
6789 VIRTIO_SND_S_OK = 0x8000,
6890 VIRTIO_SND_S_BAD_MSG,
@@ -331,4 +353,136 @@ struct virtio_snd_chmap_info { · 262 unmodified lines
331353 __u8 positions[VIRTIO_SND_CHMAP_MAX_SIZE];
332354 };
333355
356+/*******************************************************************************
357+ * CONTROL ELEMENTS MESSAGES
358+ */
359+struct virtio_snd_ctl_hdr {
360+ /* VIRTIO_SND_R_CTL_XXX */
361+ struct virtio_snd_hdr hdr;
362+ /* 0 ... virtio_snd_config::controls - 1 */
363+ __le32 control_id;
364+};
365+
366+/* supported roles for control elements */
367+enum {
368+ VIRTIO_SND_CTL_ROLE_UNDEFINED = 0,
369+ VIRTIO_SND_CTL_ROLE_VOLUME,
370+ VIRTIO_SND_CTL_ROLE_MUTE,
371+ VIRTIO_SND_CTL_ROLE_GAIN
372+};
373+
374+/* supported value types for control elements */
375+enum {
376+ VIRTIO_SND_CTL_TYPE_BOOLEAN = 0,
377+ VIRTIO_SND_CTL_TYPE_INTEGER,
378+ VIRTIO_SND_CTL_TYPE_INTEGER64,
379+ VIRTIO_SND_CTL_TYPE_ENUMERATED,
380+ VIRTIO_SND_CTL_TYPE_BYTES,
381+ VIRTIO_SND_CTL_TYPE_IEC958
382+};
383+
384+/* supported access rights for control elements */
385+enum {
386+ VIRTIO_SND_CTL_ACCESS_READ = 0,
387+ VIRTIO_SND_CTL_ACCESS_WRITE,
388+ VIRTIO_SND_CTL_ACCESS_VOLATILE,
389+ VIRTIO_SND_CTL_ACCESS_INACTIVE,
390+ VIRTIO_SND_CTL_ACCESS_TLV_READ,
391+ VIRTIO_SND_CTL_ACCESS_TLV_WRITE,
392+ VIRTIO_SND_CTL_ACCESS_TLV_COMMAND
393+};
394+
395+struct virtio_snd_ctl_info {
396+ /* common header */
397+ struct virtio_snd_info hdr;
398+ /* element role (VIRTIO_SND_CTL_ROLE_XXX) */
399+ __le32 role;
400+ /* element value type (VIRTIO_SND_CTL_TYPE_XXX) */
401+ __le32 type;
402+ /* element access right bit map (1 << VIRTIO_SND_CTL_ACCESS_XXX) */
403+ __le32 access;
404+ /* # of members in the element value */
405+ __le32 count;
406+ /* index for an element with a non-unique name */
407+ __le32 index;
408+ /* name identifier string for the element */
409+ __u8 name[44];
410+ /* additional information about the element's value */
411+ union {
412+ /* VIRTIO_SND_CTL_TYPE_INTEGER */
413+ struct {
414+ /* minimum supported value */
415+ __le32 min;
416+ /* maximum supported value */
417+ __le32 max;
418+ /* fixed step size for value (0 = variable size) */
419+ __le32 step;
420+ } integer;
421+ /* VIRTIO_SND_CTL_TYPE_INTEGER64 */
422+ struct {
423+ /* minimum supported value */
424+ __le64 min;
425+ /* maximum supported value */
426+ __le64 max;
427+ /* fixed step size for value (0 = variable size) */
428+ __le64 step;
429+ } integer64;
430+ /* VIRTIO_SND_CTL_TYPE_ENUMERATED */
431+ struct {
432+ /* # of options supported for value */
433+ __le32 items;
434+ } enumerated;
435+ } value;
436+};
437+
438+struct virtio_snd_ctl_enum_item {
439+ /* option name */
440+ __u8 item[64];
441+};
442+
443+struct virtio_snd_ctl_iec958 {
444+ /* AES/IEC958 channel status bits */
445+ __u8 status[24];
446+ /* AES/IEC958 subcode bits */
447+ __u8 subcode[147];
448+ /* nothing */
449+ __u8 pad;
450+ /* AES/IEC958 subframe bits */
451+ __u8 dig_subframe[4];
452+};
453+
454+struct virtio_snd_ctl_value {
455+ union {
456+ /* VIRTIO_SND_CTL_TYPE_BOOLEAN|INTEGER value */
457+ __le32 integer[128];
458+ /* VIRTIO_SND_CTL_TYPE_INTEGER64 value */
459+ __le64 integer64[64];
460+ /* VIRTIO_SND_CTL_TYPE_ENUMERATED value (option indexes) */
461+ __le32 enumerated[128];
462+ /* VIRTIO_SND_CTL_TYPE_BYTES value */
463+ __u8 bytes[512];
464+ /* VIRTIO_SND_CTL_TYPE_IEC958 value */
465+ struct virtio_snd_ctl_iec958 iec958;
466+ } value;
467+};
468+
469+/* supported event reason types */
470+enum {
471+ /* element's value has changed */
472+ VIRTIO_SND_CTL_EVT_MASK_VALUE = 0,
473+ /* element's information has changed */
474+ VIRTIO_SND_CTL_EVT_MASK_INFO,
475+ /* element's metadata has changed */
476+ VIRTIO_SND_CTL_EVT_MASK_TLV
477+};
478+
479+struct virtio_snd_ctl_event {
480+ /* VIRTIO_SND_EVT_CTL_NOTIFY */
481+ struct virtio_snd_hdr hdr;
482+ /* 0 ... virtio_snd_config::controls - 1 */
483+ __le16 control_id;
484+ /* event reason bit map (1 << VIRTIO_SND_CTL_EVT_MASK_XXX) */
485+ __le16 mask;
486+};
487+
334488 #endif /* VIRTIO_SND_IF_H */
include/uapi/sound/intel/avs/tokens.h+9−0
@@ -19,6 +19,8 @@ enum avs_tplg_token { · 18 unmodified lines
1919 AVS_TKN_MANIFEST_NUM_MODCFGS_EXT_U32 = 6,
2020 AVS_TKN_MANIFEST_NUM_PPLCFGS_U32 = 7,
2121 AVS_TKN_MANIFEST_NUM_BINDINGS_U32 = 8,
22+ AVS_TKN_MANIFEST_NUM_CONDPATH_TMPLS_U32 = 9,
23+ AVS_TKN_MANIFEST_NUM_INIT_CONFIGS_U32 = 10,
2224
2325 /* struct avs_tplg_library */
2426 AVS_TKN_LIBRARY_ID_U32 = 101,
@@ -109,6 +111,8 @@ enum avs_tplg_token { · 84 unmodified lines
109111 AVS_TKN_MOD_PROC_DOMAIN_U8 = 1705,
110112 AVS_TKN_MOD_MODCFG_EXT_ID_U32 = 1706,
111113 AVS_TKN_MOD_KCONTROL_ID_U32 = 1707,
114+ AVS_TKN_MOD_INIT_CONFIG_NUM_IDS_U32 = 1708,
115+ AVS_TKN_MOD_INIT_CONFIG_ID_U32 = 1709,
112116
113117 /* struct avs_tplg_path_template */
114118 AVS_TKN_PATH_TMPL_ID_U32 = 1801,
@@ -125,6 +129,11 @@ enum avs_tplg_token { · 10 unmodified lines
125129
126130 /* struct avs_tplg_kcontrol */
127131 AVS_TKN_KCONTROL_ID_U32 = 2301,
132+
133+ /* struct avs_tplg_init_config */
134+ AVS_TKN_INIT_CONFIG_ID_U32 = 2401,
135+ AVS_TKN_INIT_CONFIG_PARAM_U8 = 2402,
136+ AVS_TKN_INIT_CONFIG_LENGTH_U32 = 2403,
128137 };
129138
130139 #endif
include/uapi/sound/sof/tokens.h+4−0
@@ -218,4 +218,8 @@ · 217 unmodified lines
218218 #define SOF_TKN_IMX_MICFIL_RATE 2000
219219 #define SOF_TKN_IMX_MICFIL_CH 2001
220220
221+/* ACP SDW */
222+#define SOF_TKN_AMD_ACP_SDW_RATE 2100
223+#define SOF_TKN_AMD_ACP_SDW_CH 2101
224+
221225 #endif

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t