ASoC: Updates for v4.6 The main thing in terms of the core this time around has been some additional framework work for dynamic topologies (though we *still* don't appear to have a stable ABI for the topology code, it's probably worth considering if this will ever happen...). Otherwise the work has almost all been in the drivers: - HDMI support for Sky Lake, along with other fixes and enhancements for the Intel drivers. - Lots of improvements to the Renesas drivers. - Capture support for Qualcomm drivers. - Support for TI DaVinci DRA7xxx devices. - New machine drivers for Freescale systems with Cirrus CODECs, Mediatek systems with RT5650 CODECs. - New CPU drivers for Allwinner S/PDIF controllers - New CODEC drivers for Maxim MAX9867 and MAX98926 and Realtek RT5514.
Showing the changes to include/uapi (1 of 294 files). Show all
Unified · Split
| @@ -66,27 +66,33 @@ struct media_device_info { · 65 unmodified lines | |||
| 66 | /* | 66 | /* |
| 67 | * DVB entities | 67 | * DVB entities |
| 68 | */ | 68 | */ |
| 69 | #define MEDIA_ENT_F_DTV_DEMOD (MEDIA_ENT_F_BASE + 1) | 69 | #define MEDIA_ENT_F_DTV_DEMOD (MEDIA_ENT_F_BASE + 0x00001) |
| 70 | #define MEDIA_ENT_F_TS_DEMUX (MEDIA_ENT_F_BASE + 2) | 70 | #define MEDIA_ENT_F_TS_DEMUX (MEDIA_ENT_F_BASE + 0x00002) |
| 71 | #define MEDIA_ENT_F_DTV_CA (MEDIA_ENT_F_BASE + 3) | 71 | #define MEDIA_ENT_F_DTV_CA (MEDIA_ENT_F_BASE + 0x00003) |
| 72 | #define MEDIA_ENT_F_DTV_NET_DECAP (MEDIA_ENT_F_BASE + 4) | 72 | #define MEDIA_ENT_F_DTV_NET_DECAP (MEDIA_ENT_F_BASE + 0x00004) |
| 73 | 73 | ||
| 74 | /* | 74 | /* |
| 75 | * Connectors | 75 | * I/O entities |
| 76 | */ | 76 | */ |
| 77 | /* It is a responsibility of the entity drivers to add connectors and links */ | 77 | #define MEDIA_ENT_F_IO_DTV (MEDIA_ENT_F_BASE + 0x01001) |
| 78 | #define MEDIA_ENT_F_CONN_RF (MEDIA_ENT_F_BASE + 21) | 78 | #define MEDIA_ENT_F_IO_VBI (MEDIA_ENT_F_BASE + 0x01002) |
| 79 | #define MEDIA_ENT_F_CONN_SVIDEO (MEDIA_ENT_F_BASE + 22) | 79 | #define MEDIA_ENT_F_IO_SWRADIO (MEDIA_ENT_F_BASE + 0x01003) |
| 80 | #define MEDIA_ENT_F_CONN_COMPOSITE (MEDIA_ENT_F_BASE + 23) | ||
| 81 | /* For internal test signal generators and other debug connectors */ | ||
| 82 | #define MEDIA_ENT_F_CONN_TEST (MEDIA_ENT_F_BASE + 24) | ||
| 83 | 80 | ||
| 84 | /* | 81 | /* |
| 85 | * I/O entities | 82 | * Connectors |
| 86 | */ | 83 | */ |
| 87 | #define MEDIA_ENT_F_IO_DTV (MEDIA_ENT_F_BASE + 31) | 84 | /* It is a responsibility of the entity drivers to add connectors and links */ |
| 88 | #define MEDIA_ENT_F_IO_VBI (MEDIA_ENT_F_BASE + 32) | 85 | #ifdef __KERNEL__ |
| 89 | #define MEDIA_ENT_F_IO_SWRADIO (MEDIA_ENT_F_BASE + 33) | 86 | /* |
| 87 | * For now, it should not be used in userspace, as some | ||
| 88 | * definitions may change | ||
| 89 | */ | ||
| 90 | |||
| 91 | #define MEDIA_ENT_F_CONN_RF (MEDIA_ENT_F_BASE + 0x30001) | ||
| 92 | #define MEDIA_ENT_F_CONN_SVIDEO (MEDIA_ENT_F_BASE + 0x30002) | ||
| 93 | #define MEDIA_ENT_F_CONN_COMPOSITE (MEDIA_ENT_F_BASE + 0x30003) | ||
| 94 | |||
| 95 | #endif | ||
| 90 | 96 | ||
| 91 | /* | 97 | /* |
| 92 | * Don't touch on those. The ranges MEDIA_ENT_F_OLD_BASE and | 98 | * Don't touch on those. The ranges MEDIA_ENT_F_OLD_BASE and |
| @@ -291,14 +297,14 @@ struct media_v2_entity { · 198 unmodified lines | |||
| 291 | __u32 id; | 297 | __u32 id; |
| 292 | char name[64]; /* FIXME: move to a property? (RFC says so) */ | 298 | char name[64]; /* FIXME: move to a property? (RFC says so) */ |
| 293 | __u32 function; /* Main function of the entity */ | 299 | __u32 function; /* Main function of the entity */ |
| 294 | __u16 reserved[12]; | 300 | __u32 reserved[6]; |
| 295 | }; | 301 | } __attribute__ ((packed)); |
| 296 | 302 | ||
| 297 | /* Should match the specific fields at media_intf_devnode */ | 303 | /* Should match the specific fields at media_intf_devnode */ |
| 298 | struct media_v2_intf_devnode { | 304 | struct media_v2_intf_devnode { |
| 299 | __u32 major; | 305 | __u32 major; |
| 300 | __u32 minor; | 306 | __u32 minor; |
| 301 | }; | 307 | } __attribute__ ((packed)); |
| 302 | 308 | ||
| 303 | struct media_v2_interface { | 309 | struct media_v2_interface { |
| 304 | __u32 id; | 310 | __u32 id; |
| @@ -310,22 +316,22 @@ struct media_v2_interface { · 5 unmodified lines | |||
| 310 | struct media_v2_intf_devnode devnode; | 316 | struct media_v2_intf_devnode devnode; |
| 311 | __u32 raw[16]; | 317 | __u32 raw[16]; |
| 312 | }; | 318 | }; |
| 313 | }; | 319 | } __attribute__ ((packed)); |
| 314 | 320 | ||
| 315 | struct media_v2_pad { | 321 | struct media_v2_pad { |
| 316 | __u32 id; | 322 | __u32 id; |
| 317 | __u32 entity_id; | 323 | __u32 entity_id; |
| 318 | __u32 flags; | 324 | __u32 flags; |
| 319 | __u16 reserved[9]; | 325 | __u32 reserved[5]; |
| 320 | }; | 326 | } __attribute__ ((packed)); |
| 321 | 327 | ||
| 322 | struct media_v2_link { | 328 | struct media_v2_link { |
| 323 | __u32 id; | 329 | __u32 id; |
| 324 | __u32 source_id; | 330 | __u32 source_id; |
| 325 | __u32 sink_id; | 331 | __u32 sink_id; |
| 326 | __u32 flags; | 332 | __u32 flags; |
| 327 | __u32 reserved[5]; | 333 | __u32 reserved[6]; |
| 328 | }; | 334 | } __attribute__ ((packed)); |
| 329 | 335 | ||
| 330 | struct media_v2_topology { | 336 | struct media_v2_topology { |
| 331 | __u64 topology_version; | 337 | __u64 topology_version; |
| @@ -345,7 +351,7 @@ struct media_v2_topology { · 13 unmodified lines | |||
| 345 | __u32 num_links; | 351 | __u32 num_links; |
| 346 | __u32 reserved4; | 352 | __u32 reserved4; |
| 347 | __u64 ptr_links; | 353 | __u64 ptr_links; |
| 348 | }; | 354 | } __attribute__ ((packed)); |
| 349 | 355 | ||
| 350 | static inline void __user *media_get_uptr(__u64 arg) | 356 | static inline void __user *media_get_uptr(__u64 arg) |
| 351 | { | 357 | { |