ASoC: Updates for v6.14 This was quite a quiet release for what I imagine are holiday related reasons, the diffstat is dominated by some Cirrus Logic Kunit tests. There's the usual mix of small improvements and fixes, plus a few new drivers and features. The diffstat includes some DRM changes due to work on HDMI audio. - Allow clocking on each DAI in an audio graph card to be configured separately. - Improved power management for Renesas RZ-SSI. - KUnit testing for the Cirrus DSP framework. - Memory to meory operation support for Freescale/NXP platforms. - Support for pause operations in SOF. - Support for Allwinner suinv F1C100s, Awinc AW88083, Realtek ALC5682I-VE
Showing the changes to include/uapi (5 of 674 files). Show all
Unified · Split
| @@ -12,31 +12,33 @@ · 11 unmodified lines | ||
| 12 | 12 | /** |
| 13 | 13 | * enum mptcp_event_type |
| 14 | 14 | * @MPTCP_EVENT_UNSPEC: unused event |
| 15 | − * @MPTCP_EVENT_CREATED: token, family, saddr4 | saddr6, daddr4 | daddr6, | |
| 16 | − * sport, dport A new MPTCP connection has been created. It is the good time | |
| 17 | − * to allocate memory and send ADD_ADDR if needed. Depending on the | |
| 15 | + * @MPTCP_EVENT_CREATED: A new MPTCP connection has been created. It is the | |
| 16 | + * good time to allocate memory and send ADD_ADDR if needed. Depending on the | |
| 18 | 17 | * traffic-patterns it can take a long time until the MPTCP_EVENT_ESTABLISHED |
| 19 | − * is sent. | |
| 20 | − * @MPTCP_EVENT_ESTABLISHED: token, family, saddr4 | saddr6, daddr4 | daddr6, | |
| 21 | − * sport, dport A MPTCP connection is established (can start new subflows). | |
| 22 | − * @MPTCP_EVENT_CLOSED: token A MPTCP connection has stopped. | |
| 23 | − * @MPTCP_EVENT_ANNOUNCED: token, rem_id, family, daddr4 | daddr6 [, dport] A | |
| 24 | − * new address has been announced by the peer. | |
| 25 | − * @MPTCP_EVENT_REMOVED: token, rem_id An address has been lost by the peer. | |
| 26 | − * @MPTCP_EVENT_SUB_ESTABLISHED: token, family, loc_id, rem_id, saddr4 | | |
| 27 | − * saddr6, daddr4 | daddr6, sport, dport, backup, if_idx [, error] A new | |
| 28 | − * subflow has been established. 'error' should not be set. | |
| 29 | − * @MPTCP_EVENT_SUB_CLOSED: token, family, loc_id, rem_id, saddr4 | saddr6, | |
| 30 | − * daddr4 | daddr6, sport, dport, backup, if_idx [, error] A subflow has been | |
| 31 | − * closed. An error (copy of sk_err) could be set if an error has been | |
| 32 | − * detected for this subflow. | |
| 33 | − * @MPTCP_EVENT_SUB_PRIORITY: token, family, loc_id, rem_id, saddr4 | saddr6, | |
| 34 | − * daddr4 | daddr6, sport, dport, backup, if_idx [, error] The priority of a | |
| 35 | − * subflow has changed. 'error' should not be set. | |
| 36 | − * @MPTCP_EVENT_LISTENER_CREATED: family, sport, saddr4 | saddr6 A new PM | |
| 37 | − * listener is created. | |
| 38 | − * @MPTCP_EVENT_LISTENER_CLOSED: family, sport, saddr4 | saddr6 A PM listener | |
| 39 | − * is closed. | |
| 18 | + * is sent. Attributes: token, family, saddr4 | saddr6, daddr4 | daddr6, | |
| 19 | + * sport, dport, server-side. | |
| 20 | + * @MPTCP_EVENT_ESTABLISHED: A MPTCP connection is established (can start new | |
| 21 | + * subflows). Attributes: token, family, saddr4 | saddr6, daddr4 | daddr6, | |
| 22 | + * sport, dport, server-side. | |
| 23 | + * @MPTCP_EVENT_CLOSED: A MPTCP connection has stopped. Attribute: token. | |
| 24 | + * @MPTCP_EVENT_ANNOUNCED: A new address has been announced by the peer. | |
| 25 | + * Attributes: token, rem_id, family, daddr4 | daddr6 [, dport]. | |
| 26 | + * @MPTCP_EVENT_REMOVED: An address has been lost by the peer. Attributes: | |
| 27 | + * token, rem_id. | |
| 28 | + * @MPTCP_EVENT_SUB_ESTABLISHED: A new subflow has been established. 'error' | |
| 29 | + * should not be set. Attributes: token, family, loc_id, rem_id, saddr4 | | |
| 30 | + * saddr6, daddr4 | daddr6, sport, dport, backup, if_idx [, error]. | |
| 31 | + * @MPTCP_EVENT_SUB_CLOSED: A subflow has been closed. An error (copy of | |
| 32 | + * sk_err) could be set if an error has been detected for this subflow. | |
| 33 | + * Attributes: token, family, loc_id, rem_id, saddr4 | saddr6, daddr4 | | |
| 34 | + * daddr6, sport, dport, backup, if_idx [, error]. | |
| 35 | + * @MPTCP_EVENT_SUB_PRIORITY: The priority of a subflow has changed. 'error' | |
| 36 | + * should not be set. Attributes: token, family, loc_id, rem_id, saddr4 | | |
| 37 | + * saddr6, daddr4 | daddr6, sport, dport, backup, if_idx [, error]. | |
| 38 | + * @MPTCP_EVENT_LISTENER_CREATED: A new PM listener is created. Attributes: | |
| 39 | + * family, sport, saddr4 | saddr6. | |
| 40 | + * @MPTCP_EVENT_LISTENER_CLOSED: A PM listener is closed. Attributes: family, | |
| 41 | + * sport, saddr4 | saddr6. | |
| 40 | 42 | */ |
| 41 | 43 | enum mptcp_event_type { |
| 42 | 44 | MPTCP_EVENT_UNSPEC, |
| @@ -8,6 +8,13 @@ · 7 unmodified lines | ||
| 8 | 8 | #define __always_inline inline |
| 9 | 9 | #endif |
| 10 | 10 | |
| 11 | +/* Not all C++ standards support type declarations inside an anonymous union */ | |
| 12 | +#ifndef __cplusplus | |
| 13 | +#define __struct_group_tag(TAG) TAG | |
| 14 | +#else | |
| 15 | +#define __struct_group_tag(TAG) | |
| 16 | +#endif | |
| 17 | + | |
| 11 | 18 | /** |
| 12 | 19 | * __struct_group() - Create a mirrored named and anonyomous struct |
| 13 | 20 | * |
| @@ -20,13 +27,13 @@ · 6 unmodified lines | ||
| 20 | 27 | * and size: one anonymous and one named. The former's members can be used |
| 21 | 28 | * normally without sub-struct naming, and the latter can be used to |
| 22 | 29 | * reason about the start, end, and size of the group of struct members. |
| 23 | − * The named struct can also be explicitly tagged for layer reuse, as well | |
| 24 | − * as both having struct attributes appended. | |
| 30 | + * The named struct can also be explicitly tagged for layer reuse (C only), | |
| 31 | + * as well as both having struct attributes appended. | |
| 25 | 32 | */ |
| 26 | 33 | #define __struct_group(TAG, NAME, ATTRS, MEMBERS...) \ |
| 27 | 34 | union { \ |
| 28 | 35 | struct { MEMBERS } ATTRS; \ |
| 29 | − struct TAG { MEMBERS } ATTRS NAME; \ | |
| 36 | + struct __struct_group_tag(TAG) { MEMBERS } ATTRS NAME; \ | |
| 30 | 37 | } ATTRS |
| 31 | 38 | |
| 32 | 39 | #ifdef __cplusplus |
| @@ -3,8 +3,8 @@ · 2 unmodified lines | ||
| 3 | 3 | #define _UAPI_LINUX_THERMAL_H |
| 4 | 4 | |
| 5 | 5 | #define THERMAL_NAME_LENGTH 20 |
| 6 | −#define THERMAL_THRESHOLD_WAY_UP BIT(0) | |
| 7 | −#define THERMAL_THRESHOLD_WAY_DOWN BIT(1) | |
| 6 | +#define THERMAL_THRESHOLD_WAY_UP 0x1 | |
| 7 | +#define THERMAL_THRESHOLD_WAY_DOWN 0x2 | |
| 8 | 8 | |
| 9 | 9 | enum thermal_device_mode { |
| 10 | 10 | THERMAL_DEVICE_DISABLED = 0, |
| @@ -334,6 +334,14 @@ union snd_codec_options { · 333 unmodified lines | ||
| 334 | 334 | struct snd_dec_wma wma_d; |
| 335 | 335 | struct snd_dec_alac alac_d; |
| 336 | 336 | struct snd_dec_ape ape_d; |
| 337 | + struct { | |
| 338 | + __u32 out_sample_rate; | |
| 339 | + } src_d; | |
| 340 | +} __attribute__((packed, aligned(4))); | |
| 341 | + | |
| 342 | +struct snd_codec_desc_src { | |
| 343 | + __u32 out_sample_rate_min; | |
| 344 | + __u32 out_sample_rate_max; | |
| 337 | 345 | } __attribute__((packed, aligned(4))); |
| 338 | 346 | |
| 339 | 347 | /** struct snd_codec_desc - description of codec capabilities |
| @@ -347,6 +355,9 @@ union snd_codec_options { · 7 unmodified lines | ||
| 347 | 355 | * @modes: Supported modes. See SND_AUDIOMODE defines |
| 348 | 356 | * @formats: Supported formats. See SND_AUDIOSTREAMFORMAT defines |
| 349 | 357 | * @min_buffer: Minimum buffer size handled by codec implementation |
| 358 | + * @pcm_formats: Output (for decoders) or input (for encoders) | |
| 359 | + * PCM formats (required to accel mode, 0 for other modes) | |
| 360 | + * @u_space: union space (for codec dependent data) | |
| 350 | 361 | * @reserved: reserved for future use |
| 351 | 362 | * |
| 352 | 363 | * This structure provides a scalar value for profiles, modes and stream |
| @@ -370,7 +381,12 @@ struct snd_codec_desc { · 17 unmodified lines | ||
| 370 | 381 | __u32 modes; |
| 371 | 382 | __u32 formats; |
| 372 | 383 | __u32 min_buffer; |
| 373 | − __u32 reserved[15]; | |
| 384 | + __u32 pcm_formats; | |
| 385 | + union { | |
| 386 | + __u32 u_space[6]; | |
| 387 | + struct snd_codec_desc_src src; | |
| 388 | + } __attribute__((packed, aligned(4))); | |
| 389 | + __u32 reserved[8]; | |
| 374 | 390 | } __attribute__((packed, aligned(4))); |
| 375 | 391 | |
| 376 | 392 | /** struct snd_codec |
| @@ -395,6 +411,8 @@ struct snd_codec_desc { · 18 unmodified lines | ||
| 395 | 411 | * @align: Block alignment in bytes of an audio sample. |
| 396 | 412 | * Only required for PCM or IEC formats. |
| 397 | 413 | * @options: encoder-specific settings |
| 414 | + * @pcm_format: Output (for decoders) or input (for encoders) | |
| 415 | + * PCM formats (required to accel mode, 0 for other modes) | |
| 398 | 416 | * @reserved: reserved for future use |
| 399 | 417 | */ |
| 400 | 418 | |
| @@ -411,7 +429,8 @@ struct snd_codec { · 10 unmodified lines | ||
| 411 | 429 | __u32 format; |
| 412 | 430 | __u32 align; |
| 413 | 431 | union snd_codec_options options; |
| 414 | − __u32 reserved[3]; | |
| 432 | + __u32 pcm_format; | |
| 433 | + __u32 reserved[2]; | |
| 415 | 434 | } __attribute__((packed, aligned(4))); |
| 416 | 435 | |
| 417 | 436 | #endif |
| @@ -153,6 +153,8 @@ · 152 unmodified lines | ||
| 153 | 153 | /* Stream */ |
| 154 | 154 | #define SOF_TKN_STREAM_PLAYBACK_COMPATIBLE_D0I3 1200 |
| 155 | 155 | #define SOF_TKN_STREAM_CAPTURE_COMPATIBLE_D0I3 1201 |
| 156 | +#define SOF_TKN_STREAM_PLAYBACK_PAUSE_SUPPORTED 1202 | |
| 157 | +#define SOF_TKN_STREAM_CAPTURE_PAUSE_SUPPORTED 1203 | |
| 156 | 158 | |
| 157 | 159 | /* Led control for mute switches */ |
| 158 | 160 | #define SOF_TKN_MUTE_LED_USE 1300 |