linux/sound/pci/cmipci.c
<<
>>
Prefs
   1/*
   2 * Driver for C-Media CMI8338 and 8738 PCI soundcards.
   3 * Copyright (c) 2000 by Takashi Iwai <tiwai@suse.de>
   4 *
   5 *   This program is free software; you can redistribute it and/or modify
   6 *   it under the terms of the GNU General Public License as published by
   7 *   the Free Software Foundation; either version 2 of the License, or
   8 *   (at your option) any later version.
   9 *
  10 *   This program is distributed in the hope that it will be useful,
  11 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
  12 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  13 *   GNU General Public License for more details.
  14 *
  15 *   You should have received a copy of the GNU General Public License
  16 *   along with this program; if not, write to the Free Software
  17 *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
  18 */
  19 
  20/* Does not work. Warning may block system in capture mode */
  21/* #define USE_VAR48KRATE */
  22
  23#include <asm/io.h>
  24#include <linux/delay.h>
  25#include <linux/interrupt.h>
  26#include <linux/init.h>
  27#include <linux/pci.h>
  28#include <linux/slab.h>
  29#include <linux/gameport.h>
  30#include <linux/module.h>
  31#include <linux/mutex.h>
  32#include <sound/core.h>
  33#include <sound/info.h>
  34#include <sound/control.h>
  35#include <sound/pcm.h>
  36#include <sound/rawmidi.h>
  37#include <sound/mpu401.h>
  38#include <sound/opl3.h>
  39#include <sound/sb.h>
  40#include <sound/asoundef.h>
  41#include <sound/initval.h>
  42
  43MODULE_AUTHOR("Takashi Iwai <tiwai@suse.de>");
  44MODULE_DESCRIPTION("C-Media CMI8x38 PCI");
  45MODULE_LICENSE("GPL");
  46MODULE_SUPPORTED_DEVICE("{{C-Media,CMI8738},"
  47                "{C-Media,CMI8738B},"
  48                "{C-Media,CMI8338A},"
  49                "{C-Media,CMI8338B}}");
  50
  51#if defined(CONFIG_GAMEPORT) || (defined(MODULE) && defined(CONFIG_GAMEPORT_MODULE))
  52#define SUPPORT_JOYSTICK 1
  53#endif
  54
  55static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX;      /* Index 0-MAX */
  56static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR;       /* ID for this card */
  57static bool enable[SNDRV_CARDS] = SNDRV_DEFAULT_ENABLE_PNP;     /* Enable switches */
  58static long mpu_port[SNDRV_CARDS];
  59static long fm_port[SNDRV_CARDS] = {[0 ... (SNDRV_CARDS-1)]=1};
  60static bool soft_ac3[SNDRV_CARDS] = {[0 ... (SNDRV_CARDS-1)]=1};
  61#ifdef SUPPORT_JOYSTICK
  62static int joystick_port[SNDRV_CARDS];
  63#endif
  64
  65module_param_array(index, int, NULL, 0444);
  66MODULE_PARM_DESC(index, "Index value for C-Media PCI soundcard.");
  67module_param_array(id, charp, NULL, 0444);
  68MODULE_PARM_DESC(id, "ID string for C-Media PCI soundcard.");
  69module_param_array(enable, bool, NULL, 0444);
  70MODULE_PARM_DESC(enable, "Enable C-Media PCI soundcard.");
  71module_param_array(mpu_port, long, NULL, 0444);
  72MODULE_PARM_DESC(mpu_port, "MPU-401 port.");
  73module_param_array(fm_port, long, NULL, 0444);
  74MODULE_PARM_DESC(fm_port, "FM port.");
  75module_param_array(soft_ac3, bool, NULL, 0444);
  76MODULE_PARM_DESC(soft_ac3, "Software-conversion of raw SPDIF packets (model 033 only).");
  77#ifdef SUPPORT_JOYSTICK
  78module_param_array(joystick_port, int, NULL, 0444);
  79MODULE_PARM_DESC(joystick_port, "Joystick port address.");
  80#endif
  81
  82/*
  83 * CM8x38 registers definition
  84 */
  85
  86#define CM_REG_FUNCTRL0         0x00
  87#define CM_RST_CH1              0x00080000
  88#define CM_RST_CH0              0x00040000
  89#define CM_CHEN1                0x00020000      /* ch1: enable */
  90#define CM_CHEN0                0x00010000      /* ch0: enable */
  91#define CM_PAUSE1               0x00000008      /* ch1: pause */
  92#define CM_PAUSE0               0x00000004      /* ch0: pause */
  93#define CM_CHADC1               0x00000002      /* ch1, 0:playback, 1:record */
  94#define CM_CHADC0               0x00000001      /* ch0, 0:playback, 1:record */
  95
  96#define CM_REG_FUNCTRL1         0x04
  97#define CM_DSFC_MASK            0x0000E000      /* channel 1 (DAC?) sampling frequency */
  98#define CM_DSFC_SHIFT           13
  99#define CM_ASFC_MASK            0x00001C00      /* channel 0 (ADC?) sampling frequency */
 100#define CM_ASFC_SHIFT           10
 101#define CM_SPDF_1               0x00000200      /* SPDIF IN/OUT at channel B */
 102#define CM_SPDF_0               0x00000100      /* SPDIF OUT only channel A */
 103#define CM_SPDFLOOP             0x00000080      /* ext. SPDIIF/IN -> OUT loopback */
 104#define CM_SPDO2DAC             0x00000040      /* SPDIF/OUT can be heard from internal DAC */
 105#define CM_INTRM                0x00000020      /* master control block (MCB) interrupt enabled */
 106#define CM_BREQ                 0x00000010      /* bus master enabled */
 107#define CM_VOICE_EN             0x00000008      /* legacy voice (SB16,FM) */
 108#define CM_UART_EN              0x00000004      /* legacy UART */
 109#define CM_JYSTK_EN             0x00000002      /* legacy joystick */
 110#define CM_ZVPORT               0x00000001      /* ZVPORT */
 111
 112#define CM_REG_CHFORMAT         0x08
 113
 114#define CM_CHB3D5C              0x80000000      /* 5,6 channels */
 115#define CM_FMOFFSET2            0x40000000      /* initial FM PCM offset 2 when Fmute=1 */
 116#define CM_CHB3D                0x20000000      /* 4 channels */
 117
 118#define CM_CHIP_MASK1           0x1f000000
 119#define CM_CHIP_037             0x01000000
 120#define CM_SETLAT48             0x00800000      /* set latency timer 48h */
 121#define CM_EDGEIRQ              0x00400000      /* emulated edge trigger legacy IRQ */
 122#define CM_SPD24SEL39           0x00200000      /* 24-bit spdif: model 039 */
 123#define CM_AC3EN1               0x00100000      /* enable AC3: model 037 */
 124#define CM_SPDIF_SELECT1        0x00080000      /* for model <= 037 ? */
 125#define CM_SPD24SEL             0x00020000      /* 24bit spdif: model 037 */
 126/* #define CM_SPDIF_INVERSE     0x00010000 */ /* ??? */
 127
 128#define CM_ADCBITLEN_MASK       0x0000C000      
 129#define CM_ADCBITLEN_16         0x00000000
 130#define CM_ADCBITLEN_15         0x00004000
 131#define CM_ADCBITLEN_14         0x00008000
 132#define CM_ADCBITLEN_13         0x0000C000
 133
 134#define CM_ADCDACLEN_MASK       0x00003000      /* model 037 */
 135#define CM_ADCDACLEN_060        0x00000000
 136#define CM_ADCDACLEN_066        0x00001000
 137#define CM_ADCDACLEN_130        0x00002000
 138#define CM_ADCDACLEN_280        0x00003000
 139
 140#define CM_ADCDLEN_MASK         0x00003000      /* model 039 */
 141#define CM_ADCDLEN_ORIGINAL     0x00000000
 142#define CM_ADCDLEN_EXTRA        0x00001000
 143#define CM_ADCDLEN_24K          0x00002000
 144#define CM_ADCDLEN_WEIGHT       0x00003000
 145
 146#define CM_CH1_SRATE_176K       0x00000800
 147#define CM_CH1_SRATE_96K        0x00000800      /* model 055? */
 148#define CM_CH1_SRATE_88K        0x00000400
 149#define CM_CH0_SRATE_176K       0x00000200
 150#define CM_CH0_SRATE_96K        0x00000200      /* model 055? */
 151#define CM_CH0_SRATE_88K        0x00000100
 152#define CM_CH0_SRATE_128K       0x00000300
 153#define CM_CH0_SRATE_MASK       0x00000300
 154
 155#define CM_SPDIF_INVERSE2       0x00000080      /* model 055? */
 156#define CM_DBLSPDS              0x00000040      /* double SPDIF sample rate 88.2/96 */
 157#define CM_POLVALID             0x00000020      /* inverse SPDIF/IN valid bit */
 158#define CM_SPDLOCKED            0x00000010
 159
 160#define CM_CH1FMT_MASK          0x0000000C      /* bit 3: 16 bits, bit 2: stereo */
 161#define CM_CH1FMT_SHIFT         2
 162#define CM_CH0FMT_MASK          0x00000003      /* bit 1: 16 bits, bit 0: stereo */
 163#define CM_CH0FMT_SHIFT         0
 164
 165#define CM_REG_INT_HLDCLR       0x0C
 166#define CM_CHIP_MASK2           0xff000000
 167#define CM_CHIP_8768            0x20000000
 168#define CM_CHIP_055             0x08000000
 169#define CM_CHIP_039             0x04000000
 170#define CM_CHIP_039_6CH         0x01000000
 171#define CM_UNKNOWN_INT_EN       0x00080000      /* ? */
 172#define CM_TDMA_INT_EN          0x00040000
 173#define CM_CH1_INT_EN           0x00020000
 174#define CM_CH0_INT_EN           0x00010000
 175
 176#define CM_REG_INT_STATUS       0x10
 177#define CM_INTR                 0x80000000
 178#define CM_VCO                  0x08000000      /* Voice Control? CMI8738 */
 179#define CM_MCBINT               0x04000000      /* Master Control Block abort cond.? */
 180#define CM_UARTINT              0x00010000
 181#define CM_LTDMAINT             0x00008000
 182#define CM_HTDMAINT             0x00004000
 183#define CM_XDO46                0x00000080      /* Modell 033? Direct programming EEPROM (read data register) */
 184#define CM_LHBTOG               0x00000040      /* High/Low status from DMA ctrl register */
 185#define CM_LEG_HDMA             0x00000020      /* Legacy is in High DMA channel */
 186#define CM_LEG_STEREO           0x00000010      /* Legacy is in Stereo mode */
 187#define CM_CH1BUSY              0x00000008
 188#define CM_CH0BUSY              0x00000004
 189#define CM_CHINT1               0x00000002
 190#define CM_CHINT0               0x00000001
 191
 192#define CM_REG_LEGACY_CTRL      0x14
 193#define CM_NXCHG                0x80000000      /* don't map base reg dword->sample */
 194#define CM_VMPU_MASK            0x60000000      /* MPU401 i/o port address */
 195#define CM_VMPU_330             0x00000000
 196#define CM_VMPU_320             0x20000000
 197#define CM_VMPU_310             0x40000000
 198#define CM_VMPU_300             0x60000000
 199#define CM_ENWR8237             0x10000000      /* enable bus master to write 8237 base reg */
 200#define CM_VSBSEL_MASK          0x0C000000      /* SB16 base address */
 201#define CM_VSBSEL_220           0x00000000
 202#define CM_VSBSEL_240           0x04000000
 203#define CM_VSBSEL_260           0x08000000
 204#define CM_VSBSEL_280           0x0C000000
 205#define CM_FMSEL_MASK           0x03000000      /* FM OPL3 base address */
 206#define CM_FMSEL_388            0x00000000
 207#define CM_FMSEL_3C8            0x01000000
 208#define CM_FMSEL_3E0            0x02000000
 209#define CM_FMSEL_3E8            0x03000000
 210#define CM_ENSPDOUT             0x00800000      /* enable XSPDIF/OUT to I/O interface */
 211#define CM_SPDCOPYRHT           0x00400000      /* spdif in/out copyright bit */
 212#define CM_DAC2SPDO             0x00200000      /* enable wave+fm_midi -> SPDIF/OUT */
 213#define CM_INVIDWEN             0x00100000      /* internal vendor ID write enable, model 039? */
 214#define CM_SETRETRY             0x00100000      /* 0: legacy i/o wait (default), 1: legacy i/o bus retry */
 215#define CM_C_EEACCESS           0x00080000      /* direct programming eeprom regs */
 216#define CM_C_EECS               0x00040000
 217#define CM_C_EEDI46             0x00020000
 218#define CM_C_EECK46             0x00010000
 219#define CM_CHB3D6C              0x00008000      /* 5.1 channels support */
 220#define CM_CENTR2LIN            0x00004000      /* line-in as center out */
 221#define CM_BASE2LIN             0x00002000      /* line-in as bass out */
 222#define CM_EXBASEN              0x00001000      /* external bass input enable */
 223
 224#define CM_REG_MISC_CTRL        0x18
 225#define CM_PWD                  0x80000000      /* power down */
 226#define CM_RESET                0x40000000
 227#define CM_SFIL_MASK            0x30000000      /* filter control at front end DAC, model 037? */
 228#define CM_VMGAIN               0x10000000      /* analog master amp +6dB, model 039? */
 229#define CM_TXVX                 0x08000000      /* model 037? */
 230#define CM_N4SPK3D              0x04000000      /* copy front to rear */
 231#define CM_SPDO5V               0x02000000      /* 5V spdif output (1 = 0.5v (coax)) */
 232#define CM_SPDIF48K             0x01000000      /* write */
 233#define CM_SPATUS48K            0x01000000      /* read */
 234#define CM_ENDBDAC              0x00800000      /* enable double dac */
 235#define CM_XCHGDAC              0x00400000      /* 0: front=ch0, 1: front=ch1 */
 236#define CM_SPD32SEL             0x00200000      /* 0: 16bit SPDIF, 1: 32bit */
 237#define CM_SPDFLOOPI            0x00100000      /* int. SPDIF-OUT -> int. IN */
 238#define CM_FM_EN                0x00080000      /* enable legacy FM */
 239#define CM_AC3EN2               0x00040000      /* enable AC3: model 039 */
 240#define CM_ENWRASID             0x00010000      /* choose writable internal SUBID (audio) */
 241#define CM_VIDWPDSB             0x00010000      /* model 037? */
 242#define CM_SPDF_AC97            0x00008000      /* 0: SPDIF/OUT 44.1K, 1: 48K */
 243#define CM_MASK_EN              0x00004000      /* activate channel mask on legacy DMA */
 244#define CM_ENWRMSID             0x00002000      /* choose writable internal SUBID (modem) */
 245#define CM_VIDWPPRT             0x00002000      /* model 037? */
 246#define CM_SFILENB              0x00001000      /* filter stepping at front end DAC, model 037? */
 247#define CM_MMODE_MASK           0x00000E00      /* model DAA interface mode */
 248#define CM_SPDIF_SELECT2        0x00000100      /* for model > 039 ? */
 249#define CM_ENCENTER             0x00000080
 250#define CM_FLINKON              0x00000040      /* force modem link detection on, model 037 */
 251#define CM_MUTECH1              0x00000040      /* mute PCI ch1 to DAC */
 252#define CM_FLINKOFF             0x00000020      /* force modem link detection off, model 037 */
 253#define CM_MIDSMP               0x00000010      /* 1/2 interpolation at front end DAC */
 254#define CM_UPDDMA_MASK          0x0000000C      /* TDMA position update notification */
 255#define CM_UPDDMA_2048          0x00000000
 256#define CM_UPDDMA_1024          0x00000004
 257#define CM_UPDDMA_512           0x00000008
 258#define CM_UPDDMA_256           0x0000000C              
 259#define CM_TWAIT_MASK           0x00000003      /* model 037 */
 260#define CM_TWAIT1               0x00000002      /* FM i/o cycle, 0: 48, 1: 64 PCICLKs */
 261#define CM_TWAIT0               0x00000001      /* i/o cycle, 0: 4, 1: 6 PCICLKs */
 262
 263#define CM_REG_TDMA_POSITION    0x1C
 264#define CM_TDMA_CNT_MASK        0xFFFF0000      /* current byte/word count */
 265#define CM_TDMA_ADR_MASK        0x0000FFFF      /* current address */
 266
 267        /* byte */
 268#define CM_REG_MIXER0           0x20
 269#define CM_REG_SBVR             0x20            /* write: sb16 version */
 270#define CM_REG_DEV              0x20            /* read: hardware device version */
 271
 272#define CM_REG_MIXER21          0x21
 273#define CM_UNKNOWN_21_MASK      0x78            /* ? */
 274#define CM_X_ADPCM              0x04            /* SB16 ADPCM enable */
 275#define CM_PROINV               0x02            /* SBPro left/right channel switching */
 276#define CM_X_SB16               0x01            /* SB16 compatible */
 277
 278#define CM_REG_SB16_DATA        0x22
 279#define CM_REG_SB16_ADDR        0x23
 280
 281#define CM_REFFREQ_XIN          (315*1000*1000)/22      /* 14.31818 Mhz reference clock frequency pin XIN */
 282#define CM_ADCMULT_XIN          512                     /* Guessed (487 best for 44.1kHz, not for 88/176kHz) */
 283#define CM_TOLERANCE_RATE       0.001                   /* Tolerance sample rate pitch (1000ppm) */
 284#define CM_MAXIMUM_RATE         80000000                /* Note more than 80MHz */
 285
 286#define CM_REG_MIXER1           0x24
 287#define CM_FMMUTE               0x80    /* mute FM */
 288#define CM_FMMUTE_SHIFT         7
 289#define CM_WSMUTE               0x40    /* mute PCM */
 290#define CM_WSMUTE_SHIFT         6
 291#define CM_REAR2LIN             0x20    /* lin-in -> rear line out */
 292#define CM_REAR2LIN_SHIFT       5
 293#define CM_REAR2FRONT           0x10    /* exchange rear/front */
 294#define CM_REAR2FRONT_SHIFT     4
 295#define CM_WAVEINL              0x08    /* digital wave rec. left chan */
 296#define CM_WAVEINL_SHIFT        3
 297#define CM_WAVEINR              0x04    /* digical wave rec. right */
 298#define CM_WAVEINR_SHIFT        2
 299#define CM_X3DEN                0x02    /* 3D surround enable */
 300#define CM_X3DEN_SHIFT          1
 301#define CM_CDPLAY               0x01    /* enable SPDIF/IN PCM -> DAC */
 302#define CM_CDPLAY_SHIFT         0
 303
 304#define CM_REG_MIXER2           0x25
 305#define CM_RAUXREN              0x80    /* AUX right capture */
 306#define CM_RAUXREN_SHIFT        7
 307#define CM_RAUXLEN              0x40    /* AUX left capture */
 308#define CM_RAUXLEN_SHIFT        6
 309#define CM_VAUXRM               0x20    /* AUX right mute */
 310#define CM_VAUXRM_SHIFT         5
 311#define CM_VAUXLM               0x10    /* AUX left mute */
 312#define CM_VAUXLM_SHIFT         4
 313#define CM_VADMIC_MASK          0x0e    /* mic gain level (0-3) << 1 */
 314#define CM_VADMIC_SHIFT         1
 315#define CM_MICGAINZ             0x01    /* mic boost */
 316#define CM_MICGAINZ_SHIFT       0
 317
 318#define CM_REG_MIXER3           0x24
 319#define CM_REG_AUX_VOL          0x26
 320#define CM_VAUXL_MASK           0xf0
 321#define CM_VAUXR_MASK           0x0f
 322
 323#define CM_REG_MISC             0x27
 324#define CM_UNKNOWN_27_MASK      0xd8    /* ? */
 325#define CM_XGPO1                0x20
 326// #define CM_XGPBIO            0x04
 327#define CM_MIC_CENTER_LFE       0x04    /* mic as center/lfe out? (model 039 or later?) */
 328#define CM_SPDIF_INVERSE        0x04    /* spdif input phase inverse (model 037) */
 329#define CM_SPDVALID             0x02    /* spdif input valid check */
 330#define CM_DMAUTO               0x01    /* SB16 DMA auto detect */
 331
 332#define CM_REG_AC97             0x28    /* hmmm.. do we have ac97 link? */
 333/*
 334 * For CMI-8338 (0x28 - 0x2b) .. is this valid for CMI-8738
 335 * or identical with AC97 codec?
 336 */
 337#define CM_REG_EXTERN_CODEC     CM_REG_AC97
 338
 339/*
 340 * MPU401 pci port index address 0x40 - 0x4f (CMI-8738 spec ver. 0.6)
 341 */
 342#define CM_REG_MPU_PCI          0x40
 343
 344/*
 345 * FM pci port index address 0x50 - 0x5f (CMI-8738 spec ver. 0.6)
 346 */
 347#define CM_REG_FM_PCI           0x50
 348
 349/*
 350 * access from SB-mixer port
 351 */
 352#define CM_REG_EXTENT_IND       0xf0
 353#define CM_VPHONE_MASK          0xe0    /* Phone volume control (0-3) << 5 */
 354#define CM_VPHONE_SHIFT         5
 355#define CM_VPHOM                0x10    /* Phone mute control */
 356#define CM_VSPKM                0x08    /* Speaker mute control, default high */
 357#define CM_RLOOPREN             0x04    /* Rec. R-channel enable */
 358#define CM_RLOOPLEN             0x02    /* Rec. L-channel enable */
 359#define CM_VADMIC3              0x01    /* Mic record boost */
 360
 361/*
 362 * CMI-8338 spec ver 0.5 (this is not valid for CMI-8738):
 363 * the 8 registers 0xf8 - 0xff are used for programming m/n counter by the PLL
 364 * unit (readonly?).
 365 */
 366#define CM_REG_PLL              0xf8
 367
 368/*
 369 * extended registers
 370 */
 371#define CM_REG_CH0_FRAME1       0x80    /* write: base address */
 372#define CM_REG_CH0_FRAME2       0x84    /* read: current address */
 373#define CM_REG_CH1_FRAME1       0x88    /* 0-15: count of samples at bus master; buffer size */
 374#define CM_REG_CH1_FRAME2       0x8C    /* 16-31: count of samples at codec; fragment size */
 375
 376#define CM_REG_EXT_MISC         0x90
 377#define CM_ADC48K44K            0x10000000      /* ADC parameters group, 0: 44k, 1: 48k */
 378#define CM_CHB3D8C              0x00200000      /* 7.1 channels support */
 379#define CM_SPD32FMT             0x00100000      /* SPDIF/IN 32k sample rate */
 380#define CM_ADC2SPDIF            0x00080000      /* ADC output to SPDIF/OUT */
 381#define CM_SHAREADC             0x00040000      /* DAC in ADC as Center/LFE */
 382#define CM_REALTCMP             0x00020000      /* monitor the CMPL/CMPR of ADC */
 383#define CM_INVLRCK              0x00010000      /* invert ZVPORT's LRCK */
 384#define CM_UNKNOWN_90_MASK      0x0000FFFF      /* ? */
 385
 386/*
 387 * size of i/o region
 388 */
 389#define CM_EXTENT_CODEC   0x100
 390#define CM_EXTENT_MIDI    0x2
 391#define CM_EXTENT_SYNTH   0x4
 392
 393
 394/*
 395 * channels for playback / capture
 396 */
 397#define CM_CH_PLAY      0
 398#define CM_CH_CAPT      1
 399
 400/*
 401 * flags to check device open/close
 402 */
 403#define CM_OPEN_NONE    0
 404#define CM_OPEN_CH_MASK 0x01
 405#define CM_OPEN_DAC     0x10
 406#define CM_OPEN_ADC     0x20
 407#define CM_OPEN_SPDIF   0x40
 408#define CM_OPEN_MCHAN   0x80
 409#define CM_OPEN_PLAYBACK        (CM_CH_PLAY | CM_OPEN_DAC)
 410#define CM_OPEN_PLAYBACK2       (CM_CH_CAPT | CM_OPEN_DAC)
 411#define CM_OPEN_PLAYBACK_MULTI  (CM_CH_PLAY | CM_OPEN_DAC | CM_OPEN_MCHAN)
 412#define CM_OPEN_CAPTURE         (CM_CH_CAPT | CM_OPEN_ADC)
 413#define CM_OPEN_SPDIF_PLAYBACK  (CM_CH_PLAY | CM_OPEN_DAC | CM_OPEN_SPDIF)
 414#define CM_OPEN_SPDIF_CAPTURE   (CM_CH_CAPT | CM_OPEN_ADC | CM_OPEN_SPDIF)
 415
 416
 417#if CM_CH_PLAY == 1
 418#define CM_PLAYBACK_SRATE_176K  CM_CH1_SRATE_176K
 419#define CM_PLAYBACK_SPDF        CM_SPDF_1
 420#define CM_CAPTURE_SPDF         CM_SPDF_0
 421#else
 422#define CM_PLAYBACK_SRATE_176K CM_CH0_SRATE_176K
 423#define CM_PLAYBACK_SPDF        CM_SPDF_0
 424#define CM_CAPTURE_SPDF         CM_SPDF_1
 425#endif
 426
 427
 428/*
 429 * driver data
 430 */
 431
 432struct cmipci_pcm {
 433        struct snd_pcm_substream *substream;
 434        u8 running;             /* dac/adc running? */
 435        u8 fmt;                 /* format bits */
 436        u8 is_dac;
 437        u8 needs_silencing;
 438        unsigned int dma_size;  /* in frames */
 439        unsigned int shift;
 440        unsigned int ch;        /* channel (0/1) */
 441        unsigned int offset;    /* physical address of the buffer */
 442};
 443
 444/* mixer elements toggled/resumed during ac3 playback */
 445struct cmipci_mixer_auto_switches {
 446        const char *name;       /* switch to toggle */
 447        int toggle_on;          /* value to change when ac3 mode */
 448};
 449static const struct cmipci_mixer_auto_switches cm_saved_mixer[] = {
 450        {"PCM Playback Switch", 0},
 451        {"IEC958 Output Switch", 1},
 452        {"IEC958 Mix Analog", 0},
 453        // {"IEC958 Out To DAC", 1}, // no longer used
 454        {"IEC958 Loop", 0},
 455};
 456#define CM_SAVED_MIXERS         ARRAY_SIZE(cm_saved_mixer)
 457
 458struct cmipci {
 459        struct snd_card *card;
 460
 461        struct pci_dev *pci;
 462        unsigned int device;    /* device ID */
 463        int irq;
 464
 465        unsigned long iobase;
 466        unsigned int ctrl;      /* FUNCTRL0 current value */
 467
 468        struct snd_pcm *pcm;            /* DAC/ADC PCM */
 469        struct snd_pcm *pcm2;   /* 2nd DAC */
 470        struct snd_pcm *pcm_spdif;      /* SPDIF */
 471
 472        int chip_version;
 473        int max_channels;
 474        unsigned int can_ac3_sw: 1;
 475        unsigned int can_ac3_hw: 1;
 476        unsigned int can_multi_ch: 1;
 477        unsigned int can_96k: 1;        /* samplerate above 48k */
 478        unsigned int do_soft_ac3: 1;
 479
 480        unsigned int spdif_playback_avail: 1;   /* spdif ready? */
 481        unsigned int spdif_playback_enabled: 1; /* spdif switch enabled? */
 482        int spdif_counter;      /* for software AC3 */
 483
 484        unsigned int dig_status;
 485        unsigned int dig_pcm_status;
 486
 487        struct snd_pcm_hardware *hw_info[3]; /* for playbacks */
 488
 489        int opened[2];  /* open mode */
 490        struct mutex open_mutex;
 491
 492        unsigned int mixer_insensitive: 1;
 493        struct snd_kcontrol *mixer_res_ctl[CM_SAVED_MIXERS];
 494        int mixer_res_status[CM_SAVED_MIXERS];
 495
 496        struct cmipci_pcm channel[2];   /* ch0 - DAC, ch1 - ADC or 2nd DAC */
 497
 498        /* external MIDI */
 499        struct snd_rawmidi *rmidi;
 500
 501#ifdef SUPPORT_JOYSTICK
 502        struct gameport *gameport;
 503#endif
 504
 505        spinlock_t reg_lock;
 506
 507#ifdef CONFIG_PM
 508        unsigned int saved_regs[0x20];
 509        unsigned char saved_mixers[0x20];
 510#endif
 511};
 512
 513
 514/* read/write operations for dword register */
 515static inline void snd_cmipci_write(struct cmipci *cm, unsigned int cmd, unsigned int data)
 516{
 517        outl(data, cm->iobase + cmd);
 518}
 519
 520static inline unsigned int snd_cmipci_read(struct cmipci *cm, unsigned int cmd)
 521{
 522        return inl(cm->iobase + cmd);
 523}
 524
 525/* read/write operations for word register */
 526static inline void snd_cmipci_write_w(struct cmipci *cm, unsigned int cmd, unsigned short data)
 527{
 528        outw(data, cm->iobase + cmd);
 529}
 530
 531static inline unsigned short snd_cmipci_read_w(struct cmipci *cm, unsigned int cmd)
 532{
 533        return inw(cm->iobase + cmd);
 534}
 535
 536/* read/write operations for byte register */
 537static inline void snd_cmipci_write_b(struct cmipci *cm, unsigned int cmd, unsigned char data)
 538{
 539        outb(data, cm->iobase + cmd);
 540}
 541
 542static inline unsigned char snd_cmipci_read_b(struct cmipci *cm, unsigned int cmd)
 543{
 544        return inb(cm->iobase + cmd);
 545}
 546
 547/* bit operations for dword register */
 548static int snd_cmipci_set_bit(struct cmipci *cm, unsigned int cmd, unsigned int flag)
 549{
 550        unsigned int val, oval;
 551        val = oval = inl(cm->iobase + cmd);
 552        val |= flag;
 553        if (val == oval)
 554                return 0;
 555        outl(val, cm->iobase + cmd);
 556        return 1;
 557}
 558
 559static int snd_cmipci_clear_bit(struct cmipci *cm, unsigned int cmd, unsigned int flag)
 560{
 561        unsigned int val, oval;
 562        val = oval = inl(cm->iobase + cmd);
 563        val &= ~flag;
 564        if (val == oval)
 565                return 0;
 566        outl(val, cm->iobase + cmd);
 567        return 1;
 568}
 569
 570/* bit operations for byte register */
 571static int snd_cmipci_set_bit_b(struct cmipci *cm, unsigned int cmd, unsigned char flag)
 572{
 573        unsigned char val, oval;
 574        val = oval = inb(cm->iobase + cmd);
 575        val |= flag;
 576        if (val == oval)
 577                return 0;
 578        outb(val, cm->iobase + cmd);
 579        return 1;
 580}
 581
 582static int snd_cmipci_clear_bit_b(struct cmipci *cm, unsigned int cmd, unsigned char flag)
 583{
 584        unsigned char val, oval;
 585        val = oval = inb(cm->iobase + cmd);
 586        val &= ~flag;
 587        if (val == oval)
 588                return 0;
 589        outb(val, cm->iobase + cmd);
 590        return 1;
 591}
 592
 593
 594/*
 595 * PCM interface
 596 */
 597
 598/*
 599 * calculate frequency
 600 */
 601
 602static unsigned int rates[] = { 5512, 11025, 22050, 44100, 8000, 16000, 32000, 48000 };
 603
 604static unsigned int snd_cmipci_rate_freq(unsigned int rate)
 605{
 606        unsigned int i;
 607
 608        for (i = 0; i < ARRAY_SIZE(rates); i++) {
 609                if (rates[i] == rate)
 610                        return i;
 611        }
 612        snd_BUG();
 613        return 0;
 614}
 615
 616#ifdef USE_VAR48KRATE
 617/*
 618 * Determine PLL values for frequency setup, maybe the CMI8338 (CMI8738???)
 619 * does it this way .. maybe not.  Never get any information from C-Media about
 620 * that <werner@suse.de>.
 621 */
 622static int snd_cmipci_pll_rmn(unsigned int rate, unsigned int adcmult, int *r, int *m, int *n)
 623{
 624        unsigned int delta, tolerance;
 625        int xm, xn, xr;
 626
 627        for (*r = 0; rate < CM_MAXIMUM_RATE/adcmult; *r += (1<<5))
 628                rate <<= 1;
 629        *n = -1;
 630        if (*r > 0xff)
 631                goto out;
 632        tolerance = rate*CM_TOLERANCE_RATE;
 633
 634        for (xn = (1+2); xn < (0x1f+2); xn++) {
 635                for (xm = (1+2); xm < (0xff+2); xm++) {
 636                        xr = ((CM_REFFREQ_XIN/adcmult) * xm) / xn;
 637
 638                        if (xr < rate)
 639                                delta = rate - xr;
 640                        else
 641                                delta = xr - rate;
 642
 643                        /*
 644                         * If we found one, remember this,
 645                         * and try to find a closer one
 646                         */
 647                        if (delta < tolerance) {
 648                                tolerance = delta;
 649                                *m = xm - 2;
 650                                *n = xn - 2;
 651                        }
 652                }
 653        }
 654out:
 655        return (*n > -1);
 656}
 657
 658/*
 659 * Program pll register bits, I assume that the 8 registers 0xf8 up to 0xff
 660 * are mapped onto the 8 ADC/DAC sampling frequency which can be chosen
 661 * at the register CM_REG_FUNCTRL1 (0x04).
 662 * Problem: other ways are also possible (any information about that?)
 663 */
 664static void snd_cmipci_set_pll(struct cmipci *cm, unsigned int rate, unsigned int slot)
 665{
 666        unsigned int reg = CM_REG_PLL + slot;
 667        /*
 668         * Guess that this programs at reg. 0x04 the pos 15:13/12:10
 669         * for DSFC/ASFC (000 up to 111).
 670         */
 671
 672        /* FIXME: Init (Do we've to set an other register first before programming?) */
 673
 674        /* FIXME: Is this correct? Or shouldn't the m/n/r values be used for that? */
 675        snd_cmipci_write_b(cm, reg, rate>>8);
 676        snd_cmipci_write_b(cm, reg, rate&0xff);
 677
 678        /* FIXME: Setup (Do we've to set an other register first to enable this?) */
 679}
 680#endif /* USE_VAR48KRATE */
 681
 682static int snd_cmipci_hw_params(struct snd_pcm_substream *substream,
 683                                struct snd_pcm_hw_params *hw_params)
 684{
 685        return snd_pcm_lib_malloc_pages(substream, params_buffer_bytes(hw_params));
 686}
 687
 688static int snd_cmipci_playback2_hw_params(struct snd_pcm_substream *substream,
 689                                          struct snd_pcm_hw_params *hw_params)
 690{
 691        struct cmipci *cm = snd_pcm_substream_chip(substream);
 692        if (params_channels(hw_params) > 2) {
 693                mutex_lock(&cm->open_mutex);
 694                if (cm->opened[CM_CH_PLAY]) {
 695                        mutex_unlock(&cm->open_mutex);
 696                        return -EBUSY;
 697                }
 698                /* reserve the channel A */
 699                cm->opened[CM_CH_PLAY] = CM_OPEN_PLAYBACK_MULTI;
 700                mutex_unlock(&cm->open_mutex);
 701        }
 702        return snd_pcm_lib_malloc_pages(substream, params_buffer_bytes(hw_params));
 703}
 704
 705static void snd_cmipci_ch_reset(struct cmipci *cm, int ch)
 706{
 707        int reset = CM_RST_CH0 << (cm->channel[ch].ch);
 708        snd_cmipci_write(cm, CM_REG_FUNCTRL0, cm->ctrl | reset);
 709        snd_cmipci_write(cm, CM_REG_FUNCTRL0, cm->ctrl & ~reset);
 710        udelay(10);
 711}
 712
 713static int snd_cmipci_hw_free(struct snd_pcm_substream *substream)
 714{
 715        return snd_pcm_lib_free_pages(substream);
 716}
 717
 718
 719/*
 720 */
 721
 722static unsigned int hw_channels[] = {1, 2, 4, 6, 8};
 723static struct snd_pcm_hw_constraint_list hw_constraints_channels_4 = {
 724        .count = 3,
 725        .list = hw_channels,
 726        .mask = 0,
 727};
 728static struct snd_pcm_hw_constraint_list hw_constraints_channels_6 = {
 729        .count = 4,
 730        .list = hw_channels,
 731        .mask = 0,
 732};
 733static struct snd_pcm_hw_constraint_list hw_constraints_channels_8 = {
 734        .count = 5,
 735        .list = hw_channels,
 736        .mask = 0,
 737};
 738
 739static int set_dac_channels(struct cmipci *cm, struct cmipci_pcm *rec, int channels)
 740{
 741        if (channels > 2) {
 742                if (!cm->can_multi_ch || !rec->ch)
 743                        return -EINVAL;
 744                if (rec->fmt != 0x03) /* stereo 16bit only */
 745                        return -EINVAL;
 746        }
 747
 748        if (cm->can_multi_ch) {
 749                spin_lock_irq(&cm->reg_lock);
 750                if (channels > 2) {
 751                        snd_cmipci_set_bit(cm, CM_REG_LEGACY_CTRL, CM_NXCHG);
 752                        snd_cmipci_set_bit(cm, CM_REG_MISC_CTRL, CM_XCHGDAC);
 753                } else {
 754                        snd_cmipci_clear_bit(cm, CM_REG_LEGACY_CTRL, CM_NXCHG);
 755                        snd_cmipci_clear_bit(cm, CM_REG_MISC_CTRL, CM_XCHGDAC);
 756                }
 757                if (channels == 8)
 758                        snd_cmipci_set_bit(cm, CM_REG_EXT_MISC, CM_CHB3D8C);
 759                else
 760                        snd_cmipci_clear_bit(cm, CM_REG_EXT_MISC, CM_CHB3D8C);
 761                if (channels == 6) {
 762                        snd_cmipci_set_bit(cm, CM_REG_CHFORMAT, CM_CHB3D5C);
 763                        snd_cmipci_set_bit(cm, CM_REG_LEGACY_CTRL, CM_CHB3D6C);
 764                } else {
 765                        snd_cmipci_clear_bit(cm, CM_REG_CHFORMAT, CM_CHB3D5C);
 766                        snd_cmipci_clear_bit(cm, CM_REG_LEGACY_CTRL, CM_CHB3D6C);
 767                }
 768                if (channels == 4)
 769                        snd_cmipci_set_bit(cm, CM_REG_CHFORMAT, CM_CHB3D);
 770                else
 771                        snd_cmipci_clear_bit(cm, CM_REG_CHFORMAT, CM_CHB3D);
 772                spin_unlock_irq(&cm->reg_lock);
 773        }
 774        return 0;
 775}
 776
 777
 778/*
 779 * prepare playback/capture channel
 780 * channel to be used must have been set in rec->ch.
 781 */
 782static int snd_cmipci_pcm_prepare(struct cmipci *cm, struct cmipci_pcm *rec,
 783                                 struct snd_pcm_substream *substream)
 784{
 785        unsigned int reg, freq, freq_ext, val;
 786        unsigned int period_size;
 787        struct snd_pcm_runtime *runtime = substream->runtime;
 788
 789        rec->fmt = 0;
 790        rec->shift = 0;
 791        if (snd_pcm_format_width(runtime->format) >= 16) {
 792                rec->fmt |= 0x02;
 793                if (snd_pcm_format_width(runtime->format) > 16)
 794                        rec->shift++; /* 24/32bit */
 795        }
 796        if (runtime->channels > 1)
 797                rec->fmt |= 0x01;
 798        if (rec->is_dac && set_dac_channels(cm, rec, runtime->channels) < 0) {
 799                snd_printd("cannot set dac channels\n");
 800                return -EINVAL;
 801        }
 802
 803        rec->offset = runtime->dma_addr;
 804        /* buffer and period sizes in frame */
 805        rec->dma_size = runtime->buffer_size << rec->shift;
 806        period_size = runtime->period_size << rec->shift;
 807        if (runtime->channels > 2) {
 808                /* multi-channels */
 809                rec->dma_size = (rec->dma_size * runtime->channels) / 2;
 810                period_size = (period_size * runtime->channels) / 2;
 811        }
 812
 813        spin_lock_irq(&cm->reg_lock);
 814
 815        /* set buffer address */
 816        reg = rec->ch ? CM_REG_CH1_FRAME1 : CM_REG_CH0_FRAME1;
 817        snd_cmipci_write(cm, reg, rec->offset);
 818        /* program sample counts */
 819        reg = rec->ch ? CM_REG_CH1_FRAME2 : CM_REG_CH0_FRAME2;
 820        snd_cmipci_write_w(cm, reg, rec->dma_size - 1);
 821        snd_cmipci_write_w(cm, reg + 2, period_size - 1);
 822
 823        /* set adc/dac flag */
 824        val = rec->ch ? CM_CHADC1 : CM_CHADC0;
 825        if (rec->is_dac)
 826                cm->ctrl &= ~val;
 827        else
 828                cm->ctrl |= val;
 829        snd_cmipci_write(cm, CM_REG_FUNCTRL0, cm->ctrl);
 830        //snd_printd("cmipci: functrl0 = %08x\n", cm->ctrl);
 831
 832        /* set sample rate */
 833        freq = 0;
 834        freq_ext = 0;
 835        if (runtime->rate > 48000)
 836                switch (runtime->rate) {
 837                case 88200:  freq_ext = CM_CH0_SRATE_88K; break;
 838                case 96000:  freq_ext = CM_CH0_SRATE_96K; break;
 839                case 128000: freq_ext = CM_CH0_SRATE_128K; break;
 840                default:     snd_BUG(); break;
 841                }
 842        else
 843                freq = snd_cmipci_rate_freq(runtime->rate);
 844        val = snd_cmipci_read(cm, CM_REG_FUNCTRL1);
 845        if (rec->ch) {
 846                val &= ~CM_DSFC_MASK;
 847                val |= (freq << CM_DSFC_SHIFT) & CM_DSFC_MASK;
 848        } else {
 849                val &= ~CM_ASFC_MASK;
 850                val |= (freq << CM_ASFC_SHIFT) & CM_ASFC_MASK;
 851        }
 852        snd_cmipci_write(cm, CM_REG_FUNCTRL1, val);
 853        //snd_printd("cmipci: functrl1 = %08x\n", val);
 854
 855        /* set format */
 856        val = snd_cmipci_read(cm, CM_REG_CHFORMAT);
 857        if (rec->ch) {
 858                val &= ~CM_CH1FMT_MASK;
 859                val |= rec->fmt << CM_CH1FMT_SHIFT;
 860        } else {
 861                val &= ~CM_CH0FMT_MASK;
 862                val |= rec->fmt << CM_CH0FMT_SHIFT;
 863        }
 864        if (cm->can_96k) {
 865                val &= ~(CM_CH0_SRATE_MASK << (rec->ch * 2));
 866                val |= freq_ext << (rec->ch * 2);
 867        }
 868        snd_cmipci_write(cm, CM_REG_CHFORMAT, val);
 869        //snd_printd("cmipci: chformat = %08x\n", val);
 870
 871        if (!rec->is_dac && cm->chip_version) {
 872                if (runtime->rate > 44100)
 873                        snd_cmipci_set_bit(cm, CM_REG_EXT_MISC, CM_ADC48K44K);
 874                else
 875                        snd_cmipci_clear_bit(cm, CM_REG_EXT_MISC, CM_ADC48K44K);
 876        }
 877
 878        rec->running = 0;
 879        spin_unlock_irq(&cm->reg_lock);
 880
 881        return 0;
 882}
 883
 884/*
 885 * PCM trigger/stop
 886 */
 887static int snd_cmipci_pcm_trigger(struct cmipci *cm, struct cmipci_pcm *rec,
 888                                  int cmd)
 889{
 890        unsigned int inthld, chen, reset, pause;
 891        int result = 0;
 892
 893        inthld = CM_CH0_INT_EN << rec->ch;
 894        chen = CM_CHEN0 << rec->ch;
 895        reset = CM_RST_CH0 << rec->ch;
 896        pause = CM_PAUSE0 << rec->ch;
 897
 898        spin_lock(&cm->reg_lock);
 899        switch (cmd) {
 900        case SNDRV_PCM_TRIGGER_START:
 901                rec->running = 1;
 902                /* set interrupt */
 903                snd_cmipci_set_bit(cm, CM_REG_INT_HLDCLR, inthld);
 904                cm->ctrl |= chen;
 905                /* enable channel */
 906                snd_cmipci_write(cm, CM_REG_FUNCTRL0, cm->ctrl);
 907                //snd_printd("cmipci: functrl0 = %08x\n", cm->ctrl);
 908                break;
 909        case SNDRV_PCM_TRIGGER_STOP:
 910                rec->running = 0;
 911                /* disable interrupt */
 912                snd_cmipci_clear_bit(cm, CM_REG_INT_HLDCLR, inthld);
 913                /* reset */
 914                cm->ctrl &= ~chen;
 915                snd_cmipci_write(cm, CM_REG_FUNCTRL0, cm->ctrl | reset);
 916                snd_cmipci_write(cm, CM_REG_FUNCTRL0, cm->ctrl & ~reset);
 917                rec->needs_silencing = rec->is_dac;
 918                break;
 919        case SNDRV_PCM_TRIGGER_PAUSE_PUSH:
 920        case SNDRV_PCM_TRIGGER_SUSPEND:
 921                cm->ctrl |= pause;
 922                snd_cmipci_write(cm, CM_REG_FUNCTRL0, cm->ctrl);
 923                break;
 924        case SNDRV_PCM_TRIGGER_PAUSE_RELEASE:
 925        case SNDRV_PCM_TRIGGER_RESUME:
 926                cm->ctrl &= ~pause;
 927                snd_cmipci_write(cm, CM_REG_FUNCTRL0, cm->ctrl);
 928                break;
 929        default:
 930                result = -EINVAL;
 931                break;
 932        }
 933        spin_unlock(&cm->reg_lock);
 934        return result;
 935}
 936
 937/*
 938 * return the current pointer
 939 */
 940static snd_pcm_uframes_t snd_cmipci_pcm_pointer(struct cmipci *cm, struct cmipci_pcm *rec,
 941                                                struct snd_pcm_substream *substream)
 942{
 943        size_t ptr;
 944        unsigned int reg, rem, tries;
 945
 946        if (!rec->running)
 947                return 0;
 948#if 1 // this seems better..
 949        reg = rec->ch ? CM_REG_CH1_FRAME2 : CM_REG_CH0_FRAME2;
 950        for (tries = 0; tries < 3; tries++) {
 951                rem = snd_cmipci_read_w(cm, reg);
 952                if (rem < rec->dma_size)
 953                        goto ok;
 954        } 
 955        printk(KERN_ERR "cmipci: invalid PCM pointer: %#x\n", rem);
 956        return SNDRV_PCM_POS_XRUN;
 957ok:
 958        ptr = (rec->dma_size - (rem + 1)) >> rec->shift;
 959#else
 960        reg = rec->ch ? CM_REG_CH1_FRAME1 : CM_REG_CH0_FRAME1;
 961        ptr = snd_cmipci_read(cm, reg) - rec->offset;
 962        ptr = bytes_to_frames(substream->runtime, ptr);
 963#endif
 964        if (substream->runtime->channels > 2)
 965                ptr = (ptr * 2) / substream->runtime->channels;
 966        return ptr;
 967}
 968
 969/*
 970 * playback
 971 */
 972
 973static int snd_cmipci_playback_trigger(struct snd_pcm_substream *substream,
 974                                       int cmd)
 975{
 976        struct cmipci *cm = snd_pcm_substream_chip(substream);
 977        return snd_cmipci_pcm_trigger(cm, &cm->channel[CM_CH_PLAY], cmd);
 978}
 979
 980static snd_pcm_uframes_t snd_cmipci_playback_pointer(struct snd_pcm_substream *substream)
 981{
 982        struct cmipci *cm = snd_pcm_substream_chip(substream);
 983        return snd_cmipci_pcm_pointer(cm, &cm->channel[CM_CH_PLAY], substream);
 984}
 985
 986
 987
 988/*
 989 * capture
 990 */
 991
 992static int snd_cmipci_capture_trigger(struct snd_pcm_substream *substream,
 993                                     int cmd)
 994{
 995        struct cmipci *cm = snd_pcm_substream_chip(substream);
 996        return snd_cmipci_pcm_trigger(cm, &cm->channel[CM_CH_CAPT], cmd);
 997}
 998
 999static snd_pcm_uframes_t snd_cmipci_capture_pointer(struct snd_pcm_substream *substream)
1000{
1001        struct cmipci *cm = snd_pcm_substream_chip(substream);
1002        return snd_cmipci_pcm_pointer(cm, &cm->channel[CM_CH_CAPT], substream);
1003}
1004
1005
1006/*
1007 * hw preparation for spdif
1008 */
1009
1010static int snd_cmipci_spdif_default_info(struct snd_kcontrol *kcontrol,
1011                                         struct snd_ctl_elem_info *uinfo)
1012{
1013        uinfo->type = SNDRV_CTL_ELEM_TYPE_IEC958;
1014        uinfo->count = 1;
1015        return 0;
1016}
1017
1018static int snd_cmipci_spdif_default_get(struct snd_kcontrol *kcontrol,
1019                                        struct snd_ctl_elem_value *ucontrol)
1020{
1021        struct cmipci *chip = snd_kcontrol_chip(kcontrol);
1022        int i;
1023
1024        spin_lock_irq(&chip->reg_lock);
1025        for (i = 0; i < 4; i++)
1026                ucontrol->value.iec958.status[i] = (chip->dig_status >> (i * 8)) & 0xff;
1027        spin_unlock_irq(&chip->reg_lock);
1028        return 0;
1029}
1030
1031static int snd_cmipci_spdif_default_put(struct snd_kcontrol *kcontrol,
1032                                         struct snd_ctl_elem_value *ucontrol)
1033{
1034        struct cmipci *chip = snd_kcontrol_chip(kcontrol);
1035        int i, change;
1036        unsigned int val;
1037
1038        val = 0;
1039        spin_lock_irq(&chip->reg_lock);
1040        for (i = 0; i < 4; i++)
1041                val |= (unsigned int)ucontrol->value.iec958.status[i] << (i * 8);
1042        change = val != chip->dig_status;
1043        chip->dig_status = val;
1044        spin_unlock_irq(&chip->reg_lock);
1045        return change;
1046}
104e1;a href="sosound/pci/cmipci.c#L948"sosou10cl" class="lind_cmipci_spdif_default_put(str_ne1031static int 103_" cvinitdatade=snd_cmipci_s_" cvinitdatastatusline" name="L947"10cla>104e1;a href="sosound/pci/cmipci.c#L949"sosou10cl9" class="line" name="L889"> 889105a href="sosound/pci/cmipci.c#L950"sosou>soso class="linee=value" class="sfac    return ELEM_TYPE_IEC95IFACECM_Pcode=SNDRV_CTL_ELEM_TYPE_IEC95IFACECM_Pkcontrol" class="sref">kcontrol,
5a href="sosound/pci/cmipci.c#L951"sosou>sos1 class="linee=value" class="c#L9code=SNDRV_CTL_c#L9status"s="linee" name="L1044">ELEM_TYPE_NAM href="+code=SNDRV_CTL_ELEM_TYPE_NAM href="+ classRR" class="sref">KERN_ERR< invalid PCM p" name="L1044">CM_CBACKcode=SNDRV_CTL_CM_CBACKkcont" name="L1044">DEFAULel[kcontrol,
5a href="sosound/pci/cmipci.c#L952"sosou>sos2 class="linee=value" class="s14        0static int sntrol" class="sref">kcontrol,
5a href="sosound/pci/cmipci.c#L953"sosou>sos3 class="linee=value" class="+code=snd_cmipci_sg="+code=r"s="linee" name="L1044">0static int strol" class="sref">kcontrol,
5a href="sosound/pci/cmipci.c#L954"sosou>sos4 class="linee=value" class="+code=snd_cmipci_ssref">se=r"s="linee" name="L1044">0static int srol" class="sref">kcontrol,
5a href="sosound/pci/cmipci.c#L955"sosou>sos5" clachange" class="sref">change;
5a href="sosound/pci/cmipci.c#L956"sosou>sos6" class="line" name="L986"> 986sos7 class="line" name="L1031">1031static int snd_cmipci_spdif_default_put(struct snd_kcontrol *kcontrol,
5a href="sosound/pci/cmipci.c#L958"sosou>sos8" class="line" name=======================                               struct snd_ctl_elem_info *uinfo)
5a href="sosound/pci/cmipci.c#L959"sosou>sos9" class="line" name="L889"> 889106a href="sosound/pci/cmipci.c#L960"sosou>soso class="line" name="L1044">1013        uinfo->type = SNDRV_CTL_ELEM_TYPE_IEC958;
6a href="sosound/pci/cmipci.c#L961"sosou>sos1" class="line" name="L961">1014        uinfo->count = 1;
6a href="sosound/pci/cmipci.c#L962"sosou>sos" class="line" name=de=val" class="sref">val = 0;
6a href="sosound/pci/cmipci.c#L963"sosou>sos" class="line" name="L1003">1003}
6a href="sosound/pci/cmipci.c#L964"sosou>sos" class="line" name="L1004">1004
6a href="sosound/pci/cmipci.c#L965"sosou>sos5 class="line" name="L1031">1031static int snd_cmipci_spdif_default_put(struct snd_kcontrol *kcontrol,
6a href="sosound/pci/cmipci.c#L966"sosou>sos" class="line" name="=====================                               struct snd_ctl_elem_value *ucontrol)
6a href="sosound/pci/cmipci.c#L967"sosou>sos7" class="line" name="L889"> 889106a href="sosound/pci/cmipci.c#L968"sosou>sos" class="line" name="L1038">= (unsigned int)ucontrol->value.iec958.i * 8)) & 0xff;
6a href="sosound/pci/cmipci.c#L969"sosou>sos" class="line" name="L1039">= (unsigned int)ucontrol->value.iec958.i * 8)) & 0xff;
7a href="sosound/pci/cmipci.c#L970"sosou>soso class="line" name="L1039">= (unsigned int)ucontrol->value.iec958.i * 8)) & 0xff;
7a href="sosound/pci/cmipci.c#L971"sosou>sos1" class="line" name="L961">1 (unsigned int)ucontrol->value.iec958.i * 8)) & 0xff;
7a href="sosound/pci/cmipci.c#L972"sosou>sos" class="line" name=de=val" class="sref">val = 0;
7a href="sosound/pci/cmipci.c#L973"sosou>sos" class="line" name="L1003">1003}
7a href="sosound/pci/cmipci.c#L974"sosou>sos" class="line" name="L1004">1004
7a href="sosound/pci/cmipci.c#L975"sosou>sos5 class="lind_cmipci_spdif_default_put(str_ne1031static int 103_" cvinitdatade=snd_cmipci_s_" cvinitdatastatusline" name="L947"10cla>104e17a href="sosound/pci/cmipci.c#L976"sosou>sos6" class="line" name="L889"> 889107a href="sosound/pci/cmipci.c#L977"sosou>sos" class="lineiec958" class="saccesiec958.se=r"s="li=type" class="sref">type =ACCESS_REA"+code=SNDRV_PCM_TRIGGype =ACCESS_REA"kcontrol" class="sref">kcontrol,
7a href="sosound/pci/cmipci.c#L978"sosou>sos8 class="lineiec958" class="ssfac    return ELEM_TYPE_IEC95IFACECM_Pcode=SNDRV_CTL_ELEM_TYPE_IEC95IFACECM_Pkcontrol" class="sref">kcontrol,
7a href="sosound/pci/cmipci.c#L979"sosou>sos9 class="lineiec958" class="sc#L9code=SNDRV_CTL_c#L9status"s="linee" name="L1044">ELEM_TYPE_NAM href="+code=SNDRV_CTL_ELEM_TYPE_NAM href="+ classRR" class="sref">KERN_ERR< invalid PCM p" name="L1044">CM_CBACKcode=SNDRV_CTL_CM_CBACKkcont" name="L1044">CON_MASKcode=SNDRV_CTL_CON_MASKreg_ltrol" class="sref">kcontrol,
8a href="sosound/pci/cmipci.c#L980"sosou>soso class="linee=value" class="s14        0static int strol" class="sref">kcontrol,
8a href="sosound/pci/cmipci.c#L981"sosou>sos1 class="linee=value" class="+code=snd_cmipci_sg="+code=r"s="linee" name="L1044">0static int strol" class="sref">kcontrol,
8a href="sosound/pci/cmipci.c#L982"sosou>sos2" clachange" class="sref">change;
8a href="sosound/pci/cmipci.c#L983"sosou>sos" class="line" name="L1023">1023
8a href="sosound/pci/cmipci.c#L984"sosou>sos4 class="line" name="L1031">1031static int <_chip" +code=snd_cmipci_spdif_default_info"_chip" +codf">snd_cmipci_spdif_default_put(struct snd_kcontrol *kcontrol,
8a href="sosound/pci/cmipci.c#L985"sosou>sos5" class="line" name=========================                               struct snd_ctl_elem_info *uinfo)
8a href="sosound/pci/cmipci.c#L986"sosou>sos6" class="line" name="L889"> 889108a href="sosound/pci/cmipci.c#L987"sosou>sos" class="line" name="L1027">1013        uinfo->type = SNDRV_CTL_ELEM_TYPE_IEC958;
8a href="sosound/pci/cmipci.c#L988"sosou>sos" class="line" name="L1038">=014        uinfo->count = 1;
8a href="sosound/pci/cmipci.c#L989"sosou>sos9 class="line" name=de=val" class="sref">val = 0;
9a href="sosound/pci/cmipci.c#L990"sosou>soso class="line" name="L1003">1003}
9a href="sosound/pci/cmipci.c#L991"sosou>sos1" class="line" name="L991"> 991sos2" class="line" name="L992"> 992static_info"_chip" +code=snd_cmipci_spdif_default_get"_chip" +cof">snd_cmipci_spdif_default_put(struct snd_kcontrol *kcontrol,
9a href="sosound/pci/cmipci.c#L993"sosou>sos3" class="line" name="L993"> 993      ==                               struct snd_ctl_elem_value *ucontrol)
9a href="sosound/pci/cmipci.c#L994"sosou>sos4" class="line" name="L994"> 994sosa href="sosound/pci/cmipci.c#L995"sosou>sos5" class="line" name="L995"> 995        struct cmipci *chip = snd_kcontrol_chip(kcontrol);
9a href="sosound/pci/cmipci.c#L996"sosou>sos6" class="line name="L1022">1022        int i;
9a href="sosound/pci/cmipci.c#L997"sosou>sosass="line" name="L947"10cla>104e19a href="sosound/pci/cmipci.c#L998"sosou>sos" class="line" name="L1038">1039        spin_lock_irq(&chip->reg_lock);
9a href="sosound/pci/cmipci.c#L999"sosou>sos9 class="line" name="L1040">1040        for (i = 0; i < 4; i++)1 9301 (unsigned int)ucontrol->value.iec958.i < 4; i] = (cbstreip->dig_status >> (i * 8)) & 0xff;11044        spin_unlock_irq(&chip->reg_lock);1val = 0;11003}1100411031static int <_chip" +code=snd_cmipci_spdif_default_put"_chip" +cof">snd_cmipci_spdif_default_put(struct snd_kcontrol *kcontrol,1snd_ctl_elem_value *ucontrol)1 88911 995        struct cmipci *chip = snd_kcontrol_chip(kcontrol);11035        int i, change;11036        unsigned int val;1 9911038        val = 0;11039        spin_lock_irq(&chip->reg_lock);11040        for (i = 0; i < 4; i++)11038        val |= (unsigned int)ucontrol->value.iec958.status[i] << (i * 8);11042        change = val != cbstreip->i * 8);1sref">i] = (cbstreip->dig_status = val;11039        spin_unlock_irq(&chip->reg_lock);1i, change;11003}1 991(str_ne< clasame="L1031">1031static int 103_" cvinitdatade=snd_cmipci_s_" cvinitdatastatusline" name="L947"10cla>104e11033{1se=r"s="li=type" class="sref">type =ACCESS_REA"WRITEcode=SNDRV_CTL_ELEM_TYPE_IEC95ACCESS_REA"WRITEef="+ci=type" class="sref">type =ACCESS_INACTIVEcode=SNDRV_CTL_ELEM_TYPE_IEC95ACCESS_INACTIVEkcontrol" class="sref">kcontrol,1ELEM_TYPE_IEC95IFACECM_Pcode=SNDRV_CTL_ELEM_TYPE_IEC95IFACECM_Pkcontrol" class="sref">kcontrol,1ELEM_TYPE_NAM href="+code=SNDRV_CTL_ELEM_TYPE_NAM href="+ classRR" class="sref">KERN_ERR< invalid PCM p" name="L1044">CM_CBACKcode=SNDRV_CTL_CM_CBACKkcont" name="L1044">M_P_STREAPcode=SNDRV_CTL_M_P_STREAPreg_ltrol" class="sref">kcontrol,10static int <_chip" +code=snd_cmipci_spdif_default_info"_chip" +codf">strol" class="sref">kcontrol,10static int <_chip" +code=snd_cmipci_spdif_default_get"_chip" +cof">strol" class="sref">kcontrol,1se=r"s="linee" name="L1044">0static int <_chip" +code=snd_cmipci_spdif_default_put"_chip" +cof">srol" class="sref">kcontrol,1change;1 9911006/*11008 */1100411 save mixer sett">K and mutee" naAC39701008 */11031ave_mixerreipsnd_cmipci_spdif_default>        struct cm, &i++)1 88911 88911snd_ctl_ig_status = val;11036             int i;1 9911038        snd_kcomallochip(sndizeof(="sref">snd_ctl_ig_status =  = reg_lock);1snd_ctl_ig_status = reg_lock);1snd_ctl_ENOMEPcode=SNDRV_CTL_ENOMEPa href="+code=i" class="sref">i;11040        for (i = 0; i = 0; _P_SAVED_MIXERSa hree=i" class="sref">i < 4;  88911snl_e>cm, &snd_kc> >cm, &status[i;1snl_e>cm, & 889111036     eveinfo->i;11019 hip" class="srememscode=snd_cmipci_smemsco class="sref">snd_kcig_status = snd_ctl_ig_status = reg_lock);15a href="s1sound/pci/cmipci.c#L950"s1sou>s150" class="line" name=L1019">1019 hip" class="srel_e>cm, &snl_e>cm, & = reg_lock);15a href="s1sound/pci/cmipci.c#L951"s1sou>s15" class="line" name="L1011">1011 s="sref">snd_kc> >cm, &status[dig_status = ucontrol->i;15a href="s1sound/pci/cmipci.c#L952"s1sou>s15" class="line" name="L1032">1032  class="sref">dig_status = ucontrol->snd_kc> _daved_mixer>cm, &status[status[toggle_ona href="+code=i" class="sref">i;15a href="s1sound/pci/cmipci.c#L953"s1sou>s153" class="line" name="L993"> 993 ">1036     eveinfo->typei;15a href="s1sound/pci/cmipci.c#L954"s1sou>s15" class="lineeeeeeeeeeeeeeeeeeeeeeeeeif (class="sref">snl >cm, &status[ucontrol-> 889115a href="s1sound/pci/cmipci.c#L955"s1sou>s155" class="line" name=========================hip" class="srel_e>cm, &s(class="sref">snl_e>cm, & = 1 toggle>1008 */15a href="s1sound/pci/cmipci.c#L956"s1sou>s15" class="line" name="======================= ">1036     eveinfo->typei;15a href="s1sound/pci/cmipci.c#L957"s1sou>s157 class="line" name="================ss="line" name="L1003">1003}15a href="s1sound/pci/cmipci.c#L958"s1sou>s1s8" class="line" name=================hip" class="srel_e>cm, &se|de=type" class="sref">type =ACCESS_INACTIVEcode=SNDRV_CTL_ELEM_TYPE_IEC95ACCESS_INACTIVEkconef="+code=i" class="sref">i;15a href="s1sound/pci/cmipci.c#L959"s1sou>s15" class="line" name="L1019">1019 hip" class="sred_ctl_elnotify href="+code=snd_ctl_elnotifyf">s(class="sref">snl">cm, &->reg_lock);16a href="s1sound/pci/cmipci.c#L960"s1sou>s160" class="line" name=L1019">1ss="line" name="L1003">1003}16a href="s1sound/pci/cmipci.c#L961"s1sou>s16" class="line" name="ss="line" name="L1003">1003}16a href="s1sound/pci/cmipci.c#L962"s1sou>s16" class="line" name="" name="L1042">kfrerol->snd_kcig_status = reg_lock);16a href="s1sound/pci/cmipci.c#L963"s1sou>s163" class="line" name=i_spdif_default> >cm, &count = 1;16a href="s1sound/pci/cmipci.c#L964"s1sou>s16" class="liness="line" name="L1003">1003}16a href="s1sound/pci/cmipci.c#L965"s1sou>s16" class="line" name="L1015">1015        return 0;16a href="s1sound/pci/cmipci.c#L966"s1sou>s16" class="line" name="L1046">1046}16a href="s1sound/pci/cmipci.c#L967"s1sou>s16ass="line" name="L947"10cla>104e1s1s" claline" name="L947"10cla>104e1s1s" class="line" name="L1006">1 restore theviously saved mixer sip1008 */17a href="s1sound/pci/cmipci.c#L970"s1sou>s17" class="linvoid=i_spdif_defaultrestore_mixerreipsnd_cmipci_spdif_default>        struct cm, &i++)17a href="s1sound/pci/cmipci.c#L971"s1sou>s1s1" class="line" name="L889"> 889117a href="s1sound/pci/cmipci.c#L972"s1sou>s1s" class="lineif (class="sref">snl >cm, & 889117a href="s1sound/pci/cmipci.c#L973"s1sou>s173" class="line" name=                               struct snd_ctl_ig_status = val;17a href="s1sound/pci/cmipci.c#L974"s1sou>s17" class="lineeeeeeeee" name="L1036">1036             int i;17a href="s1sound/pci/cmipci.c#L975"s1sou>s1s5 claf="+code=i" class="sref">i;17a href="s1sound/pci/cmipci.c#L976"s1sou>s17" class="line" name="L1026">10261038        snd_kcomallochip(sndizeof(="sref">snd_ctl_ig_status =  = reg_lock);17a href="s1sound/pci/cmipci.c#L977"s1sou>s177 class="line" name="if (!"sref">snd_ctl_ig_status = reg_lock);17a href="s1sound/pci/cmipci.c#L978"s1sou>s178" class="line" name=========" nameock" class="sref">reg_lock);17a href="s1sound/pci/cmipci.c#L979"s1sou>s17" class="line" name="i_spdif_default> >cm, &1 at firstineear this;08 */18a href="s1sound/pci/cmipci.c#L980"s1sou>s1so class="line" name="L1008">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>otherwise the1008 */18a href="s1sound/pci/cmipci.c#L981"s1sou>s18" class="line" name="" name="L1040">1040        for (i = 0; i = 0; _P_SAVED_MIXERSa hree=i" class="sref">i < 4;  889118a href="s1sound/pci/cmipci.c#L982"s1sou>s18" class="line" name="L1032">1d_cmipci_spdif_default_put(struct snl_e>cm, &snd_kc> >cm, &status[ 889118a href="s1sound/pci/cmipci.c#L983"s1sou>s183" class="line" name="L993"> if (class="sref">snl_e>cm, & 889118a href="s1sound/pci/cmipci.c#L984"s1sou>s18" class="lineeeeeeeeeeeeeeeeeeeeeeeeei036">1036     eveinfo->i;18a href="s1sound/pci/cmipci.c#L985"s1sou>s185 claf="+code=i" class="sref">i;18a href="s1sound/pci/cmipci.c#L986"s1sou>s18" class="line" name="================hip" class="srememscode=snd_cmipci_smemsco class="sref">snd_kcig_status = snd_ctl_ig_status = reg_lock);18a href="s1sound/pci/cmipci.c#L987"s1sou>s187 class="line" name="================hip" class="srel_e>cm, &se+code= ~=type" class="sref">type =ACCESS_INACTIVEcode=SNDRV_CTL_ELEM_TYPE_IEC95ACCESS_INACTIVEkconef="+code=i" class="sref">i;18a href="s1sound/pci/cmipci.c#L988"s1sou>s188" class="line" name=================hip" class="srel_e>cm, &snl_e>cm, & = reg_lock);18a href="s1sound/pci/cmipci.c#L989"s1sou>s18" class="line" name="L1019">1019 hip" class="sreeveinfo->typei;19a href="s1sound/pci/cmipci.c#L990"s1sou>s190" class="line" name=L1019">1019 if (class="sref">snig_status = ucontrol->status[ 889119a href="s1sound/pci/cmipci.c#L991"s1sou>s19" class="line" name="L1011">1011 019 hip" class="sreig_status = ucontrol->status[i;19a href="s1sound/pci/cmipci.c#L992"s1sou>s19" class="line" name="L1032">1032 019 hip" class="srel_e>cm, &s(class="sref">snl_e>cm, & = i;19a href="s1sound/pci/cmipci.c#L993"s1sou>s1s3" class="line" name="L993"> 993      == ">1036     eveinfo->typei;19a href="s1sound/pci/cmipci.c#L994"s1sou>s19" class="lineeeeeeeeeeeeeeeeeeeeeeeeess="line" name="L1046">1046}1sa href="s1sound/pci/cmipci.c#L995"s1sou>s195" class="line" name=================hip" class="sred_ctl_elnotify href="+code=snd_ctl_elnotifyf">s(class="sref">snl">cm, &->reg_lock);19a href="s1sound/pci/cmipci.c#L996"s1sou>s19" class="line" name="========ss="line" name="L1046">1046}1sa href="s1sound/pci/cmipci.c#L997"s1sou>s197 class="line" name="ss="line" name="L1046">1046}1sa href="s1sound/pci/cmipci.c#L998"s1sou>s198" class="line" name=" name="L1042">kfrerol->snd_kcig_status = reg_lock);19a href="s1sound/pci/cmipci.c#L999"s1sou>s1s9 class="liness="line" name="L1046">1046}21003}2 9911 =spiode= held!>1008 */2snd_cmipci_spdif_default>        struct cm, &1036     do_ac3 href="+code=sndo_ac3href,1i036">1036     rps)ck" class="sref">reg_lock);2 994s2sndo_ac3 href="+code=sndo_ac3href= ass="line" name="L889"> 889121 AC3EN"" na037>1008 */2<7 href="s2uound/pci/cmipci.c#L997"s2="L10207 class="line" name="hip" class="sred_ctldefaultet_biode=snd_cmipci_spdif_defaultet_biof">s(class="sref">snl">cm, &[[reg_lock);21 AC3EN"" na039>1008 */2<9 href="s2uound/pci/cmipci.c#L999"s2="L1020" class="line" name="i_spdif_defaultd_ctldefaultet_biode=snd_cmipci_spdif_defaultet_biof">s(class="sref">snl">cm, & = [reg_lock);2reg_lock);2snl >cm, & 889121"s="line" name="L1006">1 SPD24SEL"" na037, 0x02>1008 */2 "s="line" name="L1006">1 SPD24SEL"" na039, 0x20, but cannot be tet>1008 */2s(class="sref">snl">cm, &[i = 0; _P_SPD24SELef=")ock" class="sref">reg_lock);2s(class="sref">snl">cm, & = i = 0; _P_SPD32SELef=")ock" class="sref">reg_lock);21 can_ac3_sw>1008 */2<7 href="s2und/pci/cmipci.c#L1017" i2="L10217 class="line" name="========"s="line" name="L1006">1 SPD32SEL"" na037>de=i" c39, 0x20>1008 */2s(class="sref">snl">cm, & = i = 0; _P_SPD32SELef=")ock" class="sref">reg_lock);2<9 href="s2und/pci/cmipci.c#L1019" i2="L1021" class="line" name="L1019">1ss="line" name="L1006">1 =et>176K se=ile rp1008 */21if (class="sref">snl >cm, &status[chip_versiona hrod= 33= ass="line" name="L889"> 889121011 if (class="sref">snrpsef" c= 48000= ass="line" name="L889"> 889121032 019 hip" class="sred_ctldefaultet_biode=snd_cmipci_spdif_defaultet_biof">s(class="sref">snl">cm, &[[reg_lock);2 993 } else {ck" class="sref">reg_lock);2s(class="sref">snl">cm, &[[reg_lock);21003}21046}21046}2104e1reg_lock);2 930d_ctldefaulneear_biode=snd_cmipci_spdif_defaulneear_biof">s(class="sref">snl">cm, &[[reg_lock);2 930d_ctldefaulneear_biode=snd_cmipci_spdif_defaulneear_biof">s(class="sref">snl">cm, & = [reg_lock);2reg_lock);2snl >cm, & 889121 chip m"srlef" c= 37>1008 */2snnd_pbstr" nmat_widtha href="+code=snd_pbstr" nmat_widthf">s(class="sref">sneubra href="+code=snubrhrefode=chip" class="srefuntiL9code=SNDRV_CTL_funtiL9hrefode=chip" class="sre" nmatcode=SNDRV_CTL_" nmathref= lass=16= ass="line" name="L889"> 88912s(class="sref">snl">cm, & = i = 0; _P_SPD32SELef=")ock" class="sref">reg_lock);2s(class="sref">snl">cm, &[i = 0; _P_SPD24SELef=")ock" class="sref">reg_lock);2reg_lock);2s(class="sref">snl">cm, & = i = 0; _P_SPD32SELef=")ock" class="sref">reg_lock);2s(class="sref">snl">cm, &[i = 0; _P_SPD24SELef=")ock" class="sref">reg_lock);21ss="line" name="L1046">1046}2reg_lock);2s(class="sref">snl">cm, & = i = 0; _P_SPD32SELef=")ock" class="sref">reg_lock);2s(class="sref">snl">cm, &[i = 0; _P_SPD24SELef=")ock" class="sref">reg_lock);2s(class="sref">snl">cm, &[[reg_lock);21046}21046}21046}21046}25a href="s2sound/pci/cmipci.c#L950"s2sou>s25" class="line" name="L1031">1031coup_t_put"70s(d_cmipci_spdif_default>        struct cm, &1036     uirq(&1036     do_ac3 href="+code=sndo_ac3href=s="line" name="L1046">1046}25a href="s2sound/pci/cmipci.c#L951"s2sou>s251" class="line" name="L889"> 889125a href="s2sound/pci/cmipci.c#L952"s2sou>s25" class="linei036">1036     rpsef="+code=i" claseref="+code=snd_cmeref">sock" class="sref">reg_lock);25a href="s2sound/pci/cmipci.c#L953"s2sou>s253" clck" class="sref">reg_lock);25a href="s2sound/pci/cmipci.c#L954"s2sou>s25" class="lineclass="sref">snrpsede=chip" class="srubra href="+code=snubrhrefode=chip" class="srefuntiL9code=SNDRV_CTL_funtiL9hrefode=chip" class="srerpsock" class="sref">reg_lock);25a href="s2sound/pci/cmipci.c#L955"s2sou>s255 claf="+code=i" class="sref">i;25a href="s2sound/pci/cmipci.c#L956"s2sou>s25" class="lineif (class="sref">snuirq(&de=i"de=i" ">1036     do_ac3 href="+code=sndo_ac3href=s="line" name="L1046">1046}25a href="s2sound/pci/cmipci.c#L957"s2sou>s257 class="line" name="if ((class="sref">sneref="+code=snd_cmeref">sede=chip" class="srave_mixerreipsnipci" class="sre">cm, &1046}25a href="s2sound/pci/cmipci.c#L958"s2sou>s2s8" class="line" name=========" name=="+code=i" claseref="+code=snd_cmeref">sock" class="sref">reg_lock);25a href="s2sound/pci/cmipci.c#L959"s2sou>s25" clas="line" name="L1046">1046}26a href="s2sound/pci/cmipci.c#L960"s2sou>s260" class="lin=chip" class="sr039        spin_loc >cm, &chip->reg_lock);26a href="s2sound/pci/cmipci.c#L961"s2sou>s26" class="line="sref">spin_loc >cm, &sede=chip" class="suirq(&reg_lock);26a href="s2sound/pci/cmipci.c#L962"s2sou>s26" class="lineif (class="sref">snuirq(& 889126a href="s2sound/pci/cmipci.c#L963"s2sou>s263" class="line" name=is="line" name="L1006">1 they are nd_kconled via  invalref="+ Output Switch inval>1008 */26a href="s2sound/pci/cmipci.c#L964"s2sou>s26" class="lineeeeeeeeess="line" name="L1006">1 =dif_defaultet_bio(cm, CM_REG_LEGACYTYPRL, CM_ENSPDOUT)l>1008 */26a href="s2sound/pci/cmipci.c#L965"s2sou>s265" class="line" name=ss="line" name="L1006">1 =dif_defaultet_bio(cm, CM_REG_FUNYPRL1, CM_SPDO2DAC)l>1008 */26a href="s2sound/pci/cmipci.c#L966"s2sou>s26" class="line" name="if (class="sref">snl >cm, &1046}26a href="s2sound/pci/cmipci.c#L967"s2sou>s267 class="line" name="========"ip" class="sred_ctldefaultet_biode=snd_cmipci_spdif_defaultet_biof">s(class="sref">snl">cm, &[[reg_lock);26a href="s2sound/pci/cmipci.c#L968"s2sou>s268" class="line" name=" name="L1042">scoup_ac3 href="+code=sndcoup_ac3f">snclass="sref">snl">cm, &1036     do_ac3 href="+code=sndo_ac3href,1">1036     rps)ock" class="sref">reg_lock);26a href="s2sound/pci/cmipci.c#L969"s2sou>s26" clas="line" name="L1046">1046}27a href="s2sound/pci/cmipci.c#L970"s2sou>s270" class="line" name=if (class="sref">snrpse== 48000 |ci=type" class="srpse== 96000=s="line" name="L1046">1046}27a href="s2sound/pci/cmipci.c#L971"s2sou>s27" class="line" name="L1011">1"ip" class="sred_ctldefaultet_biode=snd_cmipci_spdif_defaultet_biof">s(class="sref">snl">cm, & = [s)ock" class="sref">reg_lock);27a href="s2sound/pci/cmipci.c#L972"s2sou>s27" class="line" name="elseck" class="sref">reg_lock);27a href="s2sound/pci/cmipci.c#L973"s2sou>s273" class="line" name=L1011">1"ip" class="sred_ctldefaulneear_biode=snd_cmipci_spdif_defaulneear_biof">s(class="sref">snl">cm, & = [s)ock" class="sref">reg_lock);27a href="s2sound/pci/cmipci.c#L974"s2sou>s27" class="lineeeeeeeeeif (class="sref">snrpsef" c 48000=ck" class="sref">reg_lock);27a href="s2sound/pci/cmipci.c#L975"s2sou>s275" class="line" name=eeeeeeeehip" class="sred_ctldefaultet_biode=snd_cmipci_spdif_defaultet_biof">s(class="sref">snl">cm, &[i = 0; _P_DBLSPDSf">s)ock" class="sref">reg_lock);27a href="s2sound/pci/cmipci.c#L976"s2sou>s27" class="line" name="elseck" class="sref">reg_lock);27a href="s2sound/pci/cmipci.c#L977"s2sou>s277 class="line" name="L1011">1"ip" class="sred_ctldefaulneear_biode=snd_cmipci_spdif_defaulneear_biof">s(class="sref">snl">cm, &[i = 0; _P_DBLSPDSf">s)ock" class="sref">reg_lock);27a href="s2sound/pci/cmipci.c#L978"s2sou>s278" class="lin} else {ck" class="sref">reg_lock);27a href="s2sound/pci/cmipci.c#L979"s2sou>s27" class="line" name="is="line" name="L1006">1 they are nd_kconled via  invalref="+ Output Switch inval>1008 */28a href="s2sound/pci/cmipci.c#L980"s2sou>s280" class="line" name="s="line" name="L1006">1 =dif_defaulneear_bio(cm, CM_REG_LEGACYTYPRL, CM_ENSPDOUT)l>1008 */28a href="s2sound/pci/cmipci.c#L981"s2sou>s28" class="line" name=""s="line" name="L1006">1 =dif_defaulneear_bio(cm, CM_REG_FUNYPRL1, CM_SPDO2DAC)l>1008 */28a href="s2sound/pci/cmipci.c#L982"s2sou>s28" class="line" name=""ip" class="sred_ctldefaulneear_biode=snd_cmipci_spdif_defaulneear_biof">s(class="sref">snl">cm, &[i = 0; _P_DBLSPDSf">s)ock" class="sref">reg_ */28a href="s2sound/pci/cmipci.c#L983"s2sou>s283" class="line" name="ip" class="sred_ctldefaulneear_biode=snd_cmipci_spdif_defaulneear_biof">s(class="sref">snl">cm, &[[reg_lock);28a href="s2sound/pci/cmipci.c#L984"s2sou>s28" class="lineeeeeeeee" name="L1042">scoup_ac3 href="+code=sndcoup_ac3f">snclass="sref">snl">cm, &reg_lock);28a href="s2sound/pci/cmipci.c#L985"s2sou>s285" class="linss="line" name="L1046">1046}28a href="s2sound/pci/cmipci.c#L986"s2sou>s28" class="line=chip" class="sr039        spin_loc >cm, &chip->reg_lock);28a href="s2sound/pci/cmipci.c#L987"s2sou>s287 class="line" name="L1015">1015        return 0;28a href="s2sound/pci/cmipci.c#L988"s2sou>s282sou10248" clss="line" name="L1046">108a href="s2sound/pci/cmipci.c#L989gt;s190" class="line" name2L10192>1019}27a href="s2sound/pci/cmipci.c#L981"s2sou>s19" class="line" name=2L10112>101128a href="s2sound/pci/cmipci.c#L992"s1s2u>s19" class="line" name=2L1032291 =spiode= held!>10081pas="me="L/28a href="s2sound/pci/cmipci.c#L983"s2sou>s1s3" class="line" name2"L9932> 9931008 */28a href="s2sound/pci/cmipci.c#L994"s1s2u>s19" class="lineeeeeeee2eeeee2eeeeeean>28a href="s2sound/pci/cmipci.c#L985"s2sou>s195" class="line" name2=====2======f_defaulneear_bio(cm, CM_" name=" - 1046"> ="lin only on>1008 */28a href="s2sound/pci/cmipci.c#L986"s2sou>s19" class="line" name=2=====2==ss="oup_t_put"70s" name="La>1pasipsnipci" cls="sref">s" name="La>1pasi        struct );27a href="s2sound/pci/cmipci.c#L997"s1s2u>s197 class="line" name=2ss="l2_lock);27a href="s2sound/pci/cmipci.c#L998"s1s2u>s198" class="line" name2" nam2="L1042">kfrer   struct cm, &s1s9 class="liness="lin2" nam2="L1046">1046<="+code=snrpsef="+code=i" claseref="+code="+code=snubrhrefode=ceubruct sock" class="sref">reg_lock);25a href="s2sound/pci/cmipci3L1000" i2=3L1020o class="line" name=3L1003300L1046">1046<="+code=snrpse" class="sref">reg_lock1036     rp1036     rps19" class="line" name=3"L9913> 9911036     rpcode=snrpsef" c= 48000= ass="line" name="L889"4100o_ac3 href="+code=sndo_ac3hf" c= 48000= ass="line" name=lL8891046s1s3" class="line" name3dif_d301"ip" class="sred_ctldefacode=snubrhrefode=ceubruct soref= lass=16= ass="line" name="46">ode=snrpsohref="PassM_DBLS_S16_LEass=16= ass="lihref="PassM_DBLS_S16_LE   do_ac3 href=/as2s19" class="lineeeeeeee3"L99430ehip" class="sred_ctldefacode=snubrhrefode=ceubruct sonel10lock" class="snel1me="46">2an 0;28a href="s2sound/pci/cmipci3L1005" i2=3L10205" class="linif (cla3s="sr3f">sndo_ac3 href="+code=sndo_ac3href="lin>1036     rp 889< 0;28a href="s2sound/pci/cmipci3L6005" i2=3L>s19" class="line" name=3ss="l3ne" name="L1006">1 AC3Ecode=sndo_ac3href,1">1036     rps197 class="line" name=3hip" 3lass="sred_ctlode=snd_cmeref">sede=chip" class="srave_mixerreips(d_cmipci_spdif_default>     mp;1036     rp1036     rp1046}25a href="s2sound/pci/cmipci3L1008" i2=3L10208" class="line" name3"s="l3ne" name="L1006">1 AC3+code=snd_cmeref">sock" class="sref">reg_lock);25a href="s2sound/pci/cmipci3c#L999"s2=3L1020" class="line" name=3i_spd3f_defaultd_ctl+code=snd_cmeref">sockls="sref">s"s="a>1pasipsnipci" cls="sref">s"s="a>1pasi     mp;chip->1008 ="lin alwaynt"> */17a href="s1sound/pci/cmipci3L1013" i2=3L10213" class="line" name3"L99331aultscoup_acut"70s" name="Lspdif_d>1pasipsnipci" cls="sref">s" name="Lspdif_d>1pasi        struct );27a href="s2sound/pci/cmipci3L1014" i2=3L1021" class="lineeeeeeee3eeeee31 994s2cm, &se" class="sref">reg_lock1036     rp 889<1ss="line" name="L100Ecode=sndo_ac3href,1">1036     rp1if (class="sk);27a href="s2sound/pci/cmipci3L1021" i2=3L1022" class="line" name=3L10113>1011 if (class="sEcode=sndo_ac3href,1">1036     rp */17a href="s1sound/pci/cmipci3L1022" i2=3L1022" class="line" name=3L103232">snuirq(&snd_cmeref">sede=chip" class="srave_mixerreips(d_cmipci_spdif_default>     mp;1036     rp1046}25a href="s2sound/pci/cmipci3L1023" i2=3L10223" class="line" name3"L9933> 993 } else {ck" +code=snd_cmeref">sock" class="sref">reg_lock);25a href="s2sound/pci/cmipci3L1024" i2=3L1022" class="lineeeeeeee3eeeee3eeeeeeeeee019<+code=snd_cmeref">sockls="sref">s"s="a>1pasipsnipci" cls="sref">s"s="a>1pasi     mp;chip->}2}228a href="s2sound/pci/cmipci3L1028" i2=3L1022" claline" name="L943"10cl3>104e1iode= held!>10081008g>1008s eldtn" naed on>nel Aa  ayn=" some buffer, sref */28a href="s2sound/pci/cmipci3L#L999"s2=3L10229 class="line} else 3ck" c3ass="siode= held!>1008nel is<+cmip, and get added tot1008data81008rcommDACs whef */28a href="s2sound/pci/cmipci3L1030" i2=3L10230" class="line" name3"L93033>>>>>>>>>>>>>>>>>>>>>>>>>>>>an" naing a mulp_a/a>nel ubra h on>nel B.  This28a href="s2sound/pci/cmipci3L1021" i2=3L1023" class="line" name=3"L930331011anwrapas="s2s and thus distor"me=s. n/28a href="s2sound/pci/cmipci3L1022" i2=3L1022" clack" class="sref3>reg_331 =spiode= held!>1008100828a href="s2sound/pci/cmipci3L1023" i2=3L10233" class="line" name3if (c33 993100828a href="s2sound/pci/cmipci3L1024" i2=3L1023" class="lineeeeeeee3eeeee3eeis="iode= held!>1008 */28a href="s2sound/pci/cmipci3L1035" i2=3L10235" class="line" name3=====3==if (coup_ac3 href="+code=sndcoup"sref">snl"ilence_ht"70s(d_cm"sref">snl"ilence_ht"7        struct cm, &s"s=pci" class="sre">cm, &);27a href="s2sound/pci/cmipci3L1036" i2=3L1023" class="line" name=3=====3======/a>s2sefegock" class="sref"gref="+code=snubrhref,k" class="sref">reg_locksefecock" class="sref"cref=1036     rpma_asia> 889s21ss="line" name="L104>176K se=ile rp */28a href="s2sound/pci/cmipci3L1042" i2=3L1024" class="line" name=3} els3 {ck" class="sref">regref="+code=scanmemsss="sref">snl_e>cmemsss     mp;1036     rpma_asia> 88_lockref="+code=scanPAGE_SIZEass=16= ass="liPAGE_SIZEref=an 0;28a href="s2sound/pci/cmipci3L1043" i2=3L10243" class="line" name3=====3==hip" class="sred_ctlode=snrpsefegock" class="sref"gref=reips(clacref=" ?MAel[reg_lockc mp;c  mp;104>104616an 0;28a href="s2sound/pci/cmipci3L1035" i2=3L10245" class="line" name3eeeee3eehip" class="sred_ctlf="+code=sndcoup"sref">snlwrieipsnipci" cl"sref">snlwriei     mp;reg_lock100816 bit", 2>nel", 8 kHz *> */28a href="s2sound/pci/cmipci3L1038" i2=3u10248" clss="line" name=3L104634e" name="L1006">1 AC3="+code=snrpsefhrefode=chip" class="srerpsonel10lock" class="snel1me="4reg_l2a>);27a href="s2sound/pci/cmipci3c#L949"s2s3u1024" clas="line" name="31046"341ss="line" name="L1006">1 =et>2an 0;28a href="s2sound/pci/cmipci3c#L950"s2s3u>s25" class="line" name=3L103135 930d_ctldefaulneear_biode=snd_cme=spin_lock_irq" class="sref">spin_loc >cm, &chip->reg_lock);26a href="s2sound/pci/cmipci3c#L951"s2s3u>s251" class="line" name3"L889351011 if (class="sEcode=sndo_ac3hk" class="sref">reg_lockf="+code=sndcoup"sref">snlsiasnlsia<     mp;);26a href="s2sound/pci/cmipci3c1042" i2=3u>s25" class="linei036">1336regref="+code=scank" class="sref">reg_lock, &a= ~ mp;SFC_MASclasci=type" class=>SFC_MAScock104>1046code=snrpsefecock" class="sref"cref=s(clacref=" * 3)/a>);26a href="s2sound/pci/cmipci3c1043" i2=3u>s253" clck" class="sref3>reg_35=hip" class="sred_ctlode=snrpsek" class="sref">reg_lockc4/>104>1046mp;SFC_SHIFMAehrefef="+code=i">SFC_SHIFM> 889<>104>1046code=snrpsefecock" class="sref"cref=s(clacref=" * 3)a>);26a href="s2sound/pci/cmipci3c1024" i2=3u>s25" class="lineclass="3ref">35"L1042">scoup_ac3 href="+code=sndcoup"sref">snlwrieipsnipci" cl"sref">snlwriei     mp;[reg_locks255 claf="+code=i" cla3s="sr35ehip" class="sred_ctlf="+code=sndcouk" class="sref">reg_lockf="+code=sndcoup"sref">snlsiasnlsia<     mp;s25" class="lineif (cla3s="sr35e" name="L1006">1 AC3Ecode=sndo_ac3hk" class="sref">reg_lock, &a= ~ mp;104>1046code=snrpsefecock" class="sref"cref=s(clacref=" * 2)/a>);26a href="s2sound/pci/cmipci3c1037" i2=3u>s257 class="line" name=3if ((3lass="sref">sneref="+code=snrpsek" class="sref">reg_lockc3/>104>1046mp; 889<>104>1046code=snrpsefecock" class="sref"cref=s(clacref=" * 2an 0;28a href="s2sound/pci/cmipci3c1038" i2=3u>s2s8" class="line" name3=====3==" name=="+code=i" cl, &s25" clas="line" name="31046"351ss="line" name="L1006">1 =et>reg_lock, &a= ~ mp;rMASclasci=type" class=G_0sref">rMAScock104>1046code=snrpsefecock" class="sref"cref=s(clacref=" * 2)/a>);26a href="s2sound/pci/cmipci3c#L960"s2s3u>s260" class="lin=chip" 3lass=36 930d_ctldefaulneear_biode=snd_cmipci_spdifwrieipsnipci" cl"sref">snlwriei     mp;i = 0; _P_k" class="sref">reg_locks26" class="line="sref"3spin_3oc >cm, &a 0;28a href="s2sound/pci/cmipci3c1042" i2=3u>s26" class="lineif (cla3s="sr36{ck" class="sref">regr176K se=ile rps263" class="line" name3is="l3ne" name="L1006">1 theyp;104>1046ode=snrpsefecock" class="sref"cref=s(clacref="n 0;28a href="s2sound/pci/cmipci3c1024" i2=3u>s26" class="lineeeeeeee3ss="l3ne" name="L1006">1 =difar_biode=snd_cmipci_spdifwrieipsnipci" cl"sref">snlwriei     mp;s265" class="line" name3ss="l3ne" name="L1006">1 =difar_biode=snd_cme=spspun/a>     irq" class="sref">spin_loc >cm, &chip->reg_lock);28a href="s2sound/pci/cmipci3c#L966"s2s3u>s26" class="line" name=3if (c36=ss="a>}2s267 class="line" name=3=====3=="ip" class="sred_ctlref="+code=scanmsleeact );28a href="s2sound/pci/cmipci3c1038" i2=3u>s268" class="line" name3" nam36104e1s26" clas="line" name="31046"36e" name="L1006">1 they are nd_kconled via  invubop and +cmip ubra h *> */28a href="s2sound/pci/cmipci3c#L970"s2s3u>s270" class="line" name3if (c3ass="sref">snrpspin_loc >cm, &chip->reg_lock);26a href="s2sound/pci/cmipci3c#L971"s2s3u>s27" class="line" name=3L10113>1"ip" class="sred_ctlyp;104>1046ode=snrpsefecock" class="sref"cref=s(clacref="/a>);26a href="s2sound/pci/cmipci3c1042" i2=3u>s27" class="line" name=3elsec3" class="sref">reg_locf="+code=sndcouk" class="sref">reg_lockf="+code=sndcouss=MST=G_0lasci=type" class=MST=G_0ock104>1046ode=snrpsefecock" class="sref"cref=s(clacref="n 0;28a href="s2sound/pci/cmipci3c#L973"s2s3u>s273" class="line" name3L10113>1"ip" class="sred_ctlfar_biode=snd_cmipci_spdifwrieipsnipci" cl"sref">snlwriei     mp;reg_locks27" class="lineeeeeeee3if (c3ass="sref">snrpsnipci" cl"sref">snlwriei     mp;reg_locks275" class="line" name3eeeee3eehip" class="sred_ctlfar_biode=snd_cme=spspun/a>     irq" class="sref">spin_loc >cm, &chip->reg_lock);28a href="s2sound/pci/cmipci3c#L976"s2s3u>s27" class="line" name=3elsec37=ss="a>}2s277 class="line" name=3L10113>1"ip" class="sred_ctlode=snrpsefecock" class="sref"cref= =>);25a href="s2sound/pci/cmipci3c#L978"s2s3u>s278" class="lin} else 3ck" c3ass="sref">reg_>);25a href="s2sound/pci/cmipci3c#L969"s2s3u>s27" class="line" name=3is="l3ne" na_>);25a href="s2sound/pci/cmipci3c#L980"s2s3u>s280" class="line" name3"s="l381019}27a href="s2sound/pci/cmipci3c#L981"s2s3u>s28" class="line" name=3"s="l3ne" nacoup_acut"70s" name="Lhw_freipsnipci" cls="sref">s" name="Lhw_freicm);27a href="s2sound/pci/cmipci3c#L982"s2s3u>s28" class="line" name=3"ip" 3lass="/a>s2s283" class="line" name3"ip" 3lass="sred_ctl   struct cm, &s28" class="lineeeeeeee3" nam38rpse=ipci_spcoup_t_put"70s(d_cmipci_spdif_default>     mp;);28a href="s2sound/pci/cmipci3c#L985"s2s3u>s285" class="linss="lin3" nam3="L1046">1046sefestordave_mixerreipsnipci" cfestordave_mixerrei     mp;);28a href="s2sound/pci/cmipci3c#L976"s2s3u>s28" class="line=chip" 3lass=3sr039        snl"ilence_ht"70s(d_cm"sref">snl"ilence_ht"7     mp;chip->s287 class="line" name=3L10153>1015        retu     snlhw_freipsnipci" cls="sref">shw_freicms282sou10248" clss="lin3" nam3="L1046">108a href="s2sound/pci/cmipci3c#L989gt;<3 heveina hro|de=type" cla3s="sr3m046}27a href="s2sound/pci/cmipci3c#L990"s1s3u>s190" class="line" name3L1019391031coup_t_put"70s" name="2Lhw_freipsnipci" cls="sref">s" name="2Lhw_freicm);27a href="s2sound/pci/cmipci3c#L981"s2s3u>s19" class="line" name=3L101139 889125a href="s2sound/pci/cmipci3c#L992"s1s3u>s19" class="line" name=3L1032392ss="sred_ctl   struct cm, &s1s3" class="line" name3"L993393039        snl"ilence_ht"70s(d_cm"sref">snl"ilence_ht"7     mp;chip->s19" class="lineeeeeeee3eeeee39eeeeeeeee019<+code=snd_cmeref">sockls="sref">shw_freipsnipci" cls="sref">shw_freicms195" class="line" name3=====39=====/a>}2s19" class="line" name=3=====39=ss="a>}2s197 class="line" name=3ss="l39e" naf_defaulneear_bio(cm, CM capture8*> */28a href="s2sound/pci/cmipci3c#L998"s1s3u>s198" class="line" name3" nam3="L104oup_t_put"70scapture"a>1pasipsnipci" cls="sref">scapture"a>1pasicm);27a href="s2sound/pci/cmipci3c#L989gt;<3u>s1s9 class="liness="lin3" nam3="L104/a>125a href="s2sound/pci/cmipci4L1000" i2=4L1020o class="line" name=4L1003400L1046">1046<   struct cm, &s19" class="line" name=4"L991401eeeeeeee019<+code=snd_cmeref">sockls="sref">s"s="a>1pasipsnipci" cls="sref">s"s="a>1pasi     mp;chip->}2s1s3" class="line" name4dif_d40ck);25a href="s2sound/pci/cmipci4L4002" i2=4L>s19" class="lineeeeeeee4"L99440eis="iode= held!>1008scapture"spdif_d>1pasipsnipci" cls="sref">scapture"spdif_d>1pasicm);27a href="s2sound/pci/cmipci4L6005" i2=4L>s19" class="line" name=4ss="l40=====/a>s2s197 class="line" name=4hip" 40=========hip"   struct cm, &s198" class="line" name4"s="l40104e1spin_loc >cm, &chip->reg_lock);26a href="s2sound/pci/cmipci4L1010" i2=4L10210" class="linck" cla4s="sr41r039        s(class="sref">snl">cm, &[[);26a href="s2sound/pci/cmipci4L1000" i2=4L1021" class="line" name=4if (c411eeeeeeee019<, &reg_loc, &sock" class="sref">reg_lockreg_lock);27a href="s2sound/pci/cmipci4L1013" i2=4L10213" class="line" name4"L993411"ip" class="sred_ctldefaulneear_biode=snd_cmipci_spdifefaultet_biof">s(class="sref">snl">cm, &[i = 0; _P_DBLSPDSf">s)ock" class="sref">reg_lock);27a href="s2sound/pci/cmipci4L1014" i2=4L1021" class="lineeeeeeee4eeeee41ss="sref">snrp);27a href="s2sound/pci/cmipci4L1015" i2=4L10215" class="line" name4eeeee41ehip" class="sred_ctldefaulneear_biode=snd_cmipci_spdif_defaulneear_biof">s(class="sref">snl">cm, &[i = 0; _P_DBLSPDSf">s)ock" class="sref">reg_ */28a href="s2sound/pci/cmipci4e6005" i2=4L1021" class="line" name=4} els4 { "s="line" n/a>}2s(cla=class="ne" na_widta>, &soref= lass=16= ass="line" name=")>reg_l16a>);27a href="s2sound/pci/cmipci4L8005" i2=4L10218" class="line" name4=====41=" name=="+code=i" clear_biode=snd_cmipci_spdifefaultet_biof">s(class="sref">snl">cm, &[[28a href="s2sound/pci/cmipci4e#L999"s2=4L1021" class="line" name=4L10194>1ss="line" nak);27a href="s2sound/pci/cmipci4L1020" i2=4L10220" class="line" name4L101942 930d_ctldefaulneear_biode=snd_cmipci_spdif_defaulneear_biof">s(class="sref">snl">cm, & = [28a href="s2sound/pci/cmipci4L1021" i2=4L1022" class="line" name=4L101142 991     irq" class="sref">spin_loc >cm, &chip->reg_lock);28a href="s2sound/pci/cmipci4L1023" i2=4L10223" class="line" name4"L99342ck);25a href="s2sound/pci/cmipci4L1024" i2=4L1022" class="lineeeeeeee4eeeee4eeeeeeeeee019<+code=snd_cmeref">sockls="sref">s"s="a>1pasipsnipci" cls="sref">s"s="a>1pasi     mp;chip->}2}2scapture"spdif_hw_freipsnipci" cls="sref">scapture"spdif_hw_freicm);27a href="s2sound/pci/cmipci4L1028" i2=4L1022" claline" name="L944"10cl4>104e1/a>s2cm, &}27a href="s2sound/pci/cmipci4L1021" i2=4L1023" class="line" name=4"L930431ss="sred_ctl+code=sndo_ac3hme=spin_lock_irq" class="sref">spin_loc >cm, &chip->reg_lock);26a href="s2sound/pci/cmipci4L1022" i2=4L1022" clack" class="sref4>reg_43ass="sred_ctl+code=sndo_ac3hmipci_spdif_defaulneear_biof">s(class="sref">snl">cm, &[[);26a href="s2sound/pci/cmipci4L1023" i2=4L10233" class="line" name4if (c433039        snl_defaulneear_biof">s(class="sref">snl">cm, & = [28a href="s2sound/pci/cmipci4L1024" i2=4L1023" class="lineeeeeeee4eeeee43rpse=e=spspun/a>     irq" class="sref">spin_loc >cm, &chip->reg_lock);28a href="s2sound/pci/cmipci4L1035" i2=4L10235" class="line" name4=====4==if (>);28a href="s2sound/pci/cmipci4L1026" i2=4L1023" class="line" name=4=====43{ "s="line" n+code=snd_cmeref">sockls="sref">shw_freipsnipci" cls="sref">shw_freicm}2>>>>>>>>>>>>>>>>>>>>>>>>>>CM */28a href="s2sound/pci/cmipci4L1041" i2=4L1024" class="line" name=4L1011441011an="+errupt /a>dler */28a href="s2sound/pci/cmipci4L1022" i2=4L1024" class="line" name=4} els441 =spiode= held!>1008 */28a href="s2sound/pci/cmipci4L1043" i2=4L10243" class="line" name4=====44aultscoup_acmp;s(clac >+code=_e "s="nd_cmeref">sockls="sref">s="+erruptpsnipci" cls="sref">s="+erruptcmcm, &sess_eip[ */28a href="s2sound/pci/cmipci4L#L999"s2=4u1024" clas="line" name="41046"44_defaultd_ctlear_biode=snd_cms_eipf="+code=sndcoup"sref">snlsiasnlsia<     mp;s)ock" class="srefM_REINT_STATU>ref=an 0;28a href="s2sound/pci/cmipci4c#L950"s2s4u>s25" class="line" name=4L103145=========hip"="+c!amp;s251" class="line" name4"L889451011 if (class="s+code=snd_cmeref">sockIRQ_NONEs)ock" class="sIRQ_NONEref=n 0;28a href="s2sound/pci/cmipci4c1042" i2=4u>s25" class="linei036">1436s253" clck" class="sref4>reg_45=hip" class="iode= held!>1008s25" class="lineclass="4ref">45rpse=e=speg_lock" class="sre=e=speg_lcm, &chip->reg_lock);28a href="s2sound/pci/cmipci4c#L955"s2s4u>s255 claf="+code=i" cla4s="sr45ehip" class="ode=p);27a href="s2sound/pci/cmipci4c1036" i2=4u>s25" class="lineif (cla4s="sr45e" name="L1006">1 AC3Ecode=sndo_ac3hmaslock" class="sremasl_putr|a>mp;s257 class="line" name=4if ((45ass="sred_ctlode=p);27a href="s2sound/pci/cmipci4c1038" i2=4u>s2s8" class="line" name4=====4==" name=="+code=i" clEcode=sndo_ac3hmaslock" class="sremasl_putr|a>mp;s25" clas="line" name="41046"45_defaultd_ctlear_biode=snd_cm"sref">snl_defaulneear_biof">s(class="sref">snl">cm, & = s260" class="lin=chip" 4lass=46r039        s(class="sref">snl">cm, &[s26" class="line="sref"4spin_461ss="sred_ctl+code=sndo_ac3hme=spspin_l  irq" class="sref">spin_lcm, &chip->reg_lock);28a href="s2sound/pci/cmipci4c1042" i2=4u>s26" class="lineif (cla4s="sr46{ck"  0;28a href="s2sound/pci/cmipci4c#L963"s2s4u>s263" class="line" name4is="l4ne" name="L100, &s26" class="lineeeeeeee4ss="l4ne" name="L1006">1 =difar_biode=snd_cmipcmpu401_uarts="+erruptpsnipci" cls="mpu401_uarts="+errupt>, &s265" class="line" name4ss="l46=if (>);28a href="s2sound/pci/cmipci4c#L966"s2s4u>s26" class="line" name=4if (c466" name="L100, &, as2s267 class="line" name=4=====4=="ip" class="sred_ctl&snd_cmeref">sede=s_eipchip->s268" class="line" name4" nam46=" name=="+code=i" cl6">1 =difar_biode=snd_cmipc"s="aeriod_elapse, &->s26" clas="line" name="41046"46e" name="L1006">1 the&snd_cmeref">sede=s_eipchip->s270" class="line" name4if (c4ass="sref">snrp1 =difar_biode=snd_cmipc"s="aeriod_elapse, &->s27" class="line" name=4L10114>1"ip" class="/a>}2s27" class="line" name=4elsec4" class="sref"+code=snd_cmeref">sockIRQ_HANDLEDs)ock" class="sIRQ_HANDLEDref=n 0;28a href="s2sound/pci/cmipci4c#L973"s2s4u>s273" class="line" name4L10114>1"ip"/a>}2s27" class="lineeeeeeee4if (c4ass="sa>}2s275" class="line" name4eeeee4eehip">>>>>>>>>>>>>>>>>>>>>>CM */28a href="s2sound/pci/cmipci4c#L976"s2s4u>s27" class="line" name=4elsec47=ss="f_defaulneear_bio(cm, >anh/w infos n/28a href="s2sound/pci/cmipci4c#L977"s2s4u>s277 class="line" name=4L101147e" naf_defaulneear_bio(cm,  *> */28a href="s2sound/pci/cmipci4c#L978"s2s4u>s278" class="lin} else 4ck" c47104e1s27" class="line" name=4is="l47ss="siode= held!>1008s280" class="line" name4"s="l481031coup_t_p   struct snipci" cls="nd_phardwasi "s="nd_cmeref">sockls="sref">s_t_put"70s(d_cms="sref">s_t_put"7href/aan>28a href="s2sound/pci/cmipci4c#L971"s2s4u>s28" class="line" name=4"s="l48 889125a href="s2sound/pci/cmipci4c#L982"s2s4u>s28" class="line" name=4"ip" 48 class="sref".ref="+code=scaninfo  irq" class="scnfohref/a>>>>>>>>>>>>>>>>>amp;sockSNDRV_PrefINFO_INTERLEAVEDs)ock" class="sSNDRV_PrefINFO_INTERLEAVED_putr|a>125a href="s2sound/pci/cmipci4c#L973"s2s4u>s283" class="line" name4"ip" 481"ip" class="sred_ctldefaulnef6">1 =difar_biode=snd_cSNDRV_PrefINFO_BLOCK_TRANSFERs)ock" class="sSNDRV_PrefINFO_BLOCK_TRANSFER_putr|"nd_cmeref">sockSNDRV_PrefINFO_PAUSEs)ock" class="sSNDRV_PrefINFO_PAUSE_putr|a>125a href="s2sound/pci/cmipci4c1024" i2=4u>s28" class="lineeeeeeee4" nam48e" name="L1006">1 =didefaulnef6">1 =difar_biode=snd_cSNDRV_PrefINFO_RESUMEs)ock" class="sSNDRV_PrefINFO_RESUME_putr|"nd_cmeref">sockSNDRV_PrefINFO_MMAP_VALIDs)ock" class="sSNDRV_PrefINFO_MMAP_VALIDref=a,a>125a href="s2sound/pci/cmipci4c#L955"s2s4u>s285" class="linss="lin4" nam4="L1046">1046<.ref="+code=scanne" nap>>>>>>>>>>>>>nd_cmeref">sockSNDRV_PrefFMTBIT_U8s)ock" class="sSNDRV_PrefFMTBIT_U8_putr|"nd_cmeref">sockSNDRV_PrefFMTBIT_S16_LEs)ock" class="sSNDRV_PrefFMTBIT_S16_LEcm125a href="s2sound/pci/cmipci4c#L976"s2s4u>s28" class="line=chip" 4lass=4sr039   .ref="+code=scanratep>>>>>>>>>>>>>>>nd_cmeref">sockSNDRV_Prefef">r55L1021" clasass="sSNDRV_Prefef">r55L1_putr|"nd_cmeref">sockSNDRV_Prefef">rckrck125a href="s2sound/pci/cmipci4c#L977"s2s4u>s287 class="line" name=4L10154>1015     .ref="+code=scanrate_min>>>>>>>>>>>>55L1,a>125a href="s2sound/pci/cmipci4c#L978"s2s4u>s282sou10248" clss="lin4" nam488015     .ref="+code=scanrate_max>>>>>>>>>>>>ock125a href="s2sound/pci/cmipci4c#L969"s2s4 heveina hro|de=type" cla4s="sr489015     .ref="+code=scannel1_minnel1_minhref/a>>>>>>>>>1,a>125a href="s2sound/pci/cmipci4c#L990"s1s4u>s190" class="line" name4L1019490015     .ref="+code=scannel1_maxnel1_maxhref/a>>>>>>>>>1,a>125a href="s2sound/pci/cmipci4c#L981"s2s4u>s19" class="line" name=4L1011491015     .ref="+code=scanbuffer_bytep_max>>>>(128*1024a,a>125a href="s2sound/pci/cmipci4c#L992"s1s4u>s19" class="line" name=4L103249 class="sref".ref="+code=scanaeriod_bytep_min>>>>64,a>125a href="s2sound/pci/cmipci4c#L973"s2s4u>s1s3" class="line" name4"L993493039   .ref="+code=scanaeriod_bytep_max>>>>(128*1024a,a>125a href="s2sound/pci/cmipci4c1024" i2=4u>s19" class="lineeeeeeee4eeeee49eeeeeeeee019<.ref="+code=scanaeriodp_min>>>>>>>>>1,a>125a href="s2sound/pci/cmipci4c#L955"s2s4u>s195" class="line" name4=====49"L1046">1046<.ref="+code=scanaeriod1_max>>>>>>>> 1024,a>125a href="s2sound/pci/cmipci4c#L976"s2s4u>s19" class="line" name=4=====49r039   .ref="+code=scanfifo_sizipsnipci" cfifo_sizihref/a>>>>>>>>>>>>/,a>125a href="s2sound/pci/cmipci4c#L997"s1s4u>s197 class="line" name=4ss="l49e" na}n 0;28a href="s2sound/pci/cmipci4c#L998"s1s4u>s198" class="line" name4" nam49104e1snipci" cls="nd_phardwasi "s="nd_cmeref">sockls="sref">scaptureear_biof">s(class="sref">snapturehref/aan>28a href="s2sound/pci/cmipci5L1000" i2=5L>s19" class="line" name=5"L99150 889125a href="s2sound/pci/cmipci5L1002" i2=5L1020" class="line" name=5L100650 class="sref".ref="+code=scaninfo  irq" class="scnfohref/a>>>>>>>>>>>>>>>>>amp;sockSNDRV_PrefINFO_INTERLEAVEDs)ock" class="sSNDRV_PrefINFO_INTERLEAVED_putr|a>125a href="s2sound/pci/cmipci5L3002" i2=5L>s1s3" class="line" name5dif_d501"ip" class="sred_ctldefaulnef6">1 =difar_biode=snd_cSNDRV_PrefINFO_BLOCK_TRANSFERs)ock" class="sSNDRV_PrefINFO_BLOCK_TRANSFER_putr|"nd_cmeref">sockSNDRV_PrefINFO_PAUSEs)ock" class="sSNDRV_PrefINFO_PAUSE_putr|a>125a href="s2sound/pci/cmipci5L4002" i2=5L>s19" class="lineeeeeeee5"L99450e" name="L1006">1 =didefaulnef6">1 =difar_biode=snd_cSNDRV_PrefINFO_RESUMEs)ock" class="sSNDRV_PrefINFO_RESUME_putr|"nd_cmeref">sockSNDRV_PrefINFO_MMAP_VALIDs)ock" class="sSNDRV_PrefINFO_MMAP_VALIDref=a,a>125a href="s2sound/pci/cmipci5L1005" i2=5L10205" class="linif (cla5s="sr50"L1046">1046<.ref="+code=scanne" nap>>>>>>>>>>>>>nd_cmeref">sockSNDRV_PrefFMTBIT_U8s)ock" class="sSNDRV_PrefFMTBIT_U8_putr|"nd_cmeref">sockSNDRV_PrefFMTBIT_S16_LEs)ock" class="sSNDRV_PrefFMTBIT_S16_LEcm125a href="s2sound/pci/cmipci5L6005" i2=5L>s19" class="line" name=5ss="l50r039   .ref="+code=scanratep>>>>>>>>>>>>>>>nd_cmeref">sockSNDRV_Prefef">r55L1021" clasass="sSNDRV_Prefef">r55L1_putr|"nd_cmeref">sockSNDRV_Prefef">rckrck125a href="s2sound/pci/cmipci5L7005" i2=5L>s197 class="line" name=5hip" 501015     .ref="+code=scanrate_min>>>>>>>>>>>>55L1,a>125a href="s2sound/pci/cmipci5L8005" i2=5L>s198" class="line" name5"s="l508015     .ref="+code=scanrate_max>>>>>>>>>>>>ock125a href="s2sound/pci/cmipci5c#L999"s2=5L1020" class="line" name=5i_spd509015     .ref="+code=scannel1_minnel1_minhref/a>>>>>>>>>1,a>125a href="s2sound/pci/cmipci5L1010" i2=5L10210" class="linck" cla5s="sr510015     .ref="+code=scannel1_maxnel1_maxhref/a>>>>>>>>>1,a>125a href="s2sound/pci/cmipci5L1000" i2=5L1021" class="line" name=5if (c511015     .ref="+code=scanbuffer_bytep_max>>>>(128*1024a,a>125a href="s2sound/pci/cmipci5L1012" i2=5L1021" class="line" name=5L103251 class="sref".ref="+code=scanaeriod_bytep_min>>>>64,a>125a href="s2sound/pci/cmipci5L1013" i2=5L10213" class="line" name5"L993513039   .ref="+code=scanaeriod_bytep_max>>>>(128*1024a,a>125a href="s2sound/pci/cmipci5L1014" i2=5L1021" class="lineeeeeeee5eeeee51eeeeeeeee019<.ref="+code=scanaeriodp_min>>>>>>>>>1,a>125a href="s2sound/pci/cmipci5L1015" i2=5L10215" class="line" name5eeeee51"L1046">1046<.ref="+code=scanaeriod1_max>>>>>>>> 1024,a>125a href="s2sound/pci/cmipci5e6005" i2=5L1021" class="line" name=5} els51r039   .ref="+code=scanfifo_sizipsnipci" cfifo_sizihref/a>>>>>>>>>>>>/,a>125a href="s2sound/pci/cmipci5e7005" i2=5L10217 class="line" name=5=====51e" na}n 0;28a href="s2sound/pci/cmipci5L8005" i2=5L10218" class="line" name5=====51104e11008snipci" cls="nd_phardwasi "s="nd_cmeref">sockls="sref">s_t_put"71021" clasass="sls="sref">s_t_put"71href/aan>28a href="s2sound/pci/cmipci5L1021" i2=5L1022" class="line" name=5L101152 889125a href="s2sound/pci/cmipci5L1022" i2=5L1022" class="line" name=5L103252 class="sref".ref="+code=scaninfo  irq" class="scnfohref/a>>>>>>>>>>>>>>>>>amp;sockSNDRV_PrefINFO_INTERLEAVEDs)ock" class="sSNDRV_PrefINFO_INTERLEAVED_putr|a>125a href="s2sound/pci/cmipci5L1013" i2=5L10223" class="line" name5"L993521"ip" class="sred_ctldefaulnef6">1 =difar_biode=snd_cSNDRV_PrefINFO_BLOCK_TRANSFERs)ock" class="sSNDRV_PrefINFO_BLOCK_TRANSFER_putr|"nd_cmeref">sockSNDRV_PrefINFO_PAUSEs)ock" class="sSNDRV_PrefINFO_PAUSE_putr|a>125a href="s2sound/pci/cmipci5L1024" i2=5L1022" class="lineeeeeeee5eeeee52e" name="L1006">1 =didefaulnef6">1 =difar_biode=snd_cSNDRV_PrefINFO_RESUMEs)ock" class="sSNDRV_PrefINFO_RESUME_putr|"nd_cmeref">sockSNDRV_PrefINFO_MMAP_VALIDs)ock" class="sSNDRV_PrefINFO_MMAP_VALIDref=a,a>125a href="s2sound/pci/cmipci5L1025" i2=5L10225" class="line" name5=====52"L1046">1046<.ref="+code=scanne" nap>>>>>>>>>>>>>nd_cmeref">sockSNDRV_PrefFMTBIT_S16_LEs)ock" class="sSNDRV_PrefFMTBIT_S16_LEcm125a href="s2sound/pci/cmipci5L1026" i2=5L1022" class="line" name=5=====52r039   .ref="+code=scanratep>>>>>>>>>>>>>>>nd_cmeref">sockSNDRV_Prefef">r55L1021" clasass="sSNDRV_Prefef">r55L1_putr|"nd_cmeref">sockSNDRV_Prefef">rckrck125a href="s2sound/pci/cmipci5L7005" i2=5L10227 class="line" name=5ss="l521015     .ref="+code=scanrate_min>>>>>>>>>>>>55L1,a>125a href="s2sound/pci/cmipci5L1028" i2=5L1022" claline" name="L945"10cl528015     .ref="+code=scanrate_max>>>>>>>>>>>>ock125a href="s2sound/pci/cmipci5L#L999"s2=5L10229 class="line} else 5ck" c529015     .ref="+code=scannel1_minnel1_minhref/a>>>>>>>>>1,a>125a href="s2sound/pci/cmipci5L1030" i2=5L10230" class="line" name5"L930530015     .ref="+code=scannel1_maxnel1_maxhref/a>>>>>>>>>1,a>125a href="s2sound/pci/cmipci5L1021" i2=5L1023" class="line" name=5"L930531015     .ref="+code=scanbuffer_bytep_max>>>>(128*1024a,a>125a href="s2sound/pci/cmipci5L1022" i2=5L1022" clack" class="sref5>reg_53 class="sref".ref="+code=scanaeriod_bytep_min>>>>64,a>125a href="s2sound/pci/cmipci5L1023" i2=5L10233" class="line" name5if (c533039   .ref="+code=scanaeriod_bytep_max>>>>(128*1024a,a>125a href="s2sound/pci/cmipci5L1024" i2=5L1023" class="lineeeeeeee5eeeee53eeeeeeeee019<.ref="+code=scanaeriodp_min>>>>>>>>>1,a>125a href="s2sound/pci/cmipci5L1035" i2=5L10235" class="line" name5=====53"L1046">1046<.ref="+code=scanaeriod1_max>>>>>>>> 1024,a>125a href="s2sound/pci/cmipci5L1026" i2=5L1023" class="line" name=5=====53r039   .ref="+code=scanfifo_sizipsnipci" cfifo_sizihref/a>>>>>>>>>>>>/,a>125a href="s2sound/pci/cmipci5L7005" i2=5L10237 class="line" name=5=====53e" na}n 0;28a href="s2sound/pci/cmipci5L1038" i2=5L10238" class="line" name5=====53104e11008snipci" cls="nd_phardwasi "s="nd_cmeref">sockls="sref">s_t_put"7"spdif021" clasass="sls="sref">s_t_put"7"spdifhref/aan>28a href="s2sound/pci/cmipci5L1041" i2=5L1024" class="line" name=5L101154 889125a href="s2sound/pci/cmipci5L1022" i2=5L1024" class="line" name=5} els54 class="sref".ref="+code=scaninfo  irq" class="scnfohref/a>>>>>>>>>>>>>>>>>amp;sockSNDRV_PrefINFO_INTERLEAVEDs)ock" class="sSNDRV_PrefINFO_INTERLEAVED_putr|a>125a href="s2sound/pci/cmipci5L1023" i2=5L10243" class="line" name5=====541"ip" class="sred_ctldefaulnef6">1 =difar_biode=snd_cSNDRV_PrefINFO_BLOCK_TRANSFERs)ock" class="sSNDRV_PrefINFO_BLOCK_TRANSFER_putr|"nd_cmeref">sockSNDRV_PrefINFO_PAUSEs)ock" class="sSNDRV_PrefINFO_PAUSE_putr|a>125a href="s2sound/pci/cmipci5L1024" i2=5L1024" class="lineeeeeeee5eeeee54e" name="L1006">1 =didefaulnef6">1 =difar_biode=snd_cSNDRV_PrefINFO_RESUMEs)ock" class="sSNDRV_PrefINFO_RESUME_putr|"nd_cmeref">sockSNDRV_PrefINFO_MMAP_VALIDs)ock" class="sSNDRV_PrefINFO_MMAP_VALIDref=a,a>125a href="s2sound/pci/cmipci5L1035" i2=5L10245" class="line" name5eeeee54"L1046">1046<.ref="+code=scanne" nap>>>>>>>>>>>>>nd_cmeref">sockSNDRV_PrefFMTBIT_S16_LEs)ock" class="sSNDRV_PrefFMTBIT_S16_LEcm125a href="s2sound/pci/cmipci5L1036" i2=5L1024" class="line" name=5ss="l54r039   .ref="+code=scanratep>>>>>>>>>>>>>>>nd_cmeref">sockSNDRV_Prefef">r441r441sockSNDRV_Prefef">rockrock125a href="s2sound/pci/cmipci5L1037" i2=5L10247 class="liness="lin5" nam541015     .ref="+code=scanrate_min>>>>>>>>>>>>441125a href="s2sound/pci/cmipci5L1038" i2=5u10248" clss="line" name=5L1046548015     .ref="+code=scanrate_max>>>>>>>>>>>>ock125a href="s2sound/pci/cmipci5L#L999"s2=5u1024" clas="line" name="51046"549015     .ref="+code=scannel1_minnel1_minhref/a>>>>>>>>>1,a>125a href="s2sound/pci/cmipci5c#L950"s2s5u>s25" class="line" name=5L1031550015     .ref="+code=scannel1_maxnel1_maxhref/a>>>>>>>>>1,a>125a href="s2sound/pci/cmipci5c#L951"s2s5u>s251" class="line" name5"L889551015     .ref="+code=scanbuffer_bytep_max>>>>(128*1024a,a>125a href="s2sound/pci/cmipci5c1042" i2=5u>s25" class="linei036">1536>>>>64,a>125a href="s2sound/pci/cmipci5c1043" i2=5u>s253" clck" class="sref5>reg_553039   .ref="+code=scanaeriod_bytep_max>>>>(128*1024a,a>125a href="s2sound/pci/cmipci5c1024" i2=5u>s25" class="lineclass="5ref">55eeeeeeeee019<.ref="+code=scanaeriodp_min>>>>>>>>>1,a>125a href="s2sound/pci/cmipci5c#L955"s2s5u>s255 claf="+code=i" cla5s="sr55"L1046">1046<.ref="+code=scanaeriod1_max>>>>>>>> 1024,a>125a href="s2sound/pci/cmipci5c1036" i2=5u>s25" class="lineif (cla5s="sr55r039   .ref="+code=scanfifo_sizipsnipci" cfifo_sizihref/a>>>>>>>>>>>>/,a>125a href="s2sound/pci/cmipci5c1037" i2=5u>s257 class="line" name=5if ((55e" na}n 0;28a href="s2sound/pci/cmipci5c1038" i2=5u>s2s8" class="line" name5=====55104e1s25" clas="line" name="51046"55ss="siode= held!>1008s260" class="lin=chip" 5lass=561031coup_t_p   struct snipci" cls="nd_phardwasi "s="nd_cmeref">sockls="sref">s_t_put"7"iec958_subfr na021" clasass="sls="sref">s_t_put"7"iec958_subfr nahref/aan>28a href="s2sound/pci/cmipci5c#L951"s2s5u>s26" class="line="sref"5spin_56 889125a href="s2sound/pci/cmipci5c1042" i2=5u>s26" class="lineif (cla5s="sr56 class="sref".ref="+code=scaninfo  irq" class="scnfohref/a>>>>>>>>>>>>>>>>>amp;sockSNDRV_PrefINFO_INTERLEAVEDs)ock" class="sSNDRV_PrefINFO_INTERLEAVED_putr|a>125a href="s2sound/pci/cmipci5c1043" i2=5u>s263" class="line" name5is="l561"ip" class="sred_ctldefaulnef6">1 =difar_biode=snd_cSNDRV_PrefINFO_BLOCK_TRANSFERs)ock" class="sSNDRV_PrefINFO_BLOCK_TRANSFER_putr|"nd_cmeref">sockSNDRV_PrefINFO_PAUSEs)ock" class="sSNDRV_PrefINFO_PAUSE_putr|a>125a href="s2sound/pci/cmipci5c1024" i2=5u>s26" class="lineeeeeeee5ss="l5ne" name="L1006">1 =didefaulnef6">1 =difar_biode=snd_cSNDRV_PrefINFO_RESUMEs)ock" class="sSNDRV_PrefINFO_RESUME_putr|"nd_cmeref">sockSNDRV_PrefINFO_MMAP_VALIDs)ock" class="sSNDRV_PrefINFO_MMAP_VALIDref=a,a>125a href="s2sound/pci/cmipci5c#L955"s2s5u>s265" class="line" name5ss="l56"L1046">1046<.ref="+code=scanne" nap>>>>>>>>>>>>>nd_cmeref">sockSNDRV_PrefFMTBIT_IEC958_SUBFRAME_LEs)ock" class="sSNDRV_PrefFMTBIT_IEC958_SUBFRAME_LEcm125a href="s2sound/pci/cmipci5c#L966"s2s5u>s26" class="line" name=5if (c56r039   .ref="+code=scanratep>>>>>>>>>>>>>>>nd_cmeref">sockSNDRV_Prefef">r441r441sockSNDRV_Prefef">rockrock125a href="s2sound/pci/cmipcc561037" i2=5u>s267 class="line" name=5=====561015     .ref="+code=scanrate_min>>>>>>>>>>>>441125a href="s2sound/pci/cmipci5c1038" i2=5u>s268" class="line" name5" nam568015     .ref="+code=scanrate_max>>>>>>>>>>>>ock125a href="s2sound/pci/cmipci5c#L969"s2s5u>s26" clas="line" name="51046"569015     .ref="+code=scannel1_minnel1_minhref/a>>>>>>>>>1,a>125a href="s2sound/pci/cmipci5c#L970"s2s5u>s270" class="line" name5if (c570015     .ref="+code=scannel1_maxnel1_maxhref/a>>>>>>>>>1,a>125a href="s2sound/pci/cmipci5c#L971"s2s5u>s27" class="line" name=5L1011571015     .ref="+code=scanbuffer_bytep_max>>>>(128*1024a,a>125a href="s2sound/pci/cmipci5c1042" i2=5u>s27" class="line" name=5elsec57 class="sref".ref="+code=scanaeriod_bytep_min>>>>64,a>125a href="s2sound/pci/cmipci5c#L973"s2s5u>s273" class="line" name5L1011573039   .ref="+code=scanaeriod_bytep_max>>>>(128*1024a,a>125a href="s2sound/pci/cmipci5c1024" i2=5u>s27" class="lineeeeeeee5if (c57eeeeeeeee019<.ref="+code=scanaeriodp_min>>>>>>>>>1,a>125a href="s2sound/pci/cmipci5c#L955"s2s5u>s275" class="line" name5eeeee57"L1046">1046<.ref="+code=scanaeriod1_max>>>>>>>> 1024,a>125a href="s2sound/pci/cmipci5c#L976"s2s5u>s27" class="line" name=5elsec57r039   .ref="+code=scanfifo_sizipsnipci" cfifo_sizihref/a>>>>>>>>>>>>/,a>125a href="s2sound/pci/cmipci5c#L977"s2s5u>s277 class="line" name=5L101157e" na}n 0;28a href="s2sound/pci/cmipci5c#L978"s2s5u>s278" class="lin} else 5ck" c57104e1s27" class="line" name=5is="l57ss="siode= held!>1008s280" class="line" name5"s="l581031coup_t_p   struct snipci" cls="nd_phardwasi "s="nd_cmeref">sockls="sref">scapture"spdif021" clasass="sls="sref">scapture"spdifhref/aan>28a href="s2sound/pci/cmipci5c#L971"s2s5u>s28" class="line" name=5"s="l58 889125a href="s2sound/pci/cmipci5c#L982"s2s5u>s28" class="line" name=5"ip" 58 class="sref".ref="+code=scaninfo  irq" class="scnfohref/a>>>>>>>>>>>>>>>>>amp;sockSNDRV_PrefINFO_INTERLEAVEDs)ock" class="sSNDRV_PrefINFO_INTERLEAVED_putr|a>125a href="s2sound/pci/cmipci5c#L973"s2s5u>s283" class="line" name5"ip" 581"ip" class="sred_ctldefaulnef6">1 =difar_biode=snd_cSNDRV_PrefINFO_BLOCK_TRANSFERs)ock" class="sSNDRV_PrefINFO_BLOCK_TRANSFER_putr|"nd_cmeref">sockSNDRV_PrefINFO_PAUSEs)ock" class="sSNDRV_PrefINFO_PAUSE_putr|a>125a href="s2sound/pci/cmipci5c1024" i2=5u>s28" class="lineeeeeeee5" nam58e" name="L1006">1 =didefaulnef6">1 =difar_biode=snd_cSNDRV_PrefINFO_RESUMEs)ock" class="sSNDRV_PrefINFO_RESUME_putr|"nd_cmeref">sockSNDRV_PrefINFO_MMAP_VALIDs)ock" class="sSNDRV_PrefINFO_MMAP_VALIDref=a,a>125a href="s2sound/pci/cmipci5c#L955"s2s5u>s285" class="linss="lin5" nam5="L1046">1046<.ref="+code=scanne" nap>>>>>>>>>>>>>nd_cmeref">sockSNDRV_PrefFMTBIT_S16_LEs)ock" class="sSNDRV_PrefFMTBIT_S16_LEcm125a href="s2sound/pci/cmipci5c#L976"s2s5u>s28" class="line=chip" 5lass=58e" name="L1006">1 AC3efaulnef6">1 =difar_biode=snd_cSNDRV_PrefFMTBIT_IEC958_SUBFRAME_LEs)ock" class="sSNDRV_PrefFMTBIT_IEC958_SUBFRAME_LEcm125a href="s2sound/pci/cmipci5c#L977"s2s5u>s287 class="line" name=5L10155>1015     .ref="+code=scanratep>>>>>>>>>>>>>>>nd_cmeref">sockSNDRV_Prefef">r441r441sockSNDRV_Prefef">rockrock125a href="s2sound/pci/cmipcc5c#L978"s2s5u>s282sou10248" clss="lin5" nam588015     .ref="+code=scanrate_min>>>>>>>>>>>>441125a href="s2sound/pci/cmipci5c#L969"s2s5 heveina hro|de=type" cla5s="sr589015     .ref="+code=scanrate_max>>>>>>>>>>>>ock125a href="s2sound/pci/cmipci5c#L990"s1s5u>s190" class="line" name5L1019590015     .ref="+code=scannel1_minnel1_minhref/a>>>>>>>>>1,a>125a href="s2sound/pci/cmipci5c#L981"s2s5u>s19" class="line" name=5L1011591015     .ref="+code=scannel1_maxnel1_maxhref/a>>>>>>>>>1,a>125a href="s2sound/pci/cmipci5c#L992"s1s5u>s19" class="line" name=5L103259 class="sref".ref="+code=scanbuffer_bytep_max>>>>(128*1024a,a>125a href="s2sound/pci/cmipci5c#L973"s2s5u>s1s3" class="line" name5"L993593039   .ref="+code=scanaeriod_bytep_min>>>>64,a>125a href="s2sound/pci/cmipci5c1024" i2=5u>s19" class="lineeeeeeee5eeeee59eeeeeeeee019<.ref="+code=scanaeriod_bytep_max>>>>(128*1024a,a>125a href="s2sound/pci/cmipci5c#L955"s2s5u>s195" class="line" name5=====59"L1046">1046<.ref="+code=scanaeriod1_min>>>>>>>>>1,a>125a href="s2sound/pci/cmipci5c#L976"s2s5u>s19" class="line" name=5=====59r039   .ref="+code=scanaeriod1_max>>>>>>>> 1024,a>125a href="s2sound/pci/cmipci5c#L997"s1s5u>s197 class="line" name=5ss="l591015     .ref="+code=scanfifo_sizipsnipci" cfifo_sizihref/a>>>>>>>>>>>>/,a>125a href="s2sound/pci/cmipci5c#L998"s1s5u>s198" class="line" name5" nam59104e1}n 0;28a href="s2sound/pci/cmipci5c#L989gt;<5u>s1s9 class="liness="lin5" nam59046}27a href="s2sound/pci/cmipci6L1000" i2=6L1020o class="line" name=6L1003601031coup_t_punsigned ="+code=snrpserate_con   a="+ps19" class="line" name=6"L991601011 if (class="sssssssss32kocksnipci" cls="nd_phw_con   a="+_list "s="nd_cmeref">sockhw_con   a="+s_rateps1s3" class="line" name6dif_d601"ip" class="sred_ctl.ref="+code=scan<="stpsnipci" c<="sthref/a>ref="+code=scanARRAY_SIZEs)ock" class="sARRAY_SIZEhrefamp;s19" class="lineeeeeeee6"L99460e" name="L1006">1 =di.ref="+code=scanlistpsnipci" clist "s="a>ref="+code=scanrate_con   a="+ps195" class="line" name6s="sr60"L1046">1046<6">1 =di.ref="+code=scanmaslock" class="sremasl_putrei ,a>125a href="s2sound/pci/cmipci6L6002" i2=6L>s19" class="line" name=6ss="l60r039<}n 0;28a href="s2sound/pci/cmipci6L7002" i2=6L>s197 class="line" name=6hip" 601015< 0;28a href="s2sound/pci/cmipci6L8002" i2=6L>s198" class="line" name6"s="l608015<>>>>>>>>>>>>>>>>>>>>>>CM */28a href="s2sound/pci/cmipci6c#L999"s2=6L1020" class="line" name=6i_spd60ss="siode= held!>100828a href="s2sound/pci/cmipci6L1010" i2=6L10210" class="linck" cla6s="sr61>>>>>>>>>>>>>>>>>>>>>>>>>>>a*> */28a href="s2sound/pci/cmipci6L1000" i2=6L1021" class="line" name=6if (c611015seopen_device_checkock" class="sreopen_device_checkhrefa   struct cm, &sem">sock" class="srem">s_put,p   struct , &28a href="s2sound/pci/cmipci6L1002" i2=6L1021" class="line" name=6L10326L1_put/a>125a href="s2sound/pci/cmipci6L1013" i2=6L10213" class="line" name6"L993613039   ="+code=snrpsechsock" class="srem">s_put/href="+code=sndo_ac3hrefOPEN_CH_MASKock" class="srerefOPEN_CH_MASK_putn 0;28a href="s2sound/pci/cmipci6L1014" i2=6L1021" class="lineeeeeeee6eeeee61ss="sa>}21046100828a href="s2sound/pci/cmipci6L6002" i2=6L1021" class="line" name=6} els61=ss="f_defaulneear_bio(cm, >>>>>>>>>* when it's opened on beg_ling m">s.  however,p ince the curresthr/28a href="s2sound/pci/cmipci6L7002" i2=6L10217 class="line" name=6=====61e" naf_defaulneear_bio(cm,  >>>>>>>>* nd_ fr nawork doesn't pnee file po="+er before actually opened,hr/28a href="s2sound/pci/cmipci6L8002" i2=6L10218" class="line" name6=====618015<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>* we can't know whether beg_ling m">s or not =" open callut"7..hr/28a href="s2sound/pci/cmipci6L#L999"s2=6L1021" class="line" name=6L101961ss="siode= held!>1008>>>>>>>>*> */28a href="s2sound/pci/cmipci6L1020" i2=6L10220" class="line" name6L101962r039        chip-> if (, &sechs2        chip->1046sechref="+code=scanm">sock" class="srem">s_putn 0;28a href="s2sound/pci/cmipci6L6002" i2=6L1022" class="line" name=6=====62r039   mp;nel0lock" class="snelhipsechsock" class="srem">s_put/href="+code=sndo_ac3hrefOPEN_DACock" class="srerefOPEN_DAC031caas2     6">10461008s *> */28a href="s2sound/pci/cmipci6L#L999"s2=6L10229 class="line} else 6ck" c62e" name="L1006">1 themp;nel0lock" class="snelhipsechsnrpin_l_     irq" class="s1ef">in_l_   hrefa>, &chip->reg_lock);28a href="s2sound/pci/cmipci6L1021" i2=6L1023" class="line" name=6"L930631011 if (class="snd_cmeref">sockls="sref">sclearultet_biof">s(class="sref">snlclearultehrefamp;[        spin_l_     irq" class="s1ef">spin_l_   hrefa>, &chip->reg_lock);28a href="s2sound/pci/cmipci6L1013" i2=6L10233" class="line" name6if (c633039   /a>}2chip->1046<+code=s n 0;28a href="s2sound/pci/cmipci6L6002" i2=6L1023" class="line" name=6=====63r039}2cm, &sem">sock" class="srem">s_putaan>28a href="s2sound/pci/cmipci6L#L999"s2=6L1029" class="lineeeeeeee6=====63ss="s/a>s2snr="+code=snrpsechsock" class="srem">s_put/href="+code=sndo_ac3hrefOPEN_CH_MASKock" class="srerefOPEN_CH_MASK_putn 0;28a href="s2sound/pci/cmipci6L1041" i2=6L1024" class="line" name=6L101164 889< 0;28a href="s2sound/pci/cmipci6L1022" i2=6L1024" class="line" name=6} els64 class="sref"   chip->sechref="+code=scanm">sock" class="srem">s_putas21 =di, &nel0lock" class="snelhipsechs21046<6">1 =diclass="snd_cmeref">sockls="sref">sch_reseet_biof">s(class="sref">snlch_reseehrefamp;[1 AC3efaulnefmp;nel0lock" class="snelhipsech     6">1 AC3efaulnefmp;nel0lock" class="snelhipsech     6">1046}21 themp;sech n 0;28a href="s2sound/pci/cmipci6c#L950"s2s6u>s25" class="line" name=6L103165ss="sref">snrpnel0lock" class="snelhipsechs251" class="line" name6"L889651011 if (class="sssssssssiode= held!>1008s again *> */28a href="s2sound/pci/cmipci6c1042" i2=6u>s25" class="linei036">1636     efaulnefmp;nel0lock" class="snelhipsechs253" clck" class="sref6>reg_651"ip" class="sred_ctldefaulneref="+code=scan1ef">in_l_     irq" class="s1ef">in_l_   hrefa>, &chip->reg_lock);28a href="s2sound/pci/cmipci6c1024" i2=6u>s25" class="lineclass="6ref">65e" name="L1006">1 =didefaulnend_cmeref">sockls="sref">sseeultet_biof">s(class="sref">snlseeultehrefamp;[s255 claf="+code=i" cla6s="sr65"L1046">1046<6">1 =diclass="snd_cmeref">socklef">spin_l_     irq" class="s1ef">spin_l_   hrefa>, &chip->reg_lock);28a href="s2sound/pci/cmipci6c1036" i2=6u>s25" class="lineif (cla6s="sr65e" name="L1006">1 AC3/a>}2s257 class="line" name=6if ((651015     /a>}2s2s8" class="line" name6=====658015        chip->s25" clas="line" name="61046"65ss="s/a>}2s260" class="lin=chip" 6lass=661031ca>}2s26" class="line="sref"6spin_66 889<>>>>>>>>>>>>>>>>>>>>>>CM */28a href="s2sound/pci/cmipci6c1042" i2=6u>s26" class="lineif (cla6s="sr66 clas>>>>>>>>>>>>>>>>>>>>>>a*> */28a href="s2sound/pci/cmipci6c1043" i2=6u>s263" class="line" name6is="l661"ip"an>28a href="s2sound/pci/cmipci6c1024" i2=6u>s26" class="lineeeeeeee6ss="l6ne" naoup_t_p="+code=snrpsels="sref">s_t_put"7"opent_biof">s(class="sref">snl_t_put"7"openhrefa   struct , &28a href="s2sound/pci/cmipci6c#L955"s2s6u>s265" class="line" name6ss="l66"L104/a>s2s26" class="line" name=6if (c66r039      struct cm, &ref="+code=scan1e=snd_p10,1eubru_chipct s267 class="line" name=6=====661015        struct , &->s268" class="line" name6" nam668015     ="+code=snrpseerr021" clasass="serra>, n 0;28a href="s2sound/pci/cmipci66#L999"s2=6u>s26" clas="line" name="61046"66046}27a href="s2sound/pci/cmipci6c#L970"s2s6u>s270" class="line" name6if (c670015     ode=amp;[28a href="s2sound/pci/cmipci6c#L971"s2s6u>s27" class="line" name=6L1011671011 if (class="s+code=sode=snrpseerr021" clasass="serra>, n 0;28a href="s2sound/pci/cmipci6c1042" i2=6u>s27" class="line" name=6elsec67 class="sref"   ref="+code=scan1e=sef">snl_t_put"7t_biof">s(class="sref">snl_t_put"7a>, n 0;28a href="s2sound/pci/cmipci6c1043" i2=6u>s273" class="line" name6L1011671"ip" class=", &s2s27" class="lineeeeeeee6if (c67e" name="L1006">1 =di   ref="+code=scanSNDRV_Prefef">rc82rc82s2s275" class="line" name6eeeee67"L1046">1046<6">1 =diclass="s"L1006">1 =di   r96kr96k, n 0;28a href="s2sound/pci/cmipci6c#L966"s2s6u>s27" class="line" name=6elsec67e" name="L1006">1 AC3   96ks277 class="line" name=6L1011671015     / else", &s2s278" class="lin} else 6ck" c678015     6">1046snipci" cls="nd_phw_con   a="+_list "s=amp;s27" class="line" name=6is="l67e" name="L1006">1 the6">1 =di   a>, ,i>, &s280" class="line" name6"s="l68ss="sref">snrps28" class="line" name=6"s="l681011 if (class="sssssssss+code=sode=snrpseerr021" clasass="serra>, n 0;28a href="s2sound/pci/cmipci6c#L982"s2s6u>s28" class="line" name=6"ip" 68 class="sref"/a>        ref="+code=scanSNDRV_Prefef">rKNOTrKNOTa>, n 0;28a href="s2sound/pci/cmipci6c1043" i2=6u>s283" class="line" name6"ip" 681"ip" class="sred_ctl   128ks28" class="lineeeeeeee6" nam68e" name="L100/a>}2s285" class="linss="lin6" nam68"L1046">1046s28" class="line=chip" 6lass=68r039   mp;, &a>ref="+code=scanhip" class="srecan_ac3_h, n 0;28a href="s2sound/pci/cmipci6c1037" i2=6u>s287 class="line" name=6L10156>1015     +code=s n 0;28a href="s2sound/pci/cmipci6c#L978"s2s6u>s282sou10248" clss="lin6" nam688015}2s190" class="line" name6L1019691031coup_t_p="+code=snrpsels="sref">scapture"opent_biof">s(class="sref">snlcapture"openhrefa   struct , &28a href="s2sound/pci/cmipci6c#L981"s2s6u>s19" class="line" name=6L101169 889125a href="s2sound/pci/cmipci6c#L992"s1s6u>s19" class="line" name=6L103269 class="sref"   struct cm, &ref="+code=scan1e=snd_p10,1eubru_chipct s1s3" class="line" name6"L993693039      struct , &->s19" class="lineeeeeeee6eeeee69eeeeeeeee019<="+code=snrpseerr021" clasass="serra>, n 0;28a href="s2sound/pci/cmipci6c#L955"s2s6u>s195" class="line" name6=====69"L104 0;28a href="s2sound/pci/cmipci6c#L966"s2s6u>s19" class="line" name=6=====69r039   ode=amp;[[28a href="s2sound/pci/cmipci6c#L997"s1s6u>s197 class="line" name=6ss="l691015     6">1 AC3+code=sode=snrpseerr021" clasass="serra>, n 0;28a href="s2sound/pci/cmipci6c#L998"s1s6u>s198" class="line" name6" nam698015        ref="+code=scan1e=sef">snlcapturet_biof">s(class="sref">snlcapturea>, n 0;28a href="s2sound/pci/cmipci6c#L969"s2s6u>s1s9 class="liness="lin6" nam699039   ode=mp;100828a href="s2sound/pci/cmipci7L1000" i2=7L1020o class="line" name=7L100370ss="sref">snrp41s19" class="line" name=7"L991701011 if (class="s   ref="+code=scanSNDRV_Prefef">r441r441sockSNDRV_Prefef">rockrocks19" class="line" name=7L100670 class="sref"/ else", &s2s1s3" class="line" name7dif_d701"ip" class="sred_ctlip;snipci" cls="nd_phw_con   a="+_list "s=amp;s19" class="lineeeeeeee7"L99470e" name="L1006">1 =disred_ctlip;a>, ,i>, &s195" class="line" name7s="sr70"L1046">1046<6">1 =diode=ip;s19" class="line" name=7ss="l70e" name="L1006">1 AC3efaulnef+code=sode=snrpseerr021" clasass="serra>, n 0;28a href="s2sound/pci/cmipci7L7002" i2=7L>s197 class="line" name=7hip" 701015     6">1 AC3   ref="+code=scanSNDRV_Prefef">rKNOTrKNOTa>, n 0;28a href="s2sound/pci/cmipci7L8002" i2=7L>s198" class="line" name7"s="l708015     6">1046128k   /a>}2 if (+code=s n 0;28a href="s2sound/pci/cmipci7L1002" i2=7L1021" class="line" name=7L10327L1_put/a>}228a href="s2sound/pci/cmipci7L1014" i2=7L1021" class="lineeeeeeee7eeeee71e" naoup_t_p="+code=snrpsels="sref">s_t_put"72"opent_biof">s(class="sref">snl_t_put"72"openhrefa   struct , &28a href="s2sound/pci/cmipci7L1015" i2=7L10215" class="line" name7eeeee71"L104/a>s2      struct cm, &ref="+code=scan1e=snd_p10,1eubru_chipct         struct , &->     ="+code=snrpseerr021" clasass="serra>, n 0;28a href="s2sound/pci/cmipci7L#L999"s2=7L1021" class="line" name=7L101971046}27a href="s2sound/pci/cmipci7L1020" i2=7L10220" class="line" name7L1019720015     ode=amp;[1008nel Ba*> */28a href="s2sound/pci/cmipci7L1021" i2=7L1022" class="line" name=7L1011721011 if (class="s+code=sode=snrpseerr021" clasass="serra>, n 0;28a href="s2sound/pci/cmipci7L1022" i2=7L1022" class="line" name=7L103272 class="sref"   ref="+code=scan1e=sef">snl_t_put"72de=i" clasCM_RE1e=sef">snl_t_put"72a>, n 0;28a href="s2sound/pci/cmipci7L3002" i2=7L10223" class="line" name7"L993721"ip" class="ref="+code=scanmutexreg_lock" class="sremutexreg_lhrefa>, &chip->se="CCH_PLAYde=i" clasCM_RE="CCH_PLAY>, &]as21046<6">1 =diode=ip;1 AC3efaulnefmp;nel1_maxnel1_maxhref/a>ip;nel1ock" class="sremax_nel1a>, n 0;28a href="s2sound/pci/cmipci7L7002" i2=7L10227 class="line" name=7ss="l721015     6">1 AC3efaulnefode=ip;nel1ock" class="sremax_nel1a>, "a= 4aan>28a href="s2sound/pci/cmipci7L8002" i2=7L1022" claline" name="L947"10cl728015     6">1046<6">1 AC3efaulnefmp;snipci" cls="nd_phw_con   a="+_list "s=amp;nel1_4021" clasass="shw_con   a="+s_nel1_4031can 0;28a href="s2sound/pci/cmipci7L#L999"s2=7L10229 class="line} else 7ck" c72e" name="L1006">1 theeeeeeeeeelse", &nel1ock" class="sremax_nel1a>, "a= 6aan>28a href="s2sound/pci/cmipci7L1030" i2=7L10230" class="line" name7"L93073ss="sref">snrp1 AC3efaulnefmp;snipci" cls="nd_phw_con   a="+_list "s=amp;nel1_6021" clasass="shw_con   a="+s_nel1_6031can 0;28a href="s2sound/pci/cmipci7L1021" i2=7L1023" class="line" name=7"L930731011 if (class="seeeeeeeeelse", &nel1ock" class="sremax_nel1a>, "a= 8aan>28a href="s2sound/pci/cmipci7L1022" i2=7L1022" clack" class="sref7>reg_73 class="sref"/a>     6">1 AC3efaulnefmp;snipci" cls="nd_phw_con   a="+_list "s=amp;nel1_8021" clasass="shw_con   a="+s_nel1_8031can 0;28a href="s2sound/pci/cmipci7L3002" i2=7L10233" class="line" name7if (c731"ip" class="sred_ctl/a>}21046chip->   ode=mp;     6">1 AC3   ref="+code=scanSNDRV_Prefef">rc82rc82s2     6">1046<6">1 AC3efaulnef1 AC3   r96kr96k, n 0;28a href="s2sound/pci/cmipci7L#L999"s2=7L1029" class="lineeeeeeee7=====73e" name="L1006">1 themp;96ksnr/ else", &s2 if (class="s   snipci" cls="nd_phw_con   a="+_list "s=amp;     efaulnefmp;a>, ,i>, &1 =diiiiiiiii+code=sode=snrpseerr021" clasass="serra>, n 0;28a href="s2sound/pci/cmipci7L1035" i2=7L10245" class="line" name7eeeee74"L1046">1046<6">1 =di   ref="+code=scanSNDRV_Prefef">rKNOTrKNOTa>, n 0;28a href="s2sound/pci/cmipci7L6002" i2=7L1024" class="line" name=7ss="l74e" name="L1006">1 AC3mp;128k     /a>}2        s25" class="line" name=7L103175ss="s/a>}2s251" class="line" name7"L88975 889< 0;28a href="s2sound/pci/cmipci7c1042" i2=7u>s25" class="linei036">1736sels="sref">s_t_put"7"spdif"opent_biof">s(class="sref">snl_t_put"7"spdif"openhrefa   struct , &28a href="s2sound/pci/cmipci7c1023" i2=7u>s253" clck" class="sref7>reg_751"ip"/a>s2s25" class="lineclass="7ref">75e" name="L100   struct cm, &ref="+code=scan1e=snd_p10,1eubru_chipct s255 claf="+code=i" cla7s="sr75"L1046">1046<   struct , &->s25" class="lineif (cla7s="sr75e" name="L100="+code=snrpseerr021" clasass="serra>, n 0;28a href="s2sound/pci/cmipci7c1037" i2=7u>s257 class="line" name=7if ((751015< 0;28a href="s2sound/pci/cmipci7c1038" i2=7u>s2s8" class="line" name7=====758015     ode=amp;[1008nel Aa*> */28a href="s2sound/pci/cmipci7c#L999"s2=7u>s25" clas="line" name="71046"75e" name="L1006">1 the+code=sode=snrpseerr021" clasass="serra>, n 0;28a href="s2sound/pci/cmipci7c#L960"s2s7u>s260" class="lin=chip" 7lass=760015     ode=ip;s26" class="line="sref"7spin_761011 if (class="s   ref="+code=scan1e=sef">snl_t_put"7"spdift_biof">s(class="sref">snl_t_put"7"spdifa>, n 0;28a href="s2sound/pci/cmipci7c1042" i2=7u>s26" class="lineif (cla7s="sr76 class="sref"/a>     , &s2s263" class="line" name7is="l761"ip" class="sred_ctldefaulneref="+code=scanduntina021" clasass="sruntinaa>, /a>->ref="+code=scanSNDRV_PrefFMTBIT_S32_LEs)ock" class="sSNDRV_PrefFMTBIT_S32_LEa>, n 0;28a href="s2sound/pci/cmipci7c1024" i2=7u>s26" class="lineeeeeeee7ss="l76e" name="L1006">1 =didefaulnend_cmeref">sockls="nd_phw_con   a="+_msbitps265" class="line" name7ss="l76"L1046">1046<6">1 =di/a>}2s26" class="line" name=7if (c76e" name="L1006">1 AC3ode=ip;s267 class="line" name=7=====761015     6">1 AC3efaulnefmp;ref="+code=scanSNDRV_Prefef">rc82rc82s2s268" class="line" name7" nam768015     6">1046<6">1 AC3efaulnef1 AC3efaulnefmp;r96kr96k, n 0;28a href="s2sound/pci/cmipci76#L999"s2=7u>s26" clas="line" name="71046"76e" name="L1006">1 the6">1 =di   96ks270" class="line" name7if (c77ss="sref">snrp}2s27" class="line" name=7L1011771011 if (/ else"/a>s2s27" class="line" name=7elsec77 class="sref"/a>        ref="+code=scan1e=sef">snl_t_put"7"iec958p10,frana021" clasass="sls="ef">snl_t_put"7"iec958p10,franaa>, n 0;28a href="s2sound/pci/cmipci7c1043" i2=7u>s273" class="line" name7L1011771"ip" class="/a>}2s27" class="lineeeeeeee7if (c77eeeeeeeee019<   s275" class="line" name7eeeee77"L1046">1046, &a>ref="+code=scanhip" class="srecan_ac3_h, n 0;28a href="s2sound/pci/cmipci7c#L966"s2s7u>s27" class="line" name=7elsec77e" name="L100+code=s n 0;28a href="s2sound/pci/cmipci7c1037" i2=7u>s277 class="line" name=7L1011771015}2s278" class="lin} else 7ck" c778015}2s27" class="line" name=7is="l77e" naoup_t_p="+code=snrpsels="sref">scapture"spdif"opent_biof">s(class="sref">snlcapture"spdif"openhrefa   struct , &28a href="s2sound/pci/cmipci7c#L980"s2s7u>s280" class="line" name7"s="l78ss="s/a>s2s28" class="line" name=7"s="l781011 if (   struct cm, &ref="+code=scan1e=snd_p10,1eubru_chipct s28" class="line" name=7"ip" 78 class="sref"   struct , &->s283" class="line" name7"ip" 781"ip" class="="+code=snrpseerr021" clasass="serra>, n 0;28a href="s2sound/pci/cmipci7c1024" i2=7u>s28" class="lineeeeeeee7" nam78e" na 0;28a href="s2sound/pci/cmipci7c#L955"s2s7u>s285" class="linss="lin7" nam78"L1046">1046[[1008nel Ba*> */28a href="s2sound/pci/cmipci7c#L966"s2s7u>s28" class="line=chip" 7lass=78e" name="L1006">1 AC3+code=sode=snrpseerr021" clasass="serra>, n 0;28a href="s2sound/pci/cmipci7c1037" i2=7u>s287 class="line" name=7L10157>1015        ref="+code=scan1e=sef">snlcapture"spdift_biof">s(class="sref">snlcapture"spdifa>, n 0;28a href="s2sound/pci/cmipci7c1038" i2=7u>s282sou10248" clss="lin7" nam788015     ode=ip;s21 themp;ref="+code=scanSNDRV_Prefef">rc82rc82s2s190" class="line" name7L101979ss="sref">snrp1 AC3efaulnef1 themp;r96kr96k, n 0;28a href="s2sound/pci/cmipci7c#L981"s2s7u>s19" class="line" name=7L1011791011 if (class="s   96ks19" class="line" name=7L103279 class="sref"/a>}2s1s3" class="line" name7"L993791"ip" class="ref="+code=scanls="nd_phw_con   a="+_minmaxs19" class="lineeeeeeee7eeeee79eeeeeeeee019<+code=s n 0;28a href="s2sound/pci/cmipci7c#L955"s2s7u>s195" class="line" name7=====79"L104/a>}2s19" class="line" name=7=====79r039}2s197 class="line" name=7ss="l791015< 0;28a href="s2sound/pci/cmipci7c#L998"s1s7u>s198" class="line" name7" nam798015<>>>>>>>>>>>>>>>>>>>>>>CM */28a href="s2sound/pci/cmipci7c#L969"s2s7u>s1s9 class="liness="lin7" nam799039<>>>>>>>>>>>>>>>>>>>>>>a*> */28a href="s2sound/pci/cmipci8L1000" i2=8L1020o class="line" name=8L1003801031ca>}2s19" class="line" name=8"L991801011sels="sref">s_t_put"7"closa021" clasass="sls="ef">snl_t_put"7"closahrefa   struct , &28a href="s2sound/pci/cmipci8L2000" i2=8L>s19" class="line" name=8L100680 clas/a>s2s1s3" class="line" name8dif_d803039      struct cm, &ref="+code=scan1e=snd_p10,1eubru_chipct s19" class="lineeeeeeee8"L99480eeeeeeeee019<   [s195" class="line" name8s="sr80"L1046">1046<+code=s n 0;28a href="s2sound/pci/cmipci8L6002" i2=8L>s19" class="line" name=8ss="l80e" na/a>}2s197 class="line" name=8hip" 801015< 0;28a href="s2sound/pci/cmipci8L8002" i2=8L>s198" class="line" name8"s="l808015sels="sref">scapture"closa021" clasass="sls="ef">snlcapture"closahrefa   struct , &28a href="s2sound/pci/cmipci8L9002" i2=8L>s1s9 class="liness="lin8i_spd809039s2cm, &ref="+code=scan1e=snd_p10,1eubru_chipct  if (   [1046<+code=s n 0;28a href="s2sound/pci/cmipci8L3002" i2=8L10213" class="line" name8"L993811"ip"/a>}2sels="sref">s_t_put"72"closa021" clasass="sls="ef">snl_t_put"72"closahrefa   struct , &28a href="s2sound/pci/cmipci8L6002" i2=8L1021" class="line" name=8} els81r039s2        struct cm, &ref="+code=scan1e=snd_p10,1eubru_chipct         [        [     +code=s n 0;28a href="s2sound/pci/cmipci8L1021" i2=8L1022" class="line" name=8L1011821011}2}2sels="sref">s_t_put"7"spdif"closa021" clasass="sls="ef">snl_t_put"7"spdif"closahrefa   struct , &28a href="s2sound/pci/cmipci8L1024" i2=8L1022" class="lineeeeeeee8eeeee82e" na/a>s21046<   struct cm, &ref="+code=scan1e=snd_p10,1eubru_chipct    mp;[     +code=s n 0;28a href="s2sound/pci/cmipci8L8002" i2=8L1022" claline" name="L948"10cl828015}2}27a href="s2sound/pci/cmipci8L1030" i2=8L10230" class="line" name8"L930831031coup_t_p="+code=snrpsels="sref">scapture"spdif"closa021" clasass="sls="ef">snlcapture"spdif"closahrefa   struct , &28a href="s2sound/pci/cmipci8L1021" i2=8L1023" class="line" name=8"L93083 889125a href="s2sound/pci/cmipci8L1022" i2=8L1022" clack" class="sref8>reg_83 class="sref"   struct cm, &ref="+code=scan1e=snd_p10,1eubru_chipct [}2}2>>>>>>>>>>>>>>>>>>>>>CM */28a href="s2sound/pci/cmipci8L#L999"s2=8L1029" class="lineeeeeeee8=====839039<>>>>>>>>>>>>>>>>>>>>>>a*> */28a href="s2sound/pci/cmipci8L1040" i2=8L10240" class="line" name8=====841031ca>}2sels="sref">s_t_put"7"opps_t_put"7"opp_put"a>/a>125a href="s2sound/pci/cmipci8L1022" i2=8L1024" class="line" name=8} els84 class="sref".ref="+code=scanopent_biof">s(classopenhref"a> class="ref="+code=scanls="sref">s_t_put"7"opent_biof">s(class="sref">snl_t_put"7"openhref,a>125a href="s2sound/pci/cmipci8L1023" i2=8L10243" class="line" name8=====841"ip" class=".ref="+code=scan class=ode=snrpsels="sref">s_t_put"7"closa021" clasass="sls="ef">snl_t_put"7"closahref,a>125a href="s2sound/pci/cmipci8L1024" i2=8L1024" class="lineeeeeeee8eeeee84e" name="L100.ref="+code=scanioctl021" clasass="sioctlhref"a> class=ode=snrpsels="nd_plib_ioctl021" clasass="sls="nd_plib_ioctlhref,a>125a href="s2sound/pci/cmipci8L1035" i2=8L10245" class="line" name8eeeee84"L1046">1046<.ref="+code=scanhw_paramp clode=snrpsels="sref">shw_parampshw_paramphref,a>125a href="s2sound/pci/cmipci8L6002" i2=8L1024" class="line" name=8ss="l84e" name="L100.ref="+code=scanhw_frea021" clasass="shw_freahref"a> clasode=snrpsels="sref">s_t_put"7"hw_frea021" clasass="sls="sref">s_t_put"7"hw_freahref,a>125a href="s2sound/pci/cmipci8L7002" i2=8L10247 class="liness="lin8" nam841015     .ref="+code=scanprepara021" clasass="spreparahref"a> clasode=snrpsels="sref">s_t_put"7"prepara021" clasass="sls="sref">s_t_put"7"preparahref,a>125a href="s2sound/pci/cmipci8L1038" i2=8u10248" clss="line" name=8L1046848015     .ref="+code=scantrigger021" clasass="striggerhref"a> clasode=snrpsels="sref">s_t_put"7"trigger021" clasass="sls="sref">s_t_put"7"triggerhref,a>125a href="s2sound/pci/cmipci8L#L999"s2=8u1024" clas="line" name="81046"84e" name="L100.ref="+code=scanpo="+er021" clasass="spo="+erhref"a> clasode=snrpsels="sref">s_t_put"7"po="+er021" clasass="sls="sref">s_t_put"7"po="+erhref,a>125a href="s2sound/pci/cmipci8c#L950"s2s8u>s25" class="line" name=8L103185ss="s/n 0;28a href="s2sound/pci/cmipci8c#L951"s2s8u>s251" class="line" name8"L88985 889< 0;28a href="s2sound/pci/cmipci8c1042" i2=8u>s25" class="linei036">1836sels="sref">scapture"oppscapture"opp_put"a>/a>125a href="s2sound/pci/cmipci8c1023" i2=8u>s253" clck" class="sref8>reg_851"ip" class=".ref="+code=scanopent_biof">s(classopenhref"a> class="ref="+code=scanls="sref">scapture"opent_biof">s(class="sref">snlcapture"openhref,a>125a href="s2sound/pci/cmipci8c1024" i2=8u>s25" class="lineclass="8ref">85e" name="L100.ref="+code=scan class=ode=snrpsels="sref">scapture"closa021" clasass="sls="ef">snlcapture"closahref,a>125a href="s2sound/pci/cmipci8c1035" i2=8u>s255 claf="+code=i" cla8s="sr85"L1046">1046<.ref="+code=scanioctl021" clasass="sioctlhref"a> class=ode=snrpsels="nd_plib_ioctl021" clasass="sls="nd_plib_ioctlhref,a>125a href="s2sound/pci/cmipci8r6002" i2=8u>s25" class="lineif (cla8s="sr85e" name="L100.ref="+code=scanhw_paramp clode=snrpsels="sref">shw_parampshw_paramphref,a>125a href="s2sound/pci/cmipci8c1037" i2=8u>s257 class="line" name=8if ((851015     .ref="+code=scanhw_frea021" clasass="shw_freahref"a> clasode=snrpsels="sref">shw_frea021" clasass="sls="sref">shw_freahref,a>125a href="s2sound/pci/cmipci8c1038" i2=8u>s2s8" class="line" name8=====858015     .ref="+code=scanprepara021" clasass="spreparahref"a> clasode=snrpsels="sref">scapture"prepara021" clasass="sls="sref">scapture"preparahref,a>125a href="s2sound/pci/cmipci8c#L999"s2=8u>s25" clas="line" name="81046"85e" name="L100.ref="+code=scantrigger021" clasass="striggerhref"a> clasode=snrpsels="sref">scapture"trigger021" clasass="sls="sref">scapture"triggerhref,a>125a href="s2sound/pci/cmipci8c#L960"s2s8u>s260" class="lin=chip" 8lass=860015     .ref="+code=scanpo="+er021" clasass="spo="+erhref"a> clasode=snrpsels="sref">scapture"po="+er021" clasass="sls="sref">scapture"po="+erhref,a>125a href="s2sound/pci/cmipci8c#L951"s2s8u>s26" class="line="sref"8spin_861011s26" class="lineif (cla8s="sr86 clasa>}2s263" class="line" name8is="l863clasoup_t_p   struct sels="sref">s_t_put"72"opps_t_put"72"opp_put"a>/a>125a href="s2sound/pci/cmipci8c1024" i2=8u>s26" class="lineeeeeeee8ss="l86e" name="L100.ref="+code=scanopent_biof">s(classopenhref"a> class="ref="+code=scanls="sref">s_t_put"72"opent_biof">s(class="sref">snl_t_put"72"openhref,a>125a href="s2sound/pci/cmipci8c1035" i2=8u>s265" class="line" name8ss="l86"L1046">1046<.ref="+code=scan class=ode=snrpsels="sref">s_t_put"72"closa021" clasass="sls="ef">snl_t_put"72"closahref,a>125a href="s2sound/pci/cmipci8c6002" i2=8u>s26" class="line" name=8if (c86e" name="L100.ref="+code=scanioctl021" clasass="sioctlhref"a> class=ode=snrpsels="nd_plib_ioctl021" clasass="sls="nd_plib_ioctlhref,a>125a href="s2sound/pci/cmipci8c1037" i2=8u>s267 class="line" name=8=====861015     .ref="+code=scanhw_paramp clode=snrpsels="sref">s_t_put"72"hw_paramps_t_put"72"hw_paramphref,a>125a href="s2sound/pci/cmipci8c1038" i2=8u>s268" class="line" name8" nam868015     .ref="+code=scanhw_frea021" clasass="shw_freahref"a> clasode=snrpsels="sref">s_t_put"72"hw_frea021" clasass="sls="sref">s_t_put"72shw_freahref,a>125a href="s2sound/pci/cmipci86#L999"s2=8u>s26" clas="line" name="81046"86e" name="L100.ref="+code=scanprepara021" clasass="spreparahref"a> clasode=snrpsels="sref">scapture"prepara021" clasass="sls="sref">scapture"preparahref, clasoode= held!>1008nel Ba*> */28a href="s2sound/pci/cmipci8c#L970"s2s8u>s270" class="line" name8if (c870015     .ref="+code=scantrigger021" clasass="striggerhref"a> clasode=snrpsels="sref">scapture"trigger021" clasass="sls="sref">scapture"triggerhref, clasoode= held!>1008nel Ba*> */28a href="s2sound/pci/cmipci8c#L951"s2s8u>s27" class="line" name=8L1011871011 if (.ref="+code=scanpo="+er021" clasass="spo="+erhref"a> clasode=snrpsels="sref">scapture"po="+er021" clasass="sls="sref">scapture"po="+erhref, clasoode= held!>1008nel Ba*> */28a href="s2sound/pci/cmipci8c1042" i2=8u>s27" class="line" name=8elsec87 clas/n 0;28a href="s2sound/pci/cmipci8c1043" i2=8u>s273" class="line" name8L1011871"ip"an>28a href="s2sound/pci/cmipci8c1024" i2=8u>s27" class="lineeeeeeee8if (c874clasoup_t_p   struct sels="sref">s_t_put"7"spdif"opps_t_put"7"spdif"opp_put"a>/a>125a href="s2sound/pci/cmipci8c#L955"s2s8u>s275" class="line" name8eeeee87"L1046">1046<.ref="+code=scanopent_biof">s(classopenhref"a> class="ref="+code=scanls="sref">s_t_put"7"spdif"opent_biof">s(class="sref">snl_t_put"7"spdif"openhref,a>125a href="s2sound/pci/cmipci8c#L966"s2s8u>s27" class="line" name=8elsec87e" name="L100.ref="+code=scan class=ode=snrpsels="sref">s_t_put"7"spdif"closa021" clasass="sls="ef">snl_t_put"7"spdif"closahref,a>125a href="s2sound/pci/cmipci8c1037" i2=8u>s277 class="line" name=8L1011871015     .ref="+code=scanioctl021" clasass="sioctlhref"a> class=ode=snrpsels="nd_plib_ioctl021" clasass="sls="nd_plib_ioctlhref,a>125a href="s2sound/pci/cmipci8c1038" i2=8u>s278" class="lin} else 8ck" c878015     .ref="+code=scanhw_paramp clode=snrpsels="sref">shw_parampshw_paramphref,a>125a href="s2sound/pci/cmipci8c#L999"s2=8u>s27" class="line" name=8is="l87e" name="L100.ref="+code=scanhw_frea021" clasass="shw_freahref"a> clasode=snrpsels="sref">s_t_put"7"hw_frea021" clasass="sls="sref">s_t_put"7"hw_freahref,a>125a href="s2sound/pci/cmipci8c#L980"s2s8u>s280" class="line" name8"s="l880015     .ref="+code=scanprepara021" clasass="spreparahref"a> clasode=snrpsels="sref">s_t_put"7"spdif"prepara021" clasass="sls="sref">s_t_put"7"spdif"preparahref, classoode= held!>1008 */28a href="s2sound/pci/cmipci8c#L971"s2s8u>s28" class="line" name=8"s="l881011 if (.ref="+code=scantrigger021" clasass="striggerhref"a> clasode=snrpsels="sref">s_t_put"7"trigger021" clasass="sls="sref">s_t_put"7"triggerhref,a>125a href="s2sound/pci/cmipci8"1042" i2=8u>s28" class="line" name=8"ip" 88 class="sref".ref="+code=scanpo="+er021" clasass="spo="+erhref"a> clasode=snrpsels="sref">s_t_put"7"po="+er021" clasass="sls="sref">s_t_put"7"po="+erhref,a>125a href="s2sound/pci/cmipci8c1043" i2=8u>s283" class="line" name8"ip" 881"ip"/n 0;28a href="s2sound/pci/cmipci8c1024" i2=8u>s28" class="lineeeeeeee8" nam88e" na 0;28a href="s2sound/pci/cmipci8c#L955"s2s8u>s285" class="linss="lin8" nam885clasoup_t_p   struct sels="sref">scapture"spdif"oppscapture"spdif"opp_put"a>/a>125a href="s2sound/pci/cmipci8c#L966"s2s8u>s28" class="line=chip" 8lass=88e" name="L100.ref="+code=scanopent_biof">s(classopenhref"a> class="ref="+code=scanls="sref">scapture"spdif"opent_biof">s(class="sref">snlcapture"spdif"openhref,a>125a href="s2sound/pci/cmipci8c1037" i2=8u>s287 class="line" name=8L1015881015     .ref="+code=scan class=ode=snrpsels="sref">scapture"spdif"closa021" clasass="sls="ef">snlcapture"spdif"closahref,a>125a href="s2sound/pci/cmipci8c1038" i2=8u>s282sou10248" clss="lin8" nam888015     .ref="+code=scanioctl021" clasass="sioctlhref"a> class=ode=snrpsels="nd_plib_ioctl021" clasass="sls="nd_plib_ioctlhref,a>125a href="s2sound/pci/cmipci8c#L969"s2s8 heveina hro|de=type" cla8s="sr88e" name="L100.ref="+code=scanhw_paramp clode=snrpsels="sref">shw_parampshw_paramphref,a>125a href="s2sound/pci/cmipci8c#L990"s1s8u>s190" class="line" name8L1019890015     .ref="+code=scanhw_frea021" clasass="shw_freahref"a> clasode=snrpsels="sref">scapture"spdif"hw_frea021" clasass="sls="sref">scapture"spdif"hw_freahref,a>125a href="s2sound/pci/cmipci8c#L971"s2s8u>s19" class="line" name=8L1011891011 if (.ref="+code=scanprepara021" clasass="spreparahref"a> clasode=snrpsels="sref">scapture"spdif"prepara021" clasass="sls="sref">scapture"spdif"preparahref,a>125a href="s2sound/pci/cmipci8c1042" i2=8u>s19" class="line" name=8L103289 class="sref".ref="+code=scantrigger021" clasass="striggerhref"a> clasode=snrpsels="sref">scapture"trigger021" clasass="sls="sref">scapture"triggerhref,a>125a href="s2sound/pci/cmipci8c1043" i2=8u>s1s3" class="line" name8"L993891"ip" class=".ref="+code=scanpo="+er021" clasass="spo="+erhref"a> clasode=snrpsels="sref">scapture"po="+er021" clasass="sls="sref">scapture"po="+erhref,a>125a href="s2sound/pci/cmipci8c1024" i2=8u>s19" class="lineeeeeeee8eeeee89eeeee/n 0;28a href="s2sound/pci/cmipci8c#L955"s2s8u>s195" class="line" name8=====89"L104 0;28a href="s2sound/pci/cmipci8c#L966"s2s8u>s19" class="line" name=8=====89r039}2s197 class="line" name=8ss="l891015<>>>>>>>>>>>>>>>>>>>>>>CM */28a href="s2sound/pci/cmipci8c#L998"s1s8u>s198" class="line" name8" nam898015<>>>>>>>>>>>>>>>>>>>>>>a*> */28a href="s2sound/pci/cmipci8c#L969"s2s8u>s1s9 class="liness="lin8" nam89046}27a href="s2sound/pci/cmipci9L1000" i2=9L1020o class="line" name=9L1003901031coup_t_p="+code=snrpse__devinitpsnipci" c__deviniteeeeeode=snrpsels="sref">s_d_pnew021" clasass="sls="sref">s_d_pneweeeea   struct 021" clasass="scref">eeeeeamp;sedevicepci_spdif_defaudevice_putaan>28a href="s2sound/pci/cmipci9L1000" i2=9L>s19" class="line" name=9"L99190 889125a href="s2sound/pci/cmipci9L2000" i2=9L>s19" class="line" name=9L100690 class="sref"   struct s1s3" class="line" name9dif_d903039   ="+code=snrpseerr021" clasass="serra>, n 0;28a href="s2sound/pci/cmipci9L4002" i2=9L>s19" class="lineeeeeeee9"L99490e" na 0;28a href="s2sound/pci/cmipci9L5002" i2=9L>s195" class="line" name9s="sr90"L1046">1046seerr021" clasass="serra>, "a>ref="+code=scan1e=snd_pnew021" clasass="sls="_d_pneweeeeamp;s19" class="line" name=9ss="l90e" name="L100=de=ip;s197 class="line" name=9hip" 901015     6">1 AC3+code=sode=snrpseerr021" clasass="serra>, n 0;28a href="s2sound/pci/cmipci9L8002" i2=9L>s198" class="line" name9"s="l908015}2s1s9 class="liness="lin9i_spd909015        s_t_put"7"opps_t_put"7"opp_putan 0;28a href="s2snd/pci/cmipcime9L1010" i2=9L10210" class="linck" cla9s="sr91r039        scapture"oppscapture"opp_putan 0;28a href="s2snd/pci/cmipcime9L1000" i2=9L1021" class="line" name=9if (c91 889< 0;28a href="s2sound/pci/cmipci9s2000" i2=9L1021" class="line" name=9L1032912L1046">1046ref="+code=scanmipci_spdif_default_putn 0;28a href="s2snd/pci/cmipcime9L3002" i2=9L10213" class="line" name9"L993911"ip" class="ref="+code=scannd_021" clasass="snd_eeeeh, "a> n 0;28a href="s2sound/pci/cmipci9L1014" i2=9L1021" class="lineeeeeeee9eeeee91eeeeeeeee019<   "C-Media PCI DAC/ADC" */1046ref="+code=scannd_021" clasass="snd_eeeen 0;28a href="s2sound/pci/cmipci9L6002" i2=9L1021" class="line" name=9} els91r039}2             6">1046<6">1 AC3efaulnef1 AC3efaulnef    sdata021" clasass="sls="dma_f">sdataeeeeamp;021" clasass="sf">eeee), 64*1024, 128*1024an 0;28a href="s2snd/pci/cmipcime9L9002" i2=9L1021" class="line" name=9L101991046}27a href="s2sound/pci/cmipci9L1020" i2=9L10220" class="line" name9L1019920015     +code=s n 0;28a href="s2sound/pci/cmipci9L1021" i2=9L1022" class="line" name=9L1011921011}2}2se__devinitpsnipci" c__deviniteeeeeode=snrpsels="sref">s_d_2pnew021" clasass="sls="sref">s_d_2pneweeeea   struct 021" clasass="scref">eeeeeamp;sedevicepci_spdif_defaudevice_putaan>28a href="s2sound/pci/cmipci9L1024" i2=9L1022" class="lineeeeeeee9eeeee92e" na/a>s21046<   struct    ="+code=snrpseerr021" clasass="serra>, n 0;28a href="s2sound/pci/cmipci9=7002" i2=9L10227 class="line" name=9ss="l921015< 0;28a href="s2sound/pci/cmipci9L8002" i2=9L1022" claline" name="L949"10cl928015        ref="+code=scan1e=snd_pnew021" clasass="sls="_d_pneweeeeamp;     =de=ip;snrpseerr021" clasass="serra>, n 0;28a href="s2sound/pci/cmipci9L1021" i2=9L1023" class="line" name=9"L93093 889< 0;28a href="s2sound/pci/cmipci9L1022" i2=9L1022" clack" class="sref9>reg_932L1046">1046s_t_put"72"opps_t_put"72"opp_putan 0;28a href="s2snd/pci/cmipcime9L3002" i2=9L10233" class="line" name9if (c931"ip"an>28a href="s2sound/pci/cmipci9L1024" i2=9L1023" class="lineeeeeeee9eeeee93eeeeeeeee019<   ref="+code=scanmipci_spdif_default_putn 0;28a href="s2snd/pci/cmipcime9L1035" i2=9L10235" class="line" name9=====93"L1046">1046, "a> n 0;28a href="s2sound/pci/cmipci9L6002" i2=9L1023" class="line" name=9=====93r039   mp;"C-Media PCI 2nd DAC" */        ref="+code=scannd_021" clasass="snd_eeeen 0;28a href="s2sound/pci/cmipci9L1038" i2=9L10238" class="line" name9=====938015}2snrp1 AC3efaulnef1 theefaulnef    sdata021" clasass="sls="dma_f">sdataeeeeamp;021" clasass="sf">eeee), 64*1024, 128*1024an 0;28a href="s2snd/pci/cmipcime9L1041" i2=9L1024" class="line" name=9L101194 889< 0;28a href="s2sound/pci/cmipci9L1022" i2=9L1024" class="line" name=9} els94 class="sref"+code=s n 0;28a href="s2sound/pci/cmipci9L1023" i2=9L10243" class="line" name9=====941"ip"/a>}2se__devinitpsnipci" c__deviniteeeeeode=snrpsels="sref">s_d_pspdif"new021" clasass="sls="sref">s_d_pspdif"neweeeea   struct 021" clasass="scref">eeeeeamp;sedevicepci_spdif_defaudevice_putaan>28a href="s2sound/pci/cmipci9L6002" i2=9L1024" class="line" name=9ss="l94r039s2        struct      ="+code=snrpseerr021" clasass="serra>, n 0;28a href="s2sound/pci/cmipci9L#L999"s2=9u1024" clas="line" name="91046"94046}27a href="s2sound/pci/cmipci9c#L950"s2s9u>s25" class="line" name=9L103195r039        ref="+code=scan1e=snd_pnew021" clasass="sls="_d_pneweeeeamp;s251" class="line" name9"L889951011 if (=de=ip;s25" class="linei036">1936seerr021" clasass="serra>, n 0;28a href="s2sound/pci/cmipci9c1023" i2=9u>s253" clck" class="sref9>reg_951"ip"an>28a href="s2sound/pci/cmipci9c1024" i2=9u>s25" class="lineclass="9ref">95eeeeeeeee019<   s_t_put"7"spdif"opps_t_put"7"spdif"opp_putan 0;28a href="s2snd/pci/cmipcime9c1035" i2=9u>s255 claf="+code=i" cla9s="sr95"L1046">1046scapture"spdif"oppscapture"spdif"opp_putan 0;28a href="s2snd/pci/cmipcime9c6002" i2=9u>s25" class="lineif (cla9s="sr95r039}2s257 class="line" name=9if ((951015        ref="+code=scanmipci_spdif_default_putn 0;28a href="s2snd/pci/cmipcime9c1038" i2=9u>s2s8" class="line" name9=====958015        , "a> n 0;28a href="s2sound/pci/cmipci9c#L999"s2=9u>s25" clas="line" name="91046"959015        "C-Media PCI IEC958" */s260" class="lin=chip" 9lass=96r039        ref="+code=scannd_021" clasass="snd_eeeen 0;28a href="s2sound/pci/cmipci9c#L951"s2s9u>s26" class="line="sref"9spin_96 889< 0;28a href="s2sound/pci/cmipci9c1042" i2=9u>s26" class="lineif (cla9s="sr962L1046">1046s263" class="line" name9is="l961"ip" class="""""""""""""""""""""""""""""""""""""""   sdata021" clasass="sls="dma_f">sdataeeeeamp;021" clasass="sf">eeee), 64*1024, 128*1024an 0;28a href="s2snd/pci/cmipcime9c1024" i2=9u>s26" class="lineeeeeeee9ss="l96e" na 0;28a href="s2sound/pci/cmipci9c1035" i2=9u>s265" class="line" name9ss="l96"L1046">1046<+code=s n 0;28a href="s2sound/pci/cmipci9c6002" i2=9u>s26" class="line" name=9if (c96e" na/a>}2s267 class="line" name=9=====961015< 0;28a href="s2sound/pci/cmipci9c1038" i2=9u>s268" class="line" name9" nam968015<>>>>>>>>>>>>>>>>>>>>>>CM */28a href="s2sound/pci/cmipci96#L999"s2=9u>s26" clas="line" name="91046"969039<>>>>>>>>>>>>>>>>>>>>>>a* mixer ="+erface: */28a href="s2sound/pci/cmipci9c#L970"s2s9u>s270" class="line" name9if (c970015<>>>>>>>>>>>>>>>>>>>>>>a* - CM8338/8738 has a >>>patible mixer ="+erface with SB16, but */28a href="s2sound/pci/cmipci9c#L951"s2s9u>s27" class="line" name=9L1011971011<>>>>>>>>>>>>>>>>>>>>>>a*   lt"7 of some ele>>>>s like tone >>ntrol, i/o gain and AGC. */28a href="s2sound/pci/cmipci9c1042" i2=9u>s27" class="line" name=9elsec97 clas>>>>>>>>>>>>>>>>>>>>>>a* - Access tone"tive<+cgis+ers: */28a href="s2sound/pci/cmipci9c1023" i2=9u>s273" class="line" name9L1011971"ip">>>>>>>>>>>>>>>>>>>>>>a*   - A 3D switch */28a href="s2sound/pci/cmipci9c1024" i2=9u>s27" class="lineeeeeeee9if (c974clas>>>>>>>>>>>>>>>>>>>>>>a*   - Output mute switches */28a href="s2sound/pci/cmipci9c1035" i2=9u>s275" class="line" name9eeeee97"L104>>>>>>>>>>>>>>>>>>>>>>a*> */28a href="s2sound/pci/cmipci9c#L966"s2s9u>s27" class="line" name=9elsec97r039}2s277 class="line" name=9L1011971015sels="sref">smixer_writa021" clasass="sls="sref">smixer_writaeeeea   struct 021" clasass="scref">eeeeeamp;s278" class="lin} else 9ck" c978015s2s27" class="line" name=9is="l979015        s280" class="line" name9"s="l98r039        s28" class="line" name=9"s="l981011}2s28" class="line" name=9"ip" 98 clasa>}2s283" class="line" name9"ip" 981"ip"oup_t_punsignednsmixer_readpci_spdif_defauls="sref">smixer_readeeeea   struct 021" clasass="scref">eeeeeamp;28a href="s2sound/pci/cmipci9c1024" i2=9u>s28" class="lineeeeeeee9" nam98e" na/a>s2s285" class="linss="lin9" nam98"L1046">1046s28" class="line=chip" 9lass=98r039}2s287 class="line" name=9L1015981015        s282sou10248" clss="lin9" nam988015        ref="+code=scaninb021" clasass="sinbeeeeamp;sevs190" class="line" name9L1019990015}2s19" class="line" name=9L101199 889< 0;28a href="s2sound/pci/cmipci9c1042" i2=9u>s19" class="line" name=9L103299 clas>>>>>>>>>>>>>>>>>>>>>>CM */28a href="s2sound/pci/cmipci9c1043" i2=9u>s1s3" class="line" name9"L993991"ip">>>>>>>>>>>>>>>>>>>>>>a* general mixer ele>>>> */28a href="s2sound/pci/cmipci9c1024" i2=9u>s19" class="lineeeeeeee9eeeee994clas>>>>>>>>>>>>>>>>>>>>>>a*> */28a href="s2sound/pci/cmipci9c#L955"s2s9u>s195" class="line" name9=====99"L104ou struct _sb_reg021" clasass="scref">_sb_reg" nam/a>s2s19" class="line" name=9=====996L1046">1046seleft_reg021" clasass="sleft_regeeee,imp;s197 class="line" name=9ss="l997L1046">1046seleft_shiftpsnipci" cleft_shifteeee,imp;snipci" cright_shifteeeen 0;28a href="s2sound/pci/cmipci9c1038" i2=9u>s198" class="line" name9" nam998L1046">1046semaskock" class="sremaskeeeen 0;28a href="s2sound/pci/cmipci9c#L999"s2=9u>s1s9 class="liness="lin9" nam999L1046">1046seinvertpsnipci" cinvertL104: 1n 0;28a href="s2sound/pci/cmipc20L1000" i220L100s9 class="liness="li20L10>20L1L1046">1046ses+ereo
0;28a href="s2sound/pci/cmipc20L1000" i220L>s19" class="line" name20L>s>20L1011s19" class="line" name20L>s>20L clasa>}2s1s3" class="line" nam20L>s>20L1"ip"#defs="RL1l[snipci" clshifteeee,mp;snipci" crshifteeee,mp;snipci" cinvertL104,mp;}2s19" class="lineeeeeee20L>s>20Leeeeee(amp;snipci" clshifteeee&<< 16) |e(mp;snipci" crshifteeee&<< 19) |e(mp;snipci" cinvertL104&<< 22) |e(mp;28a href="s2sound/pci/cmipc20L5000" i220L>s195" class="line" nam20L>s>20L"L104 0;28a href="s2sound/pci/cmipc20L6000" i220L>s19" class="line" name20L>s>20L6"ip"#defs="RL1l[seleft_reg021" clasass="sleft_regeeee,imp;seleft_shiftpsnipci" cleft_shifteeee,imp;snipci" cright_shifteeee,imp;seinvertpsnipci" cinvertL104,imp;}2s197 class="line" name20L>s>20L7L104{ .ref="+code=scanifacepsnipci" cifaceeeee"a>ref="+code=scanSNDRV_CTL_ELEM_IFACE_MIXER021" clasass="sSNDRV_CTL_ELEM_IFACE_MIXERL104,i.ref="+code=scaneeee021" clasass="seeeeeeee"a>ref="+code=scanxeeee021" clasass="sxeeeeeeee,i\a>}2s198" class="line" nam20L>s>20L8L1046".ref="+code=scaninforef="+code=scanls="sref">sinfo_voluee021" clasass="sls="sref">sinfo_volueeeeee,i\a>}2s1s9 class="liness="li20L>s>20L9L1046".ref="+code=scangetpsnipci" cgeteeee"a>ref="+code=scanls="sref">sget_voluee021" clasass="sls="sref">sget_volueeL104,i.ref="+code=scanputpsnipci" cputeeee"a>ref="+code=scanls="sref">sput_voluee021" clasass="sls="sref">sput_volueeeeee,i\a>}220L1L1046".ref="+code=scanprivate_value021" clasass="sprivate_valueeeee"a>ref="+code=scan=OMPOSE_SBCREG021" clasass="s=OMPOSE_SBCREGeeeeamp;seleft_shiftpsnipci" cleft_shifteeee,imp;snipci" cright_shifteeee,imp;seinvertpsnipci" cinvertL104,imp;}220L1011}220L clasa>}220L1"ip"#defs="RL1l[snipci" cshifteeee,mp;sereg021" clasass="sregeeee,i de=snrpsereg021" clasass="sregeeee+1,imp;snipci" cshifteeee,imp;snipci" cshifteeee,imp;snipci" cshifteeee,mp;sereg021" clasass="sregeeee,i de=snrpsereg021" clasass="sregeeee,imp;snipci" cshifteeee,imp;snipci" cshifteeee,imp;20L5"ip"#defs="RL1l[snipci" clshifteeee,mp;snipci" crshifteeee)RL1l[seSBCDSP4_OUTPUTCSW021" clasass="sSBCDSP4_OUTPUTCSWeeee,i de=snrpseSBCDSP4_OUTPUTCSW021" clasass="sSBCDSP4_OUTPUTCSWeeee,i de=snrpselshiftpsnipci" clshifteeee,i de=snrpsershiftpsnipci" crshifteeee, 1, 0, 1aan>28a href="s2sound/pci/cmipc2016000" i220L1021" class="line" name20L10>20L6"ip"#defs="RL1l[snipci" cshifteeee)RL1l[seSBCDSP4_OUTPUTCSW021" clasass="sSBCDSP4_OUTPUTCSWeeee,i de=snrpseSBCDSP4_OUTPUTCSW021" clasass="sSBCDSP4_OUTPUTCSWeeee,i de=snrpsnipci" cshifteeee,imp;snipci" cshifteeee,i1,c0, 0aan>28a href="s2sound/pci/cmipc20L7000" i220L10217 class="line" name20L10>20L1015< 0;28a href="s2sound/pci/cmipc20L8000" i220L10218" class="line" nam20L10>20L8L104oup_t_pvoideode=snrpsecref">_sb_reg_def">s021" clasass="scref">_sb_reg_def">seeeeaou struct _sb_reg021" clasass="scref">_sb_reg" namamp;seval021" clasass="svaleeee) 0;28a href="s2sound/pci/cmipc20L9000" i220L1021" class="line" name20L10>20L9L104/a>s220L1L1046">1046ref="+code=scanval021" clasass="svaleeeei>, &a 0xffn 0;28a href="s2sound/pci/cmipc2021000" i220L1022" class="line" name20L10>20L1L1046">1046amp;20L2L1046">1046snipci" cleft_shifteeee"a>amp;20L1"ip" class="ref="+code=scanr021" clasass="sr_puthsnipci" cright_shifteeee"a>amp;snipci" cinvertL104&a>amp;20L"L1046">1046amp;20Lr039   mp;20L7011}2sess="sref">sinfo_voluee021" clasass="sls="sref">sinfo_volueeeeeeaou struct >ntrol021" clasass="sls="k>>ntrol" namamp;>ntrol021" clasass="sk>>ntrol" na,a>125a href="s2sound/pci/cmipc2031000" i220L10230" class="line" nam20L10>20L1039                             ou struct _info20L 889125a href="s2sound/pci/cmipc20L2000" i220L1022" clack" class="sre20L10>20L class="sref"   struct _sb_reg021" clasass="scref">_sb_reg" nam de=snrpsereg021" clasass="sregeeeen 0;28a href="s2sound/pci/cmipc2033000" i220L10233" class="line" nam20L10>20L1"ip"an>28a href="s2sound/pci/cmipc20L4000" i220L1023" class="lineeeeeee20L10>20Leeeeeeeee019<   _sb_reg_def">s021" clasass="scref">_sb_reg_def">seeeea>, &20L"L1046">1046ref="+code=scanreg021" clasass="sregeeee.ref="+code=scanmaskock" class="sremaskeeee&a= 1 ?>ref="+code=scanSNDRV_CTL_ELEM_TYPE_BOOLEAN021" clasass="sSNDRV_CTL_ELEM_TYPE_BOOLEANeeee&:>ref="+code=scanSNDRV_CTL_ELEM_TYPE_INTEGER021" clasass="sSNDRV_CTL_ELEM_TYPE_INTEGEReeeen 0;28a href="s2sound/pci/cmipc2036000" i220L1023" class="line" name20L10>20Lr039   mp;snipci" cc="steeee"a>ref="+code=scanreg021" clasass="sregeeee.ref="+code=scans+ereo20L1015        s(classmineeee"a> n 0;28a href="s2sound/pci/cmipc20L8000" i220L10238" class="line" nam20L10>20L8015        ref="+code=scanreg021" clasass="sregeeee.ref="+code=scanmaskock" class="sremaskeeeen 0;28a href="s2sound/pci/cmipc20L9000" i220L1029" class="lineeeeeee20L10>20Le" name="L100+code=s n 0;28a href="s2sound/pci/cmipc2041000" i220L10240" class="line" nam20L10>20L1011}220L1L1046a>}220L2L104oup_t_p="+code=snrpsess="sref">sget_voluee021" clasass="sls="sref">sget_volueeL104aou struct >ntrol021" clasass="sls="k>>ntrol" namamp;>ntrol021" clasass="sk>>ntrol" na,a>125a href="s2sound/pci/cmipc2043000" i220L10243" class="line" nam20L10>20L1"ip" class=""""""""""""""""""""""""""ou struct _value021" clasass="sls="ctl_ele>_value" namamp;>ntrol021" clasass="su>>ntrol" na) 0;28a href="s2sound/pci/cmipc2044000" i220L1024" class="lineeeeeee20L10>20Le" na/a>s220L"L1046">1046<   struct 021" clasass="scref">eeeeeamp;ref="+code=scanls="k>>ntrol_chip021" clasass="sls="k>>ntrol_chipeeeeamp;>ntrol021" clasass="sk>>ntrol" naan 0;28a href="s2snd/pci/cmipcim2046000" i220L1024" class="line" name20L10>20L6L1046">1046<   struct _sb_reg021" clasass="scref">_sb_reg" nam de=snrpsereg021" clasass="sregeeeen 0;28a href="s2sound/pci/cmipc2047000" i220L10247 class="liness="li20L10>20L1015     ="+code=snrpseval021" clasass="svaleeeen 0;28a href="s2sound/pci/cmipc2048000" i220u10248" clss="line" name20u10>20L8015}220L9015        _sb_reg_def">s021" clasass="scref">_sb_reg_def">seeeea>, &s25" class="line" name20u>s>20u>015        s251" class="line" nam20u>s>20u1L1046">1046smixer_readpci_spdif_defauls="sref">smixer_readeeeeamp;sereg021" clasass="sregeeee.ref="+code=scanleft_reg021" clasass="sleft_regeeee)i>a h>a h  de=snrpsereg021" clasass="sregeeee.ref="+code=scanleft_shiftpsnipci" cleft_shifteeee) >, &a ref="+code=scanreg021" clasass="sregeeee.ref="+code=scanmaskock" class="sremaskeeeen 0;28a href="s2sound/pci/cmipc2052000" i220u>s25" class="linei036">20u>s>20u class="sref"=de=ip;snipci" cinvertL104) 0;28a href="s2sound/pci/cmipc2053000" i220u>s253" clck" class="sre20u>s>20u1"ip" class="""""""""mp;seval021" clasass="svaleeeen 0;28a href="s2sound/pci/cmipc2054000" i220u>s25" class="lineclass=20u>s>20ueeeeeeeee019<   ref="+code=scanval021" clasass="svaleeeen 0;28a href="s2sound/pci/cmipc2055000" i220u>s255 claf="+code=i" cl20u>s>20u5class="sref"=de=ip;s2s25" class="lineif (cl20u>s>20u6"ip" class="""""""""mp;smixer_readpci_spdif_defauls="sref">smixer_readeeeeamp;sereg021" clasass="sregeeee.ref="+code=scanright_reg021" clasass="sright_regeeee)i>a h>a h  de=snrpsereg021" clasass="sregeeee.ref="+code=scanright_shiftpsnipci" cright_shifteeee) >, &a ref="+code=scanreg021" clasass="sregeeee.ref="+code=scanmaskock" class="sremaskeeeen 0;28a href="s2sound/pci/cmipc2057000" i220u>s257 class="line" name20u>s>20u1015     6">1 AC3=de=ip;snipci" cinvertL104) 0;28a href="s2sound/pci/cmipc2058000" i220u>s2s8" class="line" nam20u>s>20u8015     6">1046<6">1 AC3mp;seval021" clasass="svaleeeen 0;28a href="s2sound/pci/cmipc2059000" i220u>s25" clas="line" name=20u>s>20u9015     6">1046<6   ref="+code=scanval021" clasass="svaleeeen 0;28a href="s2sound/pci/cmipc2061000" i220u>s260" class="lin=chip"20u>s>20u>015     /a>}2s26" class="line="sref20u>s>20u1L1046">1046s26" class="lineif (cl20u>s>20u class="sref"+code=s n 0;28a href="s2sound/pci/cmipc20u3000" i220u>s263" class="line" nam20u>s>20u1"ip"/a>}2s26" class="lineeeeeee20u>s>20ue" na 0;28a href="s2sound/pci/cmipc20u5000" i220u>s265" class="line" nam20u>s>20u"L104oup_t_p="+code=snrpsels="sref">sput_voluee021" clasass="sls="sref">sput_volueeeeeeaou struct >ntrol021" clasass="sls="k>>ntrol" namamp;>ntrol021" clasass="sk>>ntrol" na,a>125a href="s2sound/pci/cmipc2066000" i220u>s26" class="line" name20u>s>20u6"ip" class=""""""""""""""""""""""""""ou struct _value021" clasass="sls="ctl_ele>_value" namamp;>ntrol021" clasass="su>>ntrol" na) 0;28a href="s2sound/pci/cmipc2067000" i220u>s267 class="line" name20u>s>20u7" na/a>s2s268" class="line" nam20u>s>20u8015        struct 021" clasass="scref">eeeeeamp;ref="+code=scanls="k>>ntrol_chip021" clasass="sls="k>>ntrol_chipeeeeamp;>ntrol021" clasass="sk>>ntrol" naan 0;28a href="s2snd/pci/cmipcim2069000" i220u>s26" clas="line" name=20u>s>20u9015        struct _sb_reg021" clasass="scref">_sb_reg" nam de=snrpsereg021" clasass="sregeeeen 0;28a href="s2sound/pci/cmipc2071000" i220u>s270" class="line" nam20u>s>20u>015     ="+code=snrpsechangs021" clasass="schangseeeen 0;28a href="s2sound/pci/cmipc2071000" i220u>s27" class="line" name20u>s>20u1015     ="+code=snrpseleftpsnipci" cleft_put,i de=snrpserightpsnipci" cright_put,i de=snrpseoleftpsnipci" coleft_put,i de=snrpseorightpsnipci" coright_putn 0;28a href="s2sound/pci/cmipc2072000" i220u>s27" class="line" name20u>s>20u clasa>}2s273" class="line" nam20u>s>20u1"ip" class="ref="+code=scancref">_sb_reg_def">s021" clasass="scref">_sb_reg_def">seeeea>, &s27" class="lineeeeeee20u>s>20ueeeeeeeee019<   snipci" cleft_put"a>ref="+code=scanu>>ntrol021" clasass="su>>ntrol" nahs275" class="line" nam20u>s>20u5class="sref"=de=ip;snipci" cinvertL104) 0;28a href="s2sound/pci/cmipc2076000" i220u>s27" class="line" name20u>s>20u6"ip" class="""""""""mp;snipci" cleft_put"a>ref="+code=scanreg021" clasass="sregeeee.ref="+code=scanmaskock" class="sremaskeeee&-code=snrpseleftpsnipci" cleft_putn 0;28a href="s2sound/pci/cmipc2077000" i220u>s277 class="line" name20u>s>20u1015        snipci" cleft_put"<<a>ref="+code=scanreg021" clasass="sregeeee.ref="+code=scanleft_shiftpsnipci" cleft_shifteeeen 0;28a href="s2sound/pci/cmipc2078000" i220u>s278" class="lin} else20u>s>20u8class="sref"=de=ip;s2s27" class="line" name20u>s>20u9015     6">1046< de=snrpserightpsnipci" cright_put"a>ref="+code=scanu>>ntrol021" clasass="su>>ntrol" nahs280" class="line" nam20u>s>20u>015     6">1 AC3=de=ip;snipci" cinvertL104) 0;28a href="s2sound/pci/cmipc2081000" i220u>s28" class="line" name20u>s>20u1015     6">1 AC36">1046< de=snrpserightpsnipci" cright_put"a>ref="+code=scanreg021" clasass="sregeeee.ref="+code=scanmaskock" class="sremaskeeee&-code=snrpserightpsnipci" cright_putn 0;28a href="s2sound/pci/cmipc2082000" i220u>s28" class="line" name20u>s>20u class="sref"pserightpsnipci" cright_put"<<a>ref="+code=scanreg021" clasass="sregeeee.ref="+code=scanright_shiftpsnipci" cright_shifteeeen 0;28a href="s2sound/pci/cmipc20u3000" i220u>s283" class="line" nam20u>s>20u1"ip" class="} else 0;28a href="s2sound/pci/cmipc20u4000" i220u>s28" class="lineeeeeee20u>s>20u4015     6">1046< de=snrpserightpsnipci" cright_put"a> n 0;28a href="s2sound/pci/cmipc2085000" i220u>s285" class="linss="li20u>s>20u"L1046">1046s28" class="line=chip"20u>s>20ur039   mp;snipci" coleft_put"a>ref="+code=scanls="sref">smixer_readpci_spdif_defauls="sref">smixer_readeeeeamp;sereg021" clasass="sregeeee.ref="+code=scanleft_reg021" clasass="sleft_regeeee)n 0;28a href="s2snd/pci/cmipcim2087000" i220u>s287 class="line" name20u>s>20u1015        snipci" cleft_put"|a>ref="+code=scanoleftpsnipci" coleft_put">, &a ~=ip;snipci" cleft_shifteeee)n 0;28a href="s2snd/pci/cmipcim2088000" i220u>s282sou10248" clss="li20u>s>20u8015        ref="+code=scanleftpsnipci" cleft_put"!a>ref="+code=scanoleftpsnipci" coleft_putn 0;28a href="s2snd/pci/cmipcim2089000" i220 heveina hro|de=type" cl20 he>20u9015     =de=ip;s2s190" class="line" nam20u>s>20u>015     6">1 AC3=de=ip;ref="+code=scanreg021" clasass="sregeeee.ref="+code=scanright_reg021" clasass="sright_regeeee)i/a>s2s19" class="line" name20u>s>20u1015     6">1 AC36">1046< de=snrpsels="sref">smixer_writa021" clasass="sls="sref">smixer_writaeeeeamp;sereg021" clasass="sregeeee.ref="+code=scanleft_reg021" clasass="sleft_regeeee,i de=snrpseleftpsnipci" cleft_put)n 0;28a href="s2snd/pci/cmipcim2092000" i220u>s19" class="line" name20u>s>20u class="sref"p   mp;snipci" coright_put"a>ref="+code=scanls="sref">smixer_readpci_spdif_defauls="sref">smixer_readeeeeamp;sereg021" clasass="sregeeee.ref="+code=scanright_reg021" clasass="sright_regeeee)n 0;28a href="s2snd/pci/cmipcim2093000" i220u>s1s3" class="line" nam20u>s>20u1"ip" class="""""""""} else 0;28a href="s2sound/pci/cmipc2094000" i220u>s19" class="lineeeeeee20u>s>20u4015     6">1046   mp;snipci" coright_put"a>ref="+code=scanleftpsnipci" cleft_putn 0;28a href="s2sound/pci/cmipc2095000" i220u>s195" class="line" nam20u>s>20u5015     6">1046< de=snrpserightpsnipci" cright_put"|a>ref="+code=scanorightpsnipci" coright_put">, &a ~=ip;snipci" cright_shifteeee)n 0;28a href="s2sound/pci/cmipc2096000" i220u>s19" class="line" name20u>s>20u6"ip" class="""""""""mp;ref="+code=scanrightpsnipci" cright_put"!a>ref="+code=scanorightpsnipci" coright_putn 0;28a href="s2sound/pci/cmipc2097000" i220u>s197 class="line" name20u>s>20u1015     6">1 AC3 de=snrpsels="sref">smixer_writa021" clasass="sls="sref">smixer_writaeeeeamp;sereg021" clasass="sregeeee.ref="+code=scanright_reg021" clasass="sright_regeeee,i de=snrpserightpsnipci" cright_put)n 0;28a href="s2sound/pci/cmipc2098000" i220u>s198" class="line" nam20u>s>20u8015     } else 0;28a href="s2sound/pci/cmipc2099000" i220u>s1s9 class="liness="li20u>s>20u9015     6">1046< de=snrpsels="sref">smixer_writa021" clasass="sls="sref">smixer_writaeeeeamp;sereg021" clasass="sregeeee.ref="+code=scanleft_reg021" clasass="sleft_regeeee,i de=snrpseleftpsnipci" cleft_put)n 0;28a href="s2snd/pci/cmipcim21L1000" i221L100s9 class="liness="li21L10>210>015        s19" class="line" name21L>s>2101015     +code=sode=snrpsechangs021" clasass="schangseeeen 0;28a href="s2sound/pci/cmipc21L2000" i221L>s19" class="line" name21L>s>21L clas/a>}2s1s3" class="line" nam21L>s>2101"ip"an>28a href="s2sound/pci/cmipc21L4000" i221L>s19" class="lineeeeeee21L>s>2104clas>>>>>>>>>>>>>>>>>>>>>>CM */28a href="s2sound/pci/cmipc2105000" i221L>s195" class="line" nam21L>s>210"L104>>>>>>>>>>>>>>>>>>>>>>a* input route (left,right) h28a href="s2sound/pci/cmipc2106000" i221L>s19" class="line" name21L>s>21L6"ip">>>>>>>>>>>>>>>>>>>>>>a*> */28a href="s2sound/pci/cmipc21L7000" i221L>s197 class="line" name21L>s>21L7L104#defs="RL1l[seleft_shiftpsnipci" cleft_shifteeee,imp;snipci" cright_shifteeee) \a>}2s198" class="line" nam21L>s>21L8L104{ .ref="+code=scanifacepsnipci" cifaceeeee"a>ref="+code=scanSNDRV_CTL_ELEM_IFACE_MIXER021" clasass="sSNDRV_CTL_ELEM_IFACE_MIXERL104,i.ref="+code=scaneeee021" clasass="seeeeeeee"a>ref="+code=scanxeeee021" clasass="sxeeeeeeee,i\a>}2s1s9 class="liness="li21L>s>21L9L1046".ref="+code=scaninforef="+code=scanls="sref">sinfo_input_sw021" clasass="sls="sref">sinfo_input_sweeee,i\a>}221L1L1046".ref="+code=scangetpsnipci" cgeteeee"a>ref="+code=scanls="sref">sget_input_sw021" clasass="sls="sref">sget_input_swL104,i.ref="+code=scanputpsnipci" cputeeee"a>ref="+code=scanls="sref">sput_input_sw021" clasass="sls="sref">sput_input_sweeee,i\a>}22111L1046".ref="+code=scanprivate_value021" clasass="sprivate_valueeeee"a>ref="+code=scan=OMPOSE_SBCREG021" clasass="s=OMPOSE_SBCREGeeeeamp;seleft_shiftpsnipci" cleft_shifteeee,imp;snipci" cright_shifteeee, 1, 0, 1a,i\a>}2211 clas/a>}22111"ip"an>28a href="s2sound/pci/cmipc2114000" i221L1021" class="lineeeeeee21L10>21L4"ip"oup_t_p="+code=snrpsess="sref">sinfo_input_sw021" clasass="sls="sref">sinfo_input_sweeeeaou struct >ntrol021" clasass="sls="k>>ntrol" namamp;>ntrol021" clasass="sk>>ntrol" na,a>125a href="s2sound/pci/cmipc21L5000" i221L10215" class="line" nam21L10>2115015     6">1046<<<<<<<<<<<<<<<<<<<<_info21L6"ip"/a>s22111015        ref="+code=scanSNDRV_CTL_ELEM_TYPE_BOOLEAN021" clasass="sSNDRV_CTL_ELEM_TYPE_BOOLEANeeeen 0;28a href="s2sound/pci/cmipc21L8000" i221L10218" class="line" nam21L10>2118015        snipci" cc="steeee"a>4n 0;28a href="s2sound/pci/cmipc21L9000" i221L1021" class="line" name21L10>2119015        s(classmineeee"a> n 0;28a href="s2sound/pci/cmipc2121000" i221L10220" class="line" nam21L10>21L1L1046">10461n 0;28a href="s2sound/pci/cmipc2121000" i221L1022" class="line" name21L10>2121015     +code=s n 0;28a href="s2sound/pci/cmipc2122000" i221L1022" class="line" name21L10>212 clas/a>}221L1"ip" a>}2sess="sref">sget_input_sw021" clasass="sls="sref">sget_input_swL104aou struct >ntrol021" clasass="sls="k>>ntrol" namamp;>ntrol021" clasass="sk>>ntrol" na,a>125a href="s2sound/pci/cmipc2125000" i221L10225" class="line" nam21L10>2125015     6">1046<<<<<<<<<<<<<<<<<<<_value021" clasass="sls="ctl_ele>_value" namamp;>ntrol021" clasass="su>>ntrol" na) 0;28a href="s2sound/pci/cmipc2126000" i221L1022" class="line" name21L10>2126"ip"/a>s22121015        struct 021" clasass="scref">eeeeeamp;ref="+code=scanls="k>>ntrol_chip021" clasass="sls="k>>ntrol_chipeeeeamp;>ntrol021" clasass="sk>>ntrol" naan 0;28a href="s2snd/pci/cmipcim2128000" i221L1022" claline" name="L921L10>2128015        struct _sb_reg021" clasass="scref">_sb_reg" nam de=snrpsereg021" clasass="sregeeeen 0;28a href="s2sound/pci/cmipc21L9000" i221L10229 class="line} else21L10>2129015     ="+code=snrpseval1021" clasass="sval1eeee,imp;21L1039< 0;28a href="s2sound/pci/cmipc2131000" i221L1023" class="line" name21L10>2131L1046">1046_sb_reg_def">s021" clasass="scref">_sb_reg_def">seeeea>, &10462131"ip" class="ref="+code=scanval1021" clasass="sval1eeee"a>ref="+code=scanls="sref">smixer_readpci_spdif_defauls="sref">smixer_readeeeeamp;sereg021" clasass="sregeeee.ref="+code=scanleft_reg021" clasass="sleft_regeeee)n 0;28a href="s2snd/pci/cmipcim21L4000" i221L1023" class="lineeeeeee21L10>21Leeeeeeeee019<   ref="+code=scanls="sref">smixer_readpci_spdif_defauls="sref">smixer_readeeeeamp;sereg021" clasass="sregeeee.ref="+code=scanright_reg021" clasass="sright_regeeee)n 0;28a href="s2snd/pci/cmipcim21L5000" i221L10235" class="line" nam21L10>21L"L1046">104621Lr039   mp;>ntrol021" clasass="su>>ntrol" nahamp;a h>a h  de=snrpsereg021" clasass="sregeeee.ref="+code=scanleft_shiftpsnipci" cleft_shifteeee) >, &a 1n 0;28a href="s2sound/pci/cmipc2137000" i221L10237 class="line" name21L10>21L1015        amp;a h>a h  de=snrpsereg021" clasass="sregeeee.ref="+code=scanleft_shiftpsnipci" cleft_shifteeee) >, &a 1n 0;28a href="s2sound/pci/cmipc2138000" i221L10238" class="line" nam21L10>21L8015        amp;a h>a h  de=snrpsereg021" clasass="sregeeee.ref="+code=scanright_shiftpsnipci" cright_shifteeee) >, &a 1n 0;28a href="s2sound/pci/cmipc2139000" i221L1029" class="lineeeeeee21L10>2139015        amp;a h>a h  de=snrpsereg021" clasass="sregeeee.ref="+code=scanright_shiftpsnipci" cright_shifteeee) >, &a 1n 0;28a href="s2sound/pci/cmipc2141000" i221L10240" class="line" nam21L10>2141L1046">1046<+code=s n 0;28a href="s2sound/pci/cmipc2141000" i221L1024" class="line" name21L10>2141011}2214 clasa>}221L1"ip"oup_t_p="+code=snrpsels="sref">sput_input_sw021" clasass="sls="sref">sput_input_sweeeeaou struct >ntrol021" clasass="sls="k>>ntrol" namamp;>ntrol021" clasass="sk>>ntrol" na,a>125a href="s2sound/pci/cmipc2144000" i221L1024" class="lineeeeeee21L10>2144015     6">1046   <<<<<<<<<<_value021" clasass="sls="ctl_ele>_value" namamp;>ntrol021" clasass="su>>ntrol" na) 0;28a href="s2sound/pci/cmipc21L5000" i221L10245" class="line" nam21L10>21L"L104/a>s221L6L1046">1046<   struct 021" clasass="scref">eeeeeamp;ref="+code=scanls="k>>ntrol_chip021" clasass="sls="k>>ntrol_chipeeeeamp;>ntrol021" clasass="sk>>ntrol" naan 0;28a href="s2snd/pci/cmipcim2147000" i221L10247 class="liness="li21L10>2141015        struct _sb_reg021" clasass="scref">_sb_reg" nam de=snrpsereg021" clasass="sregeeeen 0;28a href="s2sound/pci/cmipc2148000" i221u10248" clss="line" name21u10>2148class="sref"="+code=snrpsechangs021" clasass="schangseeeen 0;28a href="s2sound/pci/cmipc2149000" i221u1024" clas="line" name=21u10>2149015     ="+code=snrpseval1021" clasass="sval1eeee,imp;seoval1021" clasass="soval1eeee,imp;s25" class="line" name21u>s>2151039< 0;28a href="s2sound/pci/cmipc2151000" i221u>s251" class="line" nam21u>s>21u1L1046">1046_sb_reg_def">s021" clasass="scref">_sb_reg_def">seeeea>, &s25" class="linei036">21u>s>2152L1046">1046s253" clck" class="sre21u>s>2151"ip" class="ref="+code=scanoval1021" clasass="soval1eeee"a>ref="+code=scanls="sref">smixer_readpci_spdif_defauls="sref">smixer_readeeeeamp;sereg021" clasass="sregeeee.ref="+code=scanleft_reg021" clasass="sleft_regeeee)n 0;28a href="s2snd/pci/cmipcim2154000" i221u>s25" class="lineclass=21u>s>21ueeeeeeeee019<   ref="+code=scanls="sref">smixer_readpci_spdif_defauls="sref">smixer_readeeeeamp;sereg021" clasass="sregeeee.ref="+code=scanright_reg021" clasass="sright_regeeee)n 0;28a href="s2snd/pci/cmipcim2155000" i221u>s255 claf="+code=i" cl21u>s>215"L1046">1046ref="+code=scanoval1021" clasass="soval1eeee">, &a ~=(1&<< ref="+code=scanreg021" clasass="sregeeee.ref="+code=scanleft_shiftpsnipci" cleft_shifteeee) | (1&<< ref="+code=scanreg021" clasass="sregeeee.ref="+code=scanright_shiftpsnipci" cright_shifteeee))n 0;28a href="s2snd/pci/cmipcim2156000" i221u>s25" class="lineif (cl21u>s>215r039   mp;ref="+code=scanoval2021" clasass="soval2eeee">, &a ~=(1&<< ref="+code=scanreg021" clasass="sregeeee.ref="+code=scanleft_shiftpsnipci" cleft_shifteeee) | (1&<< ref="+code=scanreg021" clasass="sregeeee.ref="+code=scanright_shiftpsnipci" cright_shifteeee))n 0;28a href="s2snd/pci/cmipcim2157000" i221u>s257 class="line" name21u>s>2151015        amp;>ntrol021" clasass="su>>ntrol" nahsnipci" cleft_shifteeeen 0;28a href="s2snd/pci/cmipcim2158000" i221u>s2s8" class="line" nam21u>s>2158015        amp;>ntrol021" clasass="su>>ntrol" nahsnipci" cleft_shifteeeen 0;28a href="s2snd/pci/cmipcim2159000" i221u>s25" clas="line" name=21u>s>2159015        amp;>ntrol021" clasass="su>>ntrol" nahsnipci" cright_shifteeeen 0;28a href="s2sound/pci/cmipc2161000" i221u>s260" class="lin=chip"21u>s>2161L1046">1046amp;>ntrol021" clasass="su>>ntrol" nahsnipci" cright_shifteeeen 0;28a href="s2sound/pci/cmipc2161000" i221u>s26" class="line="sref21u>s>21u1L1046">1046ref="+code=scanval1021" clasass="sval1eeee"!a>ref="+code=scanoval1021" clasass="soval1eeee"||ref="+code=scanoval2021" clasass="soval2eeeen 0;28a href="s2sound/pci/cmipc2162000" i221u>s26" class="lineif (cl21u>s>2162L1046">1046smixer_writa021" clasass="sls="sref">smixer_writaeeeeamp;sereg021" clasass="sregeeee.ref="+code=scanleft_reg021" clasass="sleft_regeeee,i de=snrpseval1021" clasass="sval1eeee)n 0;28a href="s2snd/pci/cmipcim21u3000" i221u>s263" class="line" nam21u>s>2161"ip" class="ref="+code=scan s="sref">smixer_writa021" clasass="sls="sref">smixer_writaeeeeamp;sereg021" clasass="sregeeee.ref="+code=scanright_reg021" clasass="sright_regeeee,i de=snrpseval2021" clasass="sval2eeee)n 0;28a href="s2snd/pci/cmipcim21u4000" i221u>s26" class="lineeeeeee21u>s>216eeeeeeeee019<   s265" class="line" nam21u>s>216"L1046">1046<+code=sode=snrpsechangs021" clasass="schangseeeen 0;28a href="s2sound/pci/cmipc2166000" i221u>s26" class="line" name21u>s>21u6"ip"/a>}2s267 class="line" name21u>s>21u7" naa>}2s268" class="line" nam21u>s>21u8015<>>>>>>>>>>>>>>>>>>>>>>CM */28a href="s2sound/pci/cmipc2169000" i221u>s26" clas="line" name=21u>s>21u9015<>>>>>>>>>>>>>>>>>>>>>>a* native mixer switches/voluees */28a href="s2sound/pci/cmipc2171000" i221u>s270" class="line" nam21u>s>21u>015<>>>>>>>>>>>>>>>>>>>>>>a*> */28a href="s2sound/pci/cmipc2171000" i221u>s27" class="line" name21u>s>21u101528a href="s2sound/pci/cmipc2172000" i221u>s27" class="line" name21u>s>21u clas#defs="RL1l[sereg021" clasass="sregeeee,imp;snipci" clshifteeee,imp;snipci" crshifteeee,imp;snipci" cinvertL104)i\a>}2s273" class="line" nam21u>s>21u1"ip"{ .ref="+code=scanifacepsnipci" cifaceeeee"a>ref="+code=scanSNDRV_CTL_ELEM_IFACE_MIXER021" clasass="sSNDRV_CTL_ELEM_IFACE_MIXERL104,i.ref="+code=scaneeee021" clasass="seeeeeeee"a>ref="+code=scanxeeee021" clasass="sxeeeeeeee,i\a>}2s27" class="lineeeeeee21u>s>21ueeeeeee.ref="+code=scaninforef="+code=scanls="sref">sinfo_nativesmixer021" clasass="sls="sref">sinfo_nativesmixereeee,i\a>}2s275" class="line" nam21u>s>21u5class=.ref="+code=scangetpsnipci" cgeteeee"a>ref="+code=scanls="sref">sget_nativesmixer021" clasass="sls="sref">sget_nativesmixerL104,i.ref="+code=scanputpsnipci" cputeeee"a>ref="+code=scanls="sref">sput_nativesmixer021" clasass="sls="sref">sput_nativesmixereeee,i\a>}2s27" class="line" name21u>s>21u6"ip" c.ref="+code=scanprivate_value021" clasass="sprivate_valueeeee"a>ref="+code=scan=OMPOSE_SBCREG021" clasass="s=OMPOSE_SBCREGeeeeamp;snipci" clshifteeee,imp;snipci" crshifteeee,i1,imp;snipci" cinvertL104, 1a,i\a>}2s277 class="line" name21u>s>21u1015}2s278" class="lin} else21u>s>2178015}2s27" class="line" name21u>s>21u9015<#defs="RL1l[sereg021" clasass="sregeeee,imp;snipci" cshifteeee,imp;snipci" cinvertL104)i\a>}2s280" class="line" nam21u>s>21u>015<{ .ref="+code=scanifacepsnipci" cifaceeeee"a>ref="+code=scanSNDRV_CTL_ELEM_IFACE_MIXER021" clasass="sSNDRV_CTL_ELEM_IFACE_MIXERL104,i.ref="+code=scaneeee021" clasass="seeeeeeee"a>ref="+code=scanxeeee021" clasass="sxeeeeeeee,i\a>}2s28" class="line" name21u>s>2181L1046".ref="+code=scaninforef="+code=scanls="sref">sinfo_nativesmixer021" clasass="sls="sref">sinfo_nativesmixereeee,i\a>}2s28" class="line" name21u>s>21u class=.ref="+code=scangetpsnipci" cgeteeee"a>ref="+code=scanls="sref">sget_nativesmixer021" clasass="sls="sref">sget_nativesmixerL104,i.ref="+code=scanputpsnipci" cputeeee"a>ref="+code=scanls="sref">sput_nativesmixer021" clasass="sls="sref">sput_nativesmixereeee,i\a>}2s283" class="line" nam21u>s>21u1"ip" c.ref="+code=scanprivate_value021" clasass="sprivate_valueeeee"a>ref="+code=scan=OMPOSE_SBCREG021" clasass="s=OMPOSE_SBCREGeeeeamp;snipci" cshifteeee,imp;snipci" cshifteeee,i1,imp;snipci" cinvertL104, 0a,i\a>}2s28" class="lineeeeeee21u>s>21u4015}2s285" class="linss="li21u>s>21u"L104a>}2s28" class="line=chip"21u>s>21ur039<#defs="RL1l[sereg021" clasass="sregeeee,imp;snipci" clshifteeee,imp;snipci" crshifteeee,imp;s287 class="line" name21u>s>21u1015<{ .ref="+code=scanifacepsnipci" cifaceeeee"a>ref="+code=scanSNDRV_CTL_ELEM_IFACE_MIXER021" clasass="sSNDRV_CTL_ELEM_IFACE_MIXERL104,i.ref="+code=scaneeee021" clasass="seeeeeeee"a>ref="+code=scanxeeee021" clasass="sxeeeeeeee,i\a>}2s282sou10248" clss="li21u>s>21u8015ref="+code=scanls="sref">sinfo_nativesmixer021" clasass="sls="sref">sinfo_nativesmixereeee,i\a>}22189L1046".ref="+code=scangetpsnipci" cgeteeee"a>ref="+code=scanls="sref">sget_nativesmixer021" clasass="sls="sref">sget_nativesmixerL104,i.ref="+code=scanputpsnipci" cputeeee"a>ref="+code=scanls="sref">sput_nativesmixer021" clasass="sls="sref">sput_nativesmixereeee,i\a>}2s190" class="line" nam21u>s>2191L1046".ref="+code=scanprivate_value021" clasass="sprivate_valueeeee"a>ref="+code=scan=OMPOSE_SBCREG021" clasass="s=OMPOSE_SBCREGeeeeamp;snipci" clshifteeee,imp;snipci" crshifteeee,imp;s19" class="line" name21u>s>2191011}2s19" class="line" name21u>s>219 clasa>}2s1s3" class="line" nam21u>s>21u1"ip"#defs="RL1l[sereg021" clasass="sregeeee,imp;snipci" cshifteeee,imp;s19" class="lineeeeeee21u>s>21u4015<{ .ref="+code=scanifacepsnipci" cifaceeeee"a>ref="+code=scanSNDRV_CTL_ELEM_IFACE_MIXER021" clasass="sSNDRV_CTL_ELEM_IFACE_MIXERL104,i.ref="+code=scaneeee021" clasass="seeeeeeee"a>ref="+code=scanxeeee021" clasass="sxeeeeeeee,i\a>}2s195" class="line" nam21u>s>2195class=.ref="+code=scaninforef="+code=scanls="sref">sinfo_nativesmixer021" clasass="sls="sref">sinfo_nativesmixereeee,i\a>}2s19" class="line" name21u>s>2196"ip" c.ref="+code=scangetpsnipci" cgeteeee"a>ref="+code=scanls="sref">sget_nativesmixer021" clasass="sls="sref">sget_nativesmixerL104,i.ref="+code=scanputpsnipci" cputeeee"a>ref="+code=scanls="sref">sput_nativesmixer021" clasass="sls="sref">sput_nativesmixereeee,i\a>}2s197 class="line" name21u>s>21u1015ref="+code=scan=OMPOSE_SBCREG021" clasass="s=OMPOSE_SBCREGeeeeamp;snipci" cshifteeee,imp;snipci" cshifteeee,imp;s198" class="line" nam21u>s>21u8015}2s1s9 class="liness="li21u>s>21u9015}2220>015sess="sref">sinfo_nativesmixer021" clasass="sls="sref">sinfo_nativesmixereeeeaou struct >ntrol021" clasass="sls="k>>ntrol" namamp;>ntrol021" clasass="sk>>ntrol" na,a>125a href="s2sound/pci/cmipc22L1000" i222L>s19" class="line" name22L>s>2201015     6">1 AC36">1046<<<<<<<<<<<<<<<<_infos19" class="line" name22L>s>22L clas/a>s2s1s3" class="line" nam22L>s>2201"ip" class="   struct _sb_reg021" clasass="scref">_sb_reg" nam de=snrpsereg021" clasass="sregeeeen 0;28a href="s2sound/pci/cmipc22L4000" i222L>s19" class="lineeeeeee22L>s>2204clas 0;28a href="s2sound/pci/cmipc22L5000" i222L>s195" class="line" nam22L>s>220"L1046">1046_sb_reg_def">s021" clasass="scref">_sb_reg_def">seeeea>, &s19" class="line" name22L>s>220r039   mp;ref="+code=scanreg021" clasass="sregeeee.ref="+code=scanmaskock" class="sremaskeeee&== 1 ?>ref="+code=scanSNDRV_CTL_ELEM_TYPE_BOOLEAN021" clasass="sSNDRV_CTL_ELEM_TYPE_BOOLEANeeee :>ref="+code=scanSNDRV_CTL_ELEM_TYPE_INTEGER021" clasass="sSNDRV_CTL_ELEM_TYPE_INTEGEReeeen 0;28a href="s2sound/pci/cmipc22L7000" i222L>s197 class="line" name22L>s>2201015        snipci" cc="steeee"a>ref="+code=scanreg021" clasass="sregeeee.ref="+code=scanp+ereos198" class="line" nam22L>s>2208015        s(classmineeee"a> n 0;28a href="s2sound/pci/cmipc22L9000" i222L>s1s9 class="liness="li22L>s>2209015        ref="+code=scanreg021" clasass="sregeeee.ref="+code=scanmaskock" class="sremaskeeeen 0;28a href="s2sound/pci/cmipc2211000" i222L10210" class="linck" cl22L10>2211L1046">1046<+code=s n 0;28a href="s2sound/pci/cmipc2211000" i222L1021" class="line" name22L10>221101528a href="s2sound/pci/cmipc2212000" i222L1021" class="line" name22L10>221 clas/a>}22211"ip"an>28a href="s2sound/pci/cmipc2214000" i222L1021" class="lineeeeeee22L10>22L4"ip"oup_t_p="+code=snrpsess="sref">sget_nativesmixer021" clasass="sls="sref">sget_nativesmixerL104aou struct >ntrol021" clasass="sls="k>>ntrol" namamp;>ntrol021" clasass="sk>>ntrol" na,a>125a href="s2sound/pci/cmipc22L5000" i222L10215" class="line" nam22L10>2215015     6">1046<<<<<<<<<<<<<<<<<<<<<<<_value021" clasass="sls="ctl_ele>_value" namamp;>ntrol021" clasass="su>>ntrol" na) 0;28a href="s2sound/pci/cmipc2216000" i222L1021" class="line" name22L10>22L6"ip"/a>s22211015        struct 021" clasass="scref">eeeeeamp;ref="+code=scanls="k>>ntrol_chip021" clasass="sls="k>>ntrol_chipeeeeamp;>ntrol021" clasass="sk>>ntrol" naan 0;28a href="s2snd/pci/cmipcim22L8000" i222L10218" class="line" nam22L10>2218015        struct _sb_reg021" clasass="scref">_sb_reg" nam de=snrpsereg021" clasass="sregeeeen 0;28a href="s2sound/pci/cmipc22L9000" i222L1021" class="line" name22L10>2219015     unsigned char>ref="+code=scanoreg021" clasass="soregeeee,i de=snrpseval021" clasass="svaleeeen 0;28a href="s2sound/pci/cmipc2221000" i222L10220" class="line" nam22L10>2221039< 0;28a href="s2sound/pci/cmipc2221000" i222L1022" class="line" name22L10>2221L1046">1046_sb_reg_def">s021" clasass="scref">_sb_reg_def">seeeea>, &2222L1046">10462221"ip" class="ref="+code=scanoreg021" clasass="soregeeee"a>ref="+code=scaninb021" clasass="sinbeeeeamp;snipci" ciobaseL104 + ref="+code=scanreg021" clasass="sregeeee.ref="+code=scanleft_reg021" clasass="sleft_regeeee)n 0;28a href="s2snd/pci/cmipcim2224000" i222L1022" class="lineeeeeee22L10>222eeeeeeeee019<   amp;a h>a h  de=snrpsereg021" clasass="sregeeee.ref="+code=scanleft_shiftpsnipci" cleft_shifteeee) >, &a ref="+code=scanreg021" clasass="sregeeee.ref="+code=scanmaskock" class="sremaskeeeen 0;28a href="s2sound/pci/cmipc2225000" i222L10225" class="line" nam22L10>2225015     if>amp;snipci" cinvertL104) 0;28a href="s2sound/pci/cmipc2226000" i222L1022" class="line" name22L10>2226"ip" class="""""""""mp;ref="+code=scanreg021" clasass="sregeeee.ref="+code=scanmaskock" class="sremaskeeee&-i de=snrpseval021" clasass="svaleeeen 0;28a href="s2sound/pci/cmipc2227000" i222L10227 class="line" name22L10>2221015         de=snrpseval021" clasass="svaleeeen 0;28a href="s2sound/pci/cmipc2228000" i222L1022" claline" name="L922L10>2228015     if>amp;s21046< de=snrpseval021" clasass="svaleeee"a>amp;a h>a h  de=snrpsereg021" clasass="sregeeee.ref="+code=scanright_shiftpsnipci" cright_shifteeee) >, &a ref="+code=scanreg021" clasass="sregeeee.ref="+code=scanmaskock" class="sremaskeeeen 0;28a href="s2sound/pci/cmipc2231000" i222L10230" class="line" nam22L10>2230015     6">1046amp;snipci" cinvertL104) 0;28a href="s2sound/pci/cmipc2231000" i222L1023" class="line" name22L10>2231015     6">1 AC36">1046ref="+code=scanreg021" clasass="sregeeee.ref="+code=scanmaskock" class="sremaskeeee&-i de=snrpseval021" clasass="svaleeeen 0;28a href="s2sound/pci/cmipc22L2000" i222L1022" clack" class="sre22L10>2232L1046">1046         de=snrpseval021" clasass="svaleeeen 0;28a href="s2sound/pci/cmipc2233000" i222L10233" class="line" nam22L10>2231"ip" class="/a>}222L"L1046">1046<+code=s n 0;28a href="s2sound/pci/cmipc2236000" i222L1023" class="line" name22L10>2236"ip"/a>}22237" naa>}222L8015sels="sref">sput_nativesmixer021" clasass="sls="sref">sput_nativesmixereeeeaou struct >ntrol021" clasass="sls="k>>ntrol" namamp;>ntrol021" clasass="sk>>ntrol" na,a>125a href="s2sound/pci/cmipc2239000" i222L1029" class="lineeeeeee22L10>2239015     6">1046<<<<<<<<<<<<<<<<<<<<<<<_value021" clasass="sls="ctl_ele>_value" namamp;>ntrol021" clasass="su>>ntrol" na) 0;28a href="s2sound/pci/cmipc2241000" i222L10240" class="line" nam22L10>2241L104/a>s22241015        struct 021" clasass="scref">eeeeeamp;ref="+code=scanls="k>>ntrol_chip021" clasass="sls="k>>ntrol_chipeeeeamp;>ntrol021" clasass="sk>>ntrol" naan 0;28a href="s2snd/pci/cmipcim2242000" i222L1024" class="line" name22L10>2242015        struct _sb_reg021" clasass="scref">_sb_reg" nam de=snrpsereg021" clasass="sregeeeen 0;28a href="s2sound/pci/cmipc2243000" i222L10243" class="line" nam22L10>2241"ip" class="unsigned char>ref="+code=scanoreg021" clasass="soregeeee,i de=snrpsenreg021" clasass="snregeeee,i de=snrpseval021" clasass="svaleeeen 0;28a href="s2sound/pci/cmipc2244000" i222L1024" class="lineeeeeee22L10>2244clas 0;28a href="s2sound/pci/cmipc22L5000" i222L10245" class="line" nam22L10>224"L1046">1046_sb_reg_def">s021" clasass="scref">_sb_reg_def">seeeea>, &224r039   mp;2241015        ref="+code=scaninb021" clasass="sinbeeeeamp;snipci" ciobaseL104 + ref="+code=scanreg021" clasass="sregeeee.ref="+code=scanleft_reg021" clasass="sleft_regeeee)n 0;28a href="s2snd/pci/cmipcim2248000" i222u10248" clss="line" name22u10>2248015        ref="+code=scanu>>ntrol021" clasass="su>>ntrol" nah2249015     =f>amp;snipci" cinvertL104) 0;28a href="s2sound/pci/cmipc2251000" i222u>s25" class="line" name22u>s>2250015     6">1046ref="+code=scanreg021" clasass="sregeeee.ref="+code=scanmaskock" class="sremaskeeee&-i de=snrpseval021" clasass="svaleeeen 0;28a href="s2sound/pci/cmipc2251000" i222u>s251" class="line" nam22u>s>22u1L1046">1046ref="+code=scanoreg021" clasass="soregeeee">, &a ~=ref="+code=scanreg021" clasass="sregeeee.ref="+code=scanmaskock" class="sremaskeeee&<< ref="+code=scanreg021" clasass="sregeeee.ref="+code=scanleft_shiftpsnipci" cleft_shifteeee)n 0;28a href="s2sound/pci/cmipc2252000" i222u>s25" class="linei036">22u>s>2252L1046">1046amp;snipci" cleft_shifteeee)n 0;28a href="s2sound/pci/cmipc2253000" i222u>s253" clck" class="sre22u>s>2251"ip" class="if>amp;s2s25" class="lineclass=22u>s>22ueeeeeeeee019        ref="+code=scanu>>ntrol021" clasass="su>>ntrol" nahs255 claf="+code=i" cl22u>s>2255015     6">1046<=f>amp;snipci" cinvertL104) 0;28a href="s2sound/pci/cmipc2256000" i222u>s25" class="lineif (cl22u>s>2256"ip" class="""""""""6">1046ref="+code=scanreg021" clasass="sregeeee.ref="+code=scanmaskock" class="sremaskeeee&-i de=snrpseval021" clasass="svaleeeen 0;28a href="s2sound/pci/cmipc2257000" i222u>s257 class="line" name22u>s>2251015     6">1046, &a= ~=ref="+code=scanreg021" clasass="sregeeee.ref="+code=scanmaskock" class="sremaskeeee&<< ref="+code=scanreg021" clasass="sregeeee.ref="+code=scanright_shiftpsnipci" cright_shifteeee)n 0;28a href="s2sound/pci/cmipc2258000" i222u>s2s8" class="line" nam22u>s>2258015     6">1046amp;snipci" cright_shifteeee)n 0;28a href="s2sound/pci/cmipc2259000" i222u>s25" clas="line" name=22u>s>2259015     /a>}2s260" class="lin=chip"22u>s>2261L1046">1046semipci_spdif_default_puthsnipci" ciobaseL104 + ref="+code=scanreg021" clasass="sregeeee.ref="+code=scanleft_reg021" clasass="sleft_regeeee)n 0;28a href="s2snd/pci/cmipcim2261000" i222u>s26" class="line="sref22u>s>22u1L1046">1046s26" class="lineif (cl22u>s>2262L1046">1046<+code=samp;ref="+code=scanoreg021" clasass="soregeeeean 0;28a href="s2snd/pci/cmipcim2263000" i222u>s263" class="line" nam22u>s>2261"ip"/a>}2s26" class="lineeeeeee22u>s>2264clas 0;28a href="s2sound/pci/cmipc22u5000" i222u>s265" class="line" nam22u>s>226"L104>>>>>>>>>>>>>>>>>>>>>>CM */28a href="s2sound/pci/cmipc2266000" i222u>s26" class="line" name22u>s>22u6"ip">>>>>>>>>>>>>>>>>>>>>>a* special case&-icheck mixer sensitivity */28a href="s2sound/pci/cmipc2267000" i222u>s267 class="line" name22u>s>22u7" na>>>>>>>>>>>>>>>>>>>>>>a*> */28a href="s2sound/pci/cmipc2268000" i222u>s268" class="line" nam22u>s>2268015sels="sref">sget_nativesmixer_sensitive021" clasass="sls="cref">sget_nativesmixer_sensitiveeeeeaou struct >ntrol021" clasass="sls="k>>ntrol" namamp;>ntrol021" clasass="sk>>ntrol" na,a>125a href="s2sound/pci/cmipc2269000" i222u>s26" clas="line" name=22u>s>2269015     6">1046<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<_value021" clasass="sls="ctl_ele>_value" namamp;>ntrol021" clasass="su>>ntrol" na) 0;28a href="s2sound/pci/cmipc2271000" i222u>s270" class="line" nam22u>s>2271L104/a>s2s27" class="line" name22u>s>2271L1046">1046>>>>>>>>>>>>>>>>>>>>C/ou struci/cmi *cm"a>ls="k>>ntrol_chip(k>>ntrol); */28a href="s2sound/pci/cmipc2272000" i222u>s27" class="line" name22u>s>2272L1046">1046<+code=sode=snrpsels="sref">sget_nativesmixer021" clasass="sls="cref">sget_nativesmixereeeeamp;>ntrol021" clasass="sk>>ntrol" na,i de=snrpseu>>ntrol021" clasass="su>>ntrol" na)n 0;28a href="s2snd/pci/cmipcim2273000" i222u>s273" class="line" nam22u>s>2271"ip"/a>}2s27" class="lineeeeeee22u>s>2274clas 0;28a href="s2sound/pci/cmipc2275000" i222u>s275" class="line" nam22u>s>22u5clasoup_t_p="+code=snrpsels="sref">sput_nativesmixer_sensitive021" clasass="sls="cref">sput_nativesmixer_sensitiveeeeeaou struct >ntrol021" clasass="sls="k>>ntrol" namamp;>ntrol021" clasass="sk>>ntrol" na,a>125a href="s2sound/pci/cmipc2276000" i222u>s27" class="line" name22u>s>2276"ip" class="""""""""6">1046<<<<<<<<<<<<<<<<<<<<<<<<<_value021" clasass="sls="ctl_ele>_value" namamp;>ntrol021" clasass="su>>ntrol" na) 0;28a href="s2sound/pci/cmipc2277000" i222u>s277 class="line" name22u>s>22u1015s2s278" class="lin} else22u>s>2278015        struct 021" clasass="scref">" namamp;ref="+code=scanls="k>>ntrol_chip021" clasass="sls="k>>ntrol_chipeeeeamp;>ntrol021" clasass="sk>>ntrol" naan 0;28a href="s2snd/pci/cmipcim2279000" i222u>s27" class="line" name22u>s>2279015     =f>amp;s280" class="line" nam22u>s>2280015     6">1046>>>>>>>>>>>>>>>>>>>>CM ignoreda*> */28a href="s2sound/pci/cmipc2281000" i222u>s28" class="line" name22u>s>2281015     6">1 AC3+code=s n 0;28a href="s2sound/pci/cmipc2282000" i222u>s28" class="line" name22u>s>2282L1046">1046}2s283" class="line" nam22u>s>2283L1046">1046<+code=sode=snrpsels="sref">sput_nativesmixer021" clasass="sls="sref">sput_nativesmixereeeeamp;>ntrol021" clasass="sk>>ntrol" na,i de=snrpseu>>ntrol021" clasass="su>>ntrol" na)n 0;28a href="s2snd/pci/cmipcim22u4000" i222u>s28" class="lineeeeeee22u>s>22u4015}2s285" class="linss="li22u>s>22u"L104a>}2s28" class="line=chip"22u>s>22ur039}2s287 class="line" name22u>s>22u1015>ntrol_new021" clasass="sls="k>>ntrol_newL1046ode=snrpsels="sref">smixers021" clasass="sls="sref">smixerseeee[]6ode=snrpse__devinitdata021" clasass="s__devinitdata_put"a>/a>s2s282sou10248" clss="li22u>s>2288015        "Malter Playback Voluee" */seSB_DSP4_MASTER_DEV021" clasass="sSB_DSP4_MASTER_DEV" na,i3,i31),a>125a href="s2sound/pci/cmipc2289000" i222 heveina hro|de=type" cl22 he>2289015        "3D C>ntrol - Switch" */seCMCREG_MIXER1021" clasass="sCMCREG_MIXER1" na,i de=snrpseCMCX3DEN_SHIFT021" clasass="sCMCX3DEN_SHIFT" na,i0),a>125a href="s2sound/pci/cmipc2291000" i222u>s190" class="line" nam22u>s>2291L1046">1046"PCM Playback Voluee" */seSB_DSP4_PCM_DEV021" clasass="sSB_DSP4_PCM_DEV" na,i3,i31),a>125a href="s2sound/pci/cmipc2291000" i222u>s19" class="line" name22u>s>2291L1046">1046>>>>>>>>>>>>>>>>>>>>C/=MIPCI_MIXER_SW_MONO("PCM Playback Switch", CMCREG_MIXER1, CMCWSMUTE_SHIFT, 1a, */28a href="s2sound/pci/cmipc2292000" i222u>s19" class="line" name22u>s>2292L1046">1046<{>>>>>>>>>>>>>>>>>>>>CM switch with sensitivitya*> */28a href="s2sound/pci/cmipc2293000" i222u>s1s3" class="line" nam22u>s>2293015     6">1 AC3.ref="+code=scanifacepsnipci" cifaceeeee"a>ref="+code=scanSNDRV_CTL_ELEM_IFACE_MIXER021" clasass="sSNDRV_CTL_ELEM_IFACE_MIXERL104,an>28a href="s2sound/pci/cmipc2294000" i222u>s19" class="lineeeeeee22u>s>229eeeeeeeee019     .ref="+code=scaneeee021" clasass="seeeeeeee"a>r>>>>>>>>>>>>ou ing">"PCM Playback Switch" */28a href="s2sound/pci/cmipc2295000" i222u>s195" class="line" nam22u>s>2295015     6">1046<.ref="+code=scaninforef="+code=scanls="sref">sinfo_nativesmixer021" clasass="sls="sref">sinfo_nativesmixereeee,an>28a href="s2sound/pci/cmipc2296000" i222u>s19" class="line" name22u>s>2296"ip" class=""""""""".ref="+code=scangetpsnipci" cgeteeee"a>ref="+code=scanls="sref">sget_nativesmixer_sensitive021" clasass="sls="cref">sget_nativesmixer_sensitiveeeee,an>28a href="s2sound/pci/cmipc2297000" i222u>s197 class="line" name22u>s>2291015     6">1046<.ref="+code=scanputpsnipci" cputeeee"a>ref="+code=scanls="sref">sput_nativesmixer_sensitive021" clasass="sls="cref">sput_nativesmixer_sensitiveeeee,an>28a href="s2sound/pci/cmipc2298000" i222u>s198" class="line" nam22u>s>2298015     6">1046<.ref="+code=scanprivate_value021" clasass="sprivate_valueeeee"a>ref="+code=scan=OMPOSE_SBCREG021" clasass="s=OMPOSE_SBCREGeeeeamp;seCMCREG_MIXER1021" clasass="sCMCREG_MIXER1" na,i de=snrpseCMCWSMUTE_SHIFT021" clasass="sCMCWSMUTE_SHIFT" na,i de=snrpseCMCWSMUTE_SHIFT021" clasass="sCMCWSMUTE_SHIFT" na,i1,i1,i0),a>125a href="s2sound/pci/cmipc2299000" i222u>s1s9 class="liness="li22u>s>2299015     /,a>125a href="s2sound/pci/cmipc23L1000" i223L100s9 class="liness="li23L10>2301L1046">1046"PCM Capodee Switch" */seCMCREG_MIXER1021" clasass="sCMCREG_MIXER1" na,i de=snrpseCMCWAVEINL_SHIFT021" clasass="sCMCWAVEINL_SHIFT" na,i de=snrpseCMCWAVEINR_SHIFT021" clasass="sCMCWAVEINR_SHIFT" na,i0),a>125a href="s2sound/pci/cmipc23L1000" i223L>s19" class="line" name23L>s>2301L1046">1046"Synth Playback Voluee" */seSB_DSP4_SYNTH_DEV021" clasass="sSB_DSP4_SYNTH_DEV" na,i3,i31),a>125a href="s2sound/pci/cmipc23L2000" i223L>s19" class="line" name23L>s>2302L1046">1046"Synth Playback Switch" */seCMCREG_MIXER1021" clasass="sCMCREG_MIXER1" na,i de=snrpseCMCFMMUTE_SHIFT021" clasass="sCMCFMMUTE_SHIFT" na,i1),a>125a href="s2sound/pci/cmipc23L3000" i223L>s1s3" class="line" nam23L>s>2301"ip" class="ref="+code=scan=MIPCI_SB_INPUT_SW021" clasass="s=MIPCI_SB_INPUT_SWeeeeam>>>>>>>>>>>>ou ing">"Synth Capodee Route" */125a href="s2sound/pci/cmipc23L4000" i223L>s19" class="lineeeeeee23L>s>230eeeeeeeee019<   "CD Playback Voluee" */seSB_DSP4_CD_DEV021" clasass="sSB_DSP4_CD_DEV" na,i3,i31),a>125a href="s2sound/pci/cmipc23L5000" i223L>s195" class="line" nam23L>s>230"L1046">1046"CD Playback Switch" */125a href="s2sound/pci/cmipc23L6000" i223L>s19" class="line" name23L>s>230r039   mp;"CD Capodee Route" */125a href="s2sound/pci/cmipc23L7000" i223L>s197 class="line" name23L>s>2301015        "Ls="RPlayback Voluee" */seSB_DSP4_LINE_DEV021" clasass="sSB_DSP4_LINE_DEV" na,i3,i31),a>125a href="s2sound/pci/cmipc23L8000" i223L>s198" class="line" nam23L>s>2308015        "Ls="RPlayback Switch" */125a href="s2sound/pci/cmipc23L9000" i223L>s1s9 class="liness="li23L>s>2309015        "Ls="RCapodee Route" */125a href="s2sound/pci/cmipc2311000" i223L10210" class="linck" cl23L10>2311L1046">1046"Mic Playback Voluee" */seSB_DSP4_MIC_DEV021" clasass="sSB_DSP4_MIC_DEV" na,i3,i31),a>125a href="s2sound/pci/cmipc2311000" i223L1021" class="line" name23L10>2311L1046">1046"Mic Playback Switch" */125a href="s2sound/pci/cmipc2312000" i223L1021" class="line" name23L10>2312L1046">1046"Mic Capodee Switch" */seSB_DSP4_INPUT_LEFT021" clasass="sSB_DSP4_INPUT_LEFT" na,i de=snrpseSB_DSP4_INPUT_RIGHT021" clasass="sSB_DSP4_INPUT_RIGHT" na,i0, 0, 1, 0, 0a,a>125a href="s2sound/pci/cmipc2313000" i223L10213" class="line" nam23L10>2311"ip" class="ref="+code=scan=MIPCI_SB_VOL_MONO021" clasass="s=MIPCI_SB_VOL_MONOeeeeam>>>>>>>>>>>>ou ing">"Beep Playback Voluee" */seSB_DSP4_SPEAKER_DEV021" clasass="sSB_DSP4_SPEAKER_DEV" na,i6,i3),a>125a href="s2sound/pci/cmipc2314000" i223L1021" class="lineeeeeee23L10>231eeeeeeeee019<   "Aux Playback Voluee" */seCMCREG_AUX_VOL021" clasass="sCMCREG_AUX_VOL" na,i4, 0, 15),a>125a href="s2sound/pci/cmipc23L5000" i223L10215" class="line" nam23L10>231"L1046">1046"Aux Playback Switch" */seCMCREG_MIXER2021" clasass="sCMCREG_MIXER2" na,i de=snrpseCMCVAUXLM_SHIFT021" clasass="sCMCVAUXLM_SHIFT" na,i de=snrpseCMCVAUXRM_SHIFT021" clasass="sCMCVAUXRM_SHIFT" na,i0),a>125a href="s2sound/pci/cmipc2316000" i223L1021" class="line" name23L10>231r039   mp;"Aux Capodee Switch" */seCMCREG_MIXER2021" clasass="sCMCREG_MIXER2" na,i de=snrpseCMCRAUXLEN_SHIFT021" clasass="sCMCRAUXLEN_SHIFT" na,i de=snrpseCMCRAUXREN_SHIFT021" clasass="sCMCRAUXREN_SHIFT" na,i0),a>125a href="s2sound/pci/cmipc23L7000" i223L10217 class="line" name23L10>2311015        "Mic Boost Playback Switch" */seCMCREG_MIXER2021" clasass="sCMCREG_MIXER2" na,i de=snrpseCMCMICGAINZ_SHIFT021" clasass="sCMCMICGAINZ_SHIFT" na,i1),a>125a href="s2sound/pci/cmipc23L8000" i223L10218" class="line" nam23L10>2318015        "Mic Capodee Voluee" */seCMCREG_MIXER2021" clasass="sCMCREG_MIXER2" na,i de=snrpseCMCVADMIC_SHIFT021" clasass="sCMCVADMIC_SHIFT" na,i7),a>125a href="s2sound/pci/cmipc23L9000" i223L1021" class="line" name23L10>2319015        "Pho="RPlayback Voluee" */seCMCREG_EXTENT_IND021" clasass="sCMCREG_EXTENT_IND" na,i5,i7),a>125a href="s2sound/pci/cmipc2321000" i223L10220" class="line" nam23L10>2321L1046">1046"Pho="RPlayback Switch" */seCMCREG_EXTENT_IND021" clasass="sCMCREG_EXTENT_IND" na,i de=snrpseCMCREG_EXTENT_IND021" clasass="sCMCREG_EXTENT_IND" na,i4,i4,i1, 0, 0a,a>125a href="s2sound/pci/cmipc2321000" i223L1022" class="line" name23L10>2321L1046">1046"Beep Playback Switch" */seCMCREG_EXTENT_IND021" clasass="sCMCREG_EXTENT_IND" na,i de=snrpseCMCREG_EXTENT_IND021" clasass="sCMCREG_EXTENT_IND" na,i3,i3,i1, 0, 0a,a>125a href="s2sound/pci/cmipc2322000" i223L1022" class="line" name23L10>2322L1046">1046"Mic Boost Capodee Switch" */seCMCREG_EXTENT_IND021" clasass="sCMCREG_EXTENT_IND" na,i de=snrpseCMCREG_EXTENT_IND021" clasass="sCMCREG_EXTENT_IND" na,i0, 0, 1, 0, 0a,a>125a href="s2sound/pci/cmipc2323000" i223L10223" class="line" nam23L10>2321"ip"}n 0;28a href="s2snd/pci/cmipcim2324000" i223L1022" class="lineeeeeee23L10>2324clas 0;28a href="s2sound/pci/cmipc2325000" i223L10225" class="line" nam23L10>232"L104>>>>>>>>>>>>>>>>>>>>>>CM */28a href="s2sound/pci/cmipc2326000" i223L1022" class="line" name23L10>2326"ip">>>>>>>>>>>>>>>>>>>>>>a* other switches */28a href="s2sound/pci/cmipc2327000" i223L10227 class="line" name23L10>2327" na>>>>>>>>>>>>>>>>>>>>>>a*> */28a href="s2sound/pci/cmipc2328000" i223L1022" claline" name="L923L10>232801528a href="s2sound/pci/cmipc2329000" i223L10229 class="line} else23L10>2329015<   struct _switch_args021" clasass="ssref">_switch_argsL1046/a>s22330015     ="+code=snrpsereg021" clasass="sregeeeen                m>>>>>>>>>>>>>>>>>>>>>CM regilter indexa*> */28a href="s2sound/pci/cmipc2331000" i223L1023" class="line" name23L10>2331015     unsigned ="+code=snrpsemaskock" class="sremaskeeeen      m>>>>>>>>>>>>>>>>>>>>>CM mask bitsa*> */28a href="s2sound/pci/cmipc2332000" i223L1022" clack" class="sre23L10>2332L1046">1046semask_ont_biof">s(classmask_oneeeen   m>>>>>>>>>>>>>>>>>>>>>CM mask bitsato ode=sona*> */28a href="s2sound/pci/cmipc2333000" i223L10233" class="line" nam23L10>2331"ip" class="unsigned ="+code=snrpseis_bytepsnipci" cis_byte"ip": 1n                m>>>>>>>>>>>>>>>>>>>>>CM byte access?a*> */28a href="s2sound/pci/cmipc2334000" i223L1023" class="lineeeeeee23L10>23Leeeeeeeee019seac3_sensitive021" clasass="sac3_sensitive"ip": 1n  m>>>>>>>>>>>>>>>>>>>>>CM access forbidden du ing */28a href="s2sound/pci/cmipc2335000" i223L10235" class="line" nam23L10>233"L104>>>>>>>>>>>>>>>>>>>>>>                                         * non-audio operation? */28a href="s2sound/pci/cmipc2336000" i223L1023" class="line" name23L10>2336"ip">>>>>>>>>>>>>>>>>>>>>>a                                        *> */28a href="s2sound/pci/cmipc2337000" i223L10237 class="line" name23L10>2337" na}n 0;28a href="s2snd/pci/cmipcim2338000" i223L10238" class="line" nam23L10>233801528a href="s2sound/pci/cmipc2339000" i223L1029" class="lineeeeeee23L10>2339015<#defs="Rref="+code=scanls="sref">suswitch_infosuswitch_info015     6ref="+code=scanls="stl_boolean_mono_info2341039< 0;28a href="s2sound/pci/cmipc2341000" i223L1024" class="line" name23L10>2341015se_ls="cref">suswitch_getpsnipci" c_ls="cref">suswitch_geteeeeaou struct >ntrol021" clasass="sls="k>>ntrol" namamp;>ntrol021" clasass="sk>>ntrol" na,a>125a href="s2sound/pci/cmipc2342000" i223L1024" class="line" name23L10>2342L1046">1046                        ou struct _value021" clasass="sls="ctl_ele>_value" namamp;>ntrol021" clasass="su>>ntrol" na,a>125a href="s2sound/pci/cmipc2343000" i223L10243" class="line" nam23L10>2343015     6">1 AC3                   ou struct _switch_args021" clasass="ssref">_switch_argsL1046amp;234"L1046">1046seval021" clasass="svaleeeen 0;28a href="s2sound/pci/cmipc23L6000" i223L1024" class="line" name23L10>234r039      struct 021" clasass="scref">" namamp;ref="+code=scanls="k>>ntrol_chip021" clasass="sls="k>>ntrol_chipeeeeamp;>ntrol021" clasass="sk>>ntrol" naan 0;28a href="s2snd/pci/cmipcim2347000" i223L10247 class="liness="li23L10>2347" naa>}22348015        2349015     =f>amp;, &a>, &a ref="+code=scanmipci_spdif_default_puths25" class="line" name23u>s>2350015     6">1046>ntrol021" clasass="su>>ntrol" nah n 0;28a href="s2sound/pci/cmipc2351000" i223u>s251" class="line" nam23u>s>2351015     6">1 AC3   s25" class="linei036">23u>s>2352L1046">1046     +code=s n 0;28a href="s2sound/pci/cmipc2353000" i223u>s253" clck" class="sre23u>s>2351"ip" class="/a>}2s25" class="lineclass=23u>s>23ueeeeeeeee019<=f>amp;snipci" cis_byte"ip") 0;28a href="s2sound/pci/cmipc2355000" i223u>s255 claf="+code=i" cl23u>s>2355015     6">1046seval021" clasass="svaleeee"a>ref="+code=scaninb021" clasass="sinbeeeeamp;snipci" ciobaseL104 + ref="+code=scanargs021" clasass="sargsL104hs25" class="lineif (cl23u>s>2356"ip" class="else 0;28a href="s2snd/pci/cmipcim2357000" i223u>s257 class="line" name23u>s>2351015     6">1046ref="+code=scanls="cref">sreadsreadeeeeamp;seargs021" clasass="sargsL104hs2s8" class="line" nam23u>s>2358015        (amp;s(classmask_oneeee) ? 1 :s n 0;28a href="s2sound/pci/cmipc2359000" i223u>s25" clas="line" name=23u>s>2359015        s260" class="lin=chip"23u>s>2361L1046">1046<+code=s n 0;28a href="s2sound/pci/cmipc2361000" i223u>s26" class="line="sref23u>s>23u1L104/a>}2s26" class="lineif (cl23u>s>2362L104a>}2s263" class="line" nam23u>s>2361"ip"oup_t_p="+code=snrpsels="sref">suswitch_getpsnipci" cls="cref">suswitch_geteeeeaou struct >ntrol021" clasass="sls="k>>ntrol" namamp;>ntrol021" clasass="sk>>ntrol" na,a>125a href="s2sound/pci/cmipc2364000" i223u>s26" class="lineeeeeee23u>s>236eeeeeeeee019                       ou struct _value021" clasass="sls="ctl_ele>_value" namamp;>ntrol021" clasass="su>>ntrol" na) 0;28a href="s2sound/pci/cmipc23u5000" i223u>s265" class="line" nam23u>s>236"L104/a>s2s26" class="line" name23u>s>236r039      struct _switch_args021" clasass="ssref">_switch_argsL1046amp;s267 class="line" name23u>s>2361015        (   struct _switch_args021" clasass="ssref">_switch_argsL1046a)mp;>ntrol021" clasass="sk>>ntrol" nahs268" class="line" nam23u>s>2368015     if>amp;s26" clas="line" name=23u>s>2369015     6">1046<+code=s-mp;s270" class="line" nam23u>s>2371L1046">1046<+code=sode=snrpse_ls="cref">suswitch_getpsnipci" c_ls="cref">suswitch_geteeeeamp;>ntrol021" clasass="sk>>ntrol" na,    seargs021" clasass="sargsL104an 0;28a href="s2snd/pci/cmipcim2371000" i223u>s27" class="line" name23u>s>2371L104/a>}2s27" class="line" name23u>s>2372L104a>}2s273" class="line" nam23u>s>2371"ip"oup_t_p="+code=snrpse_ls="cref">suswitch_putpsnipci" c_ls="cref">suswitch_puteeeeaou struct >ntrol021" clasass="sls="k>>ntrol" namamp;>ntrol021" clasass="sk>>ntrol" na,a>125a href="s2sound/pci/cmipc2374000" i223u>s27" class="lineeeeeee23u>s>237eeeeeeeee019                        ou struct _value021" clasass="sls="ctl_ele>_value" namamp;>ntrol021" clasass="su>>ntrol" na,a>125a href="s2sound/pci/cmipc2375000" i223u>s275" class="line" nam23u>s>2375015     6">1046<                   ou struct _switch_args021" clasass="ssref">_switch_argsL1046amp;s27" class="line" name23u>s>2376"ip"/a>s2s277 class="line" name23u>s>2371015     unsigned ="+code=snrpseval021" clasass="svaleeeen 0;28a href="s2sound/pci/cmipc2378000" i223u>s278" class="lin} else23u>s>2378015     ="+code=snrpsechange021" clasass="schangeeeeen 0;28a href="s2sound/pci/cmipc2379000" i223u>s27" class="line" name23u>s>2379015        struct 021" clasass="scref">" namamp;ref="+code=scanls="k>>ntrol_chip021" clasass="sls="k>>ntrol_chipeeeeamp;>ntrol021" clasass="sk>>ntrol" naan 0;28a href="s2snd/pci/cmipcim2381000" i223u>s280" class="line" nam23u>s>2381039< 0;28a href="s2sound/pci/cmipc2381000" i223u>s28" class="line" name23u>s>2381L1046">1046s28" class="line" name23u>s>2382L1046">1046<=f>amp;, &a>, &a ref="+code=scanmipci_spdif_default_puths283" class="line" nam23u>s>2383015     6">1 AC3m>>>>>>>>>>>>>>>>>>>>>CM ignoreda*> */28a href="s2sound/pci/cmipc23u4000" i223u>s28" class="lineeeeeee23u>s>238eeeeeeeee019        s285" class="linss="li23u>s>2385015     6">1046<+code=s n 0;28a href="s2sound/pci/cmipc2386000" i223u>s28" class="line=chip"23u>s>238r039   /a>}2s287 class="line" name23u>s>2387L1046">1046<=f>amp;snipci" cis_byte"ip") 0;28a href="s2sound/pci/cmipc2388000" i223u>s282sou10248" clss="li23u>s>2388015     6">1046ref="+code=scaninb021" clasass="sinbeeeeamp;snipci" ciobaseL104 + ref="+code=scanargs021" clasass="sargsL104h2389015     else 0;28a href="s2snd/pci/cmipcim2391000" i223u>s190" class="line" nam23u>s>2390015     6">1046ref="+code=scanls="cref">sreadsreadeeeeamp;seargs021" clasass="sargsL104hs19" class="line" name23u>s>2391L1046">1046s19" class="line" name23u>s>2392L1046">1046             ref="+code=scanargs021" clasass="sargsL104hs(classmask_oneeee :>amp;s(classmask_oneeee)an 0;28a href="s2snd/pci/cmipcim2393000" i223u>s1s3" class="line" nam23u>s>2393015     =f>amp;s19" class="lineeeeeee23u>s>239eeeeeeeee019     mp;s195" class="line" nam23u>s>2395015     6">1046<=f>amp;>ntrol021" clasass="su>>ntrol" nahs19" class="line" name23u>s>2396"ip" class="""""""""/a>     mp;ref="+code=scanargs021" clasass="sargsL104hs(classmask_oneeeen 0;28a href="s2snd/pci/cmipcim2397000" i223u>s197 class="line" name23u>s>2391015     6">1046s198" class="line" nam23u>s>2398015     6">1046     mp;amp;s(classmask_oneeee)n 0;28a href="s2snd/pci/cmipcim2399000" i223u>s1s9 class="liness="li23u>s>2399015     6">1046<=f>amp;snipci" cis_byte"ip") 0;28a href="s2sound/pci/cmipc24L1000" i224L100s9 class="liness="li24L10>2400015     6">1046     mp;semipci_spdif_default_puthsnipci" ciobaseL104 + ref="+code=scanargs021" clasass="sargsL104hs19" class="line" name24L>s>2401015     6">1 AC3else 0;28a href="s2snd/pci/cmipcim24L2000" i224L>s19" class="line" name24L>s>2402L1046">1046             ref="+code=scanls="cref">swritepsnipci" cls="cref">swriteeeeeamp;seargs021" clasass="sargsL104hseval021" clasass="svaleeeean 0;28a href="s2snd/pci/cmipcim24L3000" i224L>s1s3" class="line" nam24L>s>2401"ip" class="/a>}2s19" class="lineeeeeee24L>s>240eeeeeeeee019<   s195" class="line" nam24L>s>240"L1046">1046<+code=sode=snrpsechange021" clasass="schangeeeeen 0;28a href="s2sound/pci/cmipc24L6000" i224L>s19" class="line" name24L>s>240r039}2s197 class="line" name24L>s>2407" naa>}2s198" class="line" nam24L>s>2408015sels="sref">suswitch_putpsnipci" cls="cref">suswitch_puteeeeaou struct >ntrol021" clasass="sls="k>>ntrol" namamp;>ntrol021" clasass="sk>>ntrol" na,a>125a href="s2sound/pci/cmipc24L9000" i224L>s1s9 class="liness="li24L>s>2409015     6">1046<<<<<<<<<<<<<<<<<<_value021" clasass="sls="ctl_ele>_value" namamp;>ntrol021" clasass="su>>ntrol" na) 0;28a href="s2sound/pci/cmipc2411000" i224L10210" class="linck" cl24L10>2411L104/a>s22411L1046">1046<   struct _switch_args021" clasass="ssref">_switch_argsL1046amp;2412L1046">1046(   struct _switch_args021" clasass="ssref">_switch_argsL1046a)mp;>ntrol021" clasass="sk>>ntrol" nah2413015     =f>amp;241"L1046">1046<+code=sode=snrpse_ls="cref">suswitch_putpsnipci" c_ls="cref">suswitch_puteeeeamp;>ntrol021" clasass="sk>>ntrol" na,    seargs021" clasass="sargsL104an 0;28a href="s2snd/pci/cmipcim2416000" i224L1021" class="line" name24L10>241r039}22417" naa>}22418015<#defs="Rref="+code=scanDEFINE_SWITCH_ARG021" clasass="sDEFINE_SWITCH_ARGeeeeamp;sexreg021" clasass="sxregeeee,i de=snrpsexmaskock" class="srexmaskeeee,i de=snrpsexmask_ont_biof">s(classxmask_oneeee,i de=snrpsexis_bytepsnipci" cxis_byte"ip",i de=snrpsexac3psnipci" cxac3eeee) \a>}22419015_switch_args021" clasass="ssref">_switch_argsL1046ct _switch_arg_021" clasass="ssref">_switch_arg_015<##seeee"a>/ \a>}22421L1046".ref="+code=scanreg021" clasass="sregeeee"a>ref="+code=scanxreg021" clasass="sxregeeee,i\a>}22421L1046".ref="+code=scanmaskock" class="sremaskeeee&a>ref="+code=scanxmaskock" class="srexmaskeeee,i\a>}22422L1046".ref="+code=scanmask_ont_biof">s(classmask_oneeee a>ref="+code=scanxmask_ont_biof">s(classxmask_oneeee,i\a>}22423L1046".ref="+code=scanis_bytepsnipci" cis_byte"ip" a>ref="+code=scanxis_bytepsnipci" cxis_byte"ip",i\a>}2ref="+code=scanxac3psnipci" cxac3eeee,i\a>}2242"L104/a>}22426"ip" class="a>}22427" na#defs="Rref="+code=scanDEFINE_BIT_SWITCH_ARG021" clasass="sDEFINE_BIT_SWITCH_ARGeeeeamp;sexreg021" clasass="sxregeeee,i de=snrpsexmaskock" class="srexmaskeeee,i de=snrpsexis_bytepsnipci" cxis_byte"ip",i de=snrpsexac3psnipci" cxac3eeee) \a>}2sexreg021" clasass="sxregeeee,i de=snrpsexmaskock" class="srexmaskeeee,i de=snrpsexmaskock" class="srexmaskeeee,i de=snrpsexis_bytepsnipci" cxis_byte"ip",i de=snrpsexac3psnipci" cxac3eeee)a>}22430015<#=f>03m>>>>>>>>>>>>>>>>>>>>>CM these will be >>ntrolled =" pcm devicea*> */28a href="s2sound/pci/cmipc2431000" i224L1023" class="line" name24L10>2431015s(classspdif_in"ip",i de=snrpseCMCREG_FUNCTRL1021" clasass="sCMCREG_FUNCTRL1"ip",i de=snrpseCMCSPDF_1021" clasass="sCMCSPDF_1"ip",i0, 0an 0;28a href="s2snd/pci/cmipcim2432000" i224L1022" clack" class="sre24L10>2432L104ref="+code=scanDEFINE_BIT_SWITCH_ARG021" clasass="sDEFINE_BIT_SWITCH_ARGeeeeamp;snipci" clpdif_out"ip",i de=snrpseCMCREG_FUNCTRL1021" clasass="sCMCREG_FUNCTRL1"ip",i de=snrpseCMCSPDF_0021" clasass="sCMCSPDF_0"ip",i0, 0an 0;28a href="s2snd/pci/cmipcim2433000" i224L10233" class="line" nam24L10>2431"ip"#endif 0;28a href="s2snd/pci/cmipcim2434000" i224L1023" class="lineeeeeee24L10>24Leeeeeref="+code=scanDEFINE_BIT_SWITCH_ARG021" clasass="sDEFINE_BIT_SWITCH_ARGeeeeamp;seCMCREG_CHFORMAT021" clasass="sCMCREG_CHFORMAT"ip",i de=snrpseCMCSPDIF_SELECT1021" clasass="sCMCSPDIF_SELECT1"ip",i0, 0an 0;28a href="s2snd/pci/cmipcim2435000" i224L10235" class="line" nam24L10>243"L104>ef="+code=scanDEFINE_BIT_SWITCH_ARG021" clasass="sDEFINE_BIT_SWITCH_ARGeeeeamp;seCMCREG_MISC_CTRL021" clasass="sCMCREG_MISC_CTRL"ip",i de=snrpseCMCSPDIF_SELECT2021" clasass="sCMCSPDIF_SELECT2"ip",i0, 0an 0;28a href="s2snd/pci/cmipcim2436000" i224L1023" class="line" name24L10>2436"ip">ef="+code=scanDEFINE_BIT_SWITCH_ARG021" clasass="sDEFINE_BIT_SWITCH_ARGeeeeamp;seCMCREG_LEGACY_CTRL021" clasass="sCMCREG_LEGACY_CTRL"ip",i de=snrpseCMCENSPDOUT021" clasass="sCMCENSPDOUT"ip",i0, 0an 0;28a href="s2snd/pci/cmipcim2437000" i224L10237 class="line" name24L10>2437" na>ef="+code=scanDEFINE_BIT_SWITCH_ARG021" clasass="sDEFINE_BIT_SWITCH_ARGeeeeamp;seCMCREG_FUNCTRL1021" clasass="sCMCREG_FUNCTRL1"ip",i de=snrpseCMCSPDO2DAC021" clasass="sCMCSPDO2DAC"ip",i0, 1an 0;28a href="s2snd/pci/cmipcim2438000" i224L10238" class="line" nam24L10>2438015<>ef="+code=scanDEFINE_BIT_SWITCH_ARG021" clasass="sDEFINE_BIT_SWITCH_ARGeeeeamp;seCMCREG_MISC021" clasass="sCMCREG_MISC"ip",i de=snrpseCMCSPDVALID021" clasass="sCMCSPDVALID"ip",i1, 0an 0;28a href="s2snd/pci/cmipcim2439000" i224L1029" class="lineeeeeee24L10>2439015<>ef="+code=scanDEFINE_BIT_SWITCH_ARG021" clasass="sDEFINE_BIT_SWITCH_ARGeeeeamp;snipci" clpdif_copyright"ip",i de=snrpseCMCREG_LEGACY_CTRL021" clasass="sCMCREG_LEGACY_CTRL"ip",i de=snrpseCMCSPDCOPYRHT021" clasass="sCMCSPDCOPYRHT"ip",i0, 0an 0;28a href="s2snd/pci/cmipcim2441000" i224L10240" class="line" nam24L10>2441039<>ef="+code=scanDEFINE_BIT_SWITCH_ARG021" clasass="sDEFINE_BIT_SWITCH_ARGeeeeamp;snipci" clpdif_dac_out"ip",i de=snrpseCMCREG_LEGACY_CTRL021" clasass="sCMCREG_LEGACY_CTRL"ip",i de=snrpseCMCDAC2SPDO021" clasass="sCMCDAC2SPDO"ip",i0, 1an 0;28a href="s2snd/pci/cmipcim2441000" i224L1024" class="line" name24L10>2441015seCMCREG_MISC_CTRL021" clasass="sCMCREG_MISC_CTRL"ip",i de=snrpseCMCSPDO5V021" clasass="sCMCSPDO5V"ip",i0, 0, 0an3m>>>>>>>>>>>>>>>>>>>>>CM inverse:>03= 5Va*> */28a href="s2sound/pci/cmipc2442000" i224L1024" class="line" name24L10>2442L104m>>>>>>>>>>>>>>>>>>>>>C/ DEFINE_BIT_SWITCH_ARG(spdo_48k, CMCREG_MISC_CTRL, CMCSPDF_AC97|CMCSPDIF48K,i0, 1an */28a href="s2sound/pci/cmipc2443000" i224L10243" class="line" nam24L10>2443015<>ef="+code=scanDEFINE_BIT_SWITCH_ARG021" clasass="sDEFINE_BIT_SWITCH_ARGeeeeamp;seCMCREG_FUNCTRL1021" clasass="sCMCREG_FUNCTRL1"ip",i de=snrpseCMCSPDFLOOP021" clasass="sCMCSPDFLOOP"ip",i0, 1an 0;28a href="s2snd/pci/cmipcim2444000" i224L1024" class="lineeeeeee24L10>244eeeeeref="+code=scanDEFINE_BIT_SWITCH_ARG021" clasass="sDEFINE_BIT_SWITCH_ARGeeeeamp;seCMCREG_MIXER1021" clasass="sCMCREG_MIXER1"ip",i de=snrpseCMCCDPLAY021" clasass="sCMCCDPLAY"ip",i1, 0an 0;28a href="s2snd/pci/cmipcim24L5000" i224L10245" class="line" nam24L10>244"L104>>>>>>>>>>>>>>>>>>>>>>CM DEFINE_BIT_SWITCH_ARG(spdi_phase, CMCREG_CHFORMAT, CMCSPDIF_INVERSE, 0, 0an3*> */28a href="s2sound/pci/cmipc2446000" i224L1024" class="line" name24L10>2446"ip">ef="+code=scanDEFINE_BIT_SWITCH_ARG021" clasass="sDEFINE_BIT_SWITCH_ARGeeeeamp;seCMCREG_MISC021" clasass="sCMCREG_MISC"ip",i de=snrpseCMCSPDIF_INVERSE021" clasass="sCMCSPDIF_INVERSE"ip",i1, 0an 0;28a href="s2snd/pci/cmipcim24L7000" i224L10247 class="liness="li24L10>2447" na>ef="+code=scanDEFINE_BIT_SWITCH_ARG021" clasass="sDEFINE_BIT_SWITCH_ARGeeeeamp;seCMCREG_CHFORMAT021" clasass="sCMCREG_CHFORMAT"ip",i de=snrpseCMCSPDIF_INVERSE2021" clasass="sCMCSPDIF_INVERSE2"ip",i0, 0an 0;28a href="s2snd/pci/cmipcim2448000" i224u10248" clss="line" name24u10>2448015<#=f> de=snrpseCMCCH_PLAY021" clasass="sCMCCH_PLAY"ip""a= 1 0;28a href="s2snd/pci/cmipcim2449000" i224u1024" clas="line" name=24u10>2449015<>ef="+code=scanDEFINE_SWITCH_ARG021" clasass="sDEFINE_SWITCH_ARGeeeeamp;seCMCREG_MISC_CTRL021" clasass="sCMCREG_MISC_CTRL"ip",i de=snrpseCMCXCHGDAC021" clasass="sCMCXCHGDAC"ip",i0, 0, 0an3m>>>>>>>>>>>>>>>>>>>>>CM reverseda*> */28a href="s2sound/pci/cmipc2451000" i224u>s25" class="line" name24u>s>2450015<#else 0;28a href="s2snd/pci/cmipcim2451000" i224u>s251" class="line" nam24u>s>2451015seCMCREG_MISC_CTRL021" clasass="sCMCREG_MISC_CTRL"ip",i de=snrpseCMCXCHGDAC021" clasass="sCMCXCHGDAC"ip",i de=snrpseCMCXCHGDAC021" clasass="sCMCXCHGDAC"ip",i0, 0an 0;28a href="s2snd/pci/cmipcim2452000" i224u>s25" class="linei036">24u>s>2452L104#endif 0;28a href="s2snd/pci/cmipcim2453000" i224u>s253" clck" class="sre24u>s>2453015<>ef="+code=scanDEFINE_BIT_SWITCH_ARG021" clasass="sDEFINE_BIT_SWITCH_ARGeeeeamp;seCMCREG_MISC_CTRL021" clasass="sCMCREG_MISC_CTRL"ip",i de=snrpseCMCN4SPK3D021" clasass="sCMCN4SPK3D"ip",i0, 0an 0;28a href="s2snd/pci/cmipcim2454000" i224u>s25" class="lineclass=24u>s>24ueeeeem>>>>>>>>>>>>>>>>>>>>>C/ DEFINE_BIT_SWITCH_ARG(s="lsrear, CMCREG_MIXER1, CMCREAR2LIN,i1, 0an */28a href="s2sound/pci/cmipc2455000" i224u>s255 claf="+code=i" cl24u>s>245"L104>>>>>>>>>>>>>>>>>>>>>>C/ DEFINE_BIT_SWITCH_ARG(s="lsb>>>, CMCREG_LEGACY_CTRL, CMCCENTR2LIN|CMCBASE2LIN,i0, 0an */28a href="s2sound/pci/cmipc2456000" i224u>s25" class="lineif (cl24u>s>2456"ip">>>>>>>>>>>>>>>>>>>>>>C/ DEFINE_BIT_SWITCH_ARG(joystick, CMCREG_FUNCTRL1, CMCJYSTK_EN,i0, 0an /* now module optiona*> */28a href="s2sound/pci/cmipc2457000" i224u>s257 class="line" name24u>s>2457" na>ef="+code=scanDEFINE_SWITCH_ARG021" clasass="sDEFINE_SWITCH_ARGeeeeamp;seCMCREG_MISC_CTRL021" clasass="sCMCREG_MISC_CTRL"ip",i de=snrpseCMCFLINKON021" clasass="sCMCFLINKON"ip"| de=snrpseCMCFLINKOFF021" clasass="sCMCFLINKOFF"ip",i de=snrpseCMCFLINKON021" clasass="sCMCFLINKON"ip",i0, 0an 0;28a href="s2snd/pci/cmipcim2458000" i224u>s2s8" class="line" nam24u>s>245801528a href="s2sound/pci/cmipc2459000" i224u>s25" clas="line" name=24u>s>2459015<#defs="Rref="+code=scanDEFINE_SWITCH021" clasass="sDEFINE_SWITCHeeeeamp;sestype021" clasass="sstypeeeee,i de=snrpsesarg021" clasass="ssargeeee) \a>}2s260" class="lin=chip"24u>s>2461L104{".ref="+code=scaneeee021" clasass="seeeeeeee"a>ref="+code=scanlseee021" clasass="sseeeeeeee,i\a>}2s26" class="line="sref24u>s>2461L1046".ref="+code=scanifacepsnipci" cifaceeeee"a>ref="+code=scanltype021" clasass="sstypeeeee,i\a>}2s26" class="lineif (cl24u>s>2462L1046".ref="+code=scaninforef="+code=scanls="cref">suswitch_infosuswitch_info015<,i\a>}2s263" class="line" nam24u>s>2463L1046".ref="+code=scangetpsnipci" cgeteeee/a>ref="+code=scanls="cref">suswitch_getpsnipci" cls="cref">suswitch_geteeee,i\a>}2s26" class="lineeeeeee24u>s>2464L1046".ref="+code=scanputpsnipci" cputeeee/a>ref="+code=scanls="cref">suswitch_putpsnipci" cls="cref">suswitch_puteeee,i\a>}2s265" class="line" nam24u>s>2465L1046".ref="+code=scanprivate_value021" clasass="sprivate_valueeeee"a>(unsigned long)>, &_switch_arg_021" clasass="ssref">_switch_arg_015<##sarg,\a>}2s26" class="line" name24u>s>246r039}2s267 class="line" name24u>s>2467" naa>}2s268" class="line" nam24u>s>2468015<#defs="Rref="+code=scanDEFINE_CARD_SWITCH021" clasass="sDEFINE_CARD_SWITCHeeeeamp;sesarg021" clasass="ssargeeee) ref="+code=scanDEFINE_SWITCH021" clasass="sDEFINE_SWITCHeeeeamp;seSNDRV_CTL_ELEM_IFACE_CARD021" clasass="sSNDRV_CTL_ELEM_IFACE_CARDeeee,i de=snrpsesarg021" clasass="ssargeeee)a>}2s26" clas="line" name=24u>s>2469015<#defs="Rref="+code=scanDEFINE_MIXER_SWITCH021" clasass="sDEFINE_MIXER_SWITCHeeeeamp;sesarg021" clasass="ssargeeee) ref="+code=scanDEFINE_SWITCH021" clasass="sDEFINE_SWITCHeeeeamp;seSNDRV_CTL_ELEM_IFACE_MIXER021" clasass="sSNDRV_CTL_ELEM_IFACE_MIXEReeee,i de=snrpsesarg021" clasass="ssargeeee)a>}2s270" class="line" nam24u>s>2471039< 0;28a href="s2sound/pci/cmipc2471000" i224u>s27" class="line" name24u>s>2471L104 0;28a href="s2sound/pci/cmipc2472000" i224u>s27" class="line" name24u>s>2472L104m>>>>>>>>>>>>>>>>>>>>>CM */28a href="s2sound/pci/cmipc2473000" i224u>s273" class="line" nam24u>s>2471"ip">>>>>>>>>>>>>>>>>>>>>>a* callbacks for lpdif output switch */28a href="s2sound/pci/cmipc2474000" i224u>s27" class="lineeeeeee24u>s>247eeeeem>>>>>>>>>>>>>>>>>>>>> * needsatoggle two regilters.. */28a href="s2sound/pci/cmipc2475000" i224u>s275" class="line" nam24u>s>247"L104>>>>>>>>>>>>>>>>>>>>>> *> */28a href="s2sound/pci/cmipc2476000" i224u>s27" class="line" name24u>s>2476"ip"oup_t_p="+code=snrpsels="sref">sspdout_enable_getpsnipci" cls="cref">sspdout_enable_geteeeeaou struct >ntrol021" clasass="sls="k>>ntrol" namamp;>ntrol021" clasass="sk>>ntrol" na,a>125a href="s2sound/pci/cmipc2477000" i224u>s277 class="line" name24u>s>2471015     >     6">1046<<<<<<<<<<<<<<<<<<_value021" clasass="sls="ctl_ele>_value" namamp;>ntrol021" clasass="su>>ntrol" na) 0;28a href="s2sound/pci/cmipc2478000" i224u>s278" class="lin} else24u>s>2478015s2s27" class="line" name24u>s>2479015     ="+code=snrpsechangeds280" class="line" nam24u>s>2480015     ode=snrpsechangedref="+code=scan_ls="cref">suswitch_getpsnipci" c_ls="cref">suswitch_geteeeeamp;>ntrol021" clasass="sk>>ntrol" na,    , &_switch_arg_spdif_enable021" clasass="smief">_switch_arg_spdif_enable" na)n 0;28a href="s2snd/pci/cmipcim2481000" i224u>s28" class="line" name24u>s>2481L1046">1046ref="+code=scan_ls="cref">suswitch_getpsnipci" c_ls="cref">suswitch_geteeeeamp;>ntrol021" clasass="sk>>ntrol" na,    , &_switch_arg_spdo2dac021" clasass="smief">_switch_arg_spdo2dac" na)n 0;28a href="s2snd/pci/cmipcim2482000" i224u>s28" class="line" name24u>s>2482L1046">1046<+code=sode=snrpsechangeds283" class="line" nam24u>s>2483015}2s28" class="lineeeeeee24u>s>248eeeeea>}2s285" class="linss="li24u>s>2485015sels="sref">sspdout_enable_putpsnipci" cls="cref">sspdout_enable_puteeeeaou struct >ntrol021" clasass="sls="k>>ntrol" namamp;>ntrol021" clasass="sk>>ntrol" na,a>125a href="s2sound/pci/cmipc2486000" i224u>s28" class="line=chip"24u>s>2486"ip" class="""""""""/a>     <<<<<<<<<<<<<<<_value021" clasass="sls="ctl_ele>_value" namamp;>ntrol021" clasass="su>>ntrol" na) 0;28a href="s2sound/pci/cmipc2487000" i224u>s287 class="line" name24u>s>2487L104/a>s2s282sou10248" clss="li24u>s>2488015        struct 021" clasass="scref">" namamp;ref="+code=scanls="k>>ntrol_chip021" clasass="sls="k>>ntrol_chipeeeeamp;>ntrol021" clasass="sk>>ntrol" naan 0;28a href="s2snd/pci/cmipcim2489000" i224 heveina hro|de=type" cl24 he>2489015     ="+code=snrpsechangeds190" class="line" nam24u>s>2490015     ode=snrpsechangedref="+code=scan_ls="cref">suswitch_putpsnipci" c_ls="cref">suswitch_puteeeeamp;>ntrol021" clasass="sk>>ntrol" na,    , &_switch_arg_spdif_enable021" clasass="smief">_switch_arg_spdif_enable" na)n 0;28a href="s2snd/pci/cmipcim2491000" i224u>s19" class="line" name24u>s>2491L1046">1046ref="+code=scan_ls="cref">suswitch_putpsnipci" c_ls="cref">suswitch_puteeeeamp;>ntrol021" clasass="sk>>ntrol" na,    , &_switch_arg_spdo2dac021" clasass="smief">_switch_arg_spdo2dac" na)n 0;28a href="s2snd/pci/cmipcim2492000" i224u>s19" class="line" name24u>s>2492L1046">1046<=f>amp;s2s1s3" class="line" nam24u>s>2493015     6">1046<=f>amp;>ntrol021" clasass="su>>ntrol" nahs19" class="lineeeeeee24u>s>249eeeeeeeee019     6">1046<=f>amp;s195" class="line" nam24u>s>2495015     6">1046<<<<<<<<<<<<<<<<sels="sref">sset_bitpsnipci" cls="cref">sset_biteeeeamp;seCMCREG_FUNCTRL1021" clasass="sCMCREG_FUNCTRL1"ip",i de=snrpseCMCPLAYBACKCSPDF021" clasass="sCMCPLAYBACKCSPDF" na)n 0;28a href="s2snd/pci/cmipcim2496000" i224u>s19" class="line" name24u>s>2496"ip" class="""""""""}3else /a>s2s197 class="line" name24u>s>2491015     6">1046<6">1046<=f>amp;s198" class="line" nam24u>s>2498015     6">1046     <<<<<<<sels="sref">sclear_bitpsnipci" cls="cref">sclear_biteeeeamp;seCMCREG_FUNCTRL1021" clasass="sCMCREG_FUNCTRL1"ip",i de=snrpseCMCPLAYBACKCSPDF021" clasass="sCMCPLAYBACKCSPDF" na)n 0;28a href="s2snd/pci/cmipcim2499000" i224u>s1s9 class="liness="li24u>s>2499015     6">1046}22500015     /a>}2s19" class="line" name25L>s>2501L1046">1046ref="+code=scanu>>ntrol021" clasass="su>>ntrol" nahs19" class="line" name25L>s>2502L1046">1046<+code=sode=snrpsechangeds1s3" class="line" nam25L>s>2503015}2s19" class="lineeeeeee25L>s>250eeeeea>}2s195" class="line" nam25L>s>250"L104a>}2s19" class="line" name25L>s>2506"ip"oup_t_p="+code=snrpsels="sref">ss="lsin_mode_infoss="lsin_mode_infoeeeeaou struct >ntrol021" clasass="sls="k>>ntrol" namamp;>ntrol021" clasass="sk>>ntrol" na,a>125a href="s2sound/pci/cmipc25L7000" i225L>s197 class="line" name25L>s>2501015     >     6">1046<<<<<<<<<<<<<<<<<<_infos198" class="line" nam25L>s>2508015s2s1s9 class="liness="li25L>s>2509015        struct 021" clasass="scref">" namamp;ref="+code=scanls="k>>ntrol_chip021" clasass="sls="k>>ntrol_chipeeeeamp;>ntrol021" clasass="sk>>ntrol" naan 0;28a href="s2snd/pci/cmipci.2511000" i225L10210" class="linck" cl25L10>2510015       p_t_p>>nst char *>>nst mp;/ 0;28a href="s2snd/pci/cmipci.2511000" i225L1021" class="line" name25L10>2511015     6">1 AC3>>>>>>>>>>>>>   ing">"L="l-In" */>>>>>>>>>>>>   ing">"Rear Output" */>>>>>>>>>>>>   ing">"B>>> Output" */2512L1046">1046<}n 0;28a href="s2snd/pci/cmipci.2513000" i225L10213" class="line" nam25L10>2513015< 0;28a href="s2snd/pci/cmipci.2514000" i225L1021" class="lineeeeeee25L10>251eeeeeeeee019<+code=sode=snrpsels="ctl_enu>_info2515015     6">1046<<<<<<<<<<<<<<<<s(classchip_version015setexts021" clasass="stextseeeean 0;28a href="s2snd/pci/cmipci.2516000" i225L1021" class="line" name25L10>251r039}22517" naa>}22518015segetss="lsin_modeli1" clasass="sgetss="lsin_modeeeeeaou struct 021" clasass="scref">" namamp;25190152520015     unsigned ="+code=snrpseval021" clasass="svaleeeen 0;28a href="s2sound/pci/cmipc2521000" i225L1022" class="line" name25L10>2521015     =f>amp;s(classchip_version015s22522L1046">1046     ode=snrpseval021" clasass="svaleeee"a>ref="+code=scanls="cref">sreadsreadeeeeamp;seCMCREG_LEGACY_CTRL021" clasass="sCMCREG_LEGACY_CTRL"ip"an 0;28a href="s2snd/pci/cmipci.2523000" i225L10223" class="line" nam25L10>2523015     6">1046<=f>amp;seCMCBASE2LIN021" clasass="sCMCBASE2LIN"ip"a) 0;28a href="s2sound/pci/cmipc2524000" i225L1022" class="lineeeeeee25L10>252eeeeeeeee019     6">1046<+code=s2n 0;28a href="s2snd/pci/cmipci.2525000" i225L10225" class="line" nam25L10>2525015     /a>}22526"ip" class="ode=snrpseval021" clasass="svaleeee"a>ref="+code=scanls="cref">sread_b021" clasass="sls="cref">sread_beeeeamp;seCMCREG_MIXER1021" clasass="sCMCREG_MIXER1"ip"an 0;28a href="s2snd/pci/cmipci.2527000" i225L10227 class="line" name25L10>2527L1046">1046<=f>amp;1046<+code=s1n 0;28a href="s2snd/pci/cmipci.2529000" i225L10229 class="line} else25L10>2529015     +code=s n 0;28a href="s2sound/pci/cmipc2531000" i225L10230" class="line" nam25L10>2530015}22531L104 0;28a href="s2sound/pci/cmipc2532000" i225L1022" clack" class="sre25L10>2532L104oup_t_p="+code=snrpsels="sref">ss="lsin_mode_getpsnipci" cls="cref">ss="lsin_mode_geteeeeaou struct >ntrol021" clasass="sls="k>>ntrol" namamp;>ntrol021" clasass="sk>>ntrol" na,a>125a href="s2sound/pci/cmipc2533000" i225L10233" class="line" nam25L10>2533015     6">1046<<<<<<<<<<<<<<<<<<<<<<<_value021" clasass="sls="ctl_ele>_value" namamp;>ntrol021" clasass="su>>ntrol" na) 0;28a href="s2sound/pci/cmipc2534000" i225L1023" class="lineeeeeee25L10>25Leeeee/a>s22535015        struct 021" clasass="scref">" namamp;ref="+code=scanls="k>>ntrol_chip021" clasass="sls="k>>ntrol_chipeeeeamp;>ntrol021" clasass="sk>>ntrol" naan 0;28a href="s2snd/pci/cmipci.2536000" i225L1023" class="line" name25L10>2536"ip" 0;28a href="s2snd/pci/cmipci.2537000" i225L10237 class="line" name25L10>2537"ip" class="ode=snrpselpin_lock_irq021" clasass="slpin_lock_irqeeeea>, &2538015        eratederatedeeee.ref="+code=scaniteipci_spdif_defauiteieeee[0]"a>ref="+code=scangetss="lsin_modeli1" clasass="sgetss="lsin_modeeeeeamp;selpin_unlock_irq021" clasass="slpin_unlock_irqeeeea>, &2540015     +code=s n 0;28a href="s2sound/pci/cmipc2541000" i225L1024" class="line" name25L10>2541015}22542L104a>}22543015sels="sref">ss="lsin_mode_putpsnipci" cls="cref">ss="lsin_mode_puteeeeaou struct >ntrol021" clasass="sls="k>>ntrol" namamp;>ntrol021" clasass="sk>>ntrol" na,a>125a href="s2sound/pci/cmipc2544000" i225L1024" class="lineeeeeee25L10>254eeeeeeeee019     6">1046<<<<<<<<<<<<<<<_value021" clasass="sls="ctl_ele>_value" namamp;>ntrol021" clasass="su>>ntrol" na) 0;28a href="s2sound/pci/cmipc25L5000" i225L10245" class="line" nam25L10>254"L104/a>s22546015        struct 021" clasass="scref">" namamp;ref="+code=scanls="k>>ntrol_chip021" clasass="sls="k>>ntrol_chipeeeeamp;>ntrol021" clasass="sk>>ntrol" naan 0;28a href="s2snd/pci/cmipcie25L7000" i225L10247 class="liness="li25L10>2547L1046">1046<="+code=snrpsechange254801528a href="s2sound/pci/cmipc2549000" i225u1024" clas="line" name=25u10>2549"ip" class="ode=snrpselpin_lock_irq021" clasass="slpin_lock_irqeeeea>, &s25" class="line" name25u>s>2550015     =f>amp;>ntrol021" clasass="su>>ntrol" naheratederatedeeee.ref="+code=scaniteipci_spdif_defauiteieeee[0]"a= 2) 0;28a href="s2sound/pci/cmipc2551000" i225u>s251" class="line" nam25u>s>2551015     6">1 AC3>de=snrpsechangeref="+code=scanls="cref">sset_bitpsnipci" cls="cref">sset_biteeeeamp;seCMCREG_LEGACY_CTRL021" clasass="sCMCREG_LEGACY_CTRL"ip",i de=snrpseCMCCENTR2LIN021" clasass="sCMCCENTR2LIN015seCMCBASE2LIN021" clasass="sCMCBASE2LIN"ip"an 0;28a href="s2snd/pci/cmipcim2552000" i225u>s25" class="linei036">25u>s>2552L1046">1046s253" clck" class="sre25u>s>2553015     6">1046<>de=snrpsechangeref="+code=scanls="cref">sclear_bitpsnipci" cls="cref">sclear_biteeeeamp;seCMCREG_LEGACY_CTRL021" clasass="sCMCREG_LEGACY_CTRL"ip",i de=snrpseCMCCENTR2LIN021" clasass="sCMCCENTR2LIN015seCMCBASE2LIN021" clasass="sCMCBASE2LIN"ip"an 0;28a href="s2snd/pci/cmipcim2554000" i225u>s25" class="lineclass=25u>s>2554015     =f>amp;>ntrol021" clasass="su>>ntrol" naheratederatedeeee.ref="+code=scaniteipci_spdif_defauiteieeee[0]"a= 1) 0;28a href="s2sound/pci/cmipc2555000" i225u>s255 claf="+code=i" cl25u>s>2555015     6">1046<>de=snrpsechangeref="+code=scanls="cref">sset_bit_b021" clasass="sls="cref">sset_bit_beeeeamp;seCMCREG_MIXER1021" clasass="sCMCREG_MIXER1"ip",i de=snrpseCMCREAR2LIN021" clasass="sCMCREAR2LIN015<)n 0;28a href="s2snd/pci/cmipcim2556000" i225u>s25" class="lineif (cl25u>s>2556L1046">1046s257 class="line" name25u>s>2551015     >     6">de=snrpsechangeref="+code=scanls="cref">sclear_bit_b021" clasass="sls="cref">sclear_bit_beeeeamp;seCMCREG_MIXER1021" clasass="sCMCREG_MIXER1"ip",i de=snrpseCMCREAR2LIN021" clasass="sCMCREAR2LIN015<)n 0;28a href="s2snd/pci/cmipcim2558000" i225u>s2s8" class="line" nam25u>s>2558015        s25" clas="line" name=25u>s>2559015     +code=sode=snrpsechanges260" class="lin=chip"25u>s>2560015}2s26" class="line="sref25u>s>2561L104 0;28a href="s2sound/pci/cmipc2562000" i225u>s26" class="lineif (cl25u>s>2562L104oup_t_p="+code=snrpsels="sref">smicsin_mode_infosmicsin_mode_infoeeeeaou struct >ntrol021" clasass="sls="k>>ntrol" namamp;>ntrol021" clasass="sk>>ntrol" na,a>125a href="s2sound/pci/cmipc2563000" i225u>s263" class="line" nam25u>s>2563015     6">1046<<<<<<<<<<<<<<<<<<<<<<<_infos26" class="lineeeeeee25u>s>256eeeee/a>s2s265" class="line" nam25u>s>2565015       p_t_p>>nst char *>>nst mp;/3>>>>>>>>>>>>>   ing">"Mic-In" */>>>>>>>>>>>>   ing">"Center/LFE Output" */s26" class="line" name25u>s>2566"ip" 0;28a href="s2snd/pci/cmipci.2567000" i225u>s267 class="line" name25u>s>2567015     +code=sode=snrpsels="ctl_enu>_infosetexts021" clasass="stextseeeean 0;28a href="s2snd/pci/cmipci.2568000" i225u>s268" class="line" nam25u>s>2568015}2s26" clas="line" name=25u>s>2569015}2s270" class="line" nam25u>s>2571039sels="sref">smicsin_mode_getpsnipci" cls="cref">smicsin_mode_geteeeeaou struct >ntrol021" clasass="sls="k>>ntrol" namamp;>ntrol021" clasass="sk>>ntrol" na,a>125a href="s2sound/pci/cmipc2571000" i225u>s27" class="line" name25u>s>2571015     6">1 AC3<<<<<<<<<<<<<<<<<<<<<_value021" clasass="sls="ctl_ele>_value" namamp;>ntrol021" clasass="su>>ntrol" na) 0;28a href="s2sound/pci/cmipc2572000" i225u>s27" class="line" name25u>s>2572L104/a>s2s273" class="line" nam25u>s>2573015        struct 021" clasass="scref">" namamp;ref="+code=scanls="k>>ntrol_chip021" clasass="sls="k>>ntrol_chipeeeeamp;>ntrol021" clasass="sk>>ntrol" naan 0;28a href="s2snd/pci/cmipcie2574000" i225u>s27" class="lineeeeeee25u>s>2574015     m>>>>>>>>>>>>>>>>>>>>>CM seee bit as spdi_phase *> */28a href="s2sound/pci/cmipc2575000" i225u>s275" class="line" nam25u>s>2575015     ode=snrpselpin_lock_irq021" clasass="slpin_lock_irqeeeea>, &s27" class="line" name25u>s>2576"ip" class="ode=snrpseu>>ntrol021" clasass="su>>ntrol" naheratederatedeeee.ref="+code=scaniteipci_spdif_defauiteieeee[0]"a  0;28a href="s2snd/pci/cmipcim2577000" i225u>s277 class="line" name25u>s>2571015     >     6"amp;sread_b021" clasass="sls="cref">sread_beeeeamp;seCMCREG_MISC021" clasass="sCMCREG_MISC"ip")"&, &a ref="+code=scanCMCSPDIF_INVERSE021" clasass="sCMCSPDIF_INVERSE"ip") ? 1 :s n 0;28a href="s2sound/pci/cmipc2578000" i225u>s278" class="lin} else25u>s>2578015        s27" class="line" name25u>s>2579015     +code=s n 0;28a href="s2sound/pci/cmipc2581000" i225u>s280" class="line" nam25u>s>2580015}2s28" class="line" name25u>s>2581L104 0;28a href="s2sound/pci/cmipc2582000" i225u>s28" class="line" name25u>s>2582L104oup_t_p="+code=snrpsels="sref">smicsin_mode_putpsnipci" cls="cref">smicsin_mode_puteeeeaou struct >ntrol021" clasass="sls="k>>ntrol" namamp;>ntrol021" clasass="sk>>ntrol" na,a>125a href="s2sound/pci/cmipc2583000" i225u>s283" class="line" nam25u>s>2583015     6">1046<<<<<<<<<<<<<<<<<<<<<<_value021" clasass="sls="ctl_ele>_value" namamp;>ntrol021" clasass="su>>ntrol" na) 0;28a href="s2sound/pci/cmipc25u4000" i225u>s28" class="lineeeeeee25u>s>258eeeee/a>s2s285" class="linss="li25u>s>2585015        struct 021" clasass="scref">" namamp;ref="+code=scanls="k>>ntrol_chip021" clasass="sls="k>>ntrol_chipeeeeamp;>ntrol021" clasass="sk>>ntrol" naan 0;28a href="s2snd/pci/cmipcim25u6000" i225u>s28" class="line=chip"25u>s>2586"ip" class="="+code=snrpsechanges287 class="line" name25u>s>2587" naa>}2s282sou10248" clss="li25u>s>2588015        2589015     =f>amp;>ntrol021" clasass="su>>ntrol" naheratederatedeeee.ref="+code=scaniteipci_spdif_defauiteieeee[0]) 0;28a href="s2sound/pci/cmipc2591000" i225u>s190" class="line" nam25u>s>2590015     /a>        ref="+code=scanls="cref">sset_bit_b021" clasass="sls="cref">sset_bit_beeeeamp;seCMCREG_MISC021" clasass="sCMCREG_MISC"ip",i de=snrpseCMCSPDIF_INVERSE021" clasass="sCMCSPDIF_INVERSE"ip"an 0;28a href="s2snd/pci/cmipcim2591000" i225u>s19" class="line" name25u>s>2591L1046">1046s19" class="line" name25u>s>2592L1046">1046     ode=snrpsechangeref="+code=scanls="cref">sclear_bit_b021" clasass="sls="cref">sclear_bit_beeeeamp;seCMCREG_MISC021" clasass="sCMCREG_MISC"ip",i de=snrpseCMCSPDIF_INVERSE021" clasass="sCMCSPDIF_INVERSE"ip"an 0;28a href="s2snd/pci/cmipcim2593000" i225u>s1s3" class="line" nam25u>s>2593015        s19" class="lineeeeeee25u>s>259eeeeeeeee019<+code=sode=snrpsechanges195" class="line" nam25u>s>2595015}2s19" class="line" name25u>s>2596"ip" 0;28a href="s2snd/pci/cmipci.2597000" i225u>s197 class="line" name25u>s>2591015>>>>>>>>>>>>>>>>>>>>CM both for CM8338/8738 *> */28a href="s2sound/pci/cmipc2598000" i225u>s198" class="line" nam25u>s>2598015>ntrol_new021" clasass="sls="k>>ntrol_neweeeeeode=snrpsels="sref">smixer_switches021" clasass="sls="sref">smixer_switcheseeee[]>ref="+code=scan__devinitdata021" clasass="s__devinitdataeeee"a>/a>s2s1s9 class="liness="li25u>s>2599"ip" class="ode=snrpseDEFINE_MIXER_SWITCH021" clasass="sDEFINE_MIXER_SWITCHeeeeam>>>>>>>>>>>>   ing">"Four Channel M">s" */de=snrpsefourch021" clasass="sfourch"ip"),a>125a href="s2sound/pci/cmipc26L1000" i226L100s9 class="liness="li26L10>2600015     /a>s2s19" class="line" name26L>s>2601015     6">1 AC3.ref="+code=scaneeee021" clasass="seeeeeeee"a>r>>>>>>>>>>>>   ing">"L="l-In M">s" */s2s19" class="line" name26L>s>2602L1046">1046     .ref="+code=scanifacepsnipci" cifaceeeee"a>ref="+code=scanSNDRV_CTL_ELEM_IFACE_MIXER021" clasass="sSNDRV_CTL_ELEM_IFACE_MIXEReeee,a>s2s1s3" class="line" nam26L>s>2603015     6">1046<.ref="+code=scaninforef="+code=scanls="cref">ss="lsin_mode_infoss="lsin_mode_infoeeee,a>s2s19" class="lineeeeeee26L>s>260eeeeeeeee019     .ref="+code=scangetpsnipci" cgeteeee/a>ref="+code=scanls="cref">ss="lsin_mode_getpsnipci" cls="cref">ss="lsin_mode_geteeee,a>s2s195" class="line" nam26L>s>2605015     6">1046<.ref="+code=scanputpsnipci" cputeeee/a>ref="+code=scanls="cref">ss="lsin_mode_putpsnipci" cls="cref">ss="lsin_mode_puteeee,a>s2s19" class="line" name26L>s>2606"ip" class="},a>s2s197 class="line" name26L>s>2601015<}n 0;28a href="s2snd/pci/cmipci.26L8000" i226L>s198" class="line" nam26L>s>260801528a href="s2sound/pci/cmipc26L9000" i226L>s1s9 class="liness="li26L>s>2609015>>>>>>>>>>>>>>>>>>>>CM for non-mul_t_hannel chips *> */28a href="s2sound/pci/cmipc2611000" i226L10210" class="linck" cl26L10>2610015>ntrol_new021" clasass="sls="k>>ntrol_neweeeeeode=snrpsels="sref">snomul_t_switchpsnipci" cls="cref">snomul_t_switcheeeeeode=snrpse__devinitdata021" clasass="s__devinitdataeeee"aan>28a href="s2sound/pci/cmipc2611000" i226L1021" class="line" name26L10>2611015seDEFINE_MIXER_SWITCH021" clasass="sDEFINE_MIXER_SWITCHeeeeam>>>>>>>>>>>>   ing">"Exchange DAC" */de=snrpseexchange_dac021" clasass="sexchange_daceeeean 0;28a href="s2snd/pci/cmipcim2612000" i226L1021" class="line" name26L10>2612L104a>}22611"ip">>>>>>>>>>>>>>>>>>>>>>CM only for CM8738 *> */28a href="s2sound/pci/cmipc2614000" i226L1021" class="lineeeeeee26L10>261eeeeeoup_t_pou struct >ntrol_new021" clasass="sls="k>>ntrol_neweeeeeode=snrpsels="sref">s8738smixer_switches021" clasass="sls="sref">s8738smixer_switcheseeee[]>ref="+code=scan__devinitdata021" clasass="s__devinitdataeeee"a>/a>s22615015<#if 0 m>>>>>>>>>>>>>>>>>>>>>CM >>ntrolled =" pcm device *> */28a href="s2sound/pci/cmipc2616000" i226L1021" class="line" name26L10>2616"ip" class="ode=snrpseDEFINE_MIXER_SWITCH021" clasass="sDEFINE_MIXER_SWITCHeeeeam>>>>>>>>>>>>   ing">"IEC958 In Record" */de=snrpselpdif_int_biof">s(classlpdif_in"ip"),a>125a href="s2sound/pci/cmipc26L7000" i226L10217 class="line" name26L10>2617"ip" class="ode=snrpseDEFINE_MIXER_SWITCH021" clasass="sDEFINE_MIXER_SWITCHeeeeam>>>>>>>>>>>>   ing">"IEC958 Out" */de=snrpselpdif_outpsnipci" clpdif_out"ip"),a>125a href="s2sound/pci/cmipc26L8000" i226L10218" class="line" nam26L10>2618015        "IEC958 Out To DAC" */de=snrpsespdo2dac021" clasass="sspdo2dac" na),a>125a href="s2sound/pci/cmipc26L9000" i226L1021" class="line" name26L10>2619015<#endifa>125a href="s2sound/pci/cmipc2621000" i226L10220" class="line" nam26L10>2620015     m>>>>>>>>>>>>>>>>>>>>>C/ DEFINE_MIXER_SWITCH("IEC958 Output Switch", spdif_enable), */28a href="s2sound/pci/cmipc2621000" i226L1022" class="line" name26L10>2621015     {".ref="+code=scaneeee021" clasass="seeeeeeee"a>r>>>>>>>>>>>>   ing">"IEC958 Output Switch" */s22622L1046">1046snipci" cifaceeeee"a>ref="+code=scanSNDRV_CTL_ELEM_IFACE_MIXER021" clasass="sSNDRV_CTL_ELEM_IFACE_MIXEReeee,a>s22623015     6".ref="+code=scaninforef="+code=scanls="cref">suswitch_infosuswitch_infoeeee,a>s2snipci" cgeteeee/a>ref="+code=scanls="cref">sspdout_enable_getpsnipci" cls="cref">sspdout_enable_geteeee,a>s22625eeeeeeee019snipci" cputeeee/a>ref="+code=scanls="cref">sspdout_enable_putpsnipci" cls="cref">sspdout_enable_puteeee,a>s22626"ip" class="},a>s22627"ip" class="ode=snrpseDEFINE_MIXER_SWITCH021" clasass="sDEFINE_MIXER_SWITCHeeeeam>>>>>>>>>>>>   ing">"IEC958 In Valid" */de=snrpselpdi_valid125a href="s2sound/pci/cmipc2628000" i226L1022" claline" name="L926L10>2628015        "IEC958 Copyright" */de=snrpselpdif_copyrightpsnipci" clpdif_copyright" na),a>125a href="s2sound/pci/cmipc2629000" i226L10229 class="line} else26L10>2629"ip" class="ode=snrpseDEFINE_MIXER_SWITCH021" clasass="sDEFINE_MIXER_SWITCHeeeeam>>>>>>>>>>>>   ing">"IEC958 5V" */de=snrpsespdo_5v021" clasass="sspdo_5v" na),a>125a href="s2sound/pci/cmipc2631000" i226L10230" class="line" nam26L10>2630015>>>>>>>>>>>>>>>>>>>>C/      DEFINE_MIXER_SWITCH("IEC958 In/Out 48KHz", spdo_48k), */28a href="s2sound/pci/cmipc2631000" i226L1023" class="line" name26L10>2631L1046">1046"IEC958 Loop" */de=snrpselpdif_looppsnipci" clpdif_loop" na),a>125a href="s2sound/pci/cmipc2632000" i226L1022" clack" class="sre26L10>2632"ip" class="ode=snrpseDEFINE_MIXER_SWITCH021" clasass="sDEFINE_MIXER_SWITCHeeeeam>>>>>>>>>>>>   ing">"IEC958 In Monitor" */de=snrpselpdi_monitor125a href="s2sound/pci/cmipc2633000" i226L10233" class="line" nam26L10>2633015<}n 0;28a href="s2snd/pci/cmipci.2634000" i226L1023" class="lineeeeeee26L10>263eeeeea>}2263"L104>>>>>>>>>>>>>>>>>>>>>>CM only for model 033/037 *> */28a href="s2sound/pci/cmipc2636000" i226L1023" class="line" name26L10>2636"ip"oup_t_pou struct >ntrol_new021" clasass="sls="k>>ntrol_neweeeeeode=snrpsels="sref">soldsmixer_switches021" clasass="sls="sref">soldsmixer_switcheseeee[]>ref="+code=scan__devinitdata021" clasass="s__devinitdataeeee"a>/a>s22637"ip" class="ode=snrpseDEFINE_MIXER_SWITCH021" clasass="sDEFINE_MIXER_SWITCHeeeeam>>>>>>>>>>>>   ing">"IEC958 Mix Analog" */de=snrpselpdif_dac_outpsnipci" clpdif_dac_out" na),a>125a href="s2sound/pci/cmipc2638000" i226L10238" class="line" nam26L10>2638015        "IEC958 In Phase Inverss" */de=snrpsespdi_phase125a href="s2sound/pci/cmipc2639000" i226L1029" class="lineeeeeee26L10>2639"ip" class="ode=snrpseDEFINE_MIXER_SWITCH021" clasass="sDEFINE_MIXER_SWITCHeeeeam>>>>>>>>>>>>   ing">"IEC958 In Select" */de=snrpselpdif_in_sel1021" clasass="slpdif_in_sel1" na),a>125a href="s2sound/pci/cmipc2641000" i226L10240" class="line" nam26L10>2640015<}n 0;28a href="s2snd/pci/cmipci.2641000" i226L1024" class="line" name26L10>2641L104 0;28a href="s2sound/pci/cmipc2642000" i226L1024" class="line" name26L10>2642L104>>>>>>>>>>>>>>>>>>>>>>CM only for model 039 or later *> */28a href="s2sound/pci/cmipc2643000" i226L10243" class="line" nam26L10>2643015>ntrol_new021" clasass="sls="k>>ntrol_neweeeeeode=snrpsels="sref">sextrasmixer_switches021" clasass="sls="sref">sextrasmixer_switcheseeee[]>ref="+code=scan__devinitdata021" clasass="s__devinitdataeeee"a>/a>s2seDEFINE_MIXER_SWITCH021" clasass="sDEFINE_MIXER_SWITCHeeeeam>>>>>>>>>>>>   ing">"IEC958 In Select" */de=snrpselpdif_in_sel2021" clasass="slpdif_in_sel2" na),a>125a href="s2sound/pci/cmipc2645000" i226L10245" class="line" nam26L10>2645015     ode=snrpseDEFINE_MIXER_SWITCH021" clasass="sDEFINE_MIXER_SWITCHeeeeam>>>>>>>>>>>>   ing">"IEC958 In Phase Inverss" */de=snrpsespdi_phase2021" clasass="slpdi_phase2" na),a>125a href="s2sound/pci/cmipc2646000" i226L1024" class="line" name26L10>2646015     /a>s22641015     >     6".ref="+code=scaneeee021" clasass="seeeeeeee"a>r>>>>>>>>>>>>   ing">"Mic-In M">s" */s22648015     6">1046<.ref="+code=scanifacepsnipci" cifaceeeee"a>ref="+code=scanSNDRV_CTL_ELEM_IFACE_MIXER021" clasass="sSNDRV_CTL_ELEM_IFACE_MIXEReeee,a>s22649015     6">1046<.ref="+code=scaninforef="+code=scanls="cref">smicsin_mode_infosmicsin_mode_infoeeee,a>s2s25" class="line" name26u>s>2650015     /a>     .ref="+code=scangetpsnipci" cgeteeee/a>ref="+code=scanls="cref">smicsin_mode_getpsnipci" cls="cref">smicsin_mode_geteeee,a>s2s251" class="line" nam26u>s>2651015     6">1 AC3.ref="+code=scanputpsnipci" cputeeee/a>ref="+code=scanls="cref">smicsin_mode_putpsnipci" cls="cref">smicsin_mode_puteeee,a>s2s25" class="linei036">26u>s>2652L1046">1046}2s253" clck" class="sre26u>s>2653015<}n 0;28a href="s2snd/pci/cmipci.2654000" i226u>s25" class="lineclass=26u>s>265eeeeea>}2s255 claf="+code=i" cl26u>s>265"L104>>>>>>>>>>>>>>>>>>>>>>CM card >>ntrol switches *> */28a href="s2sound/pci/cmipc2656000" i226u>s25" class="lineif (cl26u>s>2656"ip"oup_t_pou struct >ntrol_new021" clasass="sls="k>>ntrol_neweeeeeode=snrpsels="sref">smodem_switchpsnipci" cls="cref">smodem_switcheeeeeode=snrpse__devinitdata021" clasass="s__devinitdataeeee"aan>28a href="s2sound/pci/cmipc2657000" i226u>s257 class="line" name26u>s>2651015seDEFINE_CARD_SWITCH021" clasass="sDEFINE_CARD_SWITCHeeeeam>>>>>>>>>>>>   ing">"M">sm" */de=snrpsemodem021" clasass="smodemeeeean 0;28a href="s2snd/pci/cmipcim2658000" i226u>s2s8" class="line" nam26u>s>265801528a href="s2sound/pci/cmipc2659000" i226u>s25" clas="line" name=26u>s>2659015}2s260" class="lin=chip"26u>s>2661039se__devinit021" clasass="s__deviniteeeeeode=snrpsels="sref">smixer_new021" clasass="sls="sref">smixer_neweeeea   struct 021" clasass="scref">" namamp;sepcm_lpdif_devicepsnipci" cpcm_lpdif_deviceeeeeaa>}2s26" class="line="sref26u>s>2661L104/a>s2s26" class="lineif (cl26u>s>2662L1046">1046s263" class="line" nam26u>s>2663015        struct >ntrol_new021" clasass="sls="k>>ntrol_neweeeeeamp;s26" class="lineeeeeee26u>s>2664015        struct >ntrol021" clasass="sls="k>>ntroleeeeeamp;s265" class="line" nam26u>s>2665015     unsigned ="+code=snrpseidxs26" class="line" name26u>s>2666"ip" class="="+code=snrpseerrs267 class="line" name26u>s>2667" naa>}2s268" class="line" nam26u>s>2668015     =f>amp;s26" clas="line" name=26u>s>2669015     6">1046<+code=s-ref="+code=scanEINVAL021" clasass="sEINVALeeeen 0;28a href="s2sound/pci/cmipc2671000" i226u>s270" class="line" nam26u>s>2671039< 0;28a href="s2sound/pci/cmipc2671000" i226u>s27" class="line" name26u>s>2671L1046">1046ref="+code=scanmipci_spdif_default_puths27" class="line" name26u>s>2672L104a>}2s273" class="line" nam26u>s>2673015        "CMedia PCI" */s27" class="lineeeeeee26u>s>267eeeeea>}2s275" class="line" nam26u>s>2675015     ode=snrpselpin_lock_irq021" clasass="slpin_lock_irqeeeea>, &s27" class="line" name26u>s>2676"ip" class="ode=snrpsels="sref">smixer_writesmixer_writeeeeeamef="+code=scancipci_spdif_default_put,p0x00,p0x00); 6">1046<>>>>>>>>>>>>>>>>>>>>>>CM mixer<+cset *> */28a href="s2sound/pci/cmipc2677000" i226u>s277 class="line" name26u>s>2677"ip" class="ode=snrpselpin_unlock_irq021" clasass="slpin_unlock_irqeeeea>, &s278" class="lin} else26u>s>267801528a href="s2sound/pci/cmipc2679000" i226u>s27" class="line" name26u>s>2679015     for amef="+code=scanidx0a ref="+code=scanidxsmixers021" clasass="sls="sref">smixerseeeean ref="+code=scanidxs2s280" class="line" nam26u>s>2680015     /a>     =f>amp;s(classchip_version015>>>>>>>>>>>>>>>>>>>>>C/ 8768 has no PCM voluee_p/28a href="s2sound/pci/cmipc2681000" i226u>s28" class="line" name26u>s>2681015     6">1 AC3<<<<<<<<=f>a!mp;snipci" cltrcmpeeeeamef="+code=scanls="sref">smixers021" clasass="sls="sref">smixerseeee[ref="+code=scanidxs28" class="line" name26u>s>2682L1046">1046                     >>>>>>>>>>>>>   ing">"PCM Playback Voluee" */s283" class="line" nam26u>s>2683015     6">1046<<<<<<<<<<<<<<<<<>>ntinuen 0;28a href="s2snd/pci/cmipcim26u4000" i226u>s28" class="lineeeeeee26u>s>268eeeeeeeee019     /a>}2s285" class="linss="li26u>s>2685015     6">1046<=f>aamef="+code=scanerrref="+code=scanls="ctl_add021" clasass="sls="stl_addeeeeamef="+code=scancard021" clasass="ssard" na,3>de=snrpsess="stl_new1021" clasass="sls="stl_new1eeeea>, &smixers021" clasass="sls="sref">smixerseeee[ref="+code=scanidxde=snrpsemipci_spdif_default_put)))/<a 0) 0;28a href="s2sound/pci/cmipc2686000" i226u>s28" class="line=chip"26u>s>2686"ip" class="""""""""""""""""+code=sode=snrpseerrs287 class="line" name26u>s>2687"ip" class="/a>}2s282sou10248" clss="li26u>s>268801528a href="s2sound/pci/cmipc2689000" i226 heveina hro|de=type" cl26 he>2689015     >>>>>>>>>>>>>>>>>>>>>>CM mixer */28a href="s2sound/pci/cmipc2691000" i226u>s190" class="line" nam26u>s>2690015     mp;ref="+code=scanls="cref">smixer_switches021" clasass="sls="sref">smixer_switcheseeeen 0;28a href="s2sound/pci/cmipc2691000" i226u>s19" class="line" name26u>s>2691L1046">10460a ref="+code=scanidxsmixer_switches021" clasass="sls="sref">smixer_switcheseeeean ref="+code=scanidxde=snrpsesw021" clasass="slw" na++) /a>s2s19" class="line" name26u>s>2692L1046">1046     ode=snrpseerrref="+code=scanls="ctl_add021" clasass="sls="stl_addeeeeamef="+code=scancipci_spdif_default_puthde=snrpsess="stl_new1021" clasass="sls="stl_new1eeeea>de=snrpsesw021" clasass="slw" na,3>de=snrpsemipci_spdif_default_put))n 0;28a href="s2sound/pci/cmipc2693000" i226u>s1s3" class="line" nam26u>s>2693015     6">1046<=f>amp;s19" class="lineeeeeee26u>s>269eeeeeeeee019     """"""""+code=sode=snrpseerrs195" class="line" nam26u>s>2695"ip" class="/a>}2s19" class="line" name26u>s>2696"ip" class="=f>a!>ref="+code=scanmipci_spdif_default_puthsnipci" ccan_mul_t_ch_put) /a>s2s197 class="line" name26u>s>2691015     >     6">de=snrpseerrref="+code=scanls="ctl_add021" clasass="sls="stl_addeeeeamef="+code=scancipci_spdif_default_puthde=snrpsess="stl_new1021" clasass="sls="stl_new1eeeea>, &snomul_t_switchpsnipci" cls="cref">snomul_t_switcheeee,3>de=snrpsemipci_spdif_default_put))n 0;28a href="s2sound/pci/cmipc2698000" i226u>s198" class="line" nam26u>s>2698015     6">1046<=f>amp;s1s9 class="liness="li26u>s>2699015     6">1046<""""""""+code=sode=snrpseerr2700015     /a>}2s19" class="line" name27L>s>2701015     =f>amp;snipci" cdeviceeeee/== ref="+code=scanPCI_DEVICE_ID_CMEDIA_CM8738psnipci" cPCI_DEVICE_ID_CMEDIA_CM8738_put ||a>}2s19" class="line" name27L>s>2702L1046">1046 mp;snipci" cdeviceeeee/== ref="+code=scanPCI_DEVICE_ID_CMEDIA_CM8738Bpsnipci" cPCI_DEVICE_ID_CMEDIA_CM8738B_put) /a>s2s1s3" class="line" nam27L>s>2703015     6">1046ref="+code=scanls="cref">s8738smixer_switches021" clasass="sls="sref">s8738smixer_switcheseeeen 0;28a href="s2sound/pci/cmipc27L4000" i227L>s19" class="lineeeeeee27L>s>270eeeeeeeee019     for amef="+code=scanidx0a ref="+code=scanidxs8738smixer_switches021" clasass="sls="sref">s8738smixer_switcheseeeean ref="+code=scanidxde=snrpsesw021" clasass="slw" na++) /a>s2s195" class="line" nam27L>s>2705015     6">1046<>     6">de=snrpseerrref="+code=scanls="ctl_add021" clasass="sls="stl_addeeeeamef="+code=scancipci_spdif_default_puthde=snrpsess="stl_new1021" clasass="sls="stl_new1eeeea>de=snrpsesw021" clasass="slw" na,3>de=snrpsemipci_spdif_default_put))n 0;28a href="s2sound/pci/cmipc27L6000" i227L>s19" class="line" name27L>s>2706"ip" class="""""""""""""""""=f>amp;s197 class="line" name27L>s>2701015     >     6"6">1046<""""""""+code=sode=snrpseerrs198" class="line" nam27L>s>2708015     6">1046}2s1s9 class="liness="li27L>s>2709015     6">1046<=f>amp;2710015     /a>     6">1046<=f>aamef="+code=scanerrref="+code=scanls="ctl_add021" clasass="sls="stl_addeeeeamef="+code=scancard021" clasass="ssard" na,3>de=snrpsekctl021" clasass="sk>tleeee/a>ref="+code=scanls="ctl_new1021" clasass="sls="stl_new1eeeea>, &slpdif_defaul_021" clasass="sls="sref">slpdif_defaul_" na,3>de=snrpsemipci_spdif_default_put)))/<a 0) 0;28a href="s2sound/pci/cmipc2711000" i227L1021" class="line" name27L10>2711015     6">1 AC3<<<<<<<<<<<<<<<<+code=sode=snrpseerr2712L1046">1046             >de=snrpsekctl021" clasass="sk>tleeeehsnipci" cdeviceeeee/=code=snrpsepcm_lpdif_devicepsnipci" cpcm_lpdif_deviceeeeen 0;28a href="s2sound/pci/cmipc2713000" i227L10213" class="line" nam27L10>2713015     6">1046<<<<<<<<<=f>aamef="+code=scanerrref="+code=scanls="ctl_add021" clasass="sls="stl_addeeeeamef="+code=scancard021" clasass="ssard" na,3>de=snrpsekctl021" clasass="sk>tleeee/a>ref="+code=scanls="ctl_new1021" clasass="sls="stl_new1eeeea>, &slpdif_mask021" clasass="sls="sref">slpdif_mask" na,3>de=snrpsemipci_spdif_default_put)))/<a 0) 0;28a href="s2sound/pci/cmipc2714000" i227L1021" class="lineeeeeee27L10>271eeeeeeeee019     """"""""<<<<<<<<+code=sode=snrpseerr2715015     6">1046<>     6">de=snrpsekctl021" clasass="sk>tleeeehsnipci" cdeviceeeee/=code=snrpsepcm_lpdif_devicepsnipci" cpcm_lpdif_deviceeeeen 0;28a href="s2sound/pci/cmipc2716000" i227L1021" class="line" name27L10>2716"ip" class="""""""""""""""""=f>aamef="+code=scanerrref="+code=scanls="ctl_add021" clasass="sls="stl_addeeeeamef="+code=scancard021" clasass="ssard" na,3>de=snrpsekctl021" clasass="sk>tleeee/a>ref="+code=scanls="ctl_new1021" clasass="sls="stl_new1eeeea>, &slpdif_streaipci_spdif_defauls="sref">slpdif_streai" na,3>de=snrpsemipci_spdif_default_put)))/<a 0) 0;28a href="s2sound/pci/cmipc2717000" i227L10217 class="line" name27L10>2711015     >     6"6">1046<""""""""+code=sode=snrpseerr2718015     6">1046<>     6">de=snrpsekctl021" clasass="sk>tleeeehsnipci" cdeviceeeee/=code=snrpsepcm_lpdif_devicepsnipci" cpcm_lpdif_deviceeeeen 0;28a href="s2sound/pci/cmipc2719000" i227L1021" class="line" name27L10>2719015     6">1046}22720015     /a>     =f>amp;s(classchip_version015s22721015     6">1 AC3<<<<<<<ref="+code=scanls="cref">soldsmixer_switches021" clasass="sls="sref">soldsmixer_switcheseeeen 0;28a href="s2sound/pci/cmipc2722000" i227L1022" class="line" name27L10>2722L1046">10460a ref="+code=scanidxsoldsmixer_switches021" clasass="sls="sref">soldsmixer_switcheseeeean ref="+code=scanidxde=snrpsesw021" clasass="slw" na++) /a>s22723015     6">     6">1 AC3<<<<<<<ref="+code=scanls="ctl_add021" clasass="sls="stl_addeeeeamef="+code=scancipci_spdif_default_puthde=snrpsess="stl_new1021" clasass="sls="stl_new1eeeea>de=snrpsesw021" clasass="slw" na,3>de=snrpsemipci_spdif_default_put))n 0;28a href="s2sound/pci/cmipc2724000" i227L1022" class="lineeeeeee27L10>272eeeeeeeee019amp;2725eeeeeeee019seerr2726"ip" class="""""""""""""""""/a>}22721015     >     6"/a>}2s(classchip_version015s22730015     /a>        ref="+code=scanls="cref">sextrasmixer_switches021" clasass="sls="sref">sextrasmixer_switcheseeeen 0;28a href="s2sound/pci/cmipc2731000" i227L1023" class="line" name27L10>2731015     6">1 AC3for amef="+code=scanidx0a ref="+code=scanidxsextrasmixer_switches021" clasass="sls="sref">sextrasmixer_switcheseeeean ref="+code=scanidxde=snrpsesw021" clasass="slw" na++) /a>s21046             >de=snrpseerrref="+code=scanls="ctl_add021" clasass="sls="stl_addeeeeamef="+code=scancipci_spdif_default_puthde=snrpsess="stl_new1021" clasass="sls="stl_new1eeeea>de=snrpsesw021" clasass="slw" na,3>de=snrpsemipci_spdif_default_put))n 0;28a href="s2sound/pci/cmipc2733000" i227L10233" class="line" nam27L10>2733015     6">1046<<<<<<<<<=f>amp;seerr2735eeeeeeee019}22736015     /a>}22737" naa>}22738015      >>>>>>>>>>>>>>>>>>>>>CM card switches *> */28a href="s2sound/pci/cmipc2739000" i227L1029" class="lineeeeeee27L10>2739015     >>>>>>>>>>>>>>>>>>>>>>CM */28a href="s2sound/pci/cmipc2741000" i227L10240" class="line" nam27L10>2740015>>>>>>>>>>>>>>>>>>>>28a href="s2sound/pci/cmipc2741000" i227L1024" class="line" name27L10>2741L104m>>>>>>>>>>>>>>>>>>>>>28a href="s2sound/pci/cmipc2742000" i227L1024" class="line" name27L10>2742L104>>>>>>>>>>>>>>>>>>>>>> */28a href="s2sound/pci/cmipc2743000" i227L10243" class="line" nam27L10>2743015     =f>amp;s(classchip_version015s2seerrref="+code=scanls="ctl_add021" clasass="sls="stl_addeeeeamef="+code=scancipci_spdif_default_puths22745eeeeeeee019, &smodem_switchpsnipci" cls="cref">smodem_switcheeee,3>de=snrpsemipci_spdif_default_put))n 0;28a href="s2sound/pci/cmipc2746000" i227L1024" class="line" name27L10>2746"ip" class="""""""""=f>amp;2741015     >     6"""""""""+code=sode=snrpseerr2748015     /a>}22749015}2s25" class="line" name27u>s>2750015     for amef="+code=scanidx0a ref="+code=scanidxs2s251" class="line" nam27u>s>2751015     6">1 AC3ou struct seelem_ids25" class="linei036">27u>s>2752L1046">1046        struct >ntrol021" clasass="sls="k>>ntroleeeeeamp;s253" clck" class="sre27u>s>2753015     6">1046snipci" cmemseteeeea>, &s25" class="lineclass=27u>s>275eeeeeeeee019     >de=snrpseelem_idsnipci" cifaceeeee"a>ref="+code=scanSNDRV_CTL_ELEM_IFACE_MIXER021" clasass="sSNDRV_CTL_ELEM_IFACE_MIXEReeeen 0;28a href="s2sound/pci/cmipc2755000" i227u>s255 claf="+code=i" cl27u>s>2755eeeeeeee019semi_savedsmixerpci_spdif_default_savedsmixereeee[ref="+code=scanidxs25" class="lineif (cl27u>s>2756"ip" class="""""""""mp;, &s257 class="line" name27u>s>2751015     >     6"=f>amp;s2s8" class="line" nam27u>s>2758015     6">1046<>     6">de=snrpsecipci_spdif_default_puthref="+code=scanmtl021" clasass="s>tleeeen 0;28a href="s2sound/pci/cmipc2759000" i227u>s25" clas="line" name=27u>s>2759015     /a>}2s260" class="lin=chip"27u>s>2761039< 0;28a href="s2sound/pci/cmipc2761000" i227u>s26" class="line="sref27u>s>2761015     +code=s0n 0;28a href="s2sound/pci/cmipc2762000" i227u>s26" class="lineif (cl27u>s>2762L104/a>}2s263" class="line" nam27u>s>2763015}2s26" class="lineeeeeee27u>s>276eeeeea>}2s265" class="line" nam27u>s>276"L104>>>>>>>>>>>>>>>>>>>>>>CM */28a href="s2sound/pci/cmipc2766000" i227u>s26" class="line" name27u>s>2766"ip">>>>>>>>>>>>>>>>>>>>>><* pro_p="+erfaceee/28a href="s2sound/pci/cmipc2767000" i227u>s267 class="line" name27u>s>2767" na>>>>>>>>>>>>>>>>>>>>>><*> */28a href="s2sound/pci/cmipc2768000" i227u>s268" class="line" nam27u>s>276801528a href="s2sound/pci/cmipc2769000" i227u>s26" clas="line" name=27u>s>2769015<#ifdef ref="+code=scanCONFIG_PROC_FS28a href="s2sound/pci/cmipc2771000" i227u>s270" class="line" nam27u>s>2771039ref="+code=scanls="cref">spro__readspro__readeeeea   struct >>ry021" clasass="sls="info_>>>ryeeeeeamp;>>ry021" clasass="s>>>ryeeee, an>28a href="s2sound/pci/cmipc2771000" i227u>s27" class="line" name27u>s>2771015     6">1 AC3<<<<<<<<<<<<<<<<    struct s27" class="line" name27u>s>2772L104/a>s2s273" class="line" nam27u>s>2773015        struct >>ry021" clasass="s>>>ryeeeehs27" class="lineeeeeee27u>s>277eeeeeeeee019<="+code=snrpseide=snrpsev021" clasass="sveeeen 0;28a href="s2sound/pci/cmipc2775000" i227u>s275" class="line" nam27u>s>2775015      0;28a href="s2sound/pci/cmipc2776000" i227u>s27" class="line" name27u>s>2776"ip" class="ode=snrpsels="iprintfpci_spdif_defauls="iprintfeeeeamef="+code=scanbufferpci_spdif_defaubuffereeee,p>>>>>>>>>>>>>   ing">"%s\n" */de=snrpsecipci_spdif_default_puths277 class="line" name27u>s>2777"ip" class="for amef="+code=scani0a ref="+code=scanis2s278" class="lin} else27u>s>2778015     6">1046<=f>amp;0x28) 0;28a href="s2sound/pci/cmipc2779000" i227u>s27" class="line" name27u>s>2779015     6">1046<""""""""mef="+code=scani0x90n 0;28a href="s2sound/pci/cmipc2781000" i227u>s280" class="line" nam27u>s>2780015     /a>     >de=snrpsev021" clasass="sveeee a>ref="+code=scaninbs28" class="line" name27u>s>2781015     6">1 AC3=f>amp;0) 0;28a href="s2sound/pci/cmipc2782000" i227u>s28" class="line" name27u>s>2782L1046">1046             ode=snrpsels="iprintfpci_spdif_defauls="iprintfeeeeamef="+code=scanbufferpci_spdif_defaubuffereeee,p>>>>>>>>>>>>>   ing">"\n%02x:" */de=snrpseis283" class="line" nam27u>s>2783015     6">1046sels="iprintfpci_spdif_defauls="iprintfeeeeamef="+code=scanbufferpci_spdif_defaubuffereeee,p>>>>>>>>>>>>>   ing">" %02x" */de=snrpsev021" clasass="sveeee)n 0;28a href="s2sound/pci/cmipc2784000" i227u>s28" class="lineeeeeee27u>s>278eeeeeeeee019}2s285" class="linss="li27u>s>2785015     ode=snrpsels="iprintfpci_spdif_defauls="iprintfeeeeamef="+code=scanbufferpci_spdif_defaubuffereeee,p>>>>>>>>>>>>>   ing">"\n" */s28" class="line=chip"27u>s>2786"ip"/a>}2s287 class="line" name27u>s>2787" naa>}2s282sou10248" clss="li27u>s>2788015ref="+code=scan__devinit021" clasass="s__deviniteeeeeode=snrpsels="sref">spro__init021" clasass="sls="sref">spro__initeeeea   struct 2789015s2s190" class="line" nam27u>s>2790015        struct >>ry021" clasass="sls="info_>>>ryeeeeeamp;>>ry021" clasass="s>>>ryeeeen 0;28a href="s2sound/pci/cmipc2791000" i227u>s19" class="line" name27u>s>2791L104 0;28a href="s2sound/pci/cmipc2792000" i227u>s19" class="line" name27u>s>2792L1046">1046<=f>a!>ref="+code=scanls="sardspro__new021" clasass="sls="sardspro__neweeeeamef="+code=scancipci_spdif_default_puth>>>>>>>>>>>>   ing">"/pci/c" */, &>ry021" clasass="s>>>ryeeeea) 0;28a href="s2sound/pci/cmipc2793000" i227u>s1s3" class="line" nam27u>s>2793015     6">1046de=snrpsess="sref">spro__readspro__readeeee)n 0;28a href="s2sound/pci/cmipc2794000" i227u>s19" class="lineeeeeee27u>s>279eeeee/a>}2s195" class="line" nam27u>s>2795"ip"#else  >>>>>>>>>>>>>>>>>>>>>CM !CONFIG_PROC_FS<*> */28a href="s2sound/pci/cmipc2796000" i227u>s19" class="line" name27u>s>2796"ip"oup_t_pref="+code=scanins="linaode=status" ins="l015ref="+code=scanls="cref">spro__init021" clasass="sls="sref">spro__initeeeea   struct s197 class="line" name27u>s>2791015<#endifa>}2s198" class="line" nam27u>s>279801528a href="s2sound/pci/cmipc2799000" i227u>s1s9 class="liness="li27u>s>2799015}22800"ip"oup_t_pref="+code=scanDEFINE_PCI_DEVICE_TABLE021" clasass="sDEFINE_PCI_DEVICE_TABLEeeeeamef="+code=scanls="sref">sids021" clasass="sls="sref">sids_put) a>/a>s2s19" class="line" name28L>s>2801015     {mef="+code=scanPCI_VDEVICE021" clasass="sPCI_VDEVICEeeeeamef="+code=scanCMEDIAde=snrpsePCI_DEVICE_ID_CMEDIA_CM8338As2s19" class="line" name28L>s>2802L1046">1046<{mef="+code=scanPCI_VDEVICE021" clasass="sPCI_VDEVICEeeeeamef="+code=scanCMEDIAde=snrpsePCI_DEVICE_ID_CMEDIA_CM8338Bpsnipci" cPCI_DEVICE_ID_CMEDIA_CM8338B_put), 0},a>s2s1s3" class="line" nam28L>s>2803015     {mef="+code=scanPCI_VDEVICE021" clasass="sPCI_VDEVICEeeeeamef="+code=scanCMEDIAde=snrpsePCI_DEVICE_ID_CMEDIA_CM8738psnipci" cPCI_DEVICE_ID_CMEDIA_CM8738_put), 0},a>s2s19" class="lineeeeeee28L>s>280eeeeeeeee019<{mef="+code=scanPCI_VDEVICE021" clasass="sPCI_VDEVICEeeeeamef="+code=scanCMEDIAde=snrpsePCI_DEVICE_ID_CMEDIA_CM8738Bpsnipci" cPCI_DEVICE_ID_CMEDIA_CM8738B_put), 0},a>s2s195" class="line" nam28L>s>2805015     {mef="+code=scanPCI_VDEVICE021" clasass="sPCI_VDEVICEeeeeamef="+code=scanAL021" clasass="sALeeee,3>de=snrpsePCI_DEVICE_ID_CMEDIA_CM8738psnipci" cPCI_DEVICE_ID_CMEDIA_CM8738_put), 0},a>s2s19" class="line" name28L>s>2806"ip" class="{0,},a>s2s197 class="line" name28L>s>2801015<}n 0;28a href="s2snd/pci/cmipci.28L8000" i228L>s198" class="line" nam28L>s>280801528a href="s2sound/pci/cmipc28L9000" i228L>s1s9 class="liness="li28L>s>2809015}22810015>>>>>>>>>>>>>>>>>>>>CM */28a href="s2sound/pci/cmipc2811000" i228L1021" class="line" name28L10>2811L104m>>>>>>>>>>>>>>>>>>>>><* check chip version and capabilitiesee/28a href="s2sound/pci/cmipc2812000" i228L1021" class="line" name28L10>2812L104>>>>>>>>>>>>>>>>>>>>>><* driverne" n is modified according to3the28a href="s2sound/pci/cmipc2813000" i228L10213" class="line" nam28L10>2813015<>>>>>>>>>>>>>>>>>>>>>><*> */28a href="s2sound/pci/cmipc2814000" i228L1021" class="lineeeeeee28L10>281eeeeeoup_t_pvoid>ref="+code=scan__devinit021" clasass="s__deviniteeeeeode=snrpsequery_chip021" clasass="squery_chipeeeea   struct 2815015s22816"ip" class="unsigned ="+code=snrpsedetectpci_spdif_defaudetecteeeen 0;28a href="s2sound/pci/cmipc2817000" i228L10217 class="line" name28L10>2817" naa>}22818015      >>>>>>>>>>>>>>>>>>>>>CM check reg 0Ch, */28a href="s2sound/pci/cmipc2819000" i228L1021" class="line" name28L10>2819015     ode=snrpsedetectpci_spdif_defaudetecteeee/a>ref="+code=scanls="cref">sreadsreadeeeeamef="+code=scancipci_spdif_default_put,3>de=snrpseCM_REG_INT_HLDCLR021" clasass="sCM_REG_INT_HLDCLR_put) >, &a3>de=snrpseCM_CHIP_MASK2021" clasass="sCM_CHIP_MASK2eeeen 0;28a href="s2sound/pci/cmipc2821000" i228L10220" class="line" nam28L10>2820015     =f>a!>ref="+code=scandetectpci_spdif_defaudetecteeee) /a>s22821015     6">1 AC3 >>>>>>>>>>>>>>>>>>>>>CM check reg 08h, */28a href="s2sound/pci/cmipc2822000" i228L1022" class="line" name28L10>2822L1046">1046sedetectpci_spdif_defaudetecteeee/a>ref="+code=scanls="cref">sreadsreadeeeeamef="+code=scancipci_spdif_default_put,3>de=snrpseCM_REG_CHFORMAT021" clasass="sCM_REG_CHFORMAT_put) >, &a3>de=snrpseCM_CHIP_MASK1021" clasass="sCM_CHIP_MASK1eeeen 0;28a href="s2sound/pci/cmipc2823000" i228L10223" class="line" nam28L10>2823015     6">     switch>amp;s22825eeeeeeee019s(classchip_version0152826"ip" class="""""""""""""""""=f>amp;2821015     >     6"/aaaaaaaaaaaaaaamef="+code=scancipci_spdif_default_puth1046<>     6"else 0;28a href="s2sound/pci/cmipc2829000" i228L10229 class="line} else28L10>2829015     6">1046<""""""""aaaaaaaamef="+code=scancipci_spdif_default_puth2830015     /a>             breakn 0;28a href="s2sound/pci/cmipc2831000" i228L1023" class="line" name28L10>2831015     6">1 AC3case >de=snrpseCM_CHIP_0L10237 clasass="sCM_CHIP_037" na:a>s21046             >de=snrpsecipci_spdif_default_puths(classchip_version0152833015     6">1046<<<<<<<<2835eeeeeeee019s22836"ip" class=""""""""""""""""">de=snrpsecipci_spdif_default_puths(classchip_version0152831015     >     6"/aaaaaaamef="+code=scancipci_spdif_default_puth2838015     6">1046<>     6"breakn 0;28a href="s2sound/pci/cmipc2839000" i228L1029" class="lineeeeeee28L10>2839015     6">1046}22840015     /a>     >de=snrpsecipci_spdif_default_puth2841015     }"else /a>s22842L1046">1046     =f>amp;, &a3>de=snrpseCM_CHIP_0L1029" clasass="sCM_CHIP_039eeee) /a>s22843015     6">1046<<<<<<<<s(classchip_version015284eeeeeeeee019     /a>     =f>amp;, &a3>de=snrpseCM_CHIP_0L1_6CH029" clasass="sCM_CHIP_039_6CHeeee)  >>>>>>>>>>>>>>>>>>>>>CM 4 or 6 channels<*> */28a href="s2sound/pci/cmipc2845000" i228L10245" class="line" nam28L10>2845eeeeeeee019de=snrpsecipci_spdif_default_puth2846"ip" class="""""""""""""""""else 0;28a href="s2sound/pci/cmipc2847000" i228L10247 class="liness="li28L10>2841015     >     6"""""""""aaaaaaaa>de=snrpsecipci_spdif_default_puth2848015     6">1046amp;, &a3>de=snrpseCM_CHIP_87u>s268" claass="sCM_CHIP_8768015<) /a>s22849015     6">1046<""""""""mef="+code=scancipci_spdif_default_puths(classchip_version015s25" class="line" name28u>s>2850015     /a>             >de=snrpsecipci_spdif_default_puths251" class="line" nam28u>s>2851015     6">1 AC3""""""""mef="+code=scancipci_spdif_default_puths25" class="linei036">28u>s>2852L1046">1046     }"else /a>s2s253" clck" class="sre28u>s>2853015     6">1046<""""""""mef="+code=scancipci_spdif_default_puths(classchip_version015s25" class="lineclass=28u>s>285eeeeeeeee019             >de=snrpsecipci_spdif_default_puths255 claf="+code=i" cl28u>s>2855eeeeeeee019s25" class="lineif (cl28u>s>2856"ip" class="""""""""/a>}2s257 class="line" name28u>s>2851015     >     6"mef="+code=scancipci_spdif_default_puths2s8" class="line" nam28u>s>2858015     6">1046snipci" ccan_mul_t_ch_put/= 1n 0;28a href="s2sound/pci/cmipc2859000" i228u>s25" clas="line" name=28u>s>2859015     /a>}2s260" class="lin=chip"28u>s>2861039}2s26" class="line="sref28u>s>2861L104 0;28a href="s2sound/pci/cmipc2862000" i228u>s26" class="lineif (cl28u>s>2862L104#ifdef ref="+code=scanSUPPORT_JOYSTICKpsnipci" cSUPPORT_JOYSTICKL104 0;28a href="s2sound/pci/cmipc2863000" i228u>s263" class="line" nam28u>s>2863015se__devinit021" clasass="s__deviniteeeeeode=snrpsels="sref">screate_ge" port021" clasass="sls="sref">screate_ge" porteeeea   struct sedev021" clasass="sdev_put) 0;28a href="s2sound/pci/cmipc2864000" i228u>s26" class="lineeeeeee28u>s>286eeeee/a>s2s265" class="line" nam28u>s>2865eeeeeeee019seportspci_spdif_defauportseeee[]/a>{>0x201,>0x200,>0 };  >>>>>>>>>>>>>>>>>>>>>CM FIXME: majority is 0x201?<*> */28a href="s2sound/pci/cmipc2866000" i228u>s26" class="line" name28u>s>2866eeeeeeee019s267 class="line" name28u>s>2867eeeeeeee019snipci" cref="rceeeeeeamp;ref="+code=scanNULL021" clasass="sNULLeeeen 0;28a href="s2sound/pci/cmipc2868000" i228u>s268" class="line" nam28u>s>2868015     ="+code=snrpseide=snrpseio_port021" clasass="sio_porteeee/a>0n 0;28a href="s2sound/pci/cmipc2869000" i228u>s26" clas="line" name=28u>s>2869015}2s270" class="line" nam28u>s>2870015     =f>a>de=snrpsejoys_t_k_port021" clasass="sjoys_t_k_porteeee[ode=snrpsedev021" clasass="sdev_put]/aa>0) 0;28a href="s2sound/pci/cmipc2871000" i228u>s27" class="line" name28u>s>2871015     6">1 AC3+code=s-ode=snrpseENODEV021" clasass="sENODEVeeeen 0;28a href="s2sound/pci/cmipc2872000" i228u>s27" class="line" name28u>s>2872L104 0;28a href="s2sound/pci/cmipc2873000" i228u>s273" class="line" nam28u>s>2873015     =f>amp;sedev021" clasass="sdev_put]/aa>1)>{> >>>>>>>>>>>>>>>>>>>>>CM auto-detect<*> */28a href="s2sound/pci/cmipc2874000" i228u>s27" class="lineeeeeee28u>s>287eeeeeeeee019     for amef="+code=scani0a ref="+code=scanportspci_spdif_defauportseeee[mef="+code=scanis2s275" class="line" nam28u>s>2875eeeeeeee019s2s27" class="line" name28u>s>2876"ip" class=""""""""""""""""">de=snrpserpci_spdif_defaureeee/a>ref="+code=scanrequest_+cgiont_biof">s(classrequest_+cgioneeeeamef="+code=scanio_port021" clasass="sio_porteeee, 1,3>>>>>>>>>>>>>   ing">"CMIPCI ge" port" */s277 class="line" name28u>s>2871015     >     6"""""""""=f>amp;s278" class="lin} else28u>s>2878015     6">1046<<<<<<<<<<<<<<<<s27" class="line" name28u>s>2879015     6">1046}2s280" class="line" nam28u>s>2880015     }"else /a>s2s28" class="line" name28u>s>2881015     6">1 AC3mef="+code=scanio_port021" clasass="sio_porteeee/a>ref="+code=scanjoys_t_k_port021" clasass="sjoys_t_k_porteeee[ode=snrpsedev021" clasass="sdev_put]n 0;28a href="s2sound/pci/cmipc2882000" i228u>s28" class="line" name28u>s>2882L1046">1046     >de=snrpserpci_spdif_defaureeee/a>ref="+code=scanrequest_+cgiont_biof">s(classrequest_+cgioneeeeamef="+code=scanio_port021" clasass="sio_porteeee, 1,3>>>>>>>>>>>>>   ing">"CMIPCI ge" port" */s283" class="line" nam28u>s>2883015     /a>}2s28" class="lineeeeeee28u>s>288eeeeea>}2s285" class="linss="li28u>s>2885015     =f>a!mp;s2s28" class="line=chip"28u>s>2886"ip" class="""""""""mp;"/pci/c: cannot3+cserve joys_t_k ports\n" */s287 class="line" name28u>s>2881015     >     6"+code=s-ode=snrpseEBUSY021" clasass="sEBUSYeeeen 0;28a href="s2sound/pci/cmipc28u8000" i228u>s282sou10248" clss="li28u>s>2888015     /a>}22889015}2s190" class="line" nam28u>s>2890015     mef="+code=scancipci_spdif_default_puthref="+code=scangp021" clasass="sgpeeeeea>ref="+code=scange" port_allocate_port021" clasass="sge" port_allocate_porteeeea)n 0;28a href="s2sound/pci/cmipc2891000" i228u>s19" class="line" name28u>s>2891015     =f>a!mp;s19" class="line" name28u>s>2892L1046">1046     >de=snrpseprintk021" clasass="sprintkeeeeamef="+code=scanKERN_ERR021" clasass="sKERN_ERReeeeeo>>>>>>>>>>>>   ing">"/pci/c: cannot3allocate memory for ge" port\n" */s1s3" class="line" nam28u>s>2893015     6">1046snipci" crelease_and_free_ref="rceeeeeamef="+code=scanrpci_spdif_defaureeee)n 0;28a href="s2sound/pci/cmipc2894000" i228u>s19" class="lineeeeeee28u>s>289eeeeeeeee019     +code=s-ode=snrpseENOMEM021" clasass="sENOMEMeeeen 0;28a href="s2sound/pci/cmipc2895000" i228u>s195" class="line" nam28u>s>2895015     /a>}2s19" class="line" name28u>s>2896"ip" class="ode=snrpsege" port_set_eeee021" clasass="sge" port_set_eeeeeeeeamef="+code=scangp021" clasass="sgpeeee,3>>>>>>>>>>>>>   ing">"C-Media Ge" port" */s197 class="line" name28u>s>2897"ip" class="ode=snrpsege" port_set_physpci_spdif_defauge" port_set_physeeeeamef="+code=scangp021" clasass="sgpeeee,3>>>>>>>>>>>>>   ing">"i/c%s/ge" port0" */de=snrpsef">seeee021" clasass="sf">seeeeeeeeamef="+code=scancipci_spdif_default_puths198" class="line" nam28u>s>2898"ip" class="ode=snrpsege" port_set_dev_par>>>>ci_spdif_defauge" port_set_dev_par>>>eeeeamef="+code=scangp021" clasass="sgpeeee,3>, &s1s9 class="liness="li28u>s>2899015     ode=snrpsegp021" clasass="sgpeeeeh2900015     mef="+code=scange" port_set_port_data021" clasass="sge" port_set_port_dataeeeeamef="+code=scangp021" clasass="sgpeeee,3>ef="+code=scanrpci_spdif_defaureeee)n 0;28a href="s2sound/pci/cmipc29L1000" i229L>s19" class="line" name29L>s>2901L104 0;28a href="s2sound/pci/cmipc29L2000" i229L>s19" class="line" name29L>s>2902L1046">1046sels="sref">sset_bit021" clasass="sls="sref">sset_biteeeeamef="+code=scancipci_spdif_default_put,3>de=snrpseCM_REG_FUNCTRL1021" clasass="sCM_REG_FUNCTRL1_put,3>de=snrpseCM_JYSTK_EN021" clasass="sCM_JYSTK_ENeeee)n 0;28a href="s2sound/pci/cmipc29L3000" i229L>s1s3" class="line" nam29L>s>2903015}2s19" class="lineeeeeee29L>s>290eeeeeeeee019s195" class="line" nam29L>s>2905015< 0;28a href="s2sound/pci/cmipc29L6000" i229L>s19" class="line" name29L>s>2906"ip" class="+code=s0n 0;28a href="s2sound/pci/cmipc29L7000" i229L>s197 class="line" name29L>s>2901015<} 0;28a href="s2sound/pci/cmipc29L8000" i229L>s198" class="line" nam29L>s>290801528a href="s2sound/pci/cmipc29L9000" i229L>s1s9 class="liness="li29L>s>2909015ref="+code=scanls="cref">sfree_ge" port021" clasass="sls="sref">sfree_ge" porteeeea   struct 2910015s22911015     =f>amef="+code=scancipci_spdif_default_puths22912L1046">1046        struct snipci" cref="rceeeeeeamp;ref="+code=scange" port_get_port_data021" clasass="sge" port_get_port_dataeeeeamef="+code=scancipci_spdif_default_puth2913015}2sege" port_un+cgister_port021" clasass="sge" port_un+cgister_porteeeeamef="+code=scancipci_spdif_default_puth2915eeeeeeee019ref="+code=scanNULL021" clasass="sNULLeeeen 0;28a href="s2sound/pci/cmipc2916000" i229L1021" class="line" name29L10>2916"ip" 0;28a href="s2sound/pci/cmipc2917000" i229L10217 class="line" name29L10>2911015     >     6"mef="+code=scanls="sref">sclear_bit021" clasass="sls="sref">sclear_biteeeeamef="+code=scancipci_spdif_default_put,3>de=snrpseCM_REG_FUNCTRL1021" clasass="sCM_REG_FUNCTRL1_put,3>de=snrpseCM_JYSTK_EN021" clasass="sCM_JYSTK_ENeeee)n 0;28a href="s2sound/pci/cmipc29L8000" i229L10218" class="line" nam29L10>2918015     6">1046snipci" crelease_and_free_ref="rceeeeeamef="+code=scanrpci_spdif_defaureeee)n 0;28a href="s2sound/pci/cmipc2919000" i229L1021" class="line" name29L10>2919015     /a>}22921039}22921015<#else 0;28a href="s2sound/pci/cmipc2922000" i229L1022" class="line" name29L10>2922L104oup_t_pref="+code=scanins="linaode=status" ins="l015sels="sref">screate_ge" port021" clasass="sls="sref">screate_ge" porteeeea   struct sedev021" clasass="sdev_put) { +code=s-ode=snrpseENOSYS}22923L104oup_t_pref="+code=scanins="linaode=status" ins="l015ref="+code=scanls="cref">sfree_ge" port021" clasass="sls="sref">sfree_ge" porteeeea   struct 2925015< 0;28a href="s2sound/pci/cmipc2926000" i229L1022" class="line" name29L10>2926"ip"oup_t_p="+code=snrpsels="sref">sfree021" clasass="sls="sref">sfreeeeeea   struct 2921015s20) /a>s21046sclear_bit021" clasass="sls="sref">sclear_biteeeeamef="+code=scancipci_spdif_default_put,3>de=snrpseCM_REG_MISC_CTRL021" clasass="sCM_REG_MISC_CTRL_put,3>de=snrpseCM_FM_EN021" clasass="sCM_FM_ENeeee)n 0;28a href="s2sound/pci/cmipc2931000" i229L10230" class="line" nam29L10>2930015     /a>     mef="+code=scanls="sref">sclear_bit021" clasass="sls="sref">sclear_biteeeeamef="+code=scancipci_spdif_default_put,3>de=snrpseCM_REG_LEGACY_CTRL021" clasass="sCM_REG_LEGACY_CTRL_put,3>de=snrpseCM_ENSPDOUT021" clasass="sCM_ENSPDOUTeeee)n 0;28a href="s2sound/pci/cmipc2931000" i229L1023" class="line" name29L10>2931015     6">1 AC3mef="+code=scanls="sref">swrite021" clasass="sls="sref">swriteeeeeamef="+code=scancipci_spdif_default_put,3>de=snrpseCM_REG_INT_HLDCLR021" clasass="sCM_REG_INT_HLDCLR_put,>0);C3 >>>>>>>>>>>>>>>>>>>>>CM disablep="+s<*> */28a href="s2sound/pci/cmipc2932000" i229L1022" clack" class="sre29L10>2932L1046">1046     mef="+code=scanls="sref">sch_refet021" clasass="sls="sref">sch_refeteeeeamef="+code=scancipci_spdif_default_put,3>de=snrpseCM_CH_PLAY021" clasass="sCM_CH_PLAYeeee)n 0;28a href="s2sound/pci/cmipc2933000" i229L10233" class="line" nam29L10>2933015     6">1046sch_refet021" clasass="sls="sref">sch_refeteeeeamef="+code=scancipci_spdif_default_put,3>de=snrpseCM_CH_CAPT021" clasass="sCM_CH_CAPTeeee)n 0;28a href="s2sound/pci/cmipc2934000" i229L1023" class="lineeeeeee29L10>293eeeeeeeee019     mef="+code=scanls="sref">swrite021" clasass="sls="sref">swriteeeeeamef="+code=scancipci_spdif_default_put,3>de=snrpseCM_REG_FUNCTRL0021" clasass="sCM_REG_FUNCTRL0_put,>0);C >>>>>>>>>>>>>>>>>>>>>CM disablepchannels<*> */28a href="s2sound/pci/cmipc2935000" i229L10235" class="line" nam29L10>2935eeeeeeee019swrite021" clasass="sls="sref">swriteeeeeamef="+code=scancipci_spdif_default_put,3>de=snrpseCM_REG_FUNCTRL1021" clasass="sCM_REG_FUNCTRL1_put,30)n 0;28a href="s2sound/pci/cmipc2936000" i229L1023" class="line" name29L10>2936"ip" 0;28a href="s2sound/pci/cmipc2937000" i229L10237 class="line" name29L10>2931015     >     6" >>>>>>>>>>>>>>>>>>>>>CM refet mixer<*> */28a href="s2sound/pci/cmipc2938000" i229L10238" class="line" nam29L10>2938015     6">1046smixerswrite021" clasass="sls="sref">smixerswriteeeeeamef="+code=scancipci_spdif_default_put,30,30)n 0;28a href="s2sound/pci/cmipc2939000" i229L1029" class="lineeeeeee29L10>2939015}22940015     /a>     >de=snrpsefree_irqinaode=status" free_irqeeeeamef="+code=scancipci_spdif_default_puth2941015     } 0;28a href="s2sound/pci/cmipc2942000" i229L1024" class="line" name29L10>2942L104 0;28a href="s2sound/pci/cmipc2943000" i229L10243" class="line" nam29L10>2943015     ref="+code=scanls="cref">sfree_ge" port021" clasass="sls="sref">sfree_ge" porteeeeamef="+code=scancipci_spdif_default_put)n 0;28a href="s2sound/pci/cmipc2944000" i229L1024" class="lineeeeeee29L10>294eeeeeeeee019srelease_+cgionspci_spdif_defaup">srelease_+cgionseeeeamef="+code=scancipci_spdif_default_puth2945eeeeeeee019sdisable_devicepsnipci" cp">sdisable_deviceeeeeamef="+code=scancipci_spdif_default_puth2946"ip" class="ode=snrpsekfree021" clasass="skfreeeeeeamef="+code=scancipci_spdif_default_put)n 0;28a href="s2sound/pci/cmipc2947000" i229L10247 class="liness="li29L10>2941015     +code=s0n 0;28a href="s2sound/pci/cmipc2948000" i229u10248" clss="line" name29u10>2948015<} 0;28a href="s2sound/pci/cmipc2949000" i229u1024" clas="line" name=29u10>2949015}2s25" class="line" name29u>s>2950"ip"oup_t_p="+code=snrpsels="sref">sdev_free021" clasass="sls="sref">sdev_freeeeeea   struct snipci" cls="deviceeeeeeamp;snipci" cdeviceeeee) 0;28a href="s2sound/pci/cmipc2951000" i229u>s251" class="line" nam29u>s>2951015s2s25" class="linei036">29u>s>2952L1046">1046<   struct snipci" cdeviceeeeehs253" clck" class="sre29u>s>2953015     +code=sode=snrpsels="sref">sfree021" clasass="sls="sref">sfreeeeeeamef="+code=scancipci_spdif_default_put)n 0;28a href="s2sound/pci/cmipc2954000" i229u>s25" class="lineclass=29u>s>295eeeee/a>}2s255 claf="+code=i" cl29u>s>2955015< 0;28a href="s2sound/pci/cmipc2956000" i229u>s25" class="lineif (cl29u>s>2956"ip"oup_t_p="+code=snrpse__devinit021" clasass="s__deviniteeeeeode=snrpsels="sref">screate_fipci_spdif_defauls="sref">screate_fieeeea   struct sefm_port021" clasass="sfm_porteeee) 0;28a href="s2sound/pci/cmipc2957000" i229u>s257 class="line" name29u>s>2951015s2s2s8" class="line" nam29u>s>2958015     long >de=snrpseiosynthpsnipci" ciosyntheeeen 0;28a href="s2sound/pci/cmipc2959000" i229u>s25" clas="line" name=29u>s>2959015     unsigned ="+code=snrpsevalpsnipci" cvaleeeen 0;28a href="s2sound/pci/cmipc2961000" i229u>s260" class="lin=chip"29u>s>2960015        struct s26" class="line="sref29u>s>2961015     ="+code=snrpseerrpci_spdif_defauerreeeen 0;28a href="s2sound/pci/cmipc2962000" i229u>s26" class="lineif (cl29u>s>2962L104 0;28a href="s2sound/pci/cmipc2963000" i229u>s263" class="line" nam29u>s>2963015     =f>a!mp;s26" class="lineeeeeee29u>s>296eeeeeeeee019     goto>ref="+code=scandisable_fipci_spdif_defaudisable_fieeeen 0;28a href="s2sound/pci/cmipc2965000" i229u>s265" class="line" nam29u>s>2965015< 0;28a href="s2sound/pci/cmipc2966000" i229u>s26" class="line" name29u>s>2966eeeeeeee019<=f>amef="+code=scancipci_spdif_default_puths(classchip_version01539) /a>s2s267 class="line" name29u>s>2961015     >     6" >>>>>>>>>>>>>>>>>>>>>CM first try FM regs =" PCI port range<*> */28a href="s2sound/pci/cmipc2968000" i229u>s268" class="line" nam29u>s>2968015     6">1046snipci" ciosyntheeeeea>ref="+code=scancipci_spdif_default_puthsnipci" ciobaseeeeee+3>de=snrpseCM_REG_FM_PCI021" clasass="sCM_REG_FM_PCIeeeen 0;28a href="s2sound/pci/cmipc2969000" i229u>s26" clas="line" name=29u>s>2969015     6">1046ref="+code=scanls="opl3screatepci_spdif_defauls="opl3screateeeeeamef="+code=scancipci_spdif_default_puthef="+code=scaniosynthpsnipci" ciosyntheeee,3>ef="+code=scaniosynthpsnipci" ciosyntheeeee+32,a>s2s270" class="line" nam29u>s>2970015     /a>             >     6">1046snipci" cOPL3_HW_OPL3eeee,31,3>, &s27" class="line" name29u>s>2971015     }"else /a>s2s27" class="line" name29u>s>2972L1046">1046     mef="+code=scanerrpci_spdif_defauerreeee/a>-ode=snrpseEIOpci_spdif_defauEIOeeeen 0;28a href="s2sound/pci/cmipc2973000" i229u>s273" class="line" nam29u>s>2973015     /a>}2s27" class="lineeeeeee29u>s>297eeeeeeeee019<=f>amef="+code=scanerrpci_spdif_defauerreeee/<>0) /a>s2s275" class="line" nam29u>s>2975eeeeeeee019>>>>>>>>>>>>>>>>>>>>CM then try legacy ports<*> */28a href="s2sound/pci/cmipc2976000" i229u>s27" class="line" name29u>s>2976"ip" class="""""""""ode=snrpsevalpsnipci" cvaleeee/a>ref="+code=scanls="cref">sreadsreadeeeeamef="+code=scancipci_spdif_default_put,3>de=snrpseCM_REG_LEGACY_CTRL021" clasass="sCM_REG_LEGACY_CTRL_put) >, &a3~>de=snrpseCM_FMSEL_MASK021" clasass="sCM_FMSEL_MASKeeeen 0;28a href="s2sound/pci/cmipc2977000" i229u>s277 class="line" name29u>s>2971015     >     6"mef="+code=scaniosynthpsnipci" ciosyntheeeeea>ref="+code=scanfm_port021" clasass="sfm_porteeeen 0;28a href="s2sound/pci/cmipc2978000" i229u>s278" class="lin} else29u>s>2978015     6">1046amp;snipci" ciosyntheeee) /a>s2s27" class="line" name29u>s>2979015     6">1046sevalpsnipci" cvaleeee/|a>ref="+code=scanCM_FMSEL_3E8021" clasass="sCM_FMSEL_3E8eeeens280" class="line" nam29u>s>2980015     /a>     case 0x3E0:"ode=snrpsevalpsnipci" cvaleeee/|a>ref="+code=scanCM_FMSEL_3E0021" clasass="sCM_FMSEL_3E0eeeens28" class="line" name29u>s>2981015     6">1 AC3case 0x3C8:"ode=snrpsevalpsnipci" cvaleeee/|a>ref="+code=scanCM_FMSEL_3C8021" clasass="sCM_FMSEL_3C8eeeens28" class="line" name29u>s>2982L1046">1046     case 0x388:"ode=snrpsevalpsnipci" cvaleeee/|a>ref="+code=scanCM_FMSEL_388021" clasass="sCM_FMSEL_388eeeens283" class="line" nam29u>s>2983015     6">1046s2s28" class="lineeeeeee29u>s>298eeeeeeeee019             goto>ref="+code=scandisable_fipci_spdif_defaudisable_fieeeen 0;28a href="s2sound/pci/cmipc29u5000" i229u>s285" class="linss="li29u>s>2985eeeeeeee019}2s28" class="line=chip"29u>s>2986"ip" class="""""""""mp;swrite021" clasass="sls="sref">swriteeeeeamef="+code=scancipci_spdif_default_put,3>de=snrpseCM_REG_LEGACY_CTRL021" clasass="sCM_REG_LEGACY_CTRL_put,3>de=snrpsevalpsnipci" cvaleeee)n 0;28a href="s2sound/pci/cmipc29u7000" i229u>s287 class="line" name29u>s>2981015     >     6" >>>>>>>>>>>>>>>>>>>>>CM enablepFM *> */28a href="s2sound/pci/cmipc29u8000" i229u>s282sou10248" clss="li29u>s>2988015     6">1046sset_bit021" clasass="sls="sref">sset_biteeeeamef="+code=scancipci_spdif_default_put,3>de=snrpseCM_REG_MISC_CTRL021" clasass="sCM_REG_MISC_CTRL_put,3>de=snrpseCM_FM_EN021" clasass="sCM_FM_ENeeee)n 0;28a href="s2sound/pci/cmipc2989000" i229 heveina hro|de=type" cl29 he>2989015}2s190" class="line" nam29u>s>2990015     /a>     =f>amef="+code=scanls="opl3screatepci_spdif_defauls="opl3screateeeeeamef="+code=scancipci_spdif_default_puthef="+code=scaniosynthpsnipci" ciosyntheeee,3>ef="+code=scaniosynthpsnipci" ciosyntheeeee+32,a>s2s19" class="line" name29u>s>2991015     6">1 AC3""""""""    6">1046snipci" cOPL3_HW_OPL3eeee,30,3>, &0) /a>s2s19" class="line" name29u>s>2992L1046">1046     6">1046"/pci/c: no OPL device at %#lx,3>quot; */s2s1s3" class="line" nam29u>s>2993015     6">1046     >     6" >>>>>>>>>>>>   ing">"skipping...\n" */ef="+code=scaniosynthpsnipci" ciosyntheeee)n 0;28a href="s2sound/pci/cmipc2994000" i229u>s19" class="lineeeeeee29u>s>299eeeeeeeee019             goto>ref="+code=scandisable_fipci_spdif_defaudisable_fieeeen 0;28a href="s2sound/pci/cmipc2995000" i229u>s195" class="line" nam29u>s>2995eeeeeeee019}2s19" class="line" name29u>s>2996"ip" class="/a>}2s197 class="line" name29u>s>2997"ip" class="=f>aamef="+code=scanerrpci_spdif_defauerreeee/a>ref="+code=scanls="opl3shwdep_new021" clasass="sls="opl3shwdep_neweeeeamef="+code=scanopl3pci_spdif_defauopl3eeee,30,31,3>ef="+code=scanNULL021" clasass="sNULLeeee))/<>0) /a>s2s198" class="line" nam29u>s>2998015     6">1046"/pci/c: cannot3create OPL3 hwdep\n" */s1s9 class="liness="li29u>s>2999015     6">1046<+code=sode=snrpseerrpci_spdif_defauerreeeen 0;28a href="s2sound/pci/cmipc30L1000" i230L100s9 class="liness="li30L10>30L1"ip" class="/a>/pre>0;28a href="s2sound/pci/cmipc30L1000" i230L>s19" class="line" name30L>s>30L1015     +code=s0n 0;28a href="s2sound/pci/cmipc30L2000" i230L>s19" class="line" name30L>s>30L2L104 0;28a href="s2sound/pci/cmipc30L3000" i230L>s1s3" class="line" nam30L>s>30L3eeeeeode=snrpsedisable_fipci_spdif_defaudisable_fieeee:a>s2s19" class="lineeeeeee30L>s>30Leeeeeeeee019sclear_bit021" clasass="sls="sref">sclear_biteeeeamef="+code=scancipci_spdif_default_put,3>de=snrpseCM_REG_LEGACY_CTRL021" clasass="sCM_REG_LEGACY_CTRL_put,3>de=snrpseCM_FMSEL_MASK021" clasass="sCM_FMSEL_MASKeeee)n 0;28a href="s2sound/pci/cmipc30L5000" i230L>s195" class="line" nam30L>s>30L5eeeeeeee019sclear_bit021" clasass="sls="sref">sclear_biteeeeamef="+code=scancipci_spdif_default_put,3>de=snrpseCM_REG_MISC_CTRL021" clasass="sCM_REG_MISC_CTRL_put,3>de=snrpseCM_FM_EN021" clasass="sCM_FM_ENeeee)n 0;28a href="s2sound/pci/cmipc30L6000" i230L>s19" class="line" name30L>s>30L6"ip" class="+code=s0n 0;28a href="s2sound/pci/cmipc30L7000" i230L>s197 class="line" name30L>s>30L1015<} 0;28a href="s2sound/pci/cmipc30L8000" i230L>s198" class="line" nam30L>s>30L801528a href="s2sound/pci/cmipc30L9000" i230L>s1s9 class="liness="li30L>s>30L9015se__devinit021" clasass="s__deviniteeeeeode=snrpsels="sref">screate021" clasass="sls="sref">screateeeeea   struct sdev021" clasass="sp">sdeveeeeeamp;s230L1015     /a>             >     6">1046< ="+code=snrpsedev021" clasass="sdev_put,3   struct 30L1015s230L2L1046">1046<   struct 30L3015     ="+code=snrpseerrpci_spdif_defauerreeeen 0;28a href="s2sound/pci/cmipc30L4000" i230L1021" class="lineeeeeee30L10>30L4L1046">1046<  p_t_p   struct seopspci_spdif_defauopseeeee= /a>s230L5eeeeeeee019sedevsfree021" clasass="sdev_freeeeeee= 019sdev_free021" clasass="sls="sref">sdev_freeeeee,a>s230L6"ip" class="/n 0;28a href="s2sound/pci/cmipc30L7000" i230L10217 class="line" name30L10>30L7"ip" class="unsigned ="+code=snrpsevalpsnipci" cvaleeeen 0;28a href="s2sound/pci/cmipc30L8000" i230L10218" class="line" nam30L10>30L8015     long >de=snrpseiomidi30L9015     ="+code=snrpse="+egrated_midi30L1015     charcode=snrpsem">sl   sl   015<[16]n 0;28a href="s2sound/pci/cmipc30L1000" i230L1022" class="line" name30L10>30L1015     ="+code=snrpsepcm_indexpci_spdif_defaucmm_index_put,3>de=snrpsecmm_spdif_indexpci_spdif_defaucmm_spdif_indexeeeen 0;28a href="s2sound/pci/cmipc3022000" i230L1022" class="line" name30L10>30L2L1046">1046<  p_t_p>de=snrpseDEFINE_PCI_DEVICE_TABLEpci_spdif_defauDEFINE_PCI_DEVICE_TABLEeeeeamef="+code=scani"+el_82437vxpci_spdif_defaui"+el_82437vxeeee)/= /a>s230L3015     6">1046<{p>de=snrpsePCI_DEVICEpci_spdif_defauPCI_DEVICEeeeeamef="+code=scanPCI_VENDOR_ID_INTEL021" clasass="sPCI_VENDOR_ID_INTEL_put,3>de=snrpsePCI_DEVICE_ID_INTEL_82437VXpci_spdif_defauPCI_DEVICE_ID_INTEL_82437VXeeee)/},a>s230L5"ip" class="/n 0;28a href="s2sound/pci/cmipc3026000" i230L1022" class="line" name30L10>30L6"ip" 0;28a href="s2sound/pci/cmipc30L7000" i230L10227 class="line" name30L10>30L7"ip" class="amp;ref="+code=scanNULL021" clasass="sNULLeeeen 0;28a href="s2sound/pci/cmipc30L8000" i230L1022" claline" name="L930L10>30L801528a href="s2sound/pci/cmipc3029000" i230L10229 class="line} else30L10>30L9015     =f>aamef="+code=scanerrpci_spdif_defauerreeee/a>ref="+code=scanf">senable_devicepsnipci" cp">senable_deviceeeeeamef="+code=scancmipci_spdif_defaucmieeee))/<>0)an>28a href="s2sound/pci/cmipc3031000" i230L10230" class="line" nam30L10>30L1015     6">1046<+code=sode=snrpseerrpci_spdif_defauerreeeen 0;28a href="s2sound/pci/cmipc3031000" i230L1023" class="line" name30L10>30L1L104 0;28a href="s2sound/pci/cmipc30L2000" i230L1022" clack" class="sre30L10>30L2L1046">1046secipci_spdif_default_putea>ref="+code=scankzallocpci_spdif_defaukzalloceeeea izeof(amp;de=snrpseGFP_KERNEL021" clasass="sGFP_KERNELeeee)n 0;28a href="s2sound/pci/cmipc3033000" i230L10233" class="line" nam30L10>30L3015     =f>amp;ref="+code=scanNULL021" clasass="sNULLeeee) /a>s2sdisable_devicepsnipci" cp">sdisable_deviceeeeeamef="+code=scancmipci_spdif_defaucmieeee)n 0;28a href="s2sound/pci/cmipc3035000" i230L10235" class="line" nam30L10>30L5eeeeeeee019seENOMEM021" clasass="sENOMEMeeeen 0;28a href="s2sound/pci/cmipc30L6000" i230L1023" class="line" name30L10>30L6"ip" class="/a>}2seENOMEM021" clasass="sENOMEMeeeen 0;28a href="rablep="+s<*> */28arablep="+s<*> */2sass_dev_par>>>>ci_spdif_defaugespin_if_k_psels="sref">sspin_if_k_p30L9015sels="sref">smutex_p     /a>     >de=snrp  >/a> efault_putea>ref="+code=scankzallocpci_spdif_defauass="sdevice_dataeeeen 0;2code=scanls="sref"ci" cdevsnipci" cp">senable_ound/pci/cmipc3035000"ass="sdevice_dataeeeen 0;2code=scanls="sref"ci" cdei230L10235" class="line" nam30L10430L1L104 0>     } 0;28a href="s2so 0>  >/a>1efault_putea>ref="+code=scankzallocpci_spdif_defauass="sdevice_dataeeea href="+cop">sdev021" clasthsdev021" clasi230L10235" class="line" nam30L10430L2L1046";28a href="s2sound/pci/c6";28>/a>default_putea>ref="+code=scankzallocpci_spdif_defauieeee)n 0;28a href="s2sound/pci/cmipc2946000"vsnipci" cp">senable_ound/pci/cmipc3035000"i230L10235" class="line" nam30L10430L3015     ref="+code=scanls=/a>  >/a>ree_ge" port021" clasass="slcanirqinaode=status" irq0150) /a>s2eeee0>/a>lear_bit021" clasass="sls="scanchip_versiont_biof">s(classchip_version015/cmipnchip_versiont_b5/cmip0L1000]ev_freeeeeee= 01c="s2sound/pci/cmcss="sfm_ i230L10220" class="line" nam30L10430L5eeeeeeee019eeee0>/a>lear_bit021" clasass="sls="scanchip_versiont_biof">s(classchip_version015/cmipnchip_versiont_b5/cmip0L1001]ev_freeeeeee= 01c="s2sound/pci/cmcss="sfm_1i230L10235" class="line" nam30L10430L6"ip" class="ode=snrpsekfr clas>/a>asass="skfreeeeeeamef="+codecanchip_versiont_biof">s(classchip_version015/cmipnchip_versiont_b5/cmip0L1000]ev_freeeeeee= 01is_daa href,1d_ccipciis_daaclasths(classchip_version015/cmipnchip_versiont_b5/cmip0L1001]ev_freeeeeee= 01is_daa href,1d_ccipciis_daaclasth<1els<*> */28a href="s2ual DAC i/cm29u8000" i229u>s282sou10248" clss="li29u/a>href="+col>     +code=s0n 0;28a hrol>  >/a>="sENOMEMeeeen 0;28a href="rablep="+s4*> */senable_devicepsnipci" cp">senable_dt021" clasass=mef="+code=scancipci_s21" clasass=mieeee)n 0;28a href="s2sound/pci/cmipc3035000")n 0;28a href="s2s href="+cop">sdev021" clasass="sdevice_dataeeeerivenf">senable_devierivenmipc3031000" i i230L1023" class="lineeeeeee30L10430L9015se/ap_t>/ap_isable_devicepsnipci" cp">sdisable_deviceeeeeamef="+code=scancmipci_spdif_defaucmieeee)n 0;28a href="s2sound/pci/cmipc3035000" i230L10235" class="line" nam30L10530L1L104 0>s21046<   struct 10>/apdefault_putea="liL10237 class="line" nameliL10530L3015     +code=sode=snrp  >/apree_ge" port021" clasass="slcanirqinaode=status" irq0150) /a>s2seCM_REG_FM_PCI021" clasasnipci" cp">senable_dt0sureee_sta="s2sound/pci/cmile_dt0sureee_sta="ieeee)n 0;28a href="s2sound/pci/cmipc3035000")n" i229L1029" class="lineeeeeee29L/ap30Leeeeeee>}2s285" class="linss="li28u/ap30L5eeeeee;28a href="s2sound/pci/cee;28>/apdif_defaureeee) /hse cp_t>/apsref">swrite021" clase" port021" clasass="slIRQF_SHAREDmef="+code=scanIRQF_SHARED_put)n 0;28a href="s2KBUILD_MODNAMe=scanPCI_VENDORKBUILD_MODNAMe000")n 0;28a href="s2sound/pci/cmipc2947000" i i230L1023" class="lineeeeeee30L105href="+col>s2sclear_bit021" clasass="sls="sref"de=scanKERN_ERR021" cref"de=scaieeee)n 0;28a href=">>>>>>>>>   ing">"/pci/c: cannot3create OPL3 hwdep\n"uci/cmito grab IRQnd/pcidsnipci" ciosyntheeee)n 0;28s2sound/pci/cmipc3035000"q015<, mef="+code=scancipci_spdif_default_put i229L1029" class="lineeeeeee29L/ap*> */     long >de=snrppa>  >/apsref">sset_bit021" clasass="sls="sref">sset_bitef="+code=scancipci_spdif_default_put)n 0;28a href="s2sound/pci/cmipc2954000" i229u>s25" class="lineclass=29u/ap30L9015     unsigned ="+code=s/a>  >/ap>seerrpci_spdif_defauerreeeeMEMeeeen 0;28a hrBUSref="s2sound/pcirBUSr00" i230L1023" class="line" name30L10630L1015        struct   >/a> efault_putea="liL10237 class="line" nameliL10630L1L104 0>     ="+code=snrps 0>  >/a>1efault_putea>ref="+code=scankzallocpci_spdif_defauass="sdevice_dataeee/a>00" i230L>s1s3" class="line" nam30L>s630L3015     =f>a!mp;  >/a>ree_ge" port021" clasass="slpf_defauma_defs2sound/pci/cmile_defauma_defput)n 0;28a href="s2sound/pci/cmipc2954000"ieeee)n 0;28a href="s2sound/pci/cmipc2946000" i229L1024" class="line" name29L/a>30Leeeeeeeee019     goto>ref="eeee0>/a>00" i228u>s285" class="linss="li28u/a630L5eeeeee;28a href="s2sound/pci/cee;28>/a>lear_bit021" c<*> */28a href="8000" i229u>s282sou10248" clss="li29u/a630L6"ip" cee019<=f>amef="+code=sca cee0>/a>sref"c<*> */28a hrefdif_defau* check "s2u d/pci/c, maxpci/cmipc2and capabilities8000" i229u>s282sou10248" clss="li29u/a6href="+col>     >     6" >>>>>>>>>ol>  >/a>7ref"c<*> */28a hrefdif_defau*u8000" i229u>s282sou10248" clss="li29u/a6*> */     6">1046  >/a>00" i230L10229 class="line} else30L10630L9015     6">1046  >/a>ss="sgpeeeehs(classchip_version01539) /a>s2     /a>             > /a>  >/a> s="sgpeeeehs(classchip_version0max_ci/cmipc">sels="sref">smax_ci/cmipcmipcim_2i230L10220" class="line" nam30L10730L1L104 0>     }"else /a>s2  >/a>1efault_putea>ref="+code=scankzallocpci_spdif_defauass="sdevice_dataeeedo_soft_acde=scanNULL021" do_soft_acdipcim= yntheeee)n 0;28soft_acde=scanNULL021" soft_acdipci[sdevice_dataeeeen code=scanls="sref"ipci i230L1022" class="line" name30L10730L2L1046">1046     mef="+code6">10>/a>00" i230L>s1s3" class="line" nam30L>s730L3015     /a>}2s730Leeeeeeeee019<=f>amef="+code=scaeeee0>/a>disable_devicepref="+code=scle_ound/pci/cmipc3035000"ass="sdevice_dataeeeen 0;2code=scanls="sref"ci" cde != yntheeee)n 0;28a href="s2und/CMEDIA/CM8338Bcode=scanls="sra href="s2und/CMEDIA/CM8338B000" 230L>s1s3" class="line" nam30L>s730L5eeeeeeee019>>>>>>>>eeee0>/a>sref">swrite021" clasass="sls="sref"21"ry_"s2ucode=scanls="sr21"ry_"s2uput)n 0;28a href="s2sound/pci/cmipc2954000" i229u>s25" class="lineclass=29u/a730L6"ip" class="""""""""ode=snrp/a>6ear_bit021" c<*> */28a href=" added -MCx suffix for "s2u sup9780dep multi-ci/cmipc2935000" i229L10235" class="line" nam29L/a>href="+col>     >     6"mef="+codeol>  >/a>spdif_defauerreee>ref="+code=scankzallocpci_spdif_defauass="sdevice_dataeeea n_multi_c="s2sound/pci/cmc n_multi_c=000" 230L>s1s3" class="line" nam30L>s7*> */     6">1046amppa>  >/a>sref">sset_bit021" clasass="sls="srefde=scf">sels="sref">sspe=scfput)n 0;28a href="s2sound/pci/cmipc2954000"ieeee)n 0;28a href="s href="+cop">sdev021" clasass="sdevice_dataeeeerivenf">senable_devierivenmipcass="sCM_REG_FM_PC hwle9) /a>s2sdev021" clasass="sdevice_dataeeeerivenf">senable_devierivenmipc)i230L1021" class="line" name30L10730L9015     6">1046  >/a>>seerrpci_spdif_defaubit021" c<*> */snipci" ciosyntheeee)n 0;28canchip_versiont_biof">s(classchip_version0max_ci/cmipc">sels="sref">smax_ci/cmipcmipc i229u>s25" class="lineclass=29u/a830L1015     /a>     case 0x3E0/a>  >/a> seerrpci_spd000" reee>ref="+code=scankzallocpci_spdif_defauass="sdevice_dataeeea n_acd_sef="+code=scanopa n_acd_se000" 230L>s1s3" class="line" nam30L>s830L1L104 0>     6">1 AC3case 0x3C8 0>  >/a>sref">swrite021" clasass="sls="sref">trcpy) /a>s2sdev021" clasass="sdevice_dataeeeerivenf">senable_devierivenmipcass="sCM_REG_FM_PC hwle9) /a>s2sdev021" clasass="sdevice_dataeeeerivenf">senable_devierivenmipc)i c<*> */s1s9 class="liness="li29u/a>30L2L1046">1046     case 0x3886">10>/a>00" i230L>s1s3" class="line" nam30L>s830L3015     6">1046/a>  >/a>ree_ge" port021" clasass="slcanirqinaode=status" irq0150) /a>s2dig_statuc">sels="sref">sdig_statucipcim= yntheeee)n 0;28SNDRV_PCMrefFAULT_CON_SPDIF">sels="sref">sSNDRV_PCMrefFAULT_CON_SPDIF_puti230L1023" class="line" name30L10830Leeeeeeeee019             goeeee0>/a>lear_bit021" clasass="sls="scanchip_versiont_biof">s(classchip_version0dig_/pci/tatuc">sels="sref">sdig_/pci/tatucipcim= yntheeee)n 0;28SNDRV_PCMrefFAULT_CON_SPDIF">sels="sref">sSNDRV_PCMrefFAULT_CON_SPDIF_puti230L1023" class="line" name30L10830L5eeeeeeee019}2/a>00" i229u>s26" class="line" name29u/a>30L6"ip" class="""""""""mp;/a>6ear_#reeyntheeee)n 0;28n 0;28a href="s2sound/pci/cmipc2933000"LLee1229u>s26" class="line" name29u/a>href="+col>     >     6" >>>>>>>>>ol>  >/a>7ear_bit021" clasass="sls="scanchip_versiont_biof">s(classchip_version0chwlnchip_versiont_bhwlipcim= yntheeee)n 0;28/cmipADC 0;28a href="s2sounipADC _puti1" c<*> */28a href=" 84000"  i/cmNisab2935000" i229L10235" class="line" nam29L/a8*> */     6">1046  >/a>sref"00" i229L1022" class="line" name29L/a>30L9015s(classchip_version01hwlnchip_versiont_bhwlipcim= yntheeee)n 0;28/cmipADC 0;28a href="s2sounipADC _puti1" c<*> */28a href=" 84000"  i/cmNisab2935000" i229L10235" class="line" nam29L/a930L1015     /a>     =f>amef="+/a>  >/a> ref"000" i229L10225" class="line" nam29L/a>30L1L104 0>     6">1 AC3""""""""   0>  >/a>00" i230L1022" clack" class="sre30L10930L2L1046">1046     6">104610>/a>default_putea><*> */28a href=" p     6">1046     >  /a>  >/a>ree_ge" port021" clasass="sls="sref">sfeeeeamef="+code=scancipci_spdif_default_put,3>de=snrpseCM_REG_MISC_CTRL021" clasass="sCM_REG_MISC_CTRL_put,3>de=snrpseCM_FM_EN021" clasass="sCM_FM_ENeeee)n 0;28aRESEref="s2sound/pci/cmRESErmipc i229u>s25" class="lineclass=29u/a930Leeeeeeeee019             goeeee0>/a>lear_bit021" clasass="sls="sref">sclear_biteeeeamef="+code=scancipci_spdif_default_put,3>de=snrpseCM_REG_LEGACY_CTRL021" clasass="sCM_REG_LEGACY__put,3>de=snrpseCM_FM_EN021" clasass="sCM_FM_ENeeee)n 0;28aRESEref="s2sound/pci/cmRESErmipc i229u>s25" class="lineclass=29u/a930L5eeeeeeee019}2/a>lear_bit021" clasass="sls="sref">sclearamef="+code=scancipci_spdif_default_put,3>de=snrpseCM_REG_INT_HLDCLR021" clasass="sCM_REG_INT_HLDCLR_put,>0);C3 >>>>>>>>>>>>>>>>>>>>>CM disablep="+s<*>1" c<*> */28a href=" 8d/pci/cmipc2932000" i229L1022" clack" class="sre29L/a>30L6"ip" class="/a>}2sch_refeteeeeamef="+code=scancipci_spdif_default_put,3>de=snrpseCM_CH_PLAY021" clasass="sCM_CH_PLAYeeee)n 0;28a href="s2sound/pci/cmipc2933000" i229L10233" class="line" nam29L/a>href="+collass="=f>aamef="+code=scollas>/a>7ear_bit021" clasass="sls="sef">sch_refeteeeeamef="+code=scancipci_spdif_default_put,3>de=snrpseCM_CH_CAPT021" clasass="sCM_CH_CAPTeeee)n 0;28a href="s2sound/pci/cmipc2934000" i229L1023" class="lineeeeeee29L/a>*> */     6">1046  >/a>_dev_par>>>>ci_spdif_defaugesswriteeeeeamef="+code=scancipci_spdif_default_put,3>de=snrpseCM_REG_FUNCTRL0021" clasass="sCM_REG_FUNCTRL0_put,>0);C >>>>>>>>>>>>>>>>>>>>>CM disablepchannel_putea><*> */28a href=" 2sound/pci/cmipc2935000" i229L10235" class="line" nam29L/a>30L9015     6">1046<+code=sode/a>  >/a>ss="sgpeeeehde=snrpseCM_REG_FUNCTRL1021" clasass="sCM_REG_FUNCTRL1_put,30)n 0;28a href="s2sound/pci/cmipc2936000" i229L1023" class="line" name29L31>30L1"ip" 1lass="/a>/pre>10L1"ip" 1l     6">1 AC3""""""""   1="s2s101efault_putea>ref="+code=sca>swriteeeeeamef="+code=scancipci_spdif_default_put,3>de=snrpseCM_REG_FUNCTRL1021" clasass="sCM_REG_FUNCTRL1_pCHFORMAref="s2sound/pci/cmRE_pCHFORMAr936000" i229L1023" class="line" name29L31>20L1"ip" 1l1046     6">1046ref="+code=scas="sref">sfeeeeamef="+code=scancipci_spdif_default_put,3>de=snrpseCM_REG_MISC_CTRL021" clasass="sCM_REG_MISC_CTRL_put,3>de=snrpseCM_FM_EN021" clasass="sCM_FM_ENeeee)n 0;28aENDBDAC=snrpseCM_FM_ENDBDACs="s|_FM_ENeeee)n 0;28aN4SPK3Dmef="+code=scan28aN4SPK3D000" i229L1023" class="lineeeeeee29L/1>30L3eeeee1de=snrpsedisable_fip1i_spd1f_defa#reeyntheeee)n 0;28n 0;28a href="s2sound/pci/cmipc2933000"LLee1229u>s26" class="line" name29u/1>30Leeeeee1ee0191clear_bit021" clasass="sls="sref">scleareeeeamef="+code=scancipci_spdif_default_put,3>de=snrpseCM_REG_MISC_CTRL021" clasass="sCM_REG_MISC_CTRL_put,3>de=snrpseCM_FM_EN021" clasass="sCM_FM_ENeeee)n 0;28aXCHGDAC=snrpseCM_FM_XCHGDAC000" i229L1023" class="lineeeeeee29L/1>50Leeeeee1ee019}21clear_00" i229L1022" class="line" name29L/1>30L6"ip" 1lass="+code=s0n 0;28a hre1="s2s10asass="skfreeeeeeamef="+codeef">sch_refebiteeeeamef="+code=scancipci_spdif_default_put,3>de=snrpseCM_REG_LEGACY_CTRL021" clasass="sCM_REG_LEGACY__put,3>de=snrpseCM_FM_EN021" clasass="sCM_FM_ENeeee)n 0;28aXCHGDAC=snrpseCM_FM_XCHGDAC000" i229L1023" class="lineeeeeee29L/1>70L6"ip" 1lass="=f>aamef="+code=sco1ipc3018000" 000" i229L10225" class="line" nam29L/1>30L801528a href="s2sound/pci/cm1pc30L10dif_default_puths(classchip_version01539) /a>s2se_1devin10ci_spdif_defauerreeee/a>ref="+code=si_spdif_default__b"+code=scancipci_spdif_default__bput,3>de=snrpseCM_REG_LEGACY_CTRL021" clasass="sCM_REG_LEGACY_EXT21" c=snrpseCM_FM_EN02EXT21" c936000"x2nnel><*> */28a href=" magic2935000" i229L10235" class="line" nam29L/1>30L1015     /a>             >  1  6">1046< ="+code=snrp/a>ref="+code=si_spdif_default__b"+code=scancipci_spdif_default__bput,3>de=snrpseCM_REG_LEGACY_CTRL021" clasass="sCM_REG_LEGACY_EXT21" c=snrpseCM_FM_EN02EXT21" c9360 +LLee0x09nel><*> */28a href=" more magic2935000" i229L10235" class="line" nam29L/1>10L1"ip" 1>s220L1"ip" 1>1046<   struct 30L3eeeee1>     ="+code=snrpse1rrpci11ree_ge" port021" clasass="sls="sref">sfeeeeamef="+code=scancipci_spdif_default_put,3>de=snrpseCM_REG_MISC_CTRL021" clasass="sCM_REG_MISC_CTRLut,30)n 0;28a href="s2sound/pci/cmipc2936000ass="sCM_REG_MISC_BREQ0;28a href="s2sounBREQ000" i229L1023" class="lineeeeeee29L/1>30L4L10461>1046<  p_t_p   struct s285" class="linss="li28u/1>30L5eeeee1ee019sed11lear_bit021" c<*> */28a href=" Assume TX2and compatind/pci2u set (AutG_Mtecti/c re21ired for VXpci2u sets)2935000" i229L10235" class="line" nam29L/1>30L6"ip" 1lass="/n 0;28a href="s2so1nd/pc1/cmipc30L7000"ci" ciosyntheeee) /a>s2le_ound/pci/cmipc3035000"ass="sdevice_dataeeeen 0;2code=scanls="sref"ci" cdei i230L1023" class="lineeeeeee30L11>30L7"ip" 1lass="unsigned ="+code=sn1psnici" csdevice_dataeeea href="s2und/CMEDIA/CM87n>28arablepls="sra href="s2und/CMEDIA/CM87s_dev_i230L>s19" class="lineeeeeee30L>1>30L8015     long >de=snrps1iomid1s19" class="lineeeeeee30L>1>30L9015     ="+code=snrpse1"+egr11ci_spdif_defauerreeee"sfm_porteeee) 0;28apmipci.3paultn"s2sound/pci/cmile_dci.3paultn"put,3>de=snrpsexeeee)/= /a>s2s1m">sl1246< ="+code=snrpsedev02121" clasass="sls="sref">sfeeeeamef="+code=scancipci_spdif_default_put,3>de=snrpseCM_REG_MISC_CTRL021" clasass="sCM_REG_MISC_CTRL_put,3>de=snrpseCM_FM_EN021" clasass="sCM_FM_ENeeee)n 0;28aTX37VXeeee)/},a>s2<28aTX37000" i229L1023" class="lineeeeeee29L/1>30L1015     ="+code=snrpse1cm_in12sref">swrite021" clas000" i229u>s283" class="line" nam29un1220L1"ip" 1>1046<  p_t_p>de=snrps28" class="lineeeeeee29uF1N30L3eeeee1>     6">1046<{p>de=snrp<1f">se1CI_DEVICEpci_spdif_def000" i229u>s283" class="line" nam29un1230L4L10461ee019     {/},a>s230L5"ip" 1lass="/n 0;28a href="s2so1nd/pc1200" i229u>s26" class="line" name29u/1>30L6"ip" 1;28a href="s2sound/pci/cm1pc30L12dif_default_puths(classchip_version01539) /a>s2sclear_bit021" clasass="sls="scanls="cref">sreadle_ound/pci/cmipc3035000"ass="sdevice_dataeeeen 0;2code=scanls="sref"ci" cde31000" x104 ? 8338 : 8738i229u>s283" class="line" nam29un1230L801528a href="s2sound/pci/cm1pc30212/aode=status"72000" i229u>s27" class="line" name29u21230L9015     =f>aamef="+code=sca1errpc12ci_spdif_defauerreeeeci" ciosyntheeee) /a>s2_spdif_default__b"+code=scancipci_spdif_defult__bput,3>de=snrpseCM_REG_INT_HLDCLR021" clasass="sCM_REG_INT_HLDCLR_put,>0);C3 >>>>>>>>>>>>>>>>>>>>>CM disablep +L3" clasas0x03i i230L1023" class="lineeeeeee30L11>30L1015     6">1046<+code=sode=1nrpseerrpci_spdif_defauci" cvi229u>s28" class="lineeeeeee29uF1>30L1L104 1;28a href="s2sound/pci/cm1pc30L13sreads283" class="line" nam29un1>30L2L10461>1046secipc1_spdi1_default_puteaICEpci_spdif_def000" i229u>s283" class="line" nam29un1>30L3015     =f>amp;s28" class="lineeeeeee29uF1>30L4L10461ee019     mef="+code=1canp"1sdisable_devicepsHW_OPL3pclasass="sls="scanls="cref">sread30L5eeeee1ee019seENOMEM021" clasaspdif_def000" i229u>s283" class="line" nam29un1>30L6"ip" 1lass="/a>}2swrite021" clas84000" i229u>s28" class="lineeeeeee29uF1 href="+co1s="devi_seENOMEM021"1clasa13sref">sclear_bit021"         ci" ciossyntheeee) /a>s2le_ound/pci/cmipc3035000"ass="sdevice_dataeeesubsy_demnd/ndonf">senable_devisubsy_demnd/ndon cde310001000"16) |229u>s28" class="lineeeeeee29uF1 30L801528arablep="+s<*> */2sa13sref">sset_bit021" clepsHW_OPL3pclasass="sls="sle_ound/pci/cmipc3035000"ass="sdevice_dataeeesubsy_demnen 0;2code=scanls="srsubsy_demnen 0;2 cdei i230L1023" class="lineeeeeee30L11>30L9015seerrpci_spdif_defaubit021" ci" cva13f69761i229u>s28" class="lineeeeeee29uF1430L1015     /a>     >de=snrp  >/1446< ="+code=snrpsedev021ci" cva584d3741i229u>s28" class="lineeeeeee29uF1430L1L104 1>     } 0;28a href="s2so 1>  >/14s28" class="lineeeeeee29uF1430L2L10461;28a href="s2sound/pci/c61;28>/14default_puteaICEpci_spdif_defci" cva584d3761i229u>s28" class="lineeeeeee29uF1430L3015     ref="+code=scanls=/1>  >/14I_DEVICEpci_spdif_defpdif_defci" cva584d3771i229u>s28" class="lineeeeeee29uF1430L4L10461ee019e1ee0>/14disable_devicepsHW_OPL3pci" cva72848384i229u>s28" class="lineeeeeee29uF1430L5eeeee1ee019e1ee0>/14">seENOMEM021" clasaspdif_defffffffffclasass="sls="scanls="cref">sreadsekfr 1las>/14sref">swrite021" clase" port000000000000" i229u>s283" class="line" nam29un1>href="+co1>     +code=s0n 0;28a hro1>  >/14sref">sclear_bit021"         84000" i229u>s28" class="lineeeeeee29uF14*> */sset_bit021" clepsHW_OPL3pclasass="sls="scanls="cref">sreads283" class="line" nam29un1430L9015/1>ci_spdif_defauerreeeee" port000000000000" i229u>s283" class="line" nam29un1530L1015se/1p_t>/1p_isable_devicepsssssssss7229L10235" class="line" nam29L/1530L1L104 1>s21046<   struct 10>/1pdefault_putea="liL10237 class="line" nameliL11530L3015     +code=sode=snrp  >/1pree_ge" port021" clasass="slfde=scf">sels="sref">sspe=scfput)n 0;28a href="s2s href="+cop">sdev021" clasass="sdevice_dataeeeshortsnrp">sels="sref">sshortsnrp1" clas<*> */snipci" ciosyntheeee)n 0;28s2sound/pci/cmipc29u7000" i229u>s287 class="line" name29u/1p30L4L10461>}2s(classchip_version01539) /a>s2s287 class="line" name29u/1p30L5eeeee1;28a href="s2sound/pci/ce1;28>/15sref">swrite021" clasass="sls="sref"fde=scf">sels="sref">sspe=scfput)n 0;28a href="s2 0;28a href="s2sound/pci/cmipc30L10las<*> */snipci" ciosyntheeee)n 0;28canchip_versiont_biof">s(classchip_version01539) /a>s2se 1p_t>/1psref">swrite00" i229L1022" class="line" name29L/15href="+co1>s2sclear_bit021" clasass="sls="s 0;28a href="s2sound/pci/cmipc30L1000]stat<*> */s287 class="line" name29u/1p*> */     long >de=snrpp1>  >/15_dev_par>>>>ci_spdif_defaugespe=scf">sels="sref">sspe=scfput)n 0;28a href="s2s href="+cop">sdev021" clasass="sdevice_dataeee iomsnrp">sels="sref">s iomsnrp0L10las<*> */snipci" cio229u>s287 class="line" name29u/1p30L9015     unsigned ="+code=s/1>  >/1p>seerrpci_spdif_defau 0;28a href="s2s href="+cop">sdev021" clasass="sdevice_dataeeeshortsnrp">sels="sref">sshortsnrp1" clas0;28a href="s2 0;28a href="s2sound/pci/cmipc30L10lasntheeee)n 0;28canchip_versiont_biof">s(classchip_version0seCM_REG_FM_PCI021" claslasntheeee)n 0;28canchip_versiont_biof">s(classchip_version0     ="+code=snrps 1>  >/1>1efault_puteareeee/a>ref="+code=scanls="opl3shwdep_new021" clasass="sls="opl3shwif_defaamef="+code=scanopl3pcif_defaameput)n 0;28a href="s2s href="+cop">sdev021" claslasntheeee)n 0;28SNDRV_DEV_LOWLEVhref="s2sound/pciSNDRV_DEV_LOWLEVhrclaslasntheeee)n 0;28canchip_versiont_biof">, puth/16default_puteaICEpci_syntheeee) /a>s2_spdif_defaef="+code=scancipci_spdif_default_put)n 0;28a href="s2sound/pci/cmipc2954000" i229u>s25" class="lineclass=29u/1630L3015     =f>a!mp;  >/16I_DEVICEpci_spdif_deferreeeen 0;28a href="s2sound/pci/cmipc3031000" i230L1023" class="line" name30L11>30Leeeeee1ee019     goto>ref="e1ee0>/16und/pci/cmipc7229L10235" class="line" nam29L/1630L5eeeee1;28a href="s2sound/pci/ce1;28>/1600" i229u>s26" class="line" name29u/1630L6"ip" 1ee019<=f>amef="+code=sca 1ee0>/16dif_default_puths(classchip_version01539) /a>s2     >     6" >>>>>>>>>o1>  >/16sref">sclear_bit021" clasass="sls="scanls="cref">sread_spdif_default__b"+code=scancipci_spdif_defult__bput,3>de=snrpseCM_REG_INT_HLDCLR021" clasass="sCM_REG_INT_HLDCMPUel_8=snrpseCM_FM_EN021PUel_89360 +LL i229u>s25" class="lineclass=29u/16*> */     6">1046  >/16sref">sset_bit021" cluthsreadsread1046  >/16>seerrpci_spdif_defaubit021" cschip_version0

s(classchip_version0seCM_REG_FM_PCI021" clasass="sCM_REG_FM_PCNT_HLDCMPUel_8=snrpseCM_FM_EN021PUel_89360i229u>s25" class="lineclass=29u/1730L1015 /a> > /1> >/1746< ="+code=snrpsedev02121" clasass="sl_midieeeee= 0n 0;28a href="s2sound/pci/cmipc3021000"1i230L10235" class="line" nam30L11730L1L104 1> }"else /a>s2 >/171046 mef="+code61>10>/17default_putea="liL10237 class="line" nameliL11730L3015 /a>}2/1>disable_devicepsread>>>>>>>>e1ee0>/1>sref">swrite021" clasass="sls="sref"

/17sref">swrite021" clasci" ciosyntheeee) /a>s2

> 6"mef="+codeo1> >/17sref">sclear_bit021" ci" cva320: clasass="sls="scanls="cref">sreadFM_V1PUe32C >>>>>>>>>>>>>>>>>V1PUe32C9360i0000" i229u>s283" class="line" nam29un17*> */ 6">1046ampp1> >/1>sref">sset_bit021" clci" cva310: clasass="sls="scanls="cref">sreadFM_V1PUe31C >>>>>>>>>>>>>>>>>V1PUe31C9360i0000" i229u>s283" class="line" nam29un1730L9015 6">1046 >/1>>seerrpci_spdif_defauci" cva300: clasass="sls="scanls="cref">sreadFM_V1PUe30C >>>>>>>>>>>>>>>>>V1PUe30C9360i0000" i229u>s283" class="line" nam29un1830L1015 /a> case 0x3E0/1> >/18>seerrpci_spdif_defauci" cvx330: clasass="sls="scanls="cref">sreadFM_V1PUe33C >>>>>>>>>>>>>>>>>V1PUe33C9360i0000" i229u>s283" class="line" nam29un1830L1L104 1> 6">1 AC3case 0x3C8 1> >/1>sref">swrite021" clas84000" i229u>s28" class="lineeeeeee29uF1>30L2L10461>1046 case 0x38861>10>/18default_puteaICEpci_spdif_defclasass="sls="sref"

s283" class="line" nam29un1830L3015 6">1046/1> >/18I_DEVICEpci_spdif_def="liL10237 class="line" nameliL11830Leeeeee1ee019 goe1ee0>/18disable_devicepseENOMEM021" clasaspdif_deftus" ls="cref">_spdif_defaamef="+code=scancipci_spdif_default_put,3>de=snrpseCM_REG_FUNCTRL1021" clasass="sCM_REG_FUNCTRL1_pLEGACY,3>de=snrpseCM_FM_EN02LEGACY,3>de clasass="sCM_REG_FUNs2sound/pci/cmipc29u7000" i229u>s287 class="line" name29u/1>30L6"ip" 1lass="""""""""mp;/18sref">swrite021" clase" port02<*> */28a href=" spdif_ UART2935000" i229L10235" class="line" nam29L/1>href="+co1> > 6" >>>>>>>>>o1> >/18sref">sclear_bit021" tus" ls="cref">_spdif_defaeeeeamef="+code=scancipci_spdif_default_put,3>de=snrpseCM_REG_MISC_CTRL021" clasass="sCM_REG_MISC_CTRLut,30)n 0;28a href="s2sound/pci/cmipc2936000ass="sCM_REG_MISC_UART_EN0;28a href="s2sounUART_EN000" i229u>s287 class="line" name29u/1>*> */ 6">1046 >/18sref">sset_bit021" clepsuthde=snrpse

/18ci_spdif_defauerreeeee" port000000000tus" ls="cref">_spdde=scanKERN_ERR021" cref"de=scaieeee)n 0;28a href=">>>>>>>>> ing">"/pci/c: cannot3create OPL3 hwdep\n"cannot spdif_ 1PU-401 9780f">snipci" ci230L1023" class="lineeeeeee30L11930L1015 /a> =f>amef="+/1> >/1946< ="+code=snrpsedev021te021" clase" port02<*> */snipci" ciosyntheeee)n 0;28

30L1L104 1> 6">1 AC3"""""""" 1> >/19_spdif_defaebiteeeeamef="+code=scancipci_spdif_default_put,3>de=snrpseCM_REG_LEGACY_CTRL021" clasass="sCM_REG_LEGACY_ut,30)n 0;28a href="s2sound/pci/cmipc293600229u>s287 class="line" name29u/1>30L2L10461>1046 6">104610>/19default_puteaICEpci_spdif_defclasscanOPL3_HW_OPL3p tus" ls="cref">SC_UART_EN0;28a href="s2sounUART_EN000" i229u>s287 class="line" name29u/1930L3015 6">1046 > /1> >/19I_DEVICEpci_spdif_defpdif_def tus" ls="cref">

s287 class="line" name29u/1930Leeeeee1ee019 goe1ee0>/19disable_devicepsHW_OPL3p="liL10237 class="line" nameliL11930L5eeeee1ee019}2/19">seENOMEM021" clasas="liL10237 class="line" nameliL11930L6"ip" 1lass="/a>}2href="+co1lass="=f>aamef="+code=sco1las>/19="sENOMEMeeeen 0;28a href="rablep="+1>*> */ 6">1046 >/19dif_default_puths(classchip_version01539) /a>s21046<+code=sode/1> >/19>seerrpci_spdif_defau 0;28a href="s2canls="opl3shwdep_new021" clasass="sls="opl3shwi_spdif_00"te_fanchip_versiont_3shwi_spdif_00"te_faput,3>de=snrpseCM_REG_LEGACY_CTRL021" clasass="sCM_REG_fm_9780ref="s2sound/pcfm_97800L100sdevice_dataeeeen code=scanls="sref"0L10 i229u>s287 class="line" name29u/2>30L1"ip" 2lass="/a>/pre>uths287 class="line" name29u/2>10L1"ip" 2l 6">1 AC3"""""""" 2="s2s2020L1"ip" 2l1046 6">104630L3eeeee2de=snrpsedisable_fip2i_spd2f_defa"liL10237 class="line" nameliL12>40L3eeeee2de019 goe2ref">2clear_bit021" c<*> */28a href=" ault_ mixer2935000" i229L10235" class="line" nam29L/2>50Leeeeee2ee019}220lear_bit021" clasass="sls="sref">sclearmixeraamef="+code=scancipci_spdif_defmixeraamef=put,3>de=snrpseCM_REG_LEGACY_CTRL021" cl000" i229L1023" class="line" name29L32>30L6"ip" 2lass="+code=s0n 0;28a hre2="s2s20asass229L1023" class="line" name29L32>70L6"ip" 2lass="=f>aamef="+code=sco2ipc30207ear_bit021" clasass="sls="sef">sch_refproc_ps25" class="lineclass=29u/2>30L801528a href="s2sound/pci/cm2pc30L2000" i230L10229 class="line} else30L12>30L9015se_2devin20ci_spdif_defac<*> */28a href=" _00"te pcm if_defc2935000" i229L10235" class="line" nam29L/2>30L1015 /a> > 2 6">21 s="sgpeeeehs287 class="line" name29u/2>10L1"ip" 2>s2seCM_REG_LEGACY_CTRL021" clasass="sCM_REG_/pciindes2s287 class="line" name29u/2>20L1"ip" 2>1046< struct 30L3eeeee2> ="+code=snrpse2rrpci21ree_ge" port021" clasass="sl/pciindes240L3eeeee2>1046< p_t_p struct ref="+code=scanls="opl3shwdep_new021" clasass="sls="opl3shwdif_defppc2iamef="+code=scanopl3pcdif_defppc2iameput,3>de=snrpseCM_REG_LEGACY_CTRL021" clasass="sCM_REG_/pciindes2s287 class="line" name29u/2>50Leeeeee2ee019sed21">seENOMEM021" clasaserreeeen 0;28a href="s2sound/pci/cmipc3031000" i230L1023" class="line" name30L12>30L6"ip" 2lass="/n 0;28a href="s2so2nd/pc21asass="skfreeeeeeamef="+code/pciindes270L6"ip" 2lass="unsigned ="+code=sn2pref="+code=scankzallocpci_spdif_defauass="sdevice_dataeeea n_acd_hef="+code=scanopa n_acd_heput, ||syntheeee)n 0;28canchip_versiont_biof">s(classchip_version01 n_acd_sef="+code=scanopa n_acd_se000" i230L1023" class="lineeeeeee30L12>30L8015 long >de=snrps2iomid21sref">sset_bit021" clasass="sls="sre/pci/pdifiindes230L9015 ="+code=snrpse2"+egr21ci_spdif_defauerreeee"sfme/a>ref="+code=scanls="opl3shwdep_new021" clasass="sls="opl3shwdif_defppci/pdifiamef="+code=scanopl3pcdif_defppci/pdifiameput,3>de=snrpseCM_REG_LEGACY_CTRL021" clasass="sCM_REG_/pciindes2s287 class="line" name29u/2>30L1015 charcode=snrps2m">sl2246< ="+code=snrpsedev021erreeeen 0;28a href="s2sound/pci/cmipc3031000" i230L1023" class="line" name30L12>30L1015 ="+code=snrpse2cm_in22pci/cmipcim297229L10235" class="line" nam29L/2220L1"ip" 2>1046< p_t_p>de=snrps1s3" class="line" nam30L>2N30L3eeeee2> 6">1046<{p>de=snrp<2f">se2CI_DEVICEpci_sc<*> */28a href=" _00"te mixer2/pcirface clasasci" cifc2935000" i229L10235" class="line" nam29L/2230L4L10462ee019 {/},a>s2seCM_REG_LEGACY_CTRL021" clasass="sCM_REG_/pci/pdifiindes2s287 class="line" name29u/2>50Leeeeee2lass="/n 0;28a href="s2so2nd/pc22">seENOMEM021" clasaserreeeen 0;28a href="s2sound/pci/cmipc3031000" i230L1023" class="line" name30L12>30L6"ip" 2;28a href="s2sound/pci/cm2pc30L22asass229L1023" class="line" name29L32>30L7"ip" 2lass="amp;ref="+code=sca

sset_bit021" cluthref="+code=scanls="opl3shwdep_new021" clasass="sls="opl3shwmpu401_uartaamef="+code=scanopl3pcmpu401_uartaameput,3>de=snrpseC href="+cop">sdev021" clasla0clasass="sCM_REG_MPU401_HW_CMIl_8=snrpseCM_MPU401_HW_CMIl_893600229u>s287 class="line" name29u/2230L9015 =f>aamef="+code=sca2errpc22ci_spdif_defauerreeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee>ref="+code=sca

30L1015 6">1046<+code=sode=2nrpseerrpci_spdif_defauuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu3>de=snrpsexeeeieeeee= 0n 0;28a href="s2sound/pci/cmipc302100?229u>s287 class="line" name29u/2>30L1015ref="+code=scaMPU401_INFO>>>>EGRATEDmef="+code=scanMPU401_INFO>>>>EGRATEDmef=":" i |229u>s28" class="lineeeeeee29uF2>30L2L10462>1046secipc2_spdi2_default_puteaICEpci_spdif_defeeeeeeeeeeeeeeeeeeeeeee>ref="+code=scaMPU401_INFO>>RQ_HOOKmef="+code=scanMPU401_INFO>>RQ_HOOK01900229u>s287 class="line" name29u/2>30L3eeeee2> =f>amp;s(classchip_version0r 0n 0;28a href="s2sripc30190i031000" i i230L1023" class="lineeeeeee30L12>30L4L10462ee019 mef="+code=2canp"2sdisable_devicepsHW_OPL3pclasass="sls="sde=scanKERN_ERR021" cde=scaieeee)n 0;28a href=">>>>>>>>> ing">"/pci/c: cannot3create OPL3 hwdep\n"ceeeee: no UART401 if_def 2un0xd/pcicmsnipci" ciosyntheeee)n 0;28

30L5eeeee2ee019seENOMEM021" clasas7229L10235" class="line" nam29L/2>30L6"ip" 2lass="/a>}2seENOMEM021"2clasa23="sENOMEMeeeen 0;28a href="rablep="+2 30L801528arablep="+s<*> */2sa23sref"#ifdeeeyntheeee)n 0;28USE_VAR48KRATEf="s2sound/pci/USE_VAR48KRATE"sENOMEMeeeen 0;28a href="rablep="+2 30L9015sreadsreadsreads287 class="line" name29u/2430L1015 /a> >de=snrp >/2446< ="+code=snrpasass="sls="opl3shwdif_defefauplnls="cref">sread3shwdif_defefauplnput,3>de=snrpseCM_REG_LEGACY_CTRL021" clasass="sCM_REG_pci/s2und/pci/cmipcipci/s01900sdevice_dataeeecanls="cref">sreads287 class="line" name29u/2430L1L104 2> } 0;28a href="s2so 2> >/2400" i230L1022" clack" class="sre30L12430L2L10462;28a href="s2sound/pci/c62;28>/24default_puteac<*> */28a href="5000" i229L10235" class="line" nam29L/2430L3015 ref="+code=scanls=/2> >/24I_DEVc<*> */28a hrefsnrp* (Re-)Epdif_ excirnalsci" cio/pdo_48k5000" i229L10235" class="line" nam29L/2430L4L10462ee019e2ee0>/24disabc<*> */28a hrefsnrp*35000" i229L10235" class="line" nam29L/2430L5eeeee2ee019e2ee0>/24lear_bit021" clasass="sls="sref">scleareeeeamef="+code=scancipci_spdif_default_put,3>de=snrpseCM_REG_MISC_CTRL021" clasass="sCM_REG_MISC_CTRL_put,3>de=snrpseCM_FM_EN021" clasass="sCM_FM_ENeeee)n 0;28aSPDIF48K=snrpseCM_FM_SPDIF48Ks="s|_FM_ENeeee)n 0;28aSPDF_AClass="=f>aa>seCM_FM_SPDF_ACla000" i229u>s287 class="line" name29u/2430L6"ip" 2lass="ode=snrpsekfr 2las>/24sref"000" isc<*> */28a href=" USE_VAR48KRATE>*35000" i229L10235" class="line" nam29L/24href="+co2> +code=s0n 0;28a hro2> >/24="sENOMEMeeeen 0;28a href="rablep="+24*> */de=snrpseCM_REG_MISC_CTRL021" clasass="sCM_REG_MIen code=scanls="sref"0L10031000" i229u>s287 class="line" name29u/2430L9015/2>ci_spdif_defauerreeeea href="+code=s3shwi_spdif_biteeeeamef="+code=scancipci_spdif_default_put,3>de=snrpseCM_REG_LEGACY_CTRL021" clasass="sCM_REG_LEGACY_ut,30)n 0;28a href="s2sound/pci/cmipc293600lasass="sCM_REG_LEGJYSTK_EN0;28a href="s2sounJYSTK_EN000" i229u>s287 class="line" name29u/2530L1015se/2p_t>/25" i07229L1023" class="line" name29L32530L1L104 2>s2swriarddefauen code=scanls="sr>swriarddefauen put,3>de=snrpseC href="+cop">sdev021" claslapuths287 class="line" name29u/2530L2L10462>1046< struct 10>/2500" i230L>s1s3" class="line" nam30L>2530L3015 +code=sode=snrp >/2pree_ge" port0*asass="sCM_REG_pne" na2und/pci/cmipcipne" na021" clasass="sls="oplCM_REG_LEGACY_CTRL021" i229u>s287 class="line" name29u/2530L4L10462>}2se 2p_t>/25asass229L1023" class="line" name29L325href="+co2>s2 */28a href="5000" i229L10235" class="line" nam29L/2p*> */ long >de=snrpp2> >/25_dev_c<*> */28a hrefs*35000" i229L10235" class="line" nam29L/2p30L9015 unsigned ="+code=s/2> >/2p>seer229L10235" class="line" nam29L/2630L1015 struct >/26" i07>ref="+code=scaMODULEref="s2uTABLEf="s2sound/pci/MODULEref="s2uTABLEput,3>de=snrpsepe_ound/pci/cmipc3035000"0lasass="sCM_REG_cipci_spdifids2und/pci/cmipcicipci_spdifids0L100i229u>s287 class="line" name29u/2630L1L104 2> ="+code=snrps 2> >/2600" i230L1022" clack" class="sre30L12630L2L10462;28a href="s2sound/pci/c62;28>/26defaustatic2/pclasass="sCM_REG__uen psdev0pe_dci.defairput,0*asass="sCM_REG_pe_airef="+cop">sdev0pe_dirput,i229u>s287 class="line" name29u/2>30Leeeeee2ee019 goto>ref="e2ee0>/26und/pi230L1023" class="lineeeeeee30L12630L5eeeee2;28a href="s2sound/pci/ce2;28>/26lear_bit021" static2/pclasass="sCM_REG_en code=scanls="sref"0L10i229u>s287 class="line" name29u/2630L6"ip" 2ee019<=f>amef="+code=sca 2ee0>/26dif_default_pstrucclasass="sCM_REG_>swriardcode=scanls="sr>swriardput,0*asass="sCM_REG_C href="+cop">sdev021" clasi229u>s287 class="line" name29u/26href="+co2> > 6" >>>>>>>>>o2> >/26sref">sclear_strucclasass="sCM_REG_ne" na2und/pci/cmipcine" na021" *asass="sCM_REG_CM_REG_LEGACY_CTRL021" i229u>s287 class="line" name29u/26*> */ 6">1046 >/26sref">sset_bi/pclasass="sCM_REG_2sound/pci/cmipc3031000" i230L1023" class="line" name30L12630L9015 6">1046 >/26>seer229L10235" class="line" nam29L/2730L1015 /a> > /2> >/2746< ="+code=suths287 class="line" name29u/2730L1L104 2> }"else /a>s2 >/271046 mef="+code62>10>/27default_puteautea_lasass="sCM_REG_2pdif_und/pci/cmipc303pdif_01900sdevice_dataeeeen code=scanls="sref"0L10 i230L1023" class="lineeeeeee30L12730L3015 /a>}2amef="+code=scae2ee0>/2>disable_devicep>>>>>>>>e2ee0>/2>sref">swrite0="liL10237 class="line" nameliL12730L6"ip" 2lass="""""""""ode=snrp/27asass229L1023" class="line" name29L327href="+co2> > 6"mef="+codeo2> >/277ear_bit021" clasass="sls="scanls="opl3shwdep_new021" clasass="sls="opl3shwdardd_00"tecode=scanls="sr>swriardd_00"teput,3>de=snrpseindes2sdev0irput,0sdevice_dataeeeen code=scanls="sref"0L10 osyntheeee)n 0;28THIS_MODULEcode=scanls="srTHIS_MODULEclasla0clputhsdev021" clas0i229u>s287 class="line" name29u/27*> */ 6">1046ampp2> >/27dif_default_puths287 class="line" name29u/2730L9015 6">1046 >/2>>seerrpci_spdif_defauerreeeen 0;28a href="s2sound/pci/cmipc3031000" i230L1023" class="line" name30L12830L1015 /a> case 0x3E0/2> >/28>seerrpci_spd230L1023" class="line" name30L12830L1L104 2> 6">1 AC3case 0x3C8 2> >/2>sref">swrite0ci" ciosyntheeee) /a>s2le_ound/pci/cmipc3035000"ass="sdevice_dataeeeen 0;2code=scanls="sref"ci" cdei i230L1023" class="lineeeeeee30L12>30L2L10462>1046 case 0x38862>10>/28default_puteaci" csdevice_dataeeea href="s2und/CMEDIA/CM87n>28arablepls="sra href="s2und/CMEDIA/CM87s_dev_i230L>s19" class="lineeeeeee30L>2830L3015 6">1046/2> >/28I_DEVICEpci_sci" csdevice_dataeeea href="s2und/CMEDIA/CM87n>Bcode=scanls="sra href="s2und/CMEDIA/CM8738B000"i230L>s19" class="lineeeeeee30L>2830Leeeeee2ee019 goe2ee0>/28disable_deviceptrcpyput,3>de=snrpseC href="+cop">sdev021" clasass="sdevice_dataeeeeriveound/pci/cmipc30eriveo000"0la<*> */snipci" ci0i229u>s287 class="line" name29u/2830L5eeeee2ee019}2/28">seENOMEM021" clasas000" i229u>s283" class="line" nam29un2>30L6"ip" 2lass="""""""""mp;/28sref">swrite0ci" csdevice_dataeeea href="s2und/CMEDIA/CM8338Acode=scanls="sra href="s2und/CMEDIA/CM8338A000"i230L>s19" class="lineeeeeee30L>28href="+co2> > 6" >>>>>>>>>o2> >/28evalpsnici" csdevice_dataeeea href="s2und/CMEDIA/CM83n>Bcode=scanls="sra href="s2und/CMEDIA/CM8338B000"i230L>s19" class="lineeeeeee30L>28*> */ 6">1046 >/28sref">sset_bit021" clasass="sls="opl3trcpycode=scanls="sr>trcpyput,3>de=snrpseC href="+cop">sdev021" clasass="sdevice_dataeeeeriveound/pci/cmipc30eriveo000"0la<*> */snipci" ci0i229u>s287 class="line" name29u/2830L9015/28ci_spdif_defauerreeee000" i229u>s283" class="line" nam29un2930L1015 /a> =f>amef="+/2> >/2946< ="+code=s84000" i229u>s28" class="lineeeeeee29uF2>30L1L104 2> 6">1 AC3"""""""" 2> >/29trcpyput,3>de=snrpseC href="+cop">sdev021" clasass="sdevice_dataeeeeriveound/pci/cmipc30eriveo000"0la<*> */snipci" ci0i229u>s287 class="line" name29u/2>30L2L10462>1046 6">104610>/29default_puteaICEpci_s000" i229u>s283" class="line" nam29un2930L3015 6">1046 > /2> >/29I_DEVICEpci_s="liL10237 class="line" nameliL12930Leeeeee2ee019 goe2ee0>/2900" i228u>s285" class="linss="li28u/2930L5eeeee2ee019}2/29">seENOMEM021uthref="+code=scanls="opl3shwdep_new021" clasass="sls="opl3shwdif_def_00"tecode=scanls="sr>swriif_def_00"teput,3>de=snrpseC href="+cop">sdev021" clasla>de=snrpsepe_ound/pci/cmipc3035000"0lasass="sCM_REG_en code=scanls="sref"0L10, puthi031000" i i230L1023" class="lineeeeeee30L12930L6"ip" 2lass="/a>}2swrite021" clasasass="sls="opl3shwdarddef="+code=scancipci_spdiarddef="put,3>de=snrpseC href="+cop">sdev021" clas0i229u>s287 class="line" name29u/2>href="+co2lass="=f>aamef="+code=sco2las>/29sref">sclear_bit021" erreeeen 0;28a href="s2sound/pci/cmipc3031000" i230L1023" class="line" name30L12>*> */ 6">1046 >/29dif_default_p="liL10237 class="line" nameliL12930L9015 6">1046<+code=sode/2> >/29>seerrpci_spd>de=snrpseC href="+cop">sdev021" clasass="sdevice_dataeeepriv"te_dataound/pci/cmipc30riv"te_data021" clasass="sls="oplCM_REG_LEGACY_CTRL021" i229u>s287 class="line" name29u/3>30L1"ip" 3lass="/a>/pre>s287 class="line" name29u/3>10L1"ip" 3l 6">1 AC3"""""""" 3="s2s301efault_puteareeee/a>ref="+code=scanls="opl3shwdep_new021" clasass="sls="opl3shwdarddregisteound/pci/cmipc303shwdarddregisteoput,3>de=snrpseC href="+cop">sdev021" clas0031000" i i230L1023" class="lineeeeeee30L13>20L1"ip" 3l1046 6">1046de=snrpseC href="+cop">sdev021" clas0i229u>s287 class="line" name29u/3>30L3eeeee3de=snrpsedisable_fip3i_spd30I_DEVICEpci_spdif_deferreeeen 0;28a href="s2sound/pci/cmipc3031000" i230L1023" class="line" name30L13>40L3eeeee3de019 goe3ref">3clear_bit021" ="liL10237 class="line" nameliL13>50Leeeeee3ee019}230lear_bit021" clasass="sls="spf_defaudrvdataound/pci/cmipc30f_defaudrvdataput,3>de=snrpsepe_ound/pci/cmipc3035000"0lasass="sCM_REG_C href="+cop">sdev021" clas0i229u>s287 class="line" name29u/3>60Leeeeee3eass="/a>}270L6"ip" 3lass="=f>aamef="+code=sco3ipc30307ear_bit021" erreeee0i229u>s287 class="line" name29u/3>30L801528a href="s2sound/pci/cm3pc30L3000" i230L10229 class="line} else30L13>30L9015se_3devin30ci_sp="liL10237 class="line" nameliL13>30L1015 /a> > 3 6">31C9360"liL10237 class="line" nameliL13>10L1"ip" 3>s2swriif_defremoveput,3strucclasass="sCM_REG_pe_dci.ound/pci/cmipc3035uen put,0*asass="sCM_REG_pe_ound/pci/cmipc3035000"i229u>s287 class="line" name29u/3>20L1"ip" 3>1046< struct se3rrpci31ree_ge" port021" clasass="sl3shwdarddef="+code=scancipci_spdiarddef="put,3>de=snrpse035ugfaudrvdataound/pci/cmipc30f_dgfaudrvdataput,3>de=snrpsepe_ound/pci/cmipc3035000")0i229u>s287 class="line" name29u/3>40L3eeeee3>1046< p_t_p struct de=snrpsepe_ound/pci/cmipc3035000"0lasass="sCM_REG_NULe=snrpseCM_NULeclas0i229u>s287 class="line" name29u/3>50Leeeeee3ee019sed31sref"="liL10237 class="line" nameliL13>30L6"ip" 3lass="/n 0;28a href="s2so3nd/pc31asass229L1023" class="line" name29L33>70L6"ip" 3lass="unsigned ="+code=sn3p30L8015 long >de=snrps3iomid31sref"#ifdeeeyntheeee)n 0;28CONFIG_PM=snrpseCM_CONFIG_PM"sENOMEMeeeen 0;28a href="rablep="+3>30L9015 ="+code=snrpse3"+egr31ci_spc<*> */28a href="5000" i229L10235" class="line" nam29L/3>30L1015 charcode=snrps3m">sl32C9360c<*> */28a hrefs* power managea hr5000" i229L10235" class="line" nam29L/3>10L1"ip" 3> ="+code=snrpse3cm_in32pci/cc<*> */28a hrefs*35000" i229L10235" class="line" nam29L/3220L1"ip" 3>1046< p_t_p>de=snrp1046<{p>de=snrp<3f">se32ree_ge" port021" clasass="slLEGACY_ut,30)n 0;28a href="s2sound/pci/cmipc293600lasass="sCM_REG_LEGd/pcCHFORMAref="s2sound/pciLEGd/pcCHFORMAr93600lasass="sCM_REG_LEGd/pcLEGACY,3>de=snrpseCM_FM_EN02LEGACY,3>de clasass="sCM_REG_FUNSC_CTRL_put,3>de=snrpseCM_FM_EN021" clasass="sC230L1023" class="lineeeeeee30L13N40L3eeeee3ee019 {/},a>s2>>>>>>>>>>>>>>>>EN021"XERC clasass="sCM_REG_FUNSC_CTRL_pXER 0;28a href="s2sound/pc_pXER clasass="sCM_REG_FUNSC_CTRL_pXER20;28a href="s2sound/pc_pXER2 clasass="sCM_REG_FUNSC_CTRL_pXER30;28a href="s2sound/pc_pXER3 clasass="sCM_REG_FUNSC_CTRLPLe=snrpseCM_SC_CTRLPLes="sC230L1023" class="lineeeeeee30L13N50Leeeeee3lass="/n 0;28a href="s2so3nd/pc32lear_bit021" clasass="sls="sLEGd/pcCH0_FRAME 0;28a href="s2sound/pcCH0_FRAME 93600lasass="sCM_REG_LEGd/pcCH0_FRAME20;28a href="s2sound/pcCH0_FRAME2s="sC230L1023" class="lineeeeeee30L13N30L6"ip" 3;28a href="s2sound/pci/cm3pc30L32asass="skfreeeeeeamef="+codeound/pcCH1_FRAME 0;28a href="s2sound/pcCH1_FRAME 93600lasass="sCM_REG_LEGd/pcCH1_FRAME20;28a href="s2sound/pcCH1_FRAME2s="sClasass="sCM_REG_LEGd/pcEXT21" c0;28a href="s2sound/pcEXT21" cs="sC230L1023" class="lineeeeeee30L13N70L6"ip" 3lass="amp;> ing">"LEGd/pcINT_HLDCL>s="sClasass="sCM_REG_LEGd/pci/cmipcC >>>>>>>>>>>>>>>>>EN02i/cmipcCs="sC230L1023" class="lineeeeeee30L13N30L801528a href="s2sound/pci/cm3pc30232sref"}i229u>s287 class="line" name29u/3230L9015 =f>aamef="+code=sca3errpc32>seer229L10235" class="line" nam29L/3>30L1015 6">1046<+code=sode=3nrpref="+code=scaSB_DSP4_MASTER_ef=code=scanls="srSB_DSP4_MASTER_ef=s="sClasass="sCM_REG_SB_DSP4_MASTER_ef=code=scanls="srSB_DSP4_MASTER_ef=s="s0+LLC230L1023" class="lineeeeeee30L13>30L2L10463>1046secipc3_spdi3_default_puteaasass="sCM_REG_SB_DSP4_P>>>ef=code=scanls="srSB_DSP4_P>>>ef=s="sClasass="sCM_REG_SB_DSP4_P>>>ef=code=scanls="srSB_DSP4_P>>>ef=s="s0+LLC230L1023" class="lineeeeeee30L13>30L3eeeee3> =f>amp;ef=s="sClasass="sCM_REG_SB_DSP4_SYNTH>ef=code=scanls="srSB_DSP4_SYNTH>ef=s="s0+LLC230L1023" class="lineeeeeee30L13>40L3eeeee3ee019 mef="+code=3canp"33disable_devicclasass="sls="sSB_DSP4_CD>ef=code=scanls="srSB_DSP4_CD>ef=s="sClasass="sCM_REG_SB_DSP4_CD>ef=code=scanls="srSB_DSP4_CD>ef=s="s0+LLC230L1023" class="lineeeeeee30L13>50Leeeeee3ee019ef=code=scanls="srSB_DSP4_LINE>ef=s="sClasass="sCM_REG_SB_DSP4_LINE>ef=code=scanls="srSB_DSP4_LINE>ef=s="s0+LLC230L1023" class="lineeeeeee30L13>30L6"ip" 3lass="/a>}2seENOMEM021"3clasa337ear_bit021" clasass="sls="sound/pcEXTENT_INDmef="+code=scanound/pcEXTENT_INDs="sClasass="sCM_REG_SB_DSP4_OUTPUT_SWcode=scanls="srSB_DSP4_OUTPUT_SWs="sC230L1023" class="lineeeeeee30L13 30L801528arablep="+s<*> */2sa338sass="skfreeeeeeamef="+codeSB_DSP4_INPUT_LEFref="s2sound/pciSB_DSP4_INPUT_LEFrs="sClasass="sCM_REG_SB_DSP4_INPUT_RIGHref="s2sound/pciSB_DSP4_INPUT_RIGHrs="sC230L1023" class="lineeeeeee30L13 30L9015 /a> >de=snrp >/34C9360"liL10237 class="line" nameliL13430L1L104 3> } 0;28a href="s2so 3> >/341efaustatic2/pclasass="sCM_REG_pci_spdif_deuspendcode=scanls="sr>swripdif_deuspendput,3strucclasass="sCM_REG_en 0;2code=scanls="sref"ci" cde0*asass="sCM_REG_en code=scanls="sref"0L100"liL10237 class="line" nameliL13430L2L10463;28a href="s2sound/pci/c63;28>/34defaui230L1023" class="lineeeeeee30L13430L3015 ref="+code=scanls=/3> >/34ree_ge" port0strucclasass="sCM_REG_pe_dci.ound/pci/cmipc3035uen put,0*asass="sCM_REG_pe_ound/pci/cmipc3035000" clasass="sls="oplto_pe_dci.ound/pci/cmipc3to_pe_dci.put,3>de=snrpseen code=scanls="sref"0L100i229u>s287 class="line" name29u/3430L4L10463ee019e3ee0>/344ee_ge" port0strucclasass="sCM_REG_>swriardcode=scanls="sr>swriardput,0*asass="sCM_REG_C href="+cop">sdev021" clas clasass="sls="oplef"ugfaudrvdataound/pci/cmipc3ef"ugfaudrvdataput,3>de=snrpseen code=scanls="sref"0L100i229u>s287 class="line" name29u/3450Leeeeee3ee019e3ee0>/345ee_ge" port0strucclasass="sCM_REG_ne" na2und/pci/cmipcine" na021" *asass="sCM_REG_CM_REG_LEGACY_CTRL021" clasass="sls="oplC href="+cop">sdev021" clasass="sdevice_dataeeepriv"te_dataound/pci/cmipc30riv"te_data021"i229u>s287 class="line" name29u/3430L6"ip" 3lass="ode=snrpsekfr 3las>/34dif_default_pupclasass="sCM_REG_ef="s2sound/pci/c021"i229u>s287 class="line" name29u/34href="+co3> +code=s0n 0;28a hro3> >/34="sENOMEMeeeen 0;28a href="rablep="+34*> */de=snrpseC href="+cop">sdev021" clasClasass="sCM_REG_SNDRV_CTL_POWER_e3hof"+code=scancipcSNDRV_CTL_POWER_e3hof0L100i229u>s287 class="line" name29u/3430L9015se/3p_t>/35 s="sgpeeeehsread3shwdpci/uspend_alnput,3>de=snrpseCanchip_versiont_biof">s(classchip_version0pCanchip_versiont_p54000" i229u>s25" class="lineclass=29u/3530L1L104 3>s2swrdpci/uspend_alnls="cref">sread3shwdpci/uspend_alnput,3>de=snrpseCanchip_versiont_biof">s(classchip_version0pCa20;28a href="s2spCa2000" i229u>s25" class="lineclass=29u/3530L2L10463>1046< struct 10>/35default_puteaasass="sCM_REG_>swrdpci/uspend_alnls="cref">sread3shwdpci/uspend_alnput,3>de=snrpseCanchip_versiont_biof">s(classchip_version0pCai/pdif0;28a href="s2spCai/pdif000" i229u>s25" class="lineclass=29u/3530L3015 +code=sode=snrp >/35_defa"liL10237 class="line" nameliL13530L4L10463>}2s287 class="line" name29u/3p30L6"ip" 3p_t_p="+code=snrpse 3p_t>/35sref">swrite021" clasasass="sls="oplCanchip_versiont_biof">s(classchip_version03aveddregs2und/pci/cmipcicaveddregsput,0a href="+code=sef="s2sound/pci/c021"] clasass="sls="opl3shwdif_defreadcode=scanls="sr>swripdif_dreadput,3>de=snrpseCanchip_versiont_biof">0lasass="sCM_REG_caveddregs2und/pci/cmipcicaveddregsput,0a href="+code=sef="s2sound/pci/c021"] i229u>s25" class="lineclass=29u/35href="+co3>s2s287 class="line" name29u/3p*> */ long >de=snrpp3> >/35sref">sset_bit021" clasass="sls="oplCanchip_versiont_biof">s(classchip_version03aveddmixers2und/pci/cmipcicaveddmixersput,0a href="+code=sef="s2sound/pci/c021"] clasass="sls="opl3shwdif_defmixerareadcode=scanls="sr>swripdif_dmixerareadput,3>de=snrpseCanchip_versiont_biof">0lasass="sCM_REG_caveddmixers2und/pci/cmipcicaveddmixersput,0a href="+code=sef="s2sound/pci/c021"] i229u>s25" class="lineclass=29u/3530L9015 unsigned ="+code=s/3> >/3p>seer229L10235" class="line" nam29L/3630L1015 struct >/360isable_devicc<*> */28a href=" disdif_ upcc2935000" i229L10235" class="line" nam29L/3630L1L104 3> ="+code=snrps 3> >/361efault_putea>ref="+code=sca>swripdif_damef="+code=scancipci_spdif_default_put,3>de=snrpseCM_REG_FUNCTRL1021" clasass="sCM_REG_FUNCTRL1_pINT_HLDCL>> ing">"LEGd/pcINT_HLDCL>s="sCl" i229L1023" class="line" name29L33630L2L10463;28a href="s2sound/pci/c63;28>/3600" i230L>s1s3" class="line" nam30L>3630L3015 =f>a!mp; >/36ree_ge" port021" clasass="sl/pi_disdif__en 0;2code=scanls="sr/pi_disdif__en 0;2put,3>de=snrpsepe_ound/pci/cmipc3035000")i229L1023" class="line" name29L33630L4L10463ee019 goto>ref="e3ee0>/36disable_devicclasass="sls="spf_deave_stat"+code=scancipcipf_deave_stat"put,3>de=snrpsepe_ound/pci/cmipc3035000")i229L1023" class="line" name29L33630L5eeeee3;28a href="s2sound/pci/ce3;28>/36lear_bit021" clasass="sls="spf_defaudower_stat"+code=scancipcipf_defaudower_stat"put,3>de=snrpsepe_ound/pci/cmipc3035000"sass="sCM_REG_FUNa hre3hof"+code=scancipca hre3hof000")i229L1023" class="line" name29L33630L6"ip" 3ee019<=f>amef="+code=sca 3ee0>/36dif_default_perreeee0i229u>s287 class="line" name29u/36href="+co3> > 6" >>>>>>>>>o3> >/36sref"="liL10237 class="line" nameliL136*> */ 6">1046 >/3600" i230L10229 class="line} else30L13630L9015 6">1046 >/36>seerstatic2/pclasass="sCM_REG_pci_spdif_dresumecode=scanls="sr>swriif_defresumeput,3strucclasass="sCM_REG_en 0;2code=scanls="sref"ci" cde0*asass="sCM_REG_en code=scanls="sref"0L100"liL10237 class="line" nameliL13730L1015 /a> > /3> >/3746< =i230L1023" class="lineeeeeee30L13730L1L104 3> }"else /a>s2 >/37de=snrpseen code=scanls="sref"0L100i229u>s287 class="line" name29u/3730L2L10463>1046 mef="+code63>10>/37default_puteastrucclasass="sCM_REG_>swriardcode=scanls="sr>swriardput,0*asass="sCM_REG_C href="+cop">sdev021" clas clasass="sls="oplef"ugfaudrvdataound/pci/cmipc3ef"ugfaudrvdataput,3>de=snrpseen code=scanls="sref"0L100i229u>s287 class="line" name29u/3730L3015 /a>}2sdev021" clasass="sdevice_dataeeepriv"te_dataound/pci/cmipc30riv"te_data021"i229u>s287 class="line" name29u/3730Leeeeee3ee019<=f>amef="+code=scae3ee0>/3>disable_devicupclasass="sCM_REG_ef="s2sound/pci/c021"i229u>s287 class="line" name29u/3730L5eeeee3ee019>>>>>>>>e3ee0>/3>sref"229u>s287 class="line" name29u/3730L6"ip" 3lass="""""""""ode=snrp/37asass="skfreeeeeeamef="+code/p_defaudower_stat"+code=scancipcipf_defaudower_stat"put,3>de=snrpsepe_ound/pci/cmipc3035000"sass="sCM_REG_FUNa hreC >>>>>>>>>>>>>>a hreC0L100i229u>s287 class="line" name29u/37href="+co3> > 6"mef="+codeo3> >/377ear_bit021" clasass="sls="s_defrestore_stat"+code=scancipcipf_drestore_stat"put,3>de=snrpsepe_ound/pci/cmipc3035000")i229L1023" class="line" name29L337*> */ 6">1046ampp3> >/37dif_default_puthde=snrpsepe_ound/pci/cmipc3035000")31000" i i230L1023" class="lineeeeeee30L13730L9015 6">1046 >/3>>seerrpci_spdif_defausdevice_dataeeepriscanKERN_ERR021" cde=scaieeee)n 0;28a href=">>>>>>>>> ing">"/pci/c: cannot3create OPL3 hwdep\n"ceeeee: /pi_3pdif__en 0;2 failed, f">snipci" ci230L1023" class="lineeeeeee30L13830L1015 /a> case 0x3E0/3> >/38>seerrpci_spdif_defauuuuuuuut3create OPL3 hwdep\n"disdifdep if_defsnipci" ci)i229L1023" class="line" name29L33830L1L104 3> 6">1 AC3case 0x3C8 3> >/38de=snrpseC href="+cop">sdev021" clas)i229L1023" class="line" name29L33830L2L10463>1046 case 0x38863>10>/38default_puteaICEpci_serreeee-a href="+code=sEIOef="+cop">sdev0EIO021"i229u>s287 class="line" name29u/3830L3015 6">1046/3> >/38I_DEVICEpci_s="liL10237 class="line" nameliL13830Leeeeee3ee019 goe3ee0>/38disable_devicclasass="sls="spf_defaumasteound/pci/cmipc30pf_defaumasteoput,3>de=snrpsepe_ound/pci/cmipc3035000")i229L1023" class="line" name29L33830L5eeeee3ee019}2/38sref"229u>s287 class="line" name29u/3>30L6"ip" 3lass="""""""""mp;/38sref">swrite0c<*> */28a href=" reset / p>>>>>>>>o3> >/387ear_bit021" clasass="sls="s>swripdif_damef="+code=scancipci_spdif_default_put,3>de=snrpseCM_REG_FUNCTRL1021" clasass="sCM_REG_FUNCTRL1_pINT_HLDCL>> ing">"LEGd/pcINT_HLDCL>s="sCl" i229L1023" class="line" name29L338*> */ 6">1046 >/388sass="skfreeeeeeamef="+coderef"iif_def_h_reset"+code=scancipci_spdif_def_h_resetput,3>de=snrpseCM_REG_FUNCTRL1021" clasass="sCM_REG_FUNCTRCH_PLAY> ing">"LEGCH_PLAY000")i229L1023" class="line" name29L33830L9015/38ci_spdif_defaeeeeamef="+coderef"iif_def_h_reset"+code=scancipci_spdif_def_h_resetput,3>de=snrpseCM_REG_FUNCTRL1021" clasass="sCM_REG_FUNCTRCH_CAPref="s2sound/pciLEGCH_CAPr000")i229L1023" class="line" name29L33930L1015 /a> =f>amef="+/3> >/39 s="sgpeeeehde=snrpseCM_REG_FUNCTRL1021" clasa0Cl" i229L1023" class="line" name29L33>30L1L104 3> 6">1 AC3"""""""" 3> >/3900" i230L1022" clack" class="sre30L13>30L2L10463>1046 6">104610>/39default_puteac<*> */28a href=" restore registeoc2935000" i229L10235" class="line" nam29L/3930L3015 6">1046 > /3> >/39I_DEVICEpci_sfor s287 class="line" name29u/3930Leeeeee3ee019 goe3ee0>/39disable_devicepseCM_REG_FUNCTRL1021" clasass="sCM_REG_FUNcaveddregs2und/pci/cmipcicaveddregsput,0a href="+code=sef="s2sound/pci/c021"]0lasass="sCM_REG_Canchip_versiont_biof">s(classchip_version03aveddregs2und/pci/cmipcicaveddregsput,0a href="+code=sef="s2sound/pci/c021"] i229L1023" class="line" name29L33>30L5eeeee3ee019}2/395ee_ge" port0for s287 class="line" name29u/3930L6"ip" 3lass="/a>}2swrite021" clasasass="sls="opl3shwdpdif_dmixeraamef="+code=scancipci_spdif_defmixeraamef=put,3>de=snrpseCM_REG_FUNCTRL1021" clasaasass="sCM_REG_caveddmixers2und/pci/cmipcicaveddmixersput,0a href="+code=sef="s2sound/pci/c021"]0lasass="sCM_REG_Canchip_versiont_biof">s(classchip_version03aveddmixers2und/pci/cmipcicaveddmixersput,0a href="+code=sef="s2sound/pci/c021"] i229u>s25" class="lineclass=29u/3>href="+co3lass="=f>aamef="+code=sco3las>/39="sENOMEMeeeen 0;28a href="rablep="+3>*> */ 6">1046 >/398sass="skfreeeeeeamef="+coderef"dower_change_stat"+code=scancipci_spddower_change_stat"put,3>de=snrpseC href="+cop">sdev021" clasClasass="sCM_REG_SNDRV_CTL_POWER_eC >>>>>>>>>>>>>>SNDRV_CTL_POWER_eC000")i229L1023" class="line" name29L33930L9015 6">1046<+code=sode/3> >/39>seerrpci_spderreeee0i229u>s287 class="line" name29u/4>30L1"ip" 4lass="/a>/pre>10L1"ip" 4l 6">1 AC3"""""""" 4="s2s4000" i230L1022" clack" class="sre30L14>20L1"ip" 4l1046 6">1046swripdif_deuspendput,saasass="sCM_REG_cci_spdif_dresumecode=scanls="sr>swriif_defresumeput,)i229L1023" class="line" name29L34>30L3eeeee4de=snrpsedisable_fip4i_spd40I_DEV#defsedlasass="sCM_REG_SND_CMIa h_PM_OPScode=scanls="srSND_CMIa h_PM_OPSseerrpci_spputh40L3eeeee4de019 goe4ref">4clear_#else229L1023" class="line" name29L34>50L3eeeee4de019}240lear_#defsedlasass="sCM_REG_SND_CMIa h_PM_OPScode=scanls="srSND_CMIa h_PM_OPSseerrpci_spasass="sCM_REG_NULe=snrpseCM_NULeclas229L1023" class="line" name29L34>60L3eeeee4dass="/a>}2 */28a href=" CONFIG_PM2935000" i229L10235" class="line" nam29L/4>70L6"ip" 4lass="=f>aamef="+code=sco4ipc3040="sENOMEMeeeen 0;28a href="rablep="+4>30L801528a href="s2sound/pci/cm4pc30L4000" istatic2strucclasass="sCM_REG_pe_dcriveound/pci/cmipc30pe_dcriveocannotsass="sCM_REG_ne" nadcriveound/pci/cmipc30ne" nadcriveo021"s0"i230L1023" class="lineeeeeee30L14>30L9015se_4devin40>seerrpci_spd.tsass="sCM_REG_410seerrpci_spd.tsass="sCM_REG_id_tdif_und/pci/cmipc30id_tdif_21" clasass="sls="oplcipci_spdifids2und/pci/cmipcicipci_spdifids0L10s230L1023" class="lineeeeeee30L14>10L1"ip" 4>s21046< struct swriif_defremoveput,)s230L1023" class="lineeeeeee30L14>30L3eeeee4> ="+code=snrpse4rrpci41ree_ge" port0.tsass="sCM_REG_eriveound/pci/cmipc30eriveo000"s0"i230L1023" class="lineeeeeee30L14>40L3eeeee4>1046< p_t_p struct sed41sref">swrite0=s230L1023" class="lineeeeeee30L14>60L3eeeee4lass="/n 0;28a href="s2so4nd/pc41asass}i229u>s287 class="line" name29u/4>70L6"ip" 4lass="unsigned ="+code=sn4ps287 class="line" name29u/4>30L8015 long >de=snrps4iomid41sref"asass="sls="oplmodule_ nadcriveound/pci/cmipc30module_ nadcriveoput,3>de=snrpseCM" nadcriveound/pci/cmipc30ne" nadcriveo021")i229L1023" class="line" name29L34>30L9015 ="+code=snrpse4"+egr41ci_spc/prepc/div> c/div>