Changeset 772 for GPL/trunk/alsa-kernel/include/uapi
- Timestamp:
- Apr 19, 2025, 8:08:37 PM (4 months ago)
- Location:
- GPL/trunk
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
GPL/trunk
- Property svn:mergeinfo changed
/GPL/branches/uniaud32-6.6-LTS (added) merged: 765,768-769 /GPL/branches/uniaud32-exp (added) merged: 735-741,743-744,748-751,753-760,762-764 /GPL/branches/uniaud32-next merged: 718-734
- Property svn:mergeinfo changed
-
GPL/trunk/alsa-kernel/include/uapi/sound/asequencer.h
r615 r772 4 4 * Copyright (c) 1998-1999 by Frank van de Pol <fvdpol@coil.demon.nl> 5 5 * (c) 1998-1999 by Jaroslav Kysela <perex@perex.cz> 6 *7 *8 * This program is free software; you can redistribute it and/or modify9 * it under the terms of the GNU General Public License as published by10 * the Free Software Foundation; either version 2 of the License, or11 * (at your option) any later version.12 *13 * This program is distributed in the hope that it will be useful,14 * but WITHOUT ANY WARRANTY; without even the implied warranty of15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the16 * GNU General Public License for more details.17 *18 * You should have received a copy of the GNU General Public License19 * along with this program; if not, write to the Free Software20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA21 *22 6 */ 23 7 #ifndef _UAPI__SOUND_ASEQUENCER_H … … 27 11 28 12 /** version of the sequencer */ 29 #define SNDRV_SEQ_VERSION SNDRV_PROTOCOL_VERSION(1, 0, 2)13 #define SNDRV_SEQ_VERSION SNDRV_PROTOCOL_VERSION(1, 0, 3) 30 14 31 15 /** … … 191 175 #define SNDRV_SEQ_PRIORITY_MASK (1<<4) 192 176 177 #define SNDRV_SEQ_EVENT_UMP (1<<5) /* event holds a UMP packet */ 193 178 194 179 /* note event */ … … 288 273 #endif 289 274 275 union snd_seq_event_data { /* event data... */ 276 struct snd_seq_ev_note note; 277 struct snd_seq_ev_ctrl control; 278 struct snd_seq_ev_raw8 raw8; 279 struct snd_seq_ev_raw32 raw32; 280 struct snd_seq_ev_ext ext; 281 struct snd_seq_ev_queue_control queue; 282 union snd_seq_timestamp time; 283 struct snd_seq_addr addr; 284 struct snd_seq_connect connect; 285 struct snd_seq_result result; 286 struct snd_seq_ev_quote quote; 287 }; 290 288 291 289 /* sequencer event */ … … 298 296 union snd_seq_timestamp time; /* schedule time */ 299 297 300 301 298 struct snd_seq_addr source; /* source address */ 302 299 struct snd_seq_addr dest; /* destination address */ 303 300 304 union { /* event data... */ 305 struct snd_seq_ev_note note; 306 struct snd_seq_ev_ctrl control; 307 struct snd_seq_ev_raw8 raw8; 308 struct snd_seq_ev_raw32 raw32; 309 struct snd_seq_ev_ext ext; 310 struct snd_seq_ev_queue_control queue; 311 union snd_seq_timestamp time; 312 struct snd_seq_addr addr; 313 struct snd_seq_connect connect; 314 struct snd_seq_result result; 315 struct snd_seq_ev_quote quote; 316 } data; 317 }; 318 301 union snd_seq_event_data data; 302 }; 303 304 /* (compatible) event for UMP-capable clients */ 305 struct snd_seq_ump_event { 306 snd_seq_event_type_t type; /* event type */ 307 unsigned char flags; /* event flags */ 308 char tag; 309 unsigned char queue; /* schedule queue */ 310 union snd_seq_timestamp time; /* schedule time */ 311 struct snd_seq_addr source; /* source address */ 312 struct snd_seq_addr dest; /* destination address */ 313 314 union { 315 union snd_seq_event_data data; 316 unsigned int ump[4]; 317 }; 318 }; 319 319 320 320 /* … … 364 364 365 365 /* event filter flags */ 366 #define SNDRV_SEQ_FILTER_BROADCAST (1<<0) /* accept broadcast messages */ 367 #define SNDRV_SEQ_FILTER_MULTICAST (1<<1) /* accept multicast messages */ 368 #define SNDRV_SEQ_FILTER_BOUNCE (1<<2) /* accept bounce event in error */ 369 #define SNDRV_SEQ_FILTER_USE_EVENT (1<<31) /* use event filter */ 366 #define SNDRV_SEQ_FILTER_BROADCAST (1U<<0) /* accept broadcast messages */ 367 #define SNDRV_SEQ_FILTER_MULTICAST (1U<<1) /* accept multicast messages */ 368 #define SNDRV_SEQ_FILTER_BOUNCE (1U<<2) /* accept bounce event in error */ 369 #define SNDRV_SEQ_FILTER_NO_CONVERT (1U<<30) /* don't convert UMP events */ 370 #define SNDRV_SEQ_FILTER_USE_EVENT (1U<<31) /* use event filter */ 370 371 371 372 struct snd_seq_client_info { … … 380 381 int card; /* RO: card number[kernel] */ 381 382 int pid; /* RO: pid[user] */ 382 char reserved[56]; /* for future use */ 383 }; 384 383 unsigned int midi_version; /* MIDI version */ 384 unsigned int group_filter; /* UMP group filter bitmap 385 * (bit 0 = groupless messages, 386 * bit 1-16 = messages for groups 1-16) 387 */ 388 char reserved[48]; /* for future use */ 389 }; 390 391 /* MIDI version numbers in client info */ 392 #define SNDRV_SEQ_CLIENT_LEGACY_MIDI 0 /* Legacy client */ 393 #define SNDRV_SEQ_CLIENT_UMP_MIDI_1_0 1 /* UMP MIDI 1.0 */ 394 #define SNDRV_SEQ_CLIENT_UMP_MIDI_2_0 2 /* UMP MIDI 2.0 */ 385 395 386 396 /* client pool size */ … … 442 452 #define SNDRV_SEQ_PORT_CAP_SUBS_WRITE (1<<6) /* allow write subscription */ 443 453 #define SNDRV_SEQ_PORT_CAP_NO_EXPORT (1<<7) /* routing not allowed */ 454 #define SNDRV_SEQ_PORT_CAP_INACTIVE (1<<8) /* inactive port */ 455 #define SNDRV_SEQ_PORT_CAP_UMP_ENDPOINT (1<<9) /* MIDI 2.0 UMP Endpoint port */ 444 456 445 457 /* port type */ … … 451 463 #define SNDRV_SEQ_PORT_TYPE_MIDI_MT32 (1<<5) /* MT-32 compatible device */ 452 464 #define SNDRV_SEQ_PORT_TYPE_MIDI_GM2 (1<<6) /* General MIDI 2 compatible device */ 465 #define SNDRV_SEQ_PORT_TYPE_MIDI_UMP (1<<7) /* UMP */ 453 466 454 467 /* other standards...*/ … … 468 481 #define SNDRV_SEQ_PORT_FLG_TIME_REAL (1<<2) 469 482 483 /* port direction */ 484 #define SNDRV_SEQ_PORT_DIR_UNKNOWN 0 485 #define SNDRV_SEQ_PORT_DIR_INPUT 1 486 #define SNDRV_SEQ_PORT_DIR_OUTPUT 2 487 #define SNDRV_SEQ_PORT_DIR_BIDIRECTION 3 488 470 489 struct snd_seq_port_info { 471 490 struct snd_seq_addr addr; /* client/port numbers */ … … 484 503 unsigned int flags; /* misc. conditioning */ 485 504 unsigned char time_queue; /* queue # for timestamping */ 486 char reserved[59]; /* for future use */ 505 unsigned char direction; /* port usage direction (r/w/bidir) */ 506 unsigned char ump_group; /* 0 = UMP EP (no conversion), 1-16 = UMP group number */ 507 char reserved[57]; /* for future use */ 487 508 }; 488 509 … … 588 609 }; 589 610 611 /* 612 * UMP-specific information 613 */ 614 /* type of UMP info query */ 615 #define SNDRV_SEQ_CLIENT_UMP_INFO_ENDPOINT 0 616 #define SNDRV_SEQ_CLIENT_UMP_INFO_BLOCK 1 617 618 struct snd_seq_client_ump_info { 619 int client; /* client number to inquire/set */ 620 int type; /* type to inquire/set */ 621 unsigned char info[512]; /* info (either UMP ep or block info) */ 622 } __packed; 590 623 591 624 /* … … 597 630 #define SNDRV_SEQ_IOCTL_SYSTEM_INFO _IOWR('S', 0x02, struct snd_seq_system_info) 598 631 #define SNDRV_SEQ_IOCTL_RUNNING_MODE _IOWR('S', 0x03, struct snd_seq_running_info) 632 #define SNDRV_SEQ_IOCTL_USER_PVERSION _IOW('S', 0x04, int) 599 633 600 634 #define SNDRV_SEQ_IOCTL_GET_CLIENT_INFO _IOWR('S', 0x10, struct snd_seq_client_info) 601 635 #define SNDRV_SEQ_IOCTL_SET_CLIENT_INFO _IOW ('S', 0x11, struct snd_seq_client_info) 636 #define SNDRV_SEQ_IOCTL_GET_CLIENT_UMP_INFO _IOWR('S', 0x12, struct snd_seq_client_ump_info) 637 #define SNDRV_SEQ_IOCTL_SET_CLIENT_UMP_INFO _IOWR('S', 0x13, struct snd_seq_client_ump_info) 602 638 603 639 #define SNDRV_SEQ_IOCTL_CREATE_PORT _IOWR('S', 0x20, struct snd_seq_port_info) -
GPL/trunk/alsa-kernel/include/uapi/sound/asoc.h
r695 r772 5 5 * Copyright (C) 2012 Texas Instruments Inc. 6 6 * Copyright (C) 2015 Intel Corporation. 7 *8 * This program is free software; you can redistribute it and/or modify9 * it under the terms of the GNU General Public License version 2 as10 * published by the Free Software Foundation.11 7 * 12 8 * Simple file API to load FW that includes mixers, coefficients, DAPM graphs, … … 227 223 __le32 num_elems; /* number of elements in array */ 228 224 union { 229 struct snd_soc_tplg_vendor_uuid_elem uuid[0];230 struct snd_soc_tplg_vendor_value_elem value[0];231 struct snd_soc_tplg_vendor_string_elem string[0];225 __DECLARE_FLEX_ARRAY(struct snd_soc_tplg_vendor_uuid_elem, uuid); 226 __DECLARE_FLEX_ARRAY(struct snd_soc_tplg_vendor_value_elem, value); 227 __DECLARE_FLEX_ARRAY(struct snd_soc_tplg_vendor_string_elem, string); 232 228 }; 233 229 } __attribute__((packed)); … … 241 237 __le32 size; /* in bytes of private data */ 242 238 union { 243 char data[0];244 struct snd_soc_tplg_vendor_array array[0];239 __DECLARE_FLEX_ARRAY(char, data); 240 __DECLARE_FLEX_ARRAY(struct snd_soc_tplg_vendor_array, array); 245 241 }; 246 242 } __attribute__((packed)); -
GPL/trunk/alsa-kernel/include/uapi/sound/asound.h
r717 r772 4 4 * Copyright (c) 1994-2003 by Jaroslav Kysela <perex@perex.cz>, 5 5 * Abramo Bagnara <abramo@alsa-project.org> 6 *7 *8 * This program is free software; you can redistribute it and/or modify9 * it under the terms of the GNU General Public License as published by10 * the Free Software Foundation; either version 2 of the License, or11 * (at your option) any later version.12 *13 * This program is distributed in the hope that it will be useful,14 * but WITHOUT ANY WARRANTY; without even the implied warranty of15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the16 * GNU General Public License for more details.17 *18 * You should have received a copy of the GNU General Public License19 * along with this program; if not, write to the Free Software20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA21 *22 6 */ 23 7 … … 44 28 #ifndef __bitwise 45 29 #define __bitwise 30 #endif 31 32 #ifndef __packed 33 #define __packed 46 34 #endif 47 35 … … 229 217 #define SNDRV_PCM_FORMAT_U24_LE ((__force snd_pcm_format_t) 8) /* low three bytes */ 230 218 #define SNDRV_PCM_FORMAT_U24_BE ((__force snd_pcm_format_t) 9) /* low three bytes */ 219 /* 220 * For S32/U32 formats, 'msbits' hardware parameter is often used to deliver information about the 221 * available bit count in most significant bit. It's for the case of so-called 'left-justified' or 222 * `right-padding` sample which has less width than 32 bit. 223 */ 231 224 #define SNDRV_PCM_FORMAT_S32_LE ((__force snd_pcm_format_t) 10) 232 225 #define SNDRV_PCM_FORMAT_S32_BE ((__force snd_pcm_format_t) 11) … … 310 303 #define SNDRV_PCM_INFO_BATCH 0x00000010 /* double buffering */ 311 304 #define SNDRV_PCM_INFO_SYNC_APPLPTR 0x00000020 /* need the explicit sync of appl_ptr update */ 305 #define SNDRV_PCM_INFO_PERFECT_DRAIN 0x00000040 /* silencing at the end of stream is not required */ 312 306 #define SNDRV_PCM_INFO_INTERLEAVED 0x00000100 /* channels are interleaved */ 313 307 #define SNDRV_PCM_INFO_NONINTERLEAVED 0x00000200 /* channels are not interleaved */ … … 327 321 #define SNDRV_PCM_INFO_HAS_LINK_SYNCHRONIZED_ATIME 0x08000000 /* report synchronized audio/system time */ 328 322 #define SNDRV_PCM_INFO_EXPLICIT_SYNC 0x10000000 /* needs explicit sync of pointers and data */ 329 323 #define SNDRV_PCM_INFO_NO_REWINDS 0x20000000 /* hardware can only support monotonic changes of appl_ptr */ 330 324 #define SNDRV_PCM_INFO_DRAIN_TRIGGER 0x40000000 /* internal kernel flag - trigger in drain */ 331 325 #define SNDRV_PCM_INFO_FIFO_IN_FRAMES 0x80000000 /* internal kernel flag - FIFO size is in frames */ … … 422 416 #define SNDRV_PCM_HW_PARAMS_EXPORT_BUFFER (1<<1) /* export buffer */ 423 417 #define SNDRV_PCM_HW_PARAMS_NO_PERIOD_WAKEUP (1<<2) /* disable period wakeups */ 418 #define SNDRV_PCM_HW_PARAMS_NO_DRAIN_SILENCE (1<<3) /* suppress drain with the filling 419 * of the silence samples 420 */ 424 421 425 422 struct snd_interval { … … 468 465 snd_pcm_uframes_t xfer_align; /* obsolete: xfer size need to be a multiple */ 469 466 snd_pcm_uframes_t start_threshold; /* min hw_avail frames for automatic start */ 470 snd_pcm_uframes_t stop_threshold; /* min avail frames for automatic stop */ 471 snd_pcm_uframes_t silence_threshold; /* min distance from noise for silence filling */ 472 snd_pcm_uframes_t silence_size; /* silence block size */ 467 /* 468 * The following two thresholds alleviate playback buffer underruns; when 469 * hw_avail drops below the threshold, the respective action is triggered: 470 */ 471 snd_pcm_uframes_t stop_threshold; /* - stop playback */ 472 snd_pcm_uframes_t silence_threshold; /* - pre-fill buffer with silence */ 473 snd_pcm_uframes_t silence_size; /* max size of silence pre-fill; when >= boundary, 474 * fill played area with silence immediately */ 473 475 snd_pcm_uframes_t boundary; /* pointers wrap point */ 474 476 unsigned int proto; /* protocol version */ … … 619 621 __pad_before_uframe __pad1; 620 622 snd_pcm_uframes_t appl_ptr; /* RW: appl ptr (0...boundary-1) */ 621 __pad_before_uframe __pad2; 623 __pad_before_uframe __pad2; // This should be __pad_after_uframe, but binary 624 // backwards compatibility constraints prevent a fix. 622 625 623 626 __pad_before_uframe __pad3; … … 751 754 */ 752 755 753 #define SNDRV_RAWMIDI_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 2)756 #define SNDRV_RAWMIDI_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 4) 754 757 755 758 enum { … … 762 765 #define SNDRV_RAWMIDI_INFO_INPUT 0x00000002 763 766 #define SNDRV_RAWMIDI_INFO_DUPLEX 0x00000004 767 #define SNDRV_RAWMIDI_INFO_UMP 0x00000008 764 768 765 769 struct snd_rawmidi_info { … … 826 830 #endif 827 831 832 /* UMP EP info flags */ 833 #define SNDRV_UMP_EP_INFO_STATIC_BLOCKS 0x01 834 835 /* UMP EP Protocol / JRTS capability bits */ 836 #define SNDRV_UMP_EP_INFO_PROTO_MIDI_MASK 0x0300 837 #define SNDRV_UMP_EP_INFO_PROTO_MIDI1 0x0100 /* MIDI 1.0 */ 838 #define SNDRV_UMP_EP_INFO_PROTO_MIDI2 0x0200 /* MIDI 2.0 */ 839 #define SNDRV_UMP_EP_INFO_PROTO_JRTS_MASK 0x0003 840 #define SNDRV_UMP_EP_INFO_PROTO_JRTS_TX 0x0001 /* JRTS Transmit */ 841 #define SNDRV_UMP_EP_INFO_PROTO_JRTS_RX 0x0002 /* JRTS Receive */ 842 843 /* UMP Endpoint information */ 844 struct snd_ump_endpoint_info { 845 int card; /* card number */ 846 int device; /* device number */ 847 unsigned int flags; /* additional info */ 848 unsigned int protocol_caps; /* protocol capabilities */ 849 unsigned int protocol; /* current protocol */ 850 unsigned int num_blocks; /* # of function blocks */ 851 unsigned short version; /* UMP major/minor version */ 852 unsigned short family_id; /* MIDI device family ID */ 853 unsigned short model_id; /* MIDI family model ID */ 854 unsigned int manufacturer_id; /* MIDI manufacturer ID */ 855 unsigned char sw_revision[4]; /* software revision */ 856 unsigned short padding; 857 unsigned char name[128]; /* endpoint name string */ 858 unsigned char product_id[128]; /* unique product id string */ 859 unsigned char reserved[32]; 860 } __packed; 861 862 /* UMP direction */ 863 #define SNDRV_UMP_DIR_INPUT 0x01 864 #define SNDRV_UMP_DIR_OUTPUT 0x02 865 #define SNDRV_UMP_DIR_BIDIRECTION 0x03 866 867 /* UMP block info flags */ 868 #define SNDRV_UMP_BLOCK_IS_MIDI1 (1U << 0) /* MIDI 1.0 port w/o restrict */ 869 #define SNDRV_UMP_BLOCK_IS_LOWSPEED (1U << 1) /* 31.25Kbps B/W MIDI1 port */ 870 871 /* UMP block user-interface hint */ 872 #define SNDRV_UMP_BLOCK_UI_HINT_UNKNOWN 0x00 873 #define SNDRV_UMP_BLOCK_UI_HINT_RECEIVER 0x01 874 #define SNDRV_UMP_BLOCK_UI_HINT_SENDER 0x02 875 #define SNDRV_UMP_BLOCK_UI_HINT_BOTH 0x03 876 877 /* UMP groups and blocks */ 878 #define SNDRV_UMP_MAX_GROUPS 16 879 #define SNDRV_UMP_MAX_BLOCKS 32 880 881 /* UMP Block information */ 882 struct snd_ump_block_info { 883 int card; /* card number */ 884 int device; /* device number */ 885 unsigned char block_id; /* block ID (R/W) */ 886 unsigned char direction; /* UMP direction */ 887 unsigned char active; /* Activeness */ 888 unsigned char first_group; /* first group ID */ 889 unsigned char num_groups; /* number of groups */ 890 unsigned char midi_ci_version; /* MIDI-CI support version */ 891 unsigned char sysex8_streams; /* max number of sysex8 streams */ 892 unsigned char ui_hint; /* user interface hint */ 893 unsigned int flags; /* various info flags */ 894 unsigned char name[128]; /* block name string */ 895 unsigned char reserved[32]; 896 } __packed; 897 828 898 #define SNDRV_RAWMIDI_IOCTL_PVERSION _IOR('W', 0x00, int) 829 899 #define SNDRV_RAWMIDI_IOCTL_INFO _IOR('W', 0x01, struct snd_rawmidi_info) … … 833 903 #define SNDRV_RAWMIDI_IOCTL_DROP _IOW('W', 0x30, int) 834 904 #define SNDRV_RAWMIDI_IOCTL_DRAIN _IOW('W', 0x31, int) 905 /* Additional ioctls for UMP rawmidi devices */ 906 #define SNDRV_UMP_IOCTL_ENDPOINT_INFO _IOR('W', 0x40, struct snd_ump_endpoint_info) 907 #define SNDRV_UMP_IOCTL_BLOCK_INFO _IOR('W', 0x41, struct snd_ump_block_info) 835 908 836 909 /* … … 1008 1081 ****************************************************************************/ 1009 1082 1010 #define SNDRV_CTL_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 8)1083 #define SNDRV_CTL_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 9) 1011 1084 1012 1085 /******************** This section used in uniaud.dll interface *********************/ … … 1047 1120 #define SNDRV_CTL_ELEM_ACCESS_READWRITE (SNDRV_CTL_ELEM_ACCESS_READ|SNDRV_CTL_ELEM_ACCESS_WRITE) 1048 1121 #define SNDRV_CTL_ELEM_ACCESS_VOLATILE (1<<2) /* control value may be changed without a notification */ 1049 / / (1 << 3) is unused.1122 /* (1 << 3) is unused. */ 1050 1123 #define SNDRV_CTL_ELEM_ACCESS_TLV_READ (1<<4) /* TLV read is possible */ 1051 1124 #define SNDRV_CTL_ELEM_ACCESS_TLV_WRITE (1<<5) /* TLV write is possible */ … … 1145 1218 unsigned int length; /* in bytes aligned to 4 */ 1146 1219 #ifndef TARGET_OS2 1147 unsigned int tlv[ 0]; /* first TLV */1220 unsigned int tlv[]; /* first TLV */ 1148 1221 #else 1149 1222 unsigned int tlv[1]; /* first TLV */ … … 1174 1247 #define SNDRV_CTL_IOCTL_RAWMIDI_INFO _IOWR('U', 0x41, struct snd_rawmidi_info) 1175 1248 #define SNDRV_CTL_IOCTL_RAWMIDI_PREFER_SUBDEVICE _IOW('U', 0x42, int) 1249 #define SNDRV_CTL_IOCTL_UMP_NEXT_DEVICE _IOWR('U', 0x43, int) 1250 #define SNDRV_CTL_IOCTL_UMP_ENDPOINT_INFO _IOWR('U', 0x44, struct snd_ump_endpoint_info) 1251 #define SNDRV_CTL_IOCTL_UMP_BLOCK_INFO _IOWR('U', 0x45, struct snd_ump_block_info) 1176 1252 #define SNDRV_CTL_IOCTL_POWER _IOWR('U', 0xd0, int) 1177 1253 #define SNDRV_CTL_IOCTL_POWER_STATE _IOR('U', 0xd1, int) -
GPL/trunk/alsa-kernel/include/uapi/sound/asound_fm.h
r615 r772 11 11 * 12 12 * Direct FM control 13 *14 * This program is free software; you can redistribute it and/or modify15 * it under the terms of the GNU General Public License as published by16 * the Free Software Foundation; either version 2 of the License, or17 * (at your option) any later version.18 *19 * This program is distributed in the hope that it will be useful,20 * but WITHOUT ANY WARRANTY; without even the implied warranty of21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the22 * GNU General Public License for more details.23 *24 * You should have received a copy of the GNU General Public License25 * along with this program; if not, write to the Free Software26 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA27 *28 13 */ 29 14 -
GPL/trunk/alsa-kernel/include/uapi/sound/compress_offload.h
r629 r772 6 6 * Authors: Vinod Koul <vinod.koul@linux.intel.com> 7 7 * Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> 8 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~9 *10 * This program is free software; you can redistribute it and/or modify11 * it under the terms of the GNU General Public License as published by12 * the Free Software Foundation; version 2 of the License.13 *14 * This program is distributed in the hope that it will be useful, but15 * WITHOUT ANY WARRANTY; without even the implied warranty of16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU17 * General Public License for more details.18 *19 * You should have received a copy of the GNU General Public License along20 * with this program; if not, write to the Free Software Foundation, Inc.,21 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.22 *23 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~24 *25 8 */ 26 9 #ifndef __COMPRESS_OFFLOAD_H … … 124 107 125 108 /** 126 * enum sndrv_compress_encoder 109 * enum sndrv_compress_encoder - encoder metadata key 127 110 * @SNDRV_COMPRESS_ENCODER_PADDING: no of samples appended by the encoder at the 128 111 * end of the track -
GPL/trunk/alsa-kernel/include/uapi/sound/compress_params.h
r629 r772 8 8 * Vinod Koul <vinod.koul@linux.intel.com> 9 9 * 10 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~11 *12 * This program is free software; you can redistribute it and/or modify13 * it under the terms of the GNU General Public License as published by14 * the Free Software Foundation; version 2 of the License.15 *16 * This program is distributed in the hope that it will be useful, but17 * WITHOUT ANY WARRANTY; without even the implied warranty of18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU19 * General Public License for more details.20 *21 * You should have received a copy of the GNU General Public License along22 * with this program; if not, write to the Free Software Foundation, Inc.,23 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.24 *25 10 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 26 11 * 27 12 * The definitions in this file are derived from the OpenMAX AL version 1.1 28 * and OpenMAX IL v 1.1.2 header files which contain the copyright notice below. 13 * and OpenMAX IL v 1.1.2 header files which contain the copyright notice below 14 * and are licensed under the MIT license. 29 15 * 30 16 * Copyright (c) 2007-2010 The Khronos Group Inc. 31 *32 * Permission is hereby granted, free of charge, to any person obtaining33 * a copy of this software and/or associated documentation files (the34 * "Materials "), to deal in the Materials without restriction, including35 * without limitation the rights to use, copy, modify, merge, publish,36 * distribute, sublicense, and/or sell copies of the Materials, and to37 * permit persons to whom the Materials are furnished to do so, subject to38 * the following conditions:39 *40 * The above copyright notice and this permission notice shall be included41 * in all copies or substantial portions of the Materials.42 *43 * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS44 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF45 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.46 * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY47 * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,48 * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE49 * MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.50 *51 17 */ 52 18 #ifndef __SND_COMPRESS_PARAMS_H … … 251 217 252 218 /** 253 * struct snd_enc_vorbis 219 * struct snd_enc_vorbis - Vorbis encoder parameters 254 220 * @quality: Sets encoding quality to n, between -1 (low) and 10 (high). 255 221 * In the default mode of operation, the quality level is 3. … … 280 246 281 247 /** 282 * struct snd_enc_real 248 * struct snd_enc_real - RealAudio encoder parameters 283 249 * @quant_bits: number of coupling quantization bits in the stream 284 250 * @start_region: coupling start region in the stream … … 295 261 296 262 /** 297 * struct snd_enc_flac 263 * struct snd_enc_flac - FLAC encoder parameters 298 264 * @num: serial number, valid only for OGG formats 299 265 * needs to be set by application -
GPL/trunk/alsa-kernel/include/uapi/sound/emu10k1.h
r629 r772 4 4 * Creative Labs, Inc. 5 5 * Definitions for EMU10K1 (SB Live!) chips 6 *7 *8 * This program is free software; you can redistribute it and/or modify9 * it under the terms of the GNU General Public License as published by10 * the Free Software Foundation; either version 2 of the License, or11 * (at your option) any later version.12 *13 * This program is distributed in the hope that it will be useful,14 * but WITHOUT ANY WARRANTY; without even the implied warranty of15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the16 * GNU General Public License for more details.17 *18 * You should have received a copy of the GNU General Public License19 * along with this program; if not, write to the Free Software20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA21 *22 6 */ 23 7 #ifndef _UAPI__SOUND_EMU10K1_H … … 31 15 * ---- FX8010 ---- 32 16 */ 33 34 #define EMU10K1_CARD_CREATIVE 0x0000000035 #define EMU10K1_CARD_EMUAPS 0x0000000136 17 37 18 #define EMU10K1_FX8010_PCM_COUNT 8 … … 63 44 #define iSKIP 0x0f /* R = A (cc_reg), X (count), Y (cc_test) */ 64 45 46 #define LOWORD_OPX_MASK 0x000ffc00 /* Instruction operand X */ 47 #define LOWORD_OPY_MASK 0x000003ff /* Instruction operand Y */ 48 #define HIWORD_OPCODE_MASK 0x00f00000 /* Instruction opcode */ 49 #define HIWORD_RESULT_MASK 0x000ffc00 /* Instruction result */ 50 #define HIWORD_OPA_MASK 0x000003ff /* Instruction operand A */ 51 52 /* Audigy Soundcards have a different instruction format */ 53 #define A_LOWORD_OPX_MASK 0x007ff000 54 #define A_LOWORD_OPY_MASK 0x000007ff 55 #define A_HIWORD_OPCODE_MASK 0x0f000000 56 #define A_HIWORD_RESULT_MASK 0x007ff000 57 #define A_HIWORD_OPA_MASK 0x000007ff 58 65 59 /* GPRs */ 66 60 #define FXBUS(x) (0x00 + (x)) /* x = 0x00 - 0x0f */ … … 69 63 #define FXBUS2(x) (0x30 + (x)) /* x = 0x00 - 0x0f copies of fx buses for capture -> FXWC high 16 bits */ 70 64 /* NB: 0x31 and 0x32 are shared with Center/LFE on SB live 5.1 */ 65 66 #define A_FXBUS(x) (0x00 + (x)) /* x = 0x00 - 0x3f FX buses */ 67 #define A_EXTIN(x) (0x40 + (x)) /* x = 0x00 - 0x0f physical ins */ 68 #define A_P16VIN(x) (0x50 + (x)) /* x = 0x00 - 0x0f p16v ins (A2 only) "EMU32 inputs" */ 69 #define A_EXTOUT(x) (0x60 + (x)) /* x = 0x00 - 0x1f physical outs -> A_FXWC1 0x79-7f unknown */ 70 #define A_FXBUS2(x) (0x80 + (x)) /* x = 0x00 - 0x1f extra outs used for EFX capture -> A_FXWC2 */ 71 #define A_EMU32OUTH(x) (0xa0 + (x)) /* x = 0x00 - 0x0f "EMU32_OUT_10 - _1F" */ 72 #define A_EMU32OUTL(x) (0xb0 + (x)) /* x = 0x00 - 0x0f "EMU32_OUT_01 - _0F" */ 73 #define A3_EMU32IN(x) (0x160 + (x)) /* x = 0x00 - 0x1f "EMU32_IN_00 - _1F" - Only when .device = 0x0008 */ 74 #define A3_EMU32OUT(x) (0x1E0 + (x)) /* x = 0x00 - 0x1f "EMU32_OUT_00 - _1F" - Only when .device = 0x0008 */ 71 75 72 76 #define C_00000000 0x40 … … 98 102 #define GPR_IRQ 0x5a /* IRQ register */ 99 103 #define GPR_DBAC 0x5b /* TRAM Delay Base Address Counter */ 100 #define GPR(x) (FXGPREGBASE + (x)) /* free GPRs: x = 0x00 - 0xff */101 #define ITRAM_DATA(x) (TANKMEMDATAREGBASE + 0x00 + (x)) /* x = 0x00 - 0x7f */102 #define ETRAM_DATA(x) (TANKMEMDATAREGBASE + 0x80 + (x)) /* x = 0x00 - 0x1f */103 #define ITRAM_ADDR(x) (TANKMEMADDRREGBASE + 0x00 + (x)) /* x = 0x00 - 0x7f */104 #define ETRAM_ADDR(x) (TANKMEMADDRREGBASE + 0x80 + (x)) /* x = 0x00 - 0x1f */105 106 #define A_ITRAM_DATA(x) (TANKMEMDATAREGBASE + 0x00 + (x)) /* x = 0x00 - 0xbf */107 #define A_ETRAM_DATA(x) (TANKMEMDATAREGBASE + 0xc0 + (x)) /* x = 0x00 - 0x3f */108 #define A_ITRAM_ADDR(x) (TANKMEMADDRREGBASE + 0x00 + (x)) /* x = 0x00 - 0xbf */109 #define A_ETRAM_ADDR(x) (TANKMEMADDRREGBASE + 0xc0 + (x)) /* x = 0x00 - 0x3f */110 #define A_ITRAM_CTL(x) (A_TANKMEMCTLREGBASE + 0x00 + (x)) /* x = 0x00 - 0xbf */111 #define A_ETRAM_CTL(x) (A_TANKMEMCTLREGBASE + 0xc0 + (x)) /* x = 0x00 - 0x3f */112 113 #define A_FXBUS(x) (0x00 + (x)) /* x = 0x00 - 0x3f FX buses */114 #define A_EXTIN(x) (0x40 + (x)) /* x = 0x00 - 0x0f physical ins */115 #define A_P16VIN(x) (0x50 + (x)) /* x = 0x00 - 0x0f p16v ins (A2 only) "EMU32 inputs" */116 #define A_EXTOUT(x) (0x60 + (x)) /* x = 0x00 - 0x1f physical outs -> A_FXWC1 0x79-7f unknown */117 #define A_FXBUS2(x) (0x80 + (x)) /* x = 0x00 - 0x1f extra outs used for EFX capture -> A_FXWC2 */118 #define A_EMU32OUTH(x) (0xa0 + (x)) /* x = 0x00 - 0x0f "EMU32_OUT_10 - _1F" - ??? */119 #define A_EMU32OUTL(x) (0xb0 + (x)) /* x = 0x00 - 0x0f "EMU32_OUT_1 - _F" - ??? */120 #define A3_EMU32IN(x) (0x160 + (x)) /* x = 0x00 - 0x3f "EMU32_IN_00 - _3F" - Only when .device = 0x0008 */121 #define A3_EMU32OUT(x) (0x1E0 + (x)) /* x = 0x00 - 0x0f "EMU32_OUT_00 - _3F" - Only when .device = 0x0008 */122 #define A_GPR(x) (A_FXGPREGBASE + (x))123 124 /* cc_reg constants */125 #define CC_REG_NORMALIZED C_00000001126 #define CC_REG_BORROW C_00000002127 #define CC_REG_MINUS C_00000004128 #define CC_REG_ZERO C_00000008129 #define CC_REG_SATURATE C_00000010130 #define CC_REG_NONZERO C_00000100131 132 /* FX buses */133 #define FXBUS_PCM_LEFT 0x00134 #define FXBUS_PCM_RIGHT 0x01135 #define FXBUS_PCM_LEFT_REAR 0x02136 #define FXBUS_PCM_RIGHT_REAR 0x03137 #define FXBUS_MIDI_LEFT 0x04138 #define FXBUS_MIDI_RIGHT 0x05139 #define FXBUS_PCM_CENTER 0x06140 #define FXBUS_PCM_LFE 0x07141 #define FXBUS_PCM_LEFT_FRONT 0x08142 #define FXBUS_PCM_RIGHT_FRONT 0x09143 #define FXBUS_MIDI_REVERB 0x0c144 #define FXBUS_MIDI_CHORUS 0x0d145 #define FXBUS_PCM_LEFT_SIDE 0x0e146 #define FXBUS_PCM_RIGHT_SIDE 0x0f147 #define FXBUS_PT_LEFT 0x14148 #define FXBUS_PT_RIGHT 0x15149 150 /* Inputs */151 #define EXTIN_AC97_L 0x00 /* AC'97 capture channel - left */152 #define EXTIN_AC97_R 0x01 /* AC'97 capture channel - right */153 #define EXTIN_SPDIF_CD_L 0x02 /* internal S/PDIF CD - onboard - left */154 #define EXTIN_SPDIF_CD_R 0x03 /* internal S/PDIF CD - onboard - right */155 #define EXTIN_ZOOM_L 0x04 /* Zoom Video I2S - left */156 #define EXTIN_ZOOM_R 0x05 /* Zoom Video I2S - right */157 #define EXTIN_TOSLINK_L 0x06 /* LiveDrive - TOSLink Optical - left */158 #define EXTIN_TOSLINK_R 0x07 /* LiveDrive - TOSLink Optical - right */159 #define EXTIN_LINE1_L 0x08 /* LiveDrive - Line/Mic 1 - left */160 #define EXTIN_LINE1_R 0x09 /* LiveDrive - Line/Mic 1 - right */161 #define EXTIN_COAX_SPDIF_L 0x0a /* LiveDrive - Coaxial S/PDIF - left */162 #define EXTIN_COAX_SPDIF_R 0x0b /* LiveDrive - Coaxial S/PDIF - right */163 #define EXTIN_LINE2_L 0x0c /* LiveDrive - Line/Mic 2 - left */164 #define EXTIN_LINE2_R 0x0d /* LiveDrive - Line/Mic 2 - right */165 166 /* Outputs */167 #define EXTOUT_AC97_L 0x00 /* AC'97 playback channel - left */168 #define EXTOUT_AC97_R 0x01 /* AC'97 playback channel - right */169 #define EXTOUT_TOSLINK_L 0x02 /* LiveDrive - TOSLink Optical - left */170 #define EXTOUT_TOSLINK_R 0x03 /* LiveDrive - TOSLink Optical - right */171 #define EXTOUT_AC97_CENTER 0x04 /* SB Live 5.1 - center */172 #define EXTOUT_AC97_LFE 0x05 /* SB Live 5.1 - LFE */173 #define EXTOUT_HEADPHONE_L 0x06 /* LiveDrive - Headphone - left */174 #define EXTOUT_HEADPHONE_R 0x07 /* LiveDrive - Headphone - right */175 #define EXTOUT_REAR_L 0x08 /* Rear channel - left */176 #define EXTOUT_REAR_R 0x09 /* Rear channel - right */177 #define EXTOUT_ADC_CAP_L 0x0a /* ADC Capture buffer - left */178 #define EXTOUT_ADC_CAP_R 0x0b /* ADC Capture buffer - right */179 #define EXTOUT_MIC_CAP 0x0c /* MIC Capture buffer */180 #define EXTOUT_AC97_REAR_L 0x0d /* SB Live 5.1 (c) 2003 - Rear Left */181 #define EXTOUT_AC97_REAR_R 0x0e /* SB Live 5.1 (c) 2003 - Rear Right */182 #define EXTOUT_ACENTER 0x11 /* Analog Center */183 #define EXTOUT_ALFE 0x12 /* Analog LFE */184 185 /* Audigy Inputs */186 #define A_EXTIN_AC97_L 0x00 /* AC'97 capture channel - left */187 #define A_EXTIN_AC97_R 0x01 /* AC'97 capture channel - right */188 #define A_EXTIN_SPDIF_CD_L 0x02 /* digital CD left */189 #define A_EXTIN_SPDIF_CD_R 0x03 /* digital CD left */190 #define A_EXTIN_OPT_SPDIF_L 0x04 /* audigy drive Optical SPDIF - left */191 #define A_EXTIN_OPT_SPDIF_R 0x05 /* right */192 #define A_EXTIN_LINE2_L 0x08 /* audigy drive line2/mic2 - left */193 #define A_EXTIN_LINE2_R 0x09 /* right */194 #define A_EXTIN_ADC_L 0x0a /* Philips ADC - left */195 #define A_EXTIN_ADC_R 0x0b /* right */196 #define A_EXTIN_AUX2_L 0x0c /* audigy drive aux2 - left */197 #define A_EXTIN_AUX2_R 0x0d /* - right */198 199 /* Audigiy Outputs */200 #define A_EXTOUT_FRONT_L 0x00 /* digital front left */201 #define A_EXTOUT_FRONT_R 0x01 /* right */202 #define A_EXTOUT_CENTER 0x02 /* digital front center */203 #define A_EXTOUT_LFE 0x03 /* digital front lfe */204 #define A_EXTOUT_HEADPHONE_L 0x04 /* headphone audigy drive left */205 #define A_EXTOUT_HEADPHONE_R 0x05 /* right */206 #define A_EXTOUT_REAR_L 0x06 /* digital rear left */207 #define A_EXTOUT_REAR_R 0x07 /* right */208 #define A_EXTOUT_AFRONT_L 0x08 /* analog front left */209 #define A_EXTOUT_AFRONT_R 0x09 /* right */210 #define A_EXTOUT_ACENTER 0x0a /* analog center */211 #define A_EXTOUT_ALFE 0x0b /* analog LFE */212 #define A_EXTOUT_ASIDE_L 0x0c /* analog side left - Audigy 2 ZS */213 #define A_EXTOUT_ASIDE_R 0x0d /* right - Audigy 2 ZS */214 #define A_EXTOUT_AREAR_L 0x0e /* analog rear left */215 #define A_EXTOUT_AREAR_R 0x0f /* right */216 #define A_EXTOUT_AC97_L 0x10 /* AC97 left (front) */217 #define A_EXTOUT_AC97_R 0x11 /* right */218 #define A_EXTOUT_ADC_CAP_L 0x16 /* ADC capture buffer left */219 #define A_EXTOUT_ADC_CAP_R 0x17 /* right */220 #define A_EXTOUT_MIC_CAP 0x18 /* Mic capture buffer */221 104 222 105 /* Audigy constants */ … … 251 134 #define A_GPR_DBACE 0xde /* TRAM Delay Base Address Counter - external */ 252 135 253 /* definitions for debug register */ 136 /* Each FX general purpose register is 32 bits in length, all bits are used */ 137 #define FXGPREGBASE 0x100 /* FX general purpose registers base */ 138 #define A_FXGPREGBASE 0x400 /* Audigy GPRs, 0x400 to 0x5ff */ 139 140 #define A_TANKMEMCTLREGBASE 0x100 /* Tank memory control registers base - only for Audigy */ 141 #define A_TANKMEMCTLREG_MASK 0x1f /* only 5 bits used - only for Audigy */ 142 143 /* Tank audio data is logarithmically compressed down to 16 bits before writing to TRAM and is */ 144 /* decompressed back to 20 bits on a read. There are a total of 160 locations, the last 32 */ 145 /* locations are for external TRAM. */ 146 #define TANKMEMDATAREGBASE 0x200 /* Tank memory data registers base */ 147 #define TANKMEMDATAREG_MASK 0x000fffff /* 20 bit tank audio data field */ 148 149 /* Combined address field and memory opcode or flag field. 160 locations, last 32 are external */ 150 #define TANKMEMADDRREGBASE 0x300 /* Tank memory address registers base */ 151 #define TANKMEMADDRREG_ADDR_MASK 0x000fffff /* 20 bit tank address field */ 152 #define TANKMEMADDRREG_CLEAR 0x00800000 /* Clear tank memory */ 153 #define TANKMEMADDRREG_ALIGN 0x00400000 /* Align read or write relative to tank access */ 154 #define TANKMEMADDRREG_WRITE 0x00200000 /* Write to tank memory */ 155 #define TANKMEMADDRREG_READ 0x00100000 /* Read from tank memory */ 156 157 #define GPR(x) (FXGPREGBASE + (x)) /* free GPRs: x = 0x00 - 0xff */ 158 #define ITRAM_DATA(x) (TANKMEMDATAREGBASE + 0x00 + (x)) /* x = 0x00 - 0x7f */ 159 #define ETRAM_DATA(x) (TANKMEMDATAREGBASE + 0x80 + (x)) /* x = 0x00 - 0x1f */ 160 #define ITRAM_ADDR(x) (TANKMEMADDRREGBASE + 0x00 + (x)) /* x = 0x00 - 0x7f */ 161 #define ETRAM_ADDR(x) (TANKMEMADDRREGBASE + 0x80 + (x)) /* x = 0x00 - 0x1f */ 162 163 #define A_GPR(x) (A_FXGPREGBASE + (x)) 164 #define A_ITRAM_DATA(x) (TANKMEMDATAREGBASE + 0x00 + (x)) /* x = 0x00 - 0xbf */ 165 #define A_ETRAM_DATA(x) (TANKMEMDATAREGBASE + 0xc0 + (x)) /* x = 0x00 - 0x3f */ 166 #define A_ITRAM_ADDR(x) (TANKMEMADDRREGBASE + 0x00 + (x)) /* x = 0x00 - 0xbf */ 167 #define A_ETRAM_ADDR(x) (TANKMEMADDRREGBASE + 0xc0 + (x)) /* x = 0x00 - 0x3f */ 168 #define A_ITRAM_CTL(x) (A_TANKMEMCTLREGBASE + 0x00 + (x)) /* x = 0x00 - 0xbf */ 169 #define A_ETRAM_CTL(x) (A_TANKMEMCTLREGBASE + 0xc0 + (x)) /* x = 0x00 - 0x3f */ 170 171 /* cc_reg constants */ 172 #define CC_REG_NORMALIZED C_00000001 173 #define CC_REG_BORROW C_00000002 174 #define CC_REG_MINUS C_00000004 175 #define CC_REG_ZERO C_00000008 176 #define CC_REG_SATURATE C_00000010 177 #define CC_REG_NONZERO C_00000100 178 179 #define A_CC_REG_NORMALIZED A_C_00000001 180 #define A_CC_REG_BORROW A_C_00000002 181 #define A_CC_REG_MINUS A_C_00000004 182 #define A_CC_REG_ZERO A_C_00000008 183 #define A_CC_REG_SATURATE A_C_00000010 184 #define A_CC_REG_NONZERO A_C_00000100 185 186 /* FX buses */ 187 // These are arbitrary mappings; our DSP code simply expects 188 // the config files to route the channels this way. 189 // The numbers are documented in {audigy,sb-live}-mixer.rst. 190 #define FXBUS_PCM_LEFT 0x00 191 #define FXBUS_PCM_RIGHT 0x01 192 #define FXBUS_PCM_LEFT_REAR 0x02 193 #define FXBUS_PCM_RIGHT_REAR 0x03 194 #define FXBUS_MIDI_LEFT 0x04 195 #define FXBUS_MIDI_RIGHT 0x05 196 #define FXBUS_PCM_CENTER 0x06 197 #define FXBUS_PCM_LFE 0x07 198 #define FXBUS_PCM_LEFT_FRONT 0x08 199 #define FXBUS_PCM_RIGHT_FRONT 0x09 200 #define FXBUS_MIDI_REVERB 0x0c 201 #define FXBUS_MIDI_CHORUS 0x0d 202 #define FXBUS_PCM_LEFT_SIDE 0x0e 203 #define FXBUS_PCM_RIGHT_SIDE 0x0f 204 #define FXBUS_PT_LEFT 0x14 205 #define FXBUS_PT_RIGHT 0x15 206 207 /* Inputs */ 208 #define EXTIN_AC97_L 0x00 /* AC'97 capture channel - left */ 209 #define EXTIN_AC97_R 0x01 /* AC'97 capture channel - right */ 210 #define EXTIN_SPDIF_CD_L 0x02 /* internal S/PDIF CD - onboard - left */ 211 #define EXTIN_SPDIF_CD_R 0x03 /* internal S/PDIF CD - onboard - right */ 212 #define EXTIN_ZOOM_L 0x04 /* Zoom Video I2S - left */ 213 #define EXTIN_ZOOM_R 0x05 /* Zoom Video I2S - right */ 214 #define EXTIN_TOSLINK_L 0x06 /* LiveDrive - TOSLink Optical - left */ 215 #define EXTIN_TOSLINK_R 0x07 /* LiveDrive - TOSLink Optical - right */ 216 #define EXTIN_LINE1_L 0x08 /* LiveDrive - Line/Mic 1 - left */ 217 #define EXTIN_LINE1_R 0x09 /* LiveDrive - Line/Mic 1 - right */ 218 #define EXTIN_COAX_SPDIF_L 0x0a /* LiveDrive - Coaxial S/PDIF - left */ 219 #define EXTIN_COAX_SPDIF_R 0x0b /* LiveDrive - Coaxial S/PDIF - right */ 220 #define EXTIN_LINE2_L 0x0c /* LiveDrive - Line/Mic 2 - left */ 221 #define EXTIN_LINE2_R 0x0d /* LiveDrive - Line/Mic 2 - right */ 222 223 /* Outputs */ 224 #define EXTOUT_AC97_L 0x00 /* AC'97 playback channel - left */ 225 #define EXTOUT_AC97_R 0x01 /* AC'97 playback channel - right */ 226 #define EXTOUT_TOSLINK_L 0x02 /* LiveDrive - TOSLink Optical - left */ 227 #define EXTOUT_TOSLINK_R 0x03 /* LiveDrive - TOSLink Optical - right */ 228 #define EXTOUT_AC97_CENTER 0x04 /* SB Live 5.1 - center */ 229 #define EXTOUT_AC97_LFE 0x05 /* SB Live 5.1 - LFE */ 230 #define EXTOUT_HEADPHONE_L 0x06 /* LiveDrive - Headphone - left */ 231 #define EXTOUT_HEADPHONE_R 0x07 /* LiveDrive - Headphone - right */ 232 #define EXTOUT_REAR_L 0x08 /* Rear channel - left */ 233 #define EXTOUT_REAR_R 0x09 /* Rear channel - right */ 234 #define EXTOUT_ADC_CAP_L 0x0a /* ADC Capture buffer - left */ 235 #define EXTOUT_ADC_CAP_R 0x0b /* ADC Capture buffer - right */ 236 #define EXTOUT_MIC_CAP 0x0c /* MIC Capture buffer */ 237 #define EXTOUT_AC97_REAR_L 0x0d /* SB Live 5.1 (c) 2003 - Rear Left */ 238 #define EXTOUT_AC97_REAR_R 0x0e /* SB Live 5.1 (c) 2003 - Rear Right */ 239 #define EXTOUT_ACENTER 0x11 /* Analog Center */ 240 #define EXTOUT_ALFE 0x12 /* Analog LFE */ 241 242 /* Audigy Inputs */ 243 #define A_EXTIN_AC97_L 0x00 /* AC'97 capture channel - left */ 244 #define A_EXTIN_AC97_R 0x01 /* AC'97 capture channel - right */ 245 #define A_EXTIN_SPDIF_CD_L 0x02 /* digital CD left */ 246 #define A_EXTIN_SPDIF_CD_R 0x03 /* digital CD left */ 247 #define A_EXTIN_OPT_SPDIF_L 0x04 /* audigy drive Optical SPDIF - left */ 248 #define A_EXTIN_OPT_SPDIF_R 0x05 /* right */ 249 #define A_EXTIN_LINE2_L 0x08 /* audigy drive line2/mic2 - left */ 250 #define A_EXTIN_LINE2_R 0x09 /* right */ 251 #define A_EXTIN_ADC_L 0x0a /* Philips ADC - left */ 252 #define A_EXTIN_ADC_R 0x0b /* right */ 253 #define A_EXTIN_AUX2_L 0x0c /* audigy drive aux2 - left */ 254 #define A_EXTIN_AUX2_R 0x0d /* - right */ 255 256 /* Audigiy Outputs */ 257 #define A_EXTOUT_FRONT_L 0x00 /* digital front left */ 258 #define A_EXTOUT_FRONT_R 0x01 /* right */ 259 #define A_EXTOUT_CENTER 0x02 /* digital front center */ 260 #define A_EXTOUT_LFE 0x03 /* digital front lfe */ 261 #define A_EXTOUT_HEADPHONE_L 0x04 /* headphone audigy drive left */ 262 #define A_EXTOUT_HEADPHONE_R 0x05 /* right */ 263 #define A_EXTOUT_REAR_L 0x06 /* digital rear left */ 264 #define A_EXTOUT_REAR_R 0x07 /* right */ 265 #define A_EXTOUT_AFRONT_L 0x08 /* analog front left */ 266 #define A_EXTOUT_AFRONT_R 0x09 /* right */ 267 #define A_EXTOUT_ACENTER 0x0a /* analog center */ 268 #define A_EXTOUT_ALFE 0x0b /* analog LFE */ 269 #define A_EXTOUT_ASIDE_L 0x0c /* analog side left - Audigy 2 ZS */ 270 #define A_EXTOUT_ASIDE_R 0x0d /* right - Audigy 2 ZS */ 271 #define A_EXTOUT_AREAR_L 0x0e /* analog rear left */ 272 #define A_EXTOUT_AREAR_R 0x0f /* right */ 273 #define A_EXTOUT_AC97_L 0x10 /* AC97 left (front) */ 274 #define A_EXTOUT_AC97_R 0x11 /* right */ 275 #define A_EXTOUT_ADC_CAP_L 0x16 /* ADC capture buffer left */ 276 #define A_EXTOUT_ADC_CAP_R 0x17 /* right */ 277 #define A_EXTOUT_MIC_CAP 0x18 /* Mic capture buffer */ 278 279 /* Definitions for debug register. Note that these are for emu10k1 ONLY. */ 254 280 #define EMU10K1_DBG_ZC 0x80000000 /* zero tram counter */ 255 281 #define EMU10K1_DBG_SATURATION_OCCURED 0x02000000 /* saturation control */ … … 260 286 #define EMU10K1_DBG_SINGLE_STEP_ADDR 0x000001ff /* single step address */ 261 287 262 /* tank memory address line*/263 # ifndef __KERNEL__264 #define TANKMEMADDRREG_ADDR_MASK 0x000fffff /* 20 bit tank address field */265 #define TANKMEMADDRREG_CLEAR 0x00800000 /* Clear tank memory */266 #define TANKMEMADDRREG_ALIGN 0x00400000 /* Align read or write relative to tank access*/267 #define TANKMEMADDRREG_WRITE 0x00200000 /* Write to tank memory */268 #define TANKMEMADDRREG_READ 0x00100000 /* Read from tank memory */269 # endif288 /* Definitions for emu10k2 debug register. */ 289 #define A_DBG_ZC 0x40000000 /* zero tram counter */ 290 #define A_DBG_SATURATION_OCCURED 0x20000000 291 #define A_DBG_SATURATION_ADDR 0x0ffc0000 292 #define A_DBG_SINGLE_STEP 0x00020000 /* Set to zero to start dsp */ 293 #define A_DBG_STEP 0x00010000 294 #define A_DBG_CONDITION_CODE 0x0000f800 295 #define A_DBG_STEP_ADDR 0x000003ff 270 296 271 297 struct snd_emu10k1_fx8010_info { … … 283 309 #define EMU10K1_GPR_TRANSLATION_TREBLE 3 284 310 #define EMU10K1_GPR_TRANSLATION_ONOFF 4 311 #define EMU10K1_GPR_TRANSLATION_NEGATE 5 312 #define EMU10K1_GPR_TRANSLATION_NEG_TABLE100 6 285 313 286 314 enum emu10k1_ctl_elem_iface { … … 303 331 unsigned int count; /* count of GPR (1..16) */ 304 332 unsigned short gpr[32]; /* GPR number(s) */ 305 unsigned int value[32];/* initial values */306 unsigned int min;/* minimum range */307 unsigned int max;/* maximum range */333 int value[32]; /* initial values */ 334 int min; /* minimum range */ 335 int max; /* maximum range */ 308 336 unsigned int translation; /* translation type (EMU10K1_GPR_TRANSLATION*) */ 309 337 const unsigned int *tlv; -
GPL/trunk/alsa-kernel/include/uapi/sound/tlv.h
r615 r772 1 1 /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ 2 /*3 * This program is free software; you can redistribute it and/or modify4 * it under the terms of the GNU General Public License as published by5 * the Free Software Foundation; either version 2 of the License, or6 * (at your option) any later version.7 *8 * This program is distributed in the hope that it will be useful,9 * but WITHOUT ANY WARRANTY; without even the implied warranty of10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the11 * GNU General Public License for more details.12 */13 2 14 3 #ifndef __UAPI_SOUND_TLV_H
Note:
See TracChangeset
for help on using the changeset viewer.