History

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

Pull sound updates from Takashi Iwai: "As the diffstat shows we've had again a lot of works done for this cycle: the majority of changes are the continued componentization and code refactoring in ASoC, the tree-wide PCM API updates and cleanups and SOF updates while a few ASoC driver updates are seen, too. Here we go, some highlights: Core: - Finally y2038 support landed to ALSA ABI; some ioctls have been extended and lots of tricks were applied - Applying the new managed PCM buffer API to all drivers; the API itself was already merged in 5.5 - The already deprecated dimension support in ALSA control API is dropped completely now - Verification of ALSA control elements to catch API misuses ASoC: - Further code refactorings and moving things to the component level - Lots of updates and improvements on SOF / Intel drivers; now including common HDMI driver and SoundWire support - New driver support for Ingenic JZ4770, Mediatek MT6660, Qualcomm WCD934x and WSA881x, and Realtek RT700, RT711, RT715, RT1011, RT1015 and RT1308 HD-audio: - Improved ring-buffer communications using waitqueue - Drop the superfluous buffer preallocation on x86 Others: - Many code cleanups, mostly constifications over the whole tree - USB-audio: quirks for MOTU, Corsair Virtuoso, Line6 Helix - FireWire: code refactoring for oxfw and dice drivers" * tag 'sound-5.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (638 commits) ALSA: usb-audio: add quirks for Line6 Helix devices fw>=2.82 ALSA: hda: Add Clevo W65_67SB the power_save blacklist ASoC: soc-core: remove null_snd_soc_ops ASoC: soc-pcm: add soc_rtd_trigger() ASoC: soc-pcm: add soc_rtd_hw_free() ASoC: soc-pcm: add soc_rtd_hw_params() ASoC: soc-pcm: add soc_rtd_prepare() ASoC: soc-pcm: add soc_rtd_shutdown() ASoC: soc-pcm: add soc_rtd_startup() ASoC: rt1015: add rt1015 amplifier driver ASoC: madera: Correct some kernel doc ASoC: topology: fix soc_tplg_fe_link_create() - link->dobj initialization order ASoC: Intel: skl_hda_dsp_common: Fix global-out-of-bounds bug ASoC: madera: Correct DMIC only input hook ups ALSA: cs46xx: fix spelling mistake "to" -> "too" ALSA: hda - Add docking station support for Lenovo Thinkpad T420s ASoC: Add MediaTek MT6660 Speaker Amp Driver ASoC: dt-bindings: rt5645: add suppliers ASoC: max98090: fix deadlock in max98090_dapm_put_enum_double() ASoC: dapm: add snd_soc_dapm_put_enum_double_locked ...

Linus Torvalds committed 6 years ago

Commit fb95aae2 parents bd2463a 90fb04f617 files · +27603 −8124Browse files

Showing the changes to include/uapi (7 of 617 files). Show all

Unified · Split

7 files
  1. include/uapi/sound/asoc.h +0 −1
  2. include/uapi/sound/asound.h +132 −23
  3. include/uapi/sound/emu10k1.h +25 −17
  4. include/uapi/sound/hdsp.h +3 −10
  5. include/uapi/sound/hdspm.h +2 −8
  6. include/uapi/sound/sof/abi.h +1 −1
  7. include/uapi/sound/sof/tokens.h +7 −2
include/uapi/sound/asoc.h+0−1
@@ -17,7 +17,6 @@ · 16 unmodified lines
1717 #define __LINUX_UAPI_SND_ASOC_H
1818
1919 #include <linux/types.h>
20−#include <sound/asound.h>
2120
2221 /*
2322 * Maximum number of channels topology kcontrol can represent.
include/uapi/sound/asound.h+132−23
@@ -26,7 +26,9 @@ · 25 unmodified lines
2626
2727 #if defined(__KERNEL__) || defined(__linux__)
2828 #include <linux/types.h>
29+#include <asm/byteorder.h>
2930 #else
31+#include <endian.h>
3032 #include <sys/ioctl.h>
3133 #endif
3234
@@ -154,7 +156,7 @@ struct snd_hwdep_dsp_image { · 121 unmodified lines
154156 * *
155157 *****************************************************************************/
156158
157−#define SNDRV_PCM_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 14)
159+#define SNDRV_PCM_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 15)
158160
159161 typedef unsigned long snd_pcm_uframes_t;
160162 typedef signed long snd_pcm_sframes_t;
@@ -301,7 +303,9 @@ typedef int __bitwise snd_pcm_subformat_t; · 140 unmodified lines
301303 #define SNDRV_PCM_INFO_DRAIN_TRIGGER 0x40000000 /* internal kernel flag - trigger in drain */
302304 #define SNDRV_PCM_INFO_FIFO_IN_FRAMES 0x80000000 /* internal kernel flag - FIFO size is in frames */
303305
304−
306+#if (__BITS_PER_LONG == 32 && defined(__USE_TIME_BITS64)) || defined __KERNEL__
307+#define __SND_STRUCT_TIME64
308+#endif
305309
306310 typedef int __bitwise snd_pcm_state_t;
307311 #define SNDRV_PCM_STATE_OPEN ((__force snd_pcm_state_t) 0) /* stream is open */
@@ -317,8 +321,17 @@ typedef int __bitwise snd_pcm_state_t; · 9 unmodified lines
317321
318322 enum {
319323 SNDRV_PCM_MMAP_OFFSET_DATA = 0x00000000,
320− SNDRV_PCM_MMAP_OFFSET_STATUS = 0x80000000,
321− SNDRV_PCM_MMAP_OFFSET_CONTROL = 0x81000000,
324+ SNDRV_PCM_MMAP_OFFSET_STATUS_OLD = 0x80000000,
325+ SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD = 0x81000000,
326+ SNDRV_PCM_MMAP_OFFSET_STATUS_NEW = 0x82000000,
327+ SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW = 0x83000000,
328+#ifdef __SND_STRUCT_TIME64
329+ SNDRV_PCM_MMAP_OFFSET_STATUS = SNDRV_PCM_MMAP_OFFSET_STATUS_NEW,
330+ SNDRV_PCM_MMAP_OFFSET_CONTROL = SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW,
331+#else
332+ SNDRV_PCM_MMAP_OFFSET_STATUS = SNDRV_PCM_MMAP_OFFSET_STATUS_OLD,
333+ SNDRV_PCM_MMAP_OFFSET_CONTROL = SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD,
334+#endif
322335 };
323336
324337 union snd_pcm_sync_id {
@@ -456,8 +469,13 @@ enum { · 131 unmodified lines
456469 SNDRV_PCM_AUDIO_TSTAMP_TYPE_LAST = SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED
457470 };
458471
472+#ifndef __KERNEL__
473+/* explicit padding avoids incompatibility between i386 and x86-64 */
474+typedef struct { unsigned char pad[sizeof(time_t) - sizeof(int)]; } __time_pad;
475+
459476 struct snd_pcm_status {
460477 snd_pcm_state_t state; /* stream state */
478+ __time_pad pad1; /* align to timespec */
461479 struct timespec trigger_tstamp; /* time when stream was started/stopped/paused */
462480 struct timespec tstamp; /* reference timestamp */
463481 snd_pcm_uframes_t appl_ptr; /* appl ptr */
@@ -473,17 +491,48 @@ struct snd_pcm_status { · 9 unmodified lines
473491 __u32 audio_tstamp_accuracy; /* in ns units, only valid if indicated in audio_tstamp_data */
474492 unsigned char reserved[52-2*sizeof(struct timespec)]; /* must be filled with zero */
475493 };
494+#endif
495+
496+/*
497+ * For mmap operations, we need the 64-bit layout, both for compat mode,
498+ * and for y2038 compatibility. For 64-bit applications, the two definitions
499+ * are identical, so we keep the traditional version.
500+ */
501+#ifdef __SND_STRUCT_TIME64
502+#define __snd_pcm_mmap_status64 snd_pcm_mmap_status
503+#define __snd_pcm_mmap_control64 snd_pcm_mmap_control
504+#define __snd_pcm_sync_ptr64 snd_pcm_sync_ptr
505+#ifdef __KERNEL__
506+#define __snd_timespec64 __kernel_timespec
507+#else
508+#define __snd_timespec64 timespec
509+#endif
510+struct __snd_timespec {
511+ __s32 tv_sec;
512+ __s32 tv_nsec;
513+};
514+#else
515+#define __snd_pcm_mmap_status snd_pcm_mmap_status
516+#define __snd_pcm_mmap_control snd_pcm_mmap_control
517+#define __snd_pcm_sync_ptr snd_pcm_sync_ptr
518+#define __snd_timespec timespec
519+struct __snd_timespec64 {
520+ __s64 tv_sec;
521+ __s64 tv_nsec;
522+};
476523
477−struct snd_pcm_mmap_status {
524+#endif
525+
526+struct __snd_pcm_mmap_status {
478527 snd_pcm_state_t state; /* RO: state - SNDRV_PCM_STATE_XXXX */
479528 int pad1; /* Needed for 64 bit alignment */
480529 snd_pcm_uframes_t hw_ptr; /* RO: hw ptr (0...boundary-1) */
481− struct timespec tstamp; /* Timestamp */
530+ struct __snd_timespec tstamp; /* Timestamp */
482531 snd_pcm_state_t suspended_state; /* RO: suspended stream state */
483− struct timespec audio_tstamp; /* from sample counter or wall clock */
532+ struct __snd_timespec audio_tstamp; /* from sample counter or wall clock */
484533 };
485534
486−struct snd_pcm_mmap_control {
535+struct __snd_pcm_mmap_control {
487536 snd_pcm_uframes_t appl_ptr; /* RW: appl ptr (0...boundary-1) */
488537 snd_pcm_uframes_t avail_min; /* RW: min available frames for wakeup */
489538 };
@@ -492,14 +541,59 @@ struct snd_pcm_mmap_control { · 2 unmodified lines
492541 #define SNDRV_PCM_SYNC_PTR_APPL (1<<1) /* get appl_ptr from driver (r/w op) */
493542 #define SNDRV_PCM_SYNC_PTR_AVAIL_MIN (1<<2) /* get avail_min from driver */
494543
495−struct snd_pcm_sync_ptr {
544+struct __snd_pcm_sync_ptr {
496545 unsigned int flags;
497546 union {
498− struct snd_pcm_mmap_status status;
547+ struct __snd_pcm_mmap_status status;
499548 unsigned char reserved[64];
500549 } s;
501550 union {
502− struct snd_pcm_mmap_control control;
551+ struct __snd_pcm_mmap_control control;
552+ unsigned char reserved[64];
553+ } c;
554+};
555+
556+#if defined(__BYTE_ORDER) ? __BYTE_ORDER == __BIG_ENDIAN : defined(__BIG_ENDIAN)
557+typedef char __pad_before_uframe[sizeof(__u64) - sizeof(snd_pcm_uframes_t)];
558+typedef char __pad_after_uframe[0];
559+#endif
560+
561+#if defined(__BYTE_ORDER) ? __BYTE_ORDER == __LITTLE_ENDIAN : defined(__LITTLE_ENDIAN)
562+typedef char __pad_before_uframe[0];
563+typedef char __pad_after_uframe[sizeof(__u64) - sizeof(snd_pcm_uframes_t)];
564+#endif
565+
566+struct __snd_pcm_mmap_status64 {
567+ __s32 state; /* RO: state - SNDRV_PCM_STATE_XXXX */
568+ __u32 pad1; /* Needed for 64 bit alignment */
569+ __pad_before_uframe __pad1;
570+ snd_pcm_uframes_t hw_ptr; /* RO: hw ptr (0...boundary-1) */
571+ __pad_after_uframe __pad2;
572+ struct __snd_timespec64 tstamp; /* Timestamp */
573+ __s32 suspended_state; /* RO: suspended stream state */
574+ __u32 pad3; /* Needed for 64 bit alignment */
575+ struct __snd_timespec64 audio_tstamp; /* sample counter or wall clock */
576+};
577+
578+struct __snd_pcm_mmap_control64 {
579+ __pad_before_uframe __pad1;
580+ snd_pcm_uframes_t appl_ptr; /* RW: appl ptr (0...boundary-1) */
581+ __pad_before_uframe __pad2;
582+
583+ __pad_before_uframe __pad3;
584+ snd_pcm_uframes_t avail_min; /* RW: min available frames for wakeup */
585+ __pad_after_uframe __pad4;
586+};
587+
588+struct __snd_pcm_sync_ptr64 {
589+ __u32 flags;
590+ __u32 pad1;
591+ union {
592+ struct __snd_pcm_mmap_status64 status;
593+ unsigned char reserved[64];
594+ } s;
595+ union {
596+ struct __snd_pcm_mmap_control64 control;
503597 unsigned char reserved[64];
504598 } c;
505599 };
@@ -584,6 +678,8 @@ enum { · 78 unmodified lines
584678 #define SNDRV_PCM_IOCTL_STATUS _IOR('A', 0x20, struct snd_pcm_status)
585679 #define SNDRV_PCM_IOCTL_DELAY _IOR('A', 0x21, snd_pcm_sframes_t)
586680 #define SNDRV_PCM_IOCTL_HWSYNC _IO('A', 0x22)
681+#define __SNDRV_PCM_IOCTL_SYNC_PTR _IOWR('A', 0x23, struct __snd_pcm_sync_ptr)
682+#define __SNDRV_PCM_IOCTL_SYNC_PTR64 _IOWR('A', 0x23, struct __snd_pcm_sync_ptr64)
587683 #define SNDRV_PCM_IOCTL_SYNC_PTR _IOWR('A', 0x23, struct snd_pcm_sync_ptr)
588684 #define SNDRV_PCM_IOCTL_STATUS_EXT _IOWR('A', 0x24, struct snd_pcm_status)
589685 #define SNDRV_PCM_IOCTL_CHANNEL_INFO _IOR('A', 0x32, struct snd_pcm_channel_info)
@@ -614,7 +710,7 @@ enum { · 24 unmodified lines
614710 * Raw MIDI section - /dev/snd/midi??
615711 */
616712
617−#define SNDRV_RAWMIDI_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 0)
713+#define SNDRV_RAWMIDI_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 1)
618714
619715 enum {
620716 SNDRV_RAWMIDI_STREAM_OUTPUT = 0,
@@ -648,13 +744,16 @@ struct snd_rawmidi_params { · 27 unmodified lines
648744 unsigned char reserved[16]; /* reserved for future use */
649745 };
650746
747+#ifndef __KERNEL__
651748 struct snd_rawmidi_status {
652749 int stream;
750+ __time_pad pad1;
653751 struct timespec tstamp; /* Timestamp */
654752 size_t avail; /* available bytes */
655753 size_t xruns; /* count of overruns since last status (in bytes) */
656754 unsigned char reserved[16]; /* reserved for future use */
657755 };
756+#endif
658757
659758 #define SNDRV_RAWMIDI_IOCTL_PVERSION _IOR('W', 0x00, int)
660759 #define SNDRV_RAWMIDI_IOCTL_INFO _IOR('W', 0x01, struct snd_rawmidi_info)
@@ -667,7 +766,7 @@ struct snd_rawmidi_status { · 6 unmodified lines
667766 * Timer section - /dev/snd/timer
668767 */
669768
670−#define SNDRV_TIMER_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 6)
769+#define SNDRV_TIMER_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 7)
671770
672771 enum {
673772 SNDRV_TIMER_CLASS_NONE = -1,
@@ -761,6 +860,7 @@ struct snd_timer_params { · 87 unmodified lines
761860 unsigned char reserved[60]; /* reserved */
762861 };
763862
863+#ifndef __KERNEL__
764864 struct snd_timer_status {
765865 struct timespec tstamp; /* Timestamp - last update */
766866 unsigned int resolution; /* current period resolution in ns */
@@ -769,10 +869,11 @@ struct snd_timer_status { · 2 unmodified lines
769869 unsigned int queue; /* used queue size */
770870 unsigned char reserved[64]; /* reserved */
771871 };
872+#endif
772873
773874 #define SNDRV_TIMER_IOCTL_PVERSION _IOR('T', 0x00, int)
774875 #define SNDRV_TIMER_IOCTL_NEXT_DEVICE _IOWR('T', 0x01, struct snd_timer_id)
775−#define SNDRV_TIMER_IOCTL_TREAD _IOW('T', 0x02, int)
876+#define SNDRV_TIMER_IOCTL_TREAD_OLD _IOW('T', 0x02, int)
776877 #define SNDRV_TIMER_IOCTL_GINFO _IOWR('T', 0x03, struct snd_timer_ginfo)
777878 #define SNDRV_TIMER_IOCTL_GPARAMS _IOW('T', 0x04, struct snd_timer_gparams)
778879 #define SNDRV_TIMER_IOCTL_GSTATUS _IOWR('T', 0x05, struct snd_timer_gstatus)
@@ -785,6 +886,15 @@ struct snd_timer_status { · 6 unmodified lines
785886 #define SNDRV_TIMER_IOCTL_STOP _IO('T', 0xa1)
786887 #define SNDRV_TIMER_IOCTL_CONTINUE _IO('T', 0xa2)
787888 #define SNDRV_TIMER_IOCTL_PAUSE _IO('T', 0xa3)
889+#define SNDRV_TIMER_IOCTL_TREAD64 _IOW('T', 0xa4, int)
890+
891+#if __BITS_PER_LONG == 64
892+#define SNDRV_TIMER_IOCTL_TREAD SNDRV_TIMER_IOCTL_TREAD_OLD
893+#else
894+#define SNDRV_TIMER_IOCTL_TREAD ((sizeof(__kernel_long_t) >= sizeof(time_t)) ? \
895+ SNDRV_TIMER_IOCTL_TREAD_OLD : \
896+ SNDRV_TIMER_IOCTL_TREAD64)
897+#endif
788898
789899 struct snd_timer_read {
790900 unsigned int resolution;
@@ -810,11 +920,15 @@ enum { · 19 unmodified lines
810920 SNDRV_TIMER_EVENT_MRESUME = SNDRV_TIMER_EVENT_RESUME + 10,
811921 };
812922
923+#ifndef __KERNEL__
813924 struct snd_timer_tread {
814925 int event;
926+ __time_pad pad1;
815927 struct timespec tstamp;
816928 unsigned int val;
929+ __time_pad pad2;
817930 };
931+#endif
818932
819933 /****************************************************************************
820934 * *
@@ -822,7 +936,7 @@ struct snd_timer_tread { · 1 unmodified line
822936 * *
823937 ****************************************************************************/
824938
825−#define SNDRV_CTL_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 7)
939+#define SNDRV_CTL_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 8)
826940
827941 struct snd_ctl_card_info {
828942 int card; /* card number */
@@ -860,7 +974,7 @@ typedef int __bitwise snd_ctl_elem_iface_t; · 31 unmodified lines
860974 #define SNDRV_CTL_ELEM_ACCESS_WRITE (1<<1)
861975 #define SNDRV_CTL_ELEM_ACCESS_READWRITE (SNDRV_CTL_ELEM_ACCESS_READ|SNDRV_CTL_ELEM_ACCESS_WRITE)
862976 #define SNDRV_CTL_ELEM_ACCESS_VOLATILE (1<<2) /* control value may be changed without a notification */
863−#define SNDRV_CTL_ELEM_ACCESS_TIMESTAMP (1<<3) /* when was control changed */
977+// (1 << 3) is unused.
864978 #define SNDRV_CTL_ELEM_ACCESS_TLV_READ (1<<4) /* TLV read is possible */
865979 #define SNDRV_CTL_ELEM_ACCESS_TLV_WRITE (1<<5) /* TLV write is possible */
866980 #define SNDRV_CTL_ELEM_ACCESS_TLV_READWRITE (SNDRV_CTL_ELEM_ACCESS_TLV_READ|SNDRV_CTL_ELEM_ACCESS_TLV_WRITE)
@@ -926,11 +1040,7 @@ struct snd_ctl_elem_info { · 59 unmodified lines
9261040 } enumerated;
9271041 unsigned char reserved[128];
9281042 } value;
929− union {
930− unsigned short d[4]; /* dimensions */
931− unsigned short *d_ptr; /* indirect - obsoleted */
932− } dimen;
933− unsigned char reserved[64-4*sizeof(unsigned short)];
1043+ unsigned char reserved[64];
9341044 };
9351045
9361046 struct snd_ctl_elem_value {
@@ -955,8 +1065,7 @@ struct snd_ctl_elem_value { · 18 unmodified lines
9551065 } bytes;
9561066 struct snd_aes_iec958 iec958;
9571067 } value; /* RO */
958− struct timespec tstamp;
959− unsigned char reserved[128-sizeof(struct timespec)];
1068+ unsigned char reserved[128];
9601069 };
9611070
9621071 struct snd_ctl_tlv {
include/uapi/sound/emu10k1.h+25−17
@@ -23,8 +23,9 @@ · 22 unmodified lines
2323 #ifndef _UAPI__SOUND_EMU10K1_H
2424 #define _UAPI__SOUND_EMU10K1_H
2525
26+#ifdef __linux__
2627 #include <linux/types.h>
27−#include <sound/asound.h>
28+#endif
2829
2930 /*
3031 * ---- FX8010 ----
@@ -282,8 +283,22 @@ struct snd_emu10k1_fx8010_info { · 251 unmodified lines
282283 #define EMU10K1_GPR_TRANSLATION_TREBLE 3
283284 #define EMU10K1_GPR_TRANSLATION_ONOFF 4
284285
286+enum emu10k1_ctl_elem_iface {
287+ EMU10K1_CTL_ELEM_IFACE_MIXER = 2, /* virtual mixer device */
288+ EMU10K1_CTL_ELEM_IFACE_PCM = 3, /* PCM device */
289+};
290+
291+struct emu10k1_ctl_elem_id {
292+ unsigned int pad; /* don't use */
293+ int iface; /* interface identifier */
294+ unsigned int device; /* device/client number */
295+ unsigned int subdevice; /* subdevice (substream) number */
296+ unsigned char name[44]; /* ASCII name of item */
297+ unsigned int index; /* index of item */
298+};
299+
285300 struct snd_emu10k1_fx8010_control_gpr {
286− struct snd_ctl_elem_id id; /* full control ID definition */
301+ struct emu10k1_ctl_elem_id id; /* full control ID definition */
287302 unsigned int vcount; /* visible count */
288303 unsigned int count; /* count of GPR (1..16) */
289304 unsigned short gpr[32]; /* GPR number(s) */
@@ -296,7 +311,7 @@ struct snd_emu10k1_fx8010_control_gpr { · 6 unmodified lines
296311
297312 /* old ABI without TLV support */
298313 struct snd_emu10k1_fx8010_control_old_gpr {
299− struct snd_ctl_elem_id id;
314+ struct emu10k1_ctl_elem_id id;
300315 unsigned int vcount;
301316 unsigned int count;
302317 unsigned short gpr[32];
@@ -310,24 +325,24 @@ struct snd_emu10k1_fx8010_code { · 7 unmodified lines
310325 char name[128];
311326
312327 __EMU10K1_DECLARE_BITMAP(gpr_valid, 0x200); /* bitmask of valid initializers */
313− __u32 __user *gpr_map; /* initializers */
328+ __u32 *gpr_map; /* initializers */
314329
315330 unsigned int gpr_add_control_count; /* count of GPR controls to add/replace */
316− struct snd_emu10k1_fx8010_control_gpr __user *gpr_add_controls; /* GPR controls to add/replace */
331+ struct snd_emu10k1_fx8010_control_gpr *gpr_add_controls; /* GPR controls to add/replace */
317332
318333 unsigned int gpr_del_control_count; /* count of GPR controls to remove */
319− struct snd_ctl_elem_id __user *gpr_del_controls; /* IDs of GPR controls to remove */
334+ struct emu10k1_ctl_elem_id *gpr_del_controls; /* IDs of GPR controls to remove */
320335
321336 unsigned int gpr_list_control_count; /* count of GPR controls to list */
322337 unsigned int gpr_list_control_total; /* total count of GPR controls */
323− struct snd_emu10k1_fx8010_control_gpr __user *gpr_list_controls; /* listed GPR controls */
338+ struct snd_emu10k1_fx8010_control_gpr *gpr_list_controls; /* listed GPR controls */
324339
325340 __EMU10K1_DECLARE_BITMAP(tram_valid, 0x100); /* bitmask of valid initializers */
326− __u32 __user *tram_data_map; /* data initializers */
327− __u32 __user *tram_addr_map; /* map initializers */
341+ __u32 *tram_data_map; /* data initializers */
342+ __u32 *tram_addr_map; /* map initializers */
328343
329344 __EMU10K1_DECLARE_BITMAP(code_valid, 1024); /* bitmask of valid instructions */
330− __u32 __user *code; /* one instruction - 64 bits */
345+ __u32 *code; /* one instruction - 64 bits */
331346 };
332347
333348 struct snd_emu10k1_fx8010_tram {
@@ -371,11 +386,4 @@ struct snd_emu10k1_fx8010_pcm_rec { · 37 unmodified lines
371386 #define SNDRV_EMU10K1_IOCTL_SINGLE_STEP _IOW ('H', 0x83, int)
372387 #define SNDRV_EMU10K1_IOCTL_DBG_READ _IOR ('H', 0x84, int)
373388
374−/* typedefs for compatibility to user-space */
375−typedef struct snd_emu10k1_fx8010_info emu10k1_fx8010_info_t;
376−typedef struct snd_emu10k1_fx8010_control_gpr emu10k1_fx8010_control_gpr_t;
377−typedef struct snd_emu10k1_fx8010_code emu10k1_fx8010_code_t;
378−typedef struct snd_emu10k1_fx8010_tram emu10k1_fx8010_tram_t;
379−typedef struct snd_emu10k1_fx8010_pcm_rec emu10k1_fx8010_pcm_t;
380−
381389 #endif /* _UAPI__SOUND_EMU10K1_H */
include/uapi/sound/hdsp.h+3−10
@@ -20,7 +20,9 @@ · 19 unmodified lines
2020 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
2121 */
2222
23+#ifdef __linux__
2324 #include <linux/types.h>
25+#endif
2426
2527 #define HDSP_MATRIX_MIXER_SIZE 2048
2628
@@ -74,7 +76,7 @@ struct hdsp_config_info { · 47 unmodified lines
7476 #define SNDRV_HDSP_IOCTL_GET_CONFIG_INFO _IOR('H', 0x41, struct hdsp_config_info)
7577
7678 struct hdsp_firmware {
77− void __user *firmware_data; /* 24413 x 4 bytes */
79+ void *firmware_data; /* 24413 x 4 bytes */
7880 };
7981
8082 #define SNDRV_HDSP_IOCTL_UPLOAD_FIRMWARE _IOW('H', 0x42, struct hdsp_firmware)
@@ -99,13 +101,4 @@ struct hdsp_9632_aeb { · 18 unmodified lines
99101
100102 #define SNDRV_HDSP_IOCTL_GET_9632_AEB _IOR('H', 0x45, struct hdsp_9632_aeb)
101103
102−/* typedefs for compatibility to user-space */
103−typedef enum HDSP_IO_Type HDSP_IO_Type;
104−typedef struct hdsp_peak_rms hdsp_peak_rms_t;
105−typedef struct hdsp_config_info hdsp_config_info_t;
106−typedef struct hdsp_firmware hdsp_firmware_t;
107−typedef struct hdsp_version hdsp_version_t;
108−typedef struct hdsp_mixer hdsp_mixer_t;
109−typedef struct hdsp_9632_aeb hdsp_9632_aeb_t;
110−
111104 #endif /* __SOUND_HDSP_H */
include/uapi/sound/hdspm.h+2−8
@@ -21,7 +21,9 @@ · 20 unmodified lines
2121 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
2222 */
2323
24+#ifdef __linux__
2425 #include <linux/types.h>
26+#endif
2527
2628 /* Maximum channels is 64 even on 56Mode you have 64playbacks to matrix */
2729 #define HDSPM_MAX_CHANNELS 64
@@ -221,12 +223,4 @@ struct hdspm_mixer_ioctl { · 193 unmodified lines
221223 /* use indirect access due to the limit of ioctl bit size */
222224 #define SNDRV_HDSPM_IOCTL_GET_MIXER _IOR('H', 0x44, struct hdspm_mixer_ioctl)
223225
224−/* typedefs for compatibility to user-space */
225−typedef struct hdspm_peak_rms hdspm_peak_rms_t;
226−typedef struct hdspm_config_info hdspm_config_info_t;
227−typedef struct hdspm_version hdspm_version_t;
228−typedef struct hdspm_channelfader snd_hdspm_channelfader_t;
229−typedef struct hdspm_mixer hdspm_mixer_t;
230−
231−
232226 #endif
include/uapi/sound/sof/abi.h+1−1
@@ -26,7 +26,7 @@ · 25 unmodified lines
2626
2727 /* SOF ABI version major, minor and patch numbers */
2828 #define SOF_ABI_MAJOR 3
29−#define SOF_ABI_MINOR 11
29+#define SOF_ABI_MINOR 12
3030 #define SOF_ABI_PATCH 0
3131
3232 /* SOF ABI version number. Format within 32bit word is MMmmmppp */
include/uapi/sound/sof/tokens.h+7−2
@@ -57,6 +57,12 @@ · 56 unmodified lines
5757 #define SOF_TKN_SRC_RATE_IN 300
5858 #define SOF_TKN_SRC_RATE_OUT 301
5959
60+/* ASRC */
61+#define SOF_TKN_ASRC_RATE_IN 320
62+#define SOF_TKN_ASRC_RATE_OUT 321
63+#define SOF_TKN_ASRC_ASYNCHRONOUS_MODE 322
64+#define SOF_TKN_ASRC_OPERATION_MODE 323
65+
6066 /* PCM */
6167 #define SOF_TKN_PCM_DMAC_CONFIG 353
6268
@@ -107,8 +113,7 @@ · 44 unmodified lines
107113 #define SOF_TKN_EFFECT_TYPE SOF_TKN_PROCESS_TYPE
108114
109115 /* SAI */
110−#define SOF_TKN_IMX_SAI_FIRST_TOKEN 1000
111−/* TODO: Add SAI tokens */
116+#define SOF_TKN_IMX_SAI_MCLK_ID 1000
112117
113118 /* ESAI */
114119 #define SOF_TKN_IMX_ESAI_MCLK_ID 1100

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