linux/sound/pci/fm801.c
<<
3.10 2/span v 2/form v 2a 3.10 href="../linux+v3.7.5/sound/pci/fm801.c">3.10 2img src="../.static/gfx/right.png" alt=">>">3.2/span v3.2span class="lxr_search">3.103.10 2input typ 2hidden" nam 2navtarget" 9.4" 2">3.10 2input typ 2text" nam 2search" id 2search">3.10 2buttv3.typ 2submit">Search3.10 Prefsv 2/a>3.2/span v10 2/div v10 2form action="ajax+*" method="post" onsubmit="return false;">3.2input typ 2hidden" nam 2ajax_lookup" id 2ajax_lookup" 9.4" 2">310 2/form v310 2div class="headingbottvm">
v 2div id 2file_contents"
   12/a>2span class="comment">/*2/span v   22/a>2span class="comment"> *  The driver for the ForteMedia FM801 based soundcards2/span v   32/a>2span class="comment"> *  Copyright (c) by Jaroslav Kysela <perex@perex.cz>2/span v   42/a>2span class="comment"> *2/span v   52/a>2span class="comment"> *  Support FM only card by Andy Shevchenko <andy@smile.org.ua>2/span v   62/a>2span class="comment"> *2/span v   72/a>2span class="comment"> *   This program is free software; you can redistribute it and/or modify2/span v   82/a>2span class="comment"> *   it under the terms of the GNU General Public License as published by2/span v   92/a>2span class="comment"> *   the Free Software Foundation; either vers"v3.2 of the License, or2/span v  
  2span class="comment"> *   (at your option) any later vers"v3.2/span v  112/a>2span class="comment"> *2/span v  122/a>2span class="comment"> *   This program is distributed in the hope that it will be useful,2/span v  132/a>2span class="comment"> *   but WITHOUT ANY WARRANTY; without even the implied warranty of2/span v  142/a>2span class="comment"> *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the2/span v  152/a>2span class="comment"> *   GNU General Public License for more details.2/span v  162/a>2span class="comment"> *2/span v  172/a>2span class="comment"> *   You should have received a copy of the GNU General Public License2/span v  182/a>2span class="comment"> *   along with this program; if not, write to the Free Software2/span v  192/a>2span class="comment"> *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA2/span v  2  2span class="comment"> *2/span v  212/a>2span class="comment"> */2/span v  222/a>v  232/a>#include <linux/delay.h2/a>>v  242/a>#include <linux/init.h2/a>>v  252/a>#include <linux/interrupt.h2/a>>v  262/a>#include <linux/pci.h2/a>>v  272/a>#include <linux/slab.h2/a>>v  282/a>#include <linux/module.h2/a>>v  292/a>#include <sound/core.h2/a>>v  302/a>#include <sound/pcm.h2/a>>v  312/a>#include <sound/tlv.h2/a>>v  322/a>#include <sound/ac97_codec.h2/a>>v  332/a>#include <sound/mpu401.h2/a>>v  342/a>#include <sound/opl3.h2/a>>v  352/a>#include <sound/initval.h2/a>>v  362/a>v  372/a>#include <asm/io.h2/a>>v  382/a>v  392/a>#ifdef 2a href="+code=CONFIG_SND_FM801_TEA575X_BOOL" class="sref">CONFIG_SND_FM801_TEA575X_BOOL2/a>v  402/a>#include <sound/tea575x-tuner.h2/a>>v  412/a>#endifv  422/a>v  432/a>2a href="+code=MODULE_AUTHOR" class="sref">MODULE_AUTHOR2/a>(2span class="string">"Jaroslav Kysela <perex@perex.cz>"2/span );v  442/a>2a href="+code=MODULE_DESCRIPTION" class="sref">MODULE_DESCRIPTION2/a>(2span class="string">"ForteMedia FM801"2/span );v  452/a>2a href="+code=MODULE_LICENSE" class="sref">MODULE_LICENSE2/a>(2span class="string">"GPL"2/span );v  462/a>2a href="+code=MODULE_SUPPORTED_DEVICE" class="sref">MODULE_SUPPORTED_DEVICE2/a>(2span class="string">"{{ForteMedia,FM801},"2/span v  472/a>                2span class="string">"{Genius,SoundMaker Live 5.1}}"2/span );v  482/a>v  492/a>static int 2a href="+code=index" class="sref">index2/a>[2a href="+code=SNDRV_CARDS" class="sref">SNDRV_CARDS2/a>] = 2a href="+code=SNDRV_DEFAULT_IDX" class="sref">SNDRV_DEFAULT_IDX2/a>;      2span class="comment">/* Index 0-MAX */2/span v  502/a>static char *2a href="+code=id" class="sref">id2/a>[2a href="+code=SNDRV_CARDS" class="sref">SNDRV_CARDS2/a>] = 2a href="+code=SNDRV_DEFAULT_STR" class="sref">SNDRV_DEFAULT_STR2/a>;       2span class="comment">/* ID for this card */2/span v  512/a>static 2a href="+code=bool" class="sref">bool2/a> 2a href="+code=enable" class="sref">enable2/a>[2a href="+code=SNDRV_CARDS" class="sref">SNDRV_CARDS2/a>] = 2a href="+code=SNDRV_DEFAULT_ENABLE_PNP" class="sref">SNDRV_DEFAULT_ENABLE_PNP2/a>;     2span class="comment">/* Enable this card */2/span v  522/a>2span class="comment">/*2/span v  532/a>2span class="comment"> *  Enable TEA575x tuner2/span v  542/a>2span class="comment"> *    1 = MediaForte 256-PCS2/span v  552/a>2span class="comment"> *    2 = MediaForte 256-PCP2/span v  562/a>2span class="comment"> *    3 = MediaForte 64-PCR2/span v  572/a>2span class="comment"> *   16 = setup tuner only (this is additional bit), i.e. SF64-PCR FM card2/span v  582/a>2span class="comment"> *  High 16-bits are video (radio) device number + 12/span v  592/a>2span class="comment"> */2/span v  602/a>static int 2a href="+code=tea575x_tuner" class="sref">tea575x_tuner2/a>[2a href="+code=SNDRV_CARDS" class="sref">SNDRV_CARDS2/a>];v  612/a>static int 2a href="+code=radio_nr" class="sref">radio_nr2/a>[2a href="+code=SNDRV_CARDS" class="sref">SNDRV_CARDS2/a>] = {[0 ... (2a href="+code=SNDRV_CARDS" class="sref">SNDRV_CARDS2/a> - 1)] = -1};v  622/a>v  632/a>2a href="+code=module_param_array" class="sref">module_param_array2/a>(2a href="+code=index" class="sref">index2/a>, int, 2a href="+code=NULL" class="sref">NULL2/a>, 0444);v  642/a>2a href="+code=MODULE_PARM_DESC" class="sref">MODULE_PARM_DESC2/a>(2a href="+code=index" class="sref">index2/a>, 2span class="string">"Index 9.4"
 for the FM801 soundcard."2/span );v  652/a>2a href="+code=module_param_array" class="sref">module_param_array2/a>(2a href="+code=id" class="sref">id2/a>, 2a href="+code=charp" class="sref">charp2/a>, 2a href="+code=NULL" class="sref">NULL2/a>, 0444);v  662/a>2a href="+code=MODULE_PARM_DESC" class="sref">MODULE_PARM_DESC2/a>(2a href="+code=id" class="sref">id2/a>, 2span class="string">"ID string for the FM801 soundcard."2/span );v  672/a>2a href="+code=module_param_array" class="sref">module_param_array2/a>(2a href="+code=enable" class="sref">enable2/a>, 2a href="+code=bool" class="sref">bool2/a>, 2a href="+code=NULL" class="sref">NULL2/a>, 0444);v  682/a>2a href="+code=MODULE_PARM_DESC" class="sref">MODULE_PARM_DESC2/a>(2a href="+code=enable" class="sref">enable2/a>, 2span class="string">"Enable FM801 soundcard."2/span );v  692/a>2a href="+code=module_param_array" class="sref">module_param_array2/a>(2a href="+code=tea575x_tuner" class="sref">tea575x_tuner2/a>, int, 2a href="+code=NULL" class="sref">NULL2/a>, 0444);v  702/a>2a href="+code=MODULE_PARM_DESC" class="sref">MODULE_PARM_DESC2/a>(2a href="+code=tea575x_tuner" class="sref">tea575x_tuner2/a>, 2span class="string">"TEA575x tuner access method (0 = auto, 1 = SF256-PCS, 2=SF256-PCP, 3=SF64-PCR, 8=disable, +16=tuner-only)."2/span );v  712/a>2a href="+code=module_param_array" class="sref">module_param_array2/a>(2a href="+code=radio_nr" class="sref">radio_nr2/a>, int, 2a href="+code=NULL" class="sref">NULL2/a>, 0444);v  722/a>2a href="+code=MODULE_PARM_DESC" class="sref">MODULE_PARM_DESC2/a>(2a href="+code=radio_nr" class="sref">radio_nr2/a>, 2span class="string">"Radio device numbers"2/span );v  732/a>v  742/a>v  752/a>#define 2a href="+code=TUNER_DISABLED" class="sref">TUNER_DISABLED2/a>          (1<<3)v  762/a>#define 2a href="+code=TUNER_ONLY" class="sref">TUNER_ONLY2/a>              (1<<4)v  772/a>#define 2a href="+code=TUNER_TYPE_MASK" class="sref">TUNER_TYPE_MASK2/a>         (~2a href="+code=TUNER_ONLY" class="sref">TUNER_ONLY2/a> & 0xFFFF)v  782/a>v  792/a>2span class="comment">/*2/span v  8  2span class="comment"> *  Direct registers2/span v  812/a>2span class="comment"> */2/span v  822/a>v  832/a>#define 2a href="+code=FM801_REG" class="sref">FM801_REG2/a>(2a href="+code=chip" class="sref">chip2/a>, 2a href="+code=reg" class="sref">reg2/a>)    (2a href="+code=chip" class="sref">chip2/a>->2a href="+code=port" class="sref">port2/a> + 2a href="+code=FM801_" class="sref">FM801_2/a>##reg)v  842/a>v  852/a>#define 2a href="+code=FM801_PCM_VOL" class="sref">FM801_PCM_VOL2/a>           0x00    2span class="comment">/* PCM Output Volume */2/span v  862/a>#define 2a href="+code=FM801_FM_VOL" class="sref">FM801_FM_VOL2/a>            0x02    2span class="comment">/* FM Output Volume */2/span v  872/a>#define 2a href="+code=FM801_I2S_VOL" class="sref">FM801_I2S_VOL2/a>           0x04    2span class="comment">/* I2S Volume */2/span v  882/a>#define 2a href="+code=FM801_REC_SRC" class="sref">FM801_REC_SRC2/a>           0x06    2span class="comment">/* Record Source */2/span v  892/a>#define 2a href="+code=FM801_PLY_CTRL" class="sref">FM801_PLY_CTRL2/a>          0x08    2span class="comment">/* Playback Control */2/span v  902/a>#define 2a href="+code=FM801_PLY_COUNT" class="sref">FM801_PLY_COUNT2/a>         0x0a    2span class="comment">/* Playback Count */2/span v  912/a>#define 2a href="+code=FM801_PLY_BUF1" class="sref">FM801_PLY_BUF12/a>          0x0c    2span class="comment">/* Playback Bufer I */2/span v  922/a>#define 2a href="+code=FM801_PLY_BUF2" class="sref">FM801_PLY_BUF22/a>          0x10    2span class="comment">/* Playback Buffer II */2/span v  932/a>#define 2a href="+code=FM801_CAP_CTRL" class="sref">FM801_CAP_CTRL2/a>          0x14    2span class="comment">/* Capture Control */2/span v  942/a>#define 2a href="+code=FM801_CAP_COUNT" class="sref">FM801_CAP_COUNT2/a>         0x16    2span class="comment">/* Capture Count */2/span v  952/a>#define 2a href="+code=FM801_CAP_BUF1" class="sref">FM801_CAP_BUF12/a>          0x18    2span class="comment">/* Capture Buffer I */2/span v  962/a>#define 2a href="+code=FM801_CAP_BUF2" class="sref">FM801_CAP_BUF22/a>          0x1c    2span class="comment">/* Capture Buffer II */2/span v  972/a>#define 2a href="+code=FM801_CODEC_CTRL" class="sref">FM801_CODEC_CTRL2/a>        0x22    2span class="comment">/* Codec Control */2/span v  982/a>#define 2a href="+code=FM801_I2S_MODE" class="sref">FM801_I2S_MODE2/a>          0x24    2span class="comment">/* I2S Mode Control */2/span v  992/a>#define 2a href="+code=FM801_VOLUME" class="sref">FM801_VOLUME2/a>            0x26    2span class="comment">/* Volume Up/Down/Mute Status */2/span v 1002/a>#define 2a href="+code=FM801_I2C_CTRL" class="sref">FM801_I2C_CTRL2/a>          0x29    2span class="comment">/* I2C Control */2/span v 1012/a>#define 2a href="+code=FM801_AC97_CMD" class="sref">FM801_AC97_CMD2/a>          0x2a    2span class="comment">/* AC'97 Command */2/span v 1022/a>#define 2a href="+code=FM801_AC97_DATA" class="sref">FM801_AC97_DATA2/a>         0x2c    2span class="comment">/* AC'97 Data */2/span v 1032/a>#define 2a href="+code=FM801_MPU401_DATA" class="sref">FM801_MPU401_DATA2/a>       0x30    2span class="comment">/* MPU401 Data */2/span v 1042/a>#define 2a href="+code=FM801_MPU401_CMD" class="sref">FM801_MPU401_CMD2/a>        0x31    2span class="comment">/* MPU401 Command */2/span v 1052/a>#define 2a href="+code=FM801_GPIO_CTRL" class="sref">FM801_GPIO_CTRL2/a>         0x52    2span class="comment">/* General Purpose I/O Control */2/span v 1062/a>#define 2a href="+code=FM801_GEN_CTRL" class="sref">FM801_GEN_CTRL2/a>          0x54    2span class="comment">/* General Control */2/span v 1072/a>#define 2a href="+code=FM801_IRQ_MASK" class="sref">FM801_IRQ_MASK2/a>          0x56    2span class="comment">/* Interrupt Mask */2/span v 1082/a>#define 2a href="+code=FM801_IRQ_STATUS" class="sref">FM801_IRQ_STATUS2/a>        0x5a    2span class="comment">/* Interrupt Status */2/span v 1092/a>#define 2a href="+code=FM801_OPL3_BANK0" class="sref">FM801_OPL3_BANK02/a>        0x68    2span class="comment">/* OPL3 Status Read / Bank 0 Write */2/span v 1102/a>#define 2a href="+code=FM801_OPL3_DATA0" class="sref">FM801_OPL3_DATA02/a>        0x69    2span class="comment">/* OPL3 Data 0 Write */2/span v 1112/a>#define 2a href="+code=FM801_OPL3_BANK1" class="sref">FM801_OPL3_BANK12/a>        0x6a    2span class="comment">/* OPL3 Bank 1 Write */2/span v 1122/a>#define 2a href="+code=FM801_OPL3_DATA1" class="sref">FM801_OPL3_DATA12/a>        0x6b    2span class="comment">/* OPL3 Bank 1 Write */2/span v 1132/a>#define 2a href="+code=FM801_POWERDOWN" class="sref">FM801_POWERDOWN2/a>         0x70    2span class="comment">/* Blocks Power Down Control */2/span v 1142/a>v 1152/a>2span class="comment">/* codec access */2/span v 1162/a>#define 2a href="+code=FM801_AC97_READ" class="sref">FM801_AC97_READ2/a>         (1<<7)  2span class="comment">/* read=1, write=0 */2/span v 1172/a>#define 2a href="+code=FM801_AC97_VALID" class="sref">FM801_AC97_VALID2/a>        (1<<8)  2span class="comment">/* port valid	1 */2/span v 1182/a>#define 2a href="+code=FM801_AC97_BUSY" class="sref">FM801_AC97_BUSY2/a>         (1<<9)  2span class="comment">/* busy	1 */2/span v 1192/a>#define 2a href="+code=FM801_AC97_ADDR_SHIFT" class="sref">FM801_AC97_ADDR_SHIFT2/a>   10      2span class="comment">/* codec id (2bit) */2/span v 12  v 1212/a>2span class="comment">/* playback and record control register bits */2/span v 1222/a>#define 2a href="+code=FM801_BUF1_LAST" class="sref">FM801_BUF1_LAST2/a>         (1<<1)v 1232/a>#define 2a href="+code=FM801_BUF2_LAST" class="sref">FM801_BUF2_LAST2/a>         (1<<2)v 1242/a>#define 2a href="+code=FM801_START" class="sref">FM801_START2/a>             (1<<5)v 1252/a>#define 2a href="+code=FM801_PAUSE" class="sref">FM801_PAUSE2/a>             (1<<6)v 1262/a>#define 2a href="+code=FM801_IMMED_STOP" class="sref">FM801_IMMED_STOP2/a>        (1<<7)v 1272/a>#define 2a href="+code=FM801_RATE_SHIFT" class="sref">FM801_RATE_SHIFT2/a>        8v 1282/a>#define 2a href="+code=FM801_RATE_MASK" class="sref">FM801_RATE_MASK2/a>         (15 << 2a href="+code=FM801_RATE_SHIFT" class="sref">FM801_RATE_SHIFT2/a>)v 1292/a>#define 2a href="+code=FM801_CHANNELS_4" class="sref">FM801_CHANNELS_42/a>        (1<<12) 2span class="comment">/* playback only */2/span v 1302/a>#define 2a href="+code=FM801_CHANNELS_6" class="sref">FM801_CHANNELS_62/a>        (2<<12) 2span class="comment">/* playback only */2/span v 1312/a>#define 2a href="+code=FM801_CHANNELS_6MS" class="sref">FM801_CHANNELS_6MS2/a>      (3<<12) 2span class="comment">/* playback only */2/span v 1322/a>#define 2a href="+code=FM801_CHANNELS_MASK" class="sref">FM801_CHANNELS_MASK2/a>     (3<<12)v 1332/a>#define 2a href="+code=FM801_16BIT" class="sref">FM801_16BIT2/a>             (1<<14)v 1342/a>#define 2a href="+code=FM801_STEREO" class="sref">FM801_STEREO2/a>            (1<<15)v 1352/a>v 1362/a>2span class="comment">/* IRQ status bits */2/span v 1372/a>#define 2a href="+code=FM801_IRQ_PLAYBACK" class="sref">FM801_IRQ_PLAYBACK2/a>      (1<<8)v 1382/a>#define 2a href="+code=FM801_IRQ_CAPTURE" class="sref">FM801_IRQ_CAPTURE2/a>       (1<<9)v 1392/a>#define 2a href="+code=FM801_IRQ_VOLUME" class="sref">FM801_IRQ_VOLUME2/a>        (1<<14)v 1402/a>#define 2a href="+code=FM801_IRQ_MPU" class="sref">FM801_IRQ_MPU2/a>           (1<<15)v 1412/a>v 1422/a>2span class="comment">/* GPIO control register */2/span v 1432/a>#define 2a href="+code=FM801_GPIO_GP0" class="sref">FM801_GPIO_GP02/a>          (1<<0)  2span class="comment">/* read/write */2/span v 1442/a>#define 2a href="+code=FM801_GPIO_GP1" class="sref">FM801_GPIO_GP12/a>          (1<<1)v 1452/a>#define 2a href="+code=FM801_GPIO_GP2" class="sref">FM801_GPIO_GP22/a>          (1<<2)v 1462/a>#define 2a href="+code=FM801_GPIO_GP3" class="sref">FM801_GPIO_GP32/a>          (1<<3)v 1472/a>#define 2a href="+code=FM801_GPIO_GP" class="sref">FM801_GPIO_GP2/a>(2a href="+code=x" class="sref">x2/a>)        (1<<(0+(2a href="+code=x" class="sref">x2/a>)))v 1482/a>#define 2a href="+code=FM801_GPIO_GD0" class="sref">FM801_GPIO_GD02/a>          (1<<8)  2span class="comment">/* directions: 1 = input, 0 = output*/2/span v 1492/a>#define 2a href="+code=FM801_GPIO_GD1" class="sref">FM801_GPIO_GD12/a>          (1<<9)v 1502/a>#define 2a href="+code=FM801_GPIO_GD2" class="sref">FM801_GPIO_GD22/a>          (1<<10)v 1512/a>#define 2a href="+code=FM801_GPIO_GD3" class="sref">FM801_GPIO_GD32/a>          (1<<11)v 1522/a>#define 2a href="+code=FM801_GPIO_GD" class="sref">FM801_GPIO_GD2/a>(2a href="+code=x" class="sref">x2/a>)        (1<<(8+(2a href="+code=x" class="sref">x2/a>)))v 1532/a>#define 2a href="+code=FM801_GPIO_GS0" class="sref">FM801_GPIO_GS02/a>          (1<<12) 2span class="comment">/* function select: */2/span v 1542/a>#define 2a href="+code=FM801_GPIO_GS1" class="sref">FM801_GPIO_GS12/a>          (1<<13) 2span class="comment">/*    1 = GPIO */2/span v 1552/a>#define 2a href="+code=FM801_GPIO_GS2" class="sref">FM801_GPIO_GS22/a>          (1<<14) 2span class="comment">/*    0 = other (S/PDIF, VOL) */2/span v 1562/a>#define 2a href="+code=FM801_GPIO_GS3" class="sref">FM801_GPIO_GS32/a>          (1<<15)v 1572/a>#define 2a href="+code=FM801_GPIO_GS" class="sref">FM801_GPIO_GS2/a>(2a href="+code=x" class="sref">x2/a>)        (1<<(12+(2a href="+code=x" class="sref">x2/a>)))v 1582/a>        v 1592/a>2span class="comment">/*2/span v 16  v 1612/a>2span class="comment"> */2/span v 1622/a>v 1632/a>struct 2a href="+code=fm801" class="sref">fm8012/a> {v 1642/a>        int 2a href="+code=irq" class="sref">irq2/a>;v 1652/a>v 1662/a>        unsigned long 2a href="+code=port" class="sref">port2/a>;     2span class="comment">/* I/O port number */2/span v 1672/a>        unsigned int 2a href="+code=multichannel" class="sref">multichannel2/a>: 1,   2span class="comment">/* multichannel support */2/span v 1682/a>                     2a href="+code=secondary" class="sref">secondary2/a>: 1;      2span class="comment">/* secondary codec */2/span v 1692/a>        unsigned char 2a href="+code=secondary_addr" class="sref">secondary_addr2/a>;   2span class="comment">/* address of the secondary codec */2/span v 1702/a>        unsigned int 2a href="+code=tea575x_tuner" class="sref">tea575x_tuner2/a>;     2span class="comment">/* tuner access method & flags */2/span v 1712/a>v 1722/a>        unsigned short 2a href="+code=ply_ctrl" class="sref">ply_ctrl2/a>; 2span class="comment">/* playback control */2/span v 1732/a>        unsigned short 2a href="+code=cap_ctrl" class="sref">cap_ctrl2/a>; 2span class="comment">/* capture control */2/span v 1742/a>v 1752/a>        unsigned long 2a href="+code=ply_buffer" class="sref">ply_buffer2/a>;v 1762/a>        unsigned int 2a href="+code=ply_buf" class="sref">ply_buf2/a>;v 1772/a>        unsigned int 2a href="+code=ply_count" class="sref">ply_count2/a>;v 1782/a>        unsigned int 2a href="+code=ply_size" class="sref">ply_size2/a>;v 1792/a>        unsigned int 2a href="+code=ply_pos" class="sref">ply_pos2/a>;v 18  v 1812/a>        unsigned long 2a href="+code=cap_buffer" class="sref">cap_buffer2/a>;v 1822/a>        unsigned int 2a href="+code=cap_buf" class="sref">cap_buf2/a>;v 1832/a>        unsigned int 2a href="+code=cap_count" class="sref">cap_count2/a>;v 1842/a>        unsigned int 2a href="+code=cap_size" class="sref">cap_size2/a>;v 1852/a>        unsigned int 2a href="+code=cap_pos" class="sref">cap_pos2/a>;v 1862/a>v 1872/a>        struct 2a href="+code=snd_ac97_bus" class="sref">snd_ac97_bus2/a> *2a href="+code=ac97_bus" class="sref">ac97_bus2/a>;v 1882/a>        struct 2a href="+code=snd_ac97" class="sref">snd_ac972/a> *2a href="+code=ac97" class="sref">ac972/a>;v 1892/a>        struct 2a href="+code=snd_ac97" class="sref">snd_ac972/a> *2a href="+code=ac97_sec" class="sref">ac97_sec2/a>;v 19  v 1912/a>        struct 2a href="+code=pci_dev" class="sref">pci_dev2/a> *2a href="+code=pci" class="sref">pci2/a>;v 1922/a>        struct 2a href="+code=snd_card" class="sref">snd_card2/a> *2a href="+code=card" class="sref">card2/a>;v 1932/a>        struct 2a href="+code=snd_pcm" class="sref">snd_pcm2/a> *2a href="+code=pcm" class="sref">pcm2/a>;v 1942/a>        struct 2a href="+code=snd_rawmidi" class="sref">snd_rawmidi2/a> *2a href="+code=rmidi" class="sref">rmidi2/a>;v 1952/a>        struct 2a href="+code=snd_pcm_substream" class="sref">snd_pcm_substream2/a> *2a href="+code=playback_substream" class="sref">playback_substream2/a>;v 1962/a>        struct 2a href="+code=snd_pcm_substream" class="sref">snd_pcm_substream2/a> *2a href="+code=capture_substream" class="sref">capture_substream2/a>;v 1972/a>        unsigned int 2a href="+code=p_dma_size" class="sref">p_dma_size2/a>;v 1982/a>        unsigned int 2a href="+code=c_dma_size" class="sref">c_dma_size2/a>;v 1992/a>v 2002/a>        2a href="+code=spinlock_t" class="sref">spinlock_t2/a> 2a href="+code=reg_lock" class="sref">reg_lock2/a>;v 2012/a>        struct 2a href="+code=snd_info_entry" class="sref">snd_info_entry2/a> *2a href="+code=proc_entry" class="sref">proc_entry2/a>;v 2022/a>v 2032/a>#ifdef 2a href="+code=CONFIG_SND_FM801_TEA575X_BOOL" class="sref">CONFIG_SND_FM801_TEA575X_BOOL2/a>v 2042/a>        struct 2a href="+code=v4l2_device" class="sref">v4l2_device2/a> 2a href="+code=v4l2_dev" class="sref">v4l2_dev2/a>;v 2052/a>        struct 2a href="+code=snd_tea575x" class="sref">snd_tea575x2/a> 2a href="+code=tea" class="sref">tea2/a>;v 2062/a>#endifv 2072/a>v 2082/a>#ifdef 2a href="+code=CONFIG_PM_SLEEP" class="sref">CONFIG_PM_SLEEP2/a>v 2092/a>        2a href="+code=u16" class="sref">u162/a> 2a href="+code=saved_regs" class="sref">saved_regs2/a>[0x20];v 2102/a>#endifv 2112/a>};v 2122/a>v 2132/a>static 2a href="+code=DEFINE_PCI_DEVICE_TABLE" class="sref">DEFINE_PCI_DEVICE_TABLE2/a>(2a href="+code=snd_fm801_ids" class="sref">snd_fm801_ids2/a>) = {v 2142/a>        { 0x1319, 0x0801, 2a href="+code=PCI_ANY_ID" class="sref">PCI_ANY_ID2/a>, 2a href="+code=PCI_ANY_ID" class="sref">PCI_ANY_ID2/a>, 2a href="+code=PCI_CLASS_MULTIMEDIA_AUDIO" class="sref">PCI_CLASS_MULTIMEDIA_AUDIO2/a> << 8, 0xffff00, 0, },   2span class="comment">/* FM801 */2/span v 2152/a>        { 0x5213, 0x0510, 2a href="+code=PCI_ANY_ID" class="sref">PCI_ANY_ID2/a>, 2a href="+code=PCI_ANY_ID" class="sref">PCI_ANY_ID2/a>, 2a href="+code=PCI_CLASS_MULTIMEDIA_AUDIO" class="sref">PCI_CLASS_MULTIMEDIA_AUDIO2/a> << 8, 0xffff00, 0, },   2span class="comment">/* Gallant Odyssey Sound 4 */2/span v 2162/a>        { 0, }v 2172/a>};v 2182/a>v 2192/a>2a href="+code=MODULE_DEVICE_TABLE" class="sref">MODULE_DEVICE_TABLE2/a>(2a href="+code=pci" class="sref">pci2/a>, 2a href="+code=snd_fm801_ids" class="sref">snd_fm801_ids2/a>);v 22  v 2212/a>2span class="comment">/*2/span v 2222/a>2span class="comment"> *  common I/O routines2/span v 2232/a>2span class="comment"> */2/span v 2242/a>v 2252/a>static int 2a href="+code=snd_fm801_update_bits" class="sref">snd_fm801_update_bits2/a>(struct 2a href="+code=fm801" class="sref">fm8012/a> *2a href="+code=chip" class="sref">chip2/a>, unsigned short 2a href="+code=reg" class="sref">reg2/a>,v 2262/a>                                 unsigned short 2a href="+code=mask" class="sref">mask2/a>, unsigned short 2a href="+code=9.4"
" class="sref">v.4"
2/a>)v 2272/a>{v 2282/a>        int 2a href="+code=change" class="sref">change2/a>;v 2292/a>        unsigned long 2a href="+code=flags" class="sref">flags2/a>;v 2302/a>        unsigned short 2a href="+code=old" class="sref">old2/a>, 2a href="+code=new" class="sref">new2/a>;v 2312/a>v 2322/a>        2a href="+code=spin_lock_irqsave" class="sref">spin_lock_irqsave2/a>(&2a href="+code=chip" class="sref">chip2/a>->2a href="+code=reg_lock" class="sref">reg_lock2/a>, 2a href="+code=flags" class="sref">flags2/a>);v 2332/a>        2a href="+code=old" class="sref">old2/a> = 2a href="+code=inw" class="sref">inw2/a>(2a href="+code=chip" class="sref">chip2/a>->2a href="+code=port" class="sref">port2/a> + 2a href="+code=reg" class="sref">reg2/a>);v 2342/a>        2a href="+code=new" class="sref">new2/a> = (2a href="+code=old" class="sref">old2/a> & ~2a href="+code=mask" class="sref">mask2/a>) | 2a href="+code=9.4"
" class="sref">v.4"
2/a>;v 2352/a>        2a href="+code=change" class="sref">change2/a> = 2a href="+code=old" class="sref">old2/a> != 2a href="+code=new" class="sref">new2/a>;v 2362/a>        if (2a href="+code=change" class="sref">change2/a>)v 2372/a>                2a href="+code=outw" class="sref">outw2/a>(2a href="+code=new" class="sref">new2/a>, 2a href="+code=chip" class="sref">chip2/a>->2a href="+code=port" class="sref">port2/a> + 2a href="+code=reg" class="sref">reg2/a>);v 2382/a>        2a href="+code=spin_unlock_irqrestore" class="sref">spin_unlock_irqrestore2/a>(&2a href="+code=chip" class="sref">chip2/a>->2a href="+code=reg_lock" class="sref">reg_lock2/a>, 2a href="+code=flags" class="sref">flags2/a>);v 2392/a>        return 2a href="+code=change" class="sref">change2/a>;v 2402/a>}v 2412/a>v 2422/a>static void 2a href="+code=snd_fm801_codec_write" class="sref">snd_fm801_codec_write2/a>(struct 2a href="+code=snd_ac97" class="sref">snd_ac972/a> *2a href="+code=ac97" class="sref">ac972/a>,v 2432/a>                                  unsigned short 2a href="+code=reg" class="sref">reg2/a>,v 2442/a>                                  unsigned short 2a href="+code=v.4" class="sref">v.42/a>)v 2452/a>{v 2462/a>        struct 2a href="+code=fm801" class="sref">fm8012/a> *2a href="+code=chip" class="sref">chip2/a> = 2a href="+code=ac97" class="sref">ac972/a>->2a href="+code=private_data" class="sref">private_data2/a>;v 2472/a>        int 2a href="+code=idx" class="sref">idx2/a>;v 2482/a>v 2492/a>        2span class="comment">/*2/span v 25  2span class="comment">         *  Wait until the codec interface is not ready..2/span v 2512/a>2span class="comment">         */2/span v 2522/a>        for (2a href="+code=idx" class="sref">idx2/a> = 0; 2a href="+code=idx" class="sref">idx2/a> < 100; 2a href="+code=idx" class="sref">idx2/a>++) {v 2532/a>                if (!(2a href="+code=inw" class="sref">inw2/a>(2a href="+code=FM801_REG" class="sref">FM801_REG2/a>(2a href="+code=chip" class="sref">chip2/a>, 2a href="+code=AC97_CMD" class="sref">AC97_CMD2/a>)) & 2a href="+code=FM801_AC97_BUSY" class="sref">FM801_AC97_BUSY2/a>))v 2542/a>                        goto 2a href="+code=ok1" class="sref">ok12/a>;v 2552/a>                2a href="+code=udelay" class="sref">udelay2/a>(10);v 2562/a>        }v 2572/a>        2a href="+code=snd_printk" class="sref">snd_printk2/a>(2a href="+code=KERN_ERR" class="sref">KERN_ERR2/a> 2span class="string">"AC'97 interface is busy (1)\n"2/span );v 2582/a>        return;v 2592/a>v 26   2a href="+code=ok1" class="sref">ok12/a>:v 2612/a>        2span class="comment">/* write data and address */2/span v 2622/a>        2a href="+code=outw" class="sref">outw2/a>(2a href="+code=v.4" class="sref">v.42/a>, 2a href="+code=FM801_REG" class="sref">FM801_REG2/a>(2a href="+code=chip" class="sref">chip2/a>, 2a href="+code=AC97_DATA" class="sref">AC97_DATA2/a>));v 2632/a>        2a href="+code=outw" class="sref">outw2/a>(2a href="+code=reg" class="sref">reg2/a> | (2a href="+code=ac97" class="sref">ac972/a>->2a href="+code=addr" class="sref">addr2/a> << 2a href="+code=FM801_AC97_ADDR_SHIFT" class="sref">FM801_AC97_ADDR_SHIFT2/a>), 2a href="+code=FM801_REG" class="sref">FM801_REG2/a>(2a href="+code=chip" class="sref">chip2/a>, 2a href="+code=AC97_CMD" class="sref">AC97_CMD2/a>));v 2642/a>        2span class="comment">/*2/span v 2652/a>2span class="comment">         *  Wait until the write command is not completed..2/span v 2662/a>2span class="comment">         */2/span v 2672/a>        for (2a href="+code=idx" class="sref">idx2/a> = 0; 2a href="+code=idx" class="sref">idx2/a> < 1000; 2a href="+code=idx" class="sref">idx2/a>++) {v 2682/a>                if (!(2a href="+code=inw" class="sref">inw2/a>(2a href="+code=FM801_REG" class="sref">FM801_REG2/a>(2a href="+code=chip" class="sref">chip2/a>, 2a href="+code=AC97_CMD" class="sref">AC97_CMD2/a>)) & 2a href="+code=FM801_AC97_BUSY" class="sref">FM801_AC97_BUSY2/a>))v 2692/a>                        return;v 2702/a>                2a href="+code=udelay" class="sref">udelay2/a>(10);v 2712/a>        }v 2722/a>        2a href="+code=snd_printk" class="sref">snd_printk2/a>(2a href="+code=KERN_ERR" class="sref">KERN_ERR2/a> 2span class="string">"AC'97 interface #%d is busy (2)\n"2/span , 2a href="+code=ac97" class="sref">ac972/a>->2a href="+code=num" class="sref">num2/a>);v 2732/a>}v 2742/a>v 2752/a>static unsigned short 2a href="+code=snd_fm801_codec_read" class="sref">snd_fm801_codec_read2/a>(struct 2a href="+code=snd_ac97" class="sref">snd_ac972/a> *2a href="+code=ac97" class="sref">ac972/a>, unsigned short 2a href="+code=reg" class="sref">reg2/a>)v 2762/a>{v 2772/a>        struct 2a href="+code=fm801" class="sref">fm8012/a> *2a href="+code=chip" class="sref">chip2/a> = 2a href="+code=ac97" class="sref">ac972/a>->2a href="+code=private_data" class="sref">private_data2/a>;v 2782/a>        int 2a href="+code=idx" class="sref">idx2/a>;v 2792/a>v 2802/a>        2span class="comment">/*2/span v 2812/a>2span class="comment">         *  Wait until the codec interface is not ready..2/span v 2822/a>2span class="comment">         */2/span v 2832/a>        for (2a href="+code=idx" class="sref">idx2/a> = 0; 2a href="+code=idx" class="sref">idx2/a> < 100; 2a href="+code=idx" class="sref">idx2/a>++) {v 2842/a>                if (!(2a href="+code=inw" class="sref">inw2/a>(2a href="+code=FM801_REG" class="sref">FM801_REG2/a>(2a href="+code=chip" class="sref">chip2/a>, 2a href="+code=AC97_CMD" class="sref">AC97_CMD2/a>)) & 2a href="+code=FM801_AC97_BUSY" class="sref">FM801_AC97_BUSY2/a>))v 2852/a>                        goto 2a href="+code=ok1" class="sref">ok12/a>;v 2862/a>                2a href="+code=udelay" class="sref">udelay2/a>(10);v 2872/a>        }v 2882/a>        2a href="+code=snd_printk" class="sref">snd_printk2/a>(2a href="+code=KERN_ERR" class="sref">KERN_ERR2/a> 2span class="string">"AC'97 interface is busy (1)\n"2/span );v 2892/a>        return 0;v 29  v 2912/a> 2a href="+code=ok1" class="sref">ok12/a>:v 2922/a>        2span class="comment">/* read command */2/span v 2932/a>        2a href="+code=outw" class="sref">outw2/a>(2a href="+code=reg" class="sref">reg2/a> | (2a href="+code=ac97" class="sref">ac972/a>->2a href="+code=addr" class="sref">addr2/a> << 2a href="+code=FM801_AC97_ADDR_SHIFT" class="sref">FM801_AC97_ADDR_SHIFT2/a>) | 2a href="+code=FM801_AC97_READ" class="sref">FM801_AC97_READ2/a>,v 2942/a>             2a href="+code=FM801_REG" class="sref">FM801_REG2/a>(2a href="+code=chip" class="sref">chip2/a>, 2a href="+code=AC97_CMD" class="sref">AC97_CMD2/a>));v 2952/a>        for (2a href="+code=idx" class="sref">idx2/a> = 0; 2a href="+code=idx" class="sref">idx2/a> < 100; 2a href="+code=idx" class="sref">idx2/a>++) {v 2962/a>                if (!(2a href="+code=inw" class="sref">inw2/a>(2a href="+code=FM801_REG" class="sref">FM801_REG2/a>(2a href="+code=chip" class="sref">chip2/a>, 2a href="+code=AC97_CMD" class="sref">AC97_CMD2/a>)) & 2a href="+code=FM801_AC97_BUSY" class="sref">FM801_AC97_BUSY2/a>))v 2972/a>                        goto 2a href="+code=ok2" class="sref">ok22/a>;v 2982/a>                2a href="+code=udelay" class="sref">udelay2/a>(10);v 2992/a>        }v 3002/a>        2a href="+code=snd_printk" class="sref">snd_printk2/a>(2a href="+code=KERN_ERR" class="sref">KERN_ERR2/a> 2span class="string">"AC'97 interface #%d is busy (2)\n"2/span , 2a href="+code=ac97" class="sref">ac972/a>->2a href="+code=num" class="sref">num2/a>);v 3012/a>        return 0;v 3022/a>v 3032/a> 2a href="+code=ok2" class="sref">ok22/a>:v 3042/a>        for (2a href="+code=idx" class="sref">idx2/a> = 0; 2a href="+code=idx" class="sref">idx2/a> < 1000; 2a href="+code=idx" class="sref">idx2/a>++) {v 3052/a>                if (2a href="+code=inw" class="sref">inw2/a>(2a href="+code=FM801_REG" class="sref">FM801_REG2/a>(2a href="+code=chip" class="sref">chip2/a>, 2a href="+code=AC97_CMD" class="sref">AC97_CMD2/a>)) & 2a href="+code=FM801_AC97_VALID" class="sref">FM801_AC97_VALID2/a>)v 3062/a>                        goto 2a href="+code=ok3" class="sref">ok32/a>;v 3072/a>                2a href="+code=udelay" class="sref">udelay2/a>(10);v 3082/a>        }v 3092/a>        2a href="+code=snd_printk" class="sref">snd_printk2/a>(2a href="+code=KERN_ERR" class="sref">KERN_ERR2/a> 2span class="string">"AC'97 interface #%d is not valid (2)\n"2/span , 2a href="+code=ac97" class="sref">ac972/a>->2a href="+code=num" class="sref">num2/a>);v 3102/a>        return 0;v 3112/a>v 3122/a> 2a href="+code=ok3" class="sref">ok32/a>:v 3132/a>        return 2a href="+code=inw" class="sref">inw2/a>(2a href="+code=FM801_REG" class="sref">FM801_REG2/a>(2a href="+code=chip" class="sref">chip2/a>, 2a href="+code=AC97_DATA" class="sref">AC97_DATA2/a>));v 3142/a>}v 3152/a>v 3162/a>static unsigned int 2a href="+code=rates" class="sref">rates2/a>[] = {v 3172/a>  5500,  8000,  9600, 11025,v 3182/a>  16000, 19200, 22050, 32000,v 3192/a>  38400, 44100, 48000v 32  };v 3212/a>v 3222/a>static struct 2a href="+code=snd_pcm_hw_constraint_list" class="sref">snd_pcm_hw_constraint_list2/a> 2a href="+code=hw_constraints_rates" class="sref">hw_constraints_rates2/a> = {v 3232/a>        .2a href="+code=count" class="sref">count2/a> = 2a href="+code=ARRAY_SIZE" class="sref">ARRAY_SIZE2/a>(2a href="+code=rates" class="sref">rates2/a>),v 3242/a>        .2a href="+code=list" class="sref">list2/a> = 2a href="+code=rates" class="sref">rates2/a>,v 3252/a>        .2a href="+code=mask" class="sref">mask2/a> = 0,v 3262/a>};v 3272/a>v 3282/a>static unsigned int 2a href="+code=channels" class="sref">channels2/a>[] = {v 3292/a>  2, 4, 6v 33  };v 3312/a>v 3322/a>static struct 2a href="+code=snd_pcm_hw_constraint_list" class="sref">snd_pcm_hw_constraint_list2/a> 2a href="+code=hw_constraints_channels" class="sref">hw_constraints_channels2/a> = {v 3332/a>        .2a href="+code=count" class="sref">count2/a> = 2a href="+code=ARRAY_SIZE" class="sref">ARRAY_SIZE2/a>(2a href="+code=channels" class="sref">channels2/a>),v 3342/a>        .2a href="+code=list" class="sref">list2/a> = 2a href="+code=channels" class="sref">channels2/a>,v 3352/a>        .2a href="+code=mask" class="sref">mask2/a> = 0,v 3362/a>};v 3372/a>v 3382/a>2span class="comment">/*2/span v 3392/a>2span class="comment"> *  Sample rate routines2/span v 34  2span class="comment"> */2/span v 3412/a>v 3422/a>static unsigned short 2a href="+code=snd_fm801_rate_bits" class="sref">snd_fm801_rate_bits2/a>(unsigned int 2a href="+code=rate" class="sref">rate2/a>)v 3432/a>{v 3442/a>        unsigned int 2a href="+code=idx" class="sref">idx2/a>;v 3452/a>v 3462/a>        for (2a href="+code=idx" class="sref">idx2/a> = 0; 2a href="+code=idx" class="sref">idx2/a> < 2a href="+code=ARRAY_SIZE" class="sref">ARRAY_SIZE2/a>(2a href="+code=rates" class="sref">rates2/a>); 2a href="+code=idx" class="sref">idx2/a>++)v 3472/a>                if (2a href="+code=rates" class="sref">rates2/a>[2a href="+code=idx" class="sref">idx2/a>] == 2a href="+code=rate" class="sref">rate2/a>)v 3482/a>                        return 2a href="+code=idx" class="sref">idx2/a>;v 3492/a>        2a href="+code=snd_BUG" class="sref">snd_BUG2/a>();v 3502/a>        return 2a href="+code=ARRAY_SIZE" class="sref">ARRAY_SIZE2/a>(2a href="+code=rates" class="sref">rates2/a>) - 1;v 3512/a>}v 3522/a>v 3532/a>2span class="comment">/*2/span v 3542/a>2span class="comment"> *  PCM pa">  span v 2572/a>        2a hr355"> 3552/a>2span class="comment"> */2/span v 3562/a>v 3572/a>static int 2a href="+code=snd_fm801_playback_trigger" class="sref">snd_fm801_playback_trigger2/a>(struct 2a href="+code=snd_pcm_substream" class="sref">snd_pcm_substream2/a> *2a href="+code=substream" class="sref">substream2/a>,v 3582/a>                                      int 2a href="+code=cmd" class="sref">cmd2/a>)v 3592/a>{v 3602/a>        struct 2a href="+code=fm801" class="sref">fm8012/a> *2a href="+code=chip" class="sref">chip2/a> = 2a href="+code=snd_pcm_substream_chip" class="sref">snd_pcm_substream_chip2/a>(2a href="+code=substream" class="sref">substream2/a>);v 3612/a>v 3622/a>        2a href="+code=spin_lock" class="sref">spin_lock2/a>(&2a href="+code=chip" class="sref">chip2/a>->2a href="+code=reg_lock" class="sref">reg_lock2/a>);v 3632/a>        switch (2a href="+code=cmd" class="sref">cmd2/a>) {v 3642/a>        case 2a href="+code=SNDRV_PCM_TRIGGER_START" class="sref">SNDRV_PCM_TRIGGER_START2/a>:v 3652/a>                2a href="+code=chip" class="sref">chip2/a>->2a href="+code=ply_ctrl" class="sref">ply_ctrl2/a> &= ~(2a href="+code=FM801_BUF1_LAST" class="sref">FM801_BUF1_LAST2/a> |v 3662/a>                                     2a href="+code=FM801_BUF2_LAST" class="sref">FM801_BUF2_LAST2/a> |v 3672/a>                                     2a href="+code=FM801_PAUSE" class="sref">FM801_PAUSE2/a>);v 3682/a>                2a href="+code=chip" class="sref">chip2/a>->2a href="+code=ply_ctrl" class="sref">ply_ctrl2/a> |= 2a href="+code=FM801_START" class="sref">FM801_START2/a> |v 3692/a>                                   2a href="+code=FM801_IMMED_STOP" class="sref">FM801_IMMED_STOP2/a>;v 3702/a>                break;v 3712/a>        case 2a href="+code=SNDRV_PCM_TRIGGER_STOP" class="sref">SNDRV_PCM_TRIGGER_STOP2/a>:v 3722/a>                2a href="+code=chip" class="sref">chip2/a>->2a href="+code=ply_ctrl" class="sref">ply_ctrl2/a> &= ~(2a href="+code=FM801_START" class="sref">FM801_START2/a> | 2a href="+code=FM801_PAUSE" class="sref">FM801_PAUSE2/a>);v 3732/a>                break;v 3742/a>        case 2a href="+code=SNDRV_PCM_TRIGGER_PAUSE_PUSH" class="sref">SNDRV_PCM_TRIGGER_PAUSE_PUSH2/a>:v 3752/a>        case 2a href="+code=SNDRV_PCM_TRIGGER_SUSPEND" class="sref">SNDRV_PCM_TRIGGER_SUSPEND2/a>:v 3762/a>                2a href="+code=chip" class="sref">chip2/a>->2a href="+code=ply_ctrl" class="sref">ply_ctrl2/a> |= 2a href="+code=FM801_PAUSE" class="sref">FM801_PAUSE2/a>;v 3772/a>                break;v 3782/a>        case 2a href="+code=SNDRV_PCM_TRIGGER_PAUSE_RELEASE" class="sref">SNDRV_PCM_TRIGGER_PAUSE_RELEASE2/a>:v 3792/a>        case 2a href="+code=SNDRV_PCM_TRIGGER_RESUME" class="sref">SNDRV_PCM_TRIGGER_RESUME2/a>:v 3802/a>                2a href="+code=chip" class="sref">chip2/a>->2a href="+code=ply_ctrl" class="sref">ply_ctrl2/a> &= ~2a href="+code=FM801_PAUSE" class="sref">FM801_PAUSE2/a>;v 3812/a>                break;v 3822/a>        default:v 3832/a>                2a href="+code=spin_unlock" class="sref">spin_unlock2/a>(&2a href="+code=chip" class="sref">chip2/a>->2a href="+code=reg_lock" class="sref">reg_lock2/a>);v 3842/a>                2a href="+code=snd_BUG" class="sref">snd_BUG2/a>();v 3852/a>                return -2a href="+code=EINVAL" class="sref">EINVAL2/a>;v 3862/a>        }v 3872/a>        2a href="+code=outw" class="sref">outw2/a>(2a href="+code=chip" class="sref">chip2/a>->2a href="+code=ply_ctrl" class="sref">ply_ctrl2/a>, 2a href="+code=FM801_REG" class="sref">FM801_REG2/a>(2a href="+code=chip" class="sref">chip2/a>, 2a href="+code=PLY_CTRL" class="sref">PLY_CTRL2/a>));v 3882/a>        2a href="+code=spin_unlock" class="sref">spin_unlock2/a>(&2a href="+code=chip" class="sref">chip2/a>->2a href="+code=reg_lock" class="sref">reg_lock2/a>);v 3892/a>        return 0;v 3902/a>}v 3912/a>v 3922/a>static int 2a href="+code=snd_fm801_capture_trigger" class="sref">snd_fm801_capture_trigger2/a>(struct 2a href="+code=snd_pcm_substream" class="sref">snd_pcm_substream2/a> *2a href="+code=substream" class="sref">substream2/a>,v 3932/a>                                     int 2a href="+code=cmd" class="sref">cmd2/a>)v 3942/a>{v 3952/a>        struct 2a href="+code=fm801" class="sref">fm8012/a> *2a href="+code=chip" class="sref">chip2/a> = 2a href="+code=snd_pcm_substream_chip" class="sref">snd_pcm_substream_chip2/a>(2a href="+code=substream" class="sref">substream2/a>);v 3962/a>v 3972/a>        2a href="+code=spin_lock" class="sref">spin_lock2/a>(&2a href="+code=chip" class="sref">chip2/a>->2a href="+code=reg_lock" class="sref">reg_lock2/a>);v 3982/a>        switch (2a href="+code=cmd" class="sref">cmd2/a>) {v 3992/a>        case 2a href="+code=SNDRV_PCM_TRIGGER_START" class="sref">SNDRV_PCM_TRIGGER_START2/a>:v 4002/a>                2a href="+code=chip" class="sref">chip2/a>->2a href="+code=cap_ctrl" class="sref">cap_ctrl2/a> &= ~(2a href="+code=FM801_BUF1_LAST" class="sref">FM801_BUF1_LAST2/a> |v 4012/a>                                     2a href="+code=FM801_BUF2_LAST" class="sref">FM801_BUF2_LAST2/a> |v 4022/a>                                     2a href="+code=FM801_PAUSE" class="sref">FM801_PAUSE2/a>);v 4032/a>                2a href="+code=chip" class="sref">chip2/a>->2a href="+code=cap_ctrl" class="sref">cap_ctrl2/a> |= 2a href="+code=FM801_START" class="sref">FM801_START2/a> |v 4042/a>                                   2a href="+code=FM801_IMMED_STOP" class="sref">FM801_IMMED_STOP2/a>;v 4052/a>                break;v 4062/a>        case 2a href="+code=SNDRV_PCM_TRIGGER_STOP" class="sref">SNDRV_PCM_TRIGGER_STOP2/a>:v 4072/a>                2a href="+code=chip" class="sref">chip2/a>->2a href="+code=cap_ctrl" class="sref">cap_ctrl2/a> &= ~(2a href="+code=FM801_START" class="sref">FM801_START2/a> | 2a href="+code=FM801_PAUSE" class="sref">FM801_PAUSE2/a>);v 4082/a>                break;v 4092/a>        case 2a href="+code=SNDRV_PCM_TRIGGER_PAUSE_PUSH" class="sref">SNDRV_PCM_TRIGGER_PAUSE_PUSH2/a>:v 4102/a>        case 2a href="+code=SNDRV_PCM_TRIGGER_SUSPEND" class="sref">SNDRV_PCM_TRIGGER_SUSPEND2/a>:v 4112/a>                2a href="+code=chip" class="sref">chip2/a>->2a href="+code=cap_ctrl" class="sref">cap_ctrl2/a> |= 2a href="+code=FM801_PAUSE" class="sref">FM801_PAUSE2/a>;v 4122/a>                break;v 4132/a>        case 2a href="+code=SNDRV_PCM_TRIGGER_PAUSE_RELEASE" class="sref">SNDRV_PCM_TRIGGER_PAUSE_RELEASE2/a>:v 4142/a>        case 2a href="+code=SNDRV_PCM_TRIGGER_RESUME" class="sref">SNDRV_PCM_TRIGGER_RESUME2/a>:v 4152/a>                2a href="+code=chip" class="sref">chip2/a>->2a href="+code=cap_ctrl" class="sref">cap_ctrl2/a> &= ~2a href="+code=FM801_PAUSE" class="sref">FM801_PAUSE2/a>;v 4162/a>                break;v 4172/a>        default:v 4182/a>                2a href="+code=spin_unlock" class="sref">spin_unlock2/a>(&2a href="+code=chip" class="sref">chip2/a>->2a href="+code=reg_lock" class="sref">reg_lock2/a>);v 4192/a>                2a href="+code=snd_BUG" class="sref">snd_BUG2/a>();v 4202/a>                return -2a href="+code=EINVAL" class="sref">EINVAL2/a>;v 4212/a>        }v 4222/a>        2a href="+code=outw" class="sref">outw2/a>(2a href="+code=chip" class="sref">chip2/a>->2a href="+code=cap_ctrl" class="sref">cap_ctrl2/a>, 2a href="+code=FM801_REG" class="sref">FM801_REG2/a>(2a href="+code=chip" class="sref">chip2/a>, 2a href="+code=CAP_CTRL" class="sref">CAP_CTRL2/a>));v 4232/a>        2a href="+code=spin_unlock" class="sref">spin_unlock2/a>(&2a href="+code=chip" class="sref">chip2/a>->2a href="+code=reg_lock" class="sref">reg_lock2/a>);v 4242/a>        return 0;v 4252/a>}v 4262/a>v 4272/a>static int 2a href="+code=snd_fm801_hw_params" class="sref">snd_fm801_hw_params2/a>(struct 2a href="+code=snd_pcm_substream" class="sref">snd_pcm_substream2/a> *2a href="+code=substream" class="sref">substream2/a>,v 4282/a>                               struct 2a href="+code=snd_pcm_hw_params" class="sref">snd_pcm_hw_params2/a> *2a href="+code=hw_params" class="sref">hw_params2/a>)v 4292/a>{v 4302/a>        return 2a href="+code=snd_pcm_lib_malloc_pages" class="sref">snd_pcm_lib_malloc_pages2/a>(2a href="+code=substream" class="sref">substream2/a>, 2a href="+code=params_buffer_bytes" class="sref">params_buffer_bytes2/a>(2a href="+code=hw_params" class="sref">hw_params2/a>));v 4312/a>}v 4322/a>v 4332/a>static int 2a href="+code=snd_fm801_hw_free" class="sref">snd_fm801_hw_free2/a>(struct 2a href="+code=snd_pcm_substream" class="sref">snd_pcm_substream2/a> *2a href="+code=substream" class="sref">substream2/a>)v 4342/a>{v 4352/a>        return 2a href="+code=snd_pcm_lib_free_pages" class="sref">snd_pcm_lib_free_pages2/a>(2a href="+code=substream" class="sref">substream2/a>);v 4362/a>}v 4372/a>v 4382/a>static int 2a href="+code=snd_fm801_playback_prepare" class="sref">snd_fm801_playback_prepare2/a>(struct 2a href="+code=snd_pcm_substream" class="sref">snd_pcm_substream2/a> *2a href="+code=substream" class="sref">substream2/a>)v 4392/a>{v 4402/a>        struct 2a href="+code=fm801" class="sref">fm8012/a> *2a href="+code=chip" class="sref">chip2/a> = 2a href="+code=snd_pcm_substream_chip" class="sref">snd_pcm_substream_chip2/a>(2a href="+code=substream" class="sref">substream2/a>);v 4412/a>        struct 2a href="+code=snd_pcm_runtime" class="sref">snd_pcm_runtime2/a> *2a href="+code=runtime" class="sref">runtime2/a> = 2a href="+code=substream" class="sref">substream2/a>->2a href="+code=runtime" class="sref">runtime2/a>;v 4422/a>v 4432/a>        2a href="+code=chip" class="sref">chip2/a>->2a href="+code=ply_size" class="sref">ply_size2/a> = 2a href="+code=snd_pcm_lib_buffer_bytes" class="sref">snd_pcm_lib_buffer_bytes2/a>(2a href="+code=substream" class="sref">substream2/a>);v 4442/a>        2a href="+code=chip" class="sref">chip2/a>->2a href="+code=ply_count" class="sref">ply_count2/a> = 2a href="+code=snd_pcm_lib_period_bytes" class="sref">snd_pcm_lib_period_bytes2/a>(2a href="+code=substream" class="sref">substream2/a>);v 4452/a>        2a href="+code=spin_lock_irq" class="sref">spin_lock_irq2/a>(&2a href="+code=chip" class="sref">chip2/a>->2a href="+code=reg_lock" class="sref">reg_lock2/a>);v 4462/a>        2a href="+code=chip" class="sref">chip2/a>->2a href="+code=ply_ctrl" class="sref">ply_ctrl2/a> &= ~(2a href="+code=FM801_START" class="sref">FM801_START2/a> | 2a href="+code=FM801_16BIT" class="sref">FM801_16BIT2/a> |v 4472/a>                             2a href="+code=FM801_STEREO" class="sref">FM801_STEREO2/a> | 2a href="+code=FM801_RATE_MASK" class="sref">FM801_RATE_MASK2/a> |v 4482/a>                             2a href="+code=FM801_CHANNELS_MASK" class="sref">FM801_CHANNELS_MASK2/a>);v 4492/a>        if (2a href="+code=snd_pcm_format_width" class="sref">snd_pcm_format_width2/a>(2a href="+code=runtime" class="sref">runtime2/a>->2a href="+code=format" class="sref">format2/a>) == 16)v 4502/a>                2a href="+code=chip" class="sref">chip2/a>->2a href="+code=ply_ctrl" class="sref">ply_ctrl2/a> |= 2a href="+code=FM801_16BIT" class="sref">FM801_16BIT2/a>;v 4512/a>        if (2a href="+code=runtime" class="sref">runtime2/a>->2a href="+code=channels" class="sref">channels2/a> > 1) {v 4522/a>                2a href="+code=chip" class="sref">chip2/a>->2a href="+code=ply_ctrl" class="sref">ply_ctrl2/a> |= 2a href="+code=FM801_STEREO" class="sref">FM801_STEREO2/a>;v 4532/a>                if (2a href="+code=runtime" class="sref">runtime2/a>->2a href="+code=channels" class="sref">channels2/a> == 4)v 4542/a>                        2a href="+code=chip" class="sref">chip2/a>->2a href="+code=ply_ctrl" class="sref">ply_ctrl2/a> |= 2a href="+code=FM801_CHANNELS_4" class="sref">FM801_CHANNELS_42/a>;v 2572/a>        2a hr455"> 4552/a>                else if (2a href="+code=runtime" class="sref">runtime2/a>->2a href="+code=channels" class="sref">channels2/a> == 6)v 4562/a>                        2a href="+code=chip" class="sref">chip2/a>->2a href="+code=ply_ctrl" class="sref">ply_ctrl2/a> |= 2a href="+code=FM801_CHANNELS_6" class="sref">FM801_CHANNELS_62/a>;v 4572/a>        }v 4582/a>        2a href="+code=chip" class="sref">chip2/a>->2a href="+code=ply_ctrl" class="sref">ply_ctrl2/a> |= 2a href="+code=snd_fm801_rate_bits" class="sref">snd_fm801_rate_bits2/a>(2a href="+code=runtime" class="sref">runtime2/a>->2a href="+code=rate" class="sref">rate2/a>) << 2a href="+code=FM801_RATE_SHIFT" class="sref">FM801_RATE_SHIFT2/a>;v 4592/a>        2a href="+code=chip" class="sref">chip2/a>->2a href="+code=ply_buf" class="sref">ply_buf2/a> = 0;v 4602/a>        2a href="+code=outw" class="sref">outw2/a>(2a href="+code=chip" class="sref">chip2/a>->2a href="+code=ply_ctrl" class="sref">ply_ctrl2/a>, 2a href="+code=FM801_REG" class="sref">FM801_REG2/a>(2a href="+code=chip" class="sref">chip2/a>, 2a href="+code=PLY_CTRL" class="sref">PLY_CTRL2/a>));v 4612/a>        2a href="+code=outw" class="sref">outw2/a>(2a href="+code=chip" class="sref">chip2/a>->2a href="+code=ply_count" class="sref">ply_count2/a> - 1, 2a href="+code=FM801_REG" class="sref">FM801_REG2/a>(2a href="+code=chip" class="sref">chip2/a>, 2a href="+code=PLY_COUNT" class="sref">/a>) << 2a href="sre9g9762/a>                2a href="+code=<< 2a hrefa>(2a href="+code=chip" cls="sref">rf="lclass="sref">fm8011;vreg2/a ma_clasref">rate2/a>) << 2a href="+c>2a hr4f="+code=reg_lock" class4"sref46L442"> 4422/a>vchip2/a>-&ga href="+h (2a href="+code=cmd" c4ass="46ubstream2/a>);voutw2/a> id=2L461" class="line" nam
	2L461"> 4612/a>        2a href="+code=outw" clfa>(2a href="+code=chip" cls="sref"ip" class="sref">chip2/a>->2a href="+code=ply_count" class="sref">ply_count2/a> - 1, 2a href="+code=FM801_REG" clasclasef">FM801_REG2/a>(2clasf="+code=chip" class="sref">chip2/a>, de=FM801_ART" class="sref">SNDRV_4CM_TR46ubstream2/a>);voutw2/a> id=2L461" class="line" nam
	2L461"> 4612/a>        2a href="+code=outw" clfa>(2a href="+code=chip" cls="sref" +ref="sound/pci/fm8am
	2L461"> 4612/a>        2a href="+code=outw" class="sref">outw2/a>(2a href="+codee=KERa>v 4432/a>        2a href="+c)ip" class="sref">chip2/a>->2a href="+code=ply_count" class="sref">ply_count2/a> - 1, 2a href="+code=FM801_REG" clascla"sound/pci/fm801clascla"f="+code=chip" class="sref">chip2/a>, a href="+_BUF1_LAST" class="sref"4FM80146reg_lock2/a>);v 4452/a>        2a href="+code=spin_lock_irq" class="sref">spin_lock_irq2/a>(&2a href="+code=chip" class="sref">chip2/a>-code=FM804_BUF2_LAST" class="sref"4FM8014BUF2_LAST2/a> ;vF4801_PA;vF4801_STv 3912/a>vsnd_fm801_playback_prepare2/a>(struct 2a href="+code=snd_pcm_substream" class="sref">snd_pcm_substream2/a class="l4ne" nam
	2L370"> 3702/a>4     4      ass="sref">runtime2/a>->2a hM_TRIGGER4STOP" class="sref">SNDRV4PCM_T4IGGER_STOP2/a>{v 4402/a>        struct 2a href="+code=fm801" class="sref">fm8012/a> *2a href="+code=chip" class="sref">chip2/a> = 2a href="+code=snd_pcm_substream_chip" class="sref">snd_pcm_substream_chipa hMgt;2a hr4de=FM801_PAUSE" class="s4ef">F4801_PAUSE2/a>);v 4412/a>        struct 2a href="+code=snd_pcm_runtime" class="sref">snd_pcm_runtime2/a> *2a href="+code=runtime" class="sref">runtime2/a> = 2a href="+code=substream" class="sref">substreams4ea href="+ne" nam
	2L373"> 3732/a>4     4      ream" class="sref">substreams4ede=FM801_class="sref">SNDRV_PCM_T4IGGER47ubstream2/a>);v 4222/a>        2a href="+code=outw" cl43"> 4432/a>       " cl43">="+code=chip" class="sref">chip2/a>->2a href="+code=ply_size" class="sref">ply_size2/a> = 2a href="+code=snd_pcm_lib_buffer_bytes" class="sref">snd_pcm_lib_buffer_bytes2/aGER_SUSPE4D" class="sref">SNDRV_PC4_TRIG47reg_lock2/a>);voutw2/a>((2a hss="+code=chip" class="sref">chip2/a>->2a href="+code=ply_count" class="sref">ply_count2/a> = 2a href="+code=snd_pcm_lib_period_bytes" class="sref">snd_pcm_lib_period_bytes2/aa href="+4ode=FM801_PAUSE" class="4ref">47L396"> 3962/a>v 4452/a>        2a href="+code=spin_lock_irq" class="sref">spin_lock_irq2/a>(&2a href="+code=chip" class="sref">chip2/a>- class="l4ne" nam
	2L377"> 3772/a>4     4772/a>        }v                2a href="+code=chip" class="sref">chip2/a>->2a href="+code=cap_ctrl" class="sref">cap_ctrl2/a> &= ~(2a href="+code=FM801_START" class="sref">FM801_START2/a> | 2aLEASE" cl4ss="sref">SNDRV_PCM_TRIG4ER_PA4701_START2/a> |v 4472/a>                             2a href="+code=FM801_STEREO" class="sreode=chip" class="sref">chip2/a>-IGGER_RES4ME" class="sref">SNDRV_P4M_TRI4GER_RESUME2/a>;v 4492/a>        if (2a href="+code=snd_pcm_format_width" class="sref">snd_pcm_format_width2/a>(2a href="+code=runtime" class="sref">runtime2/a>-&ga href="+4ode=FM801_PAUSE" class="4ref">4M801_PAUSE2/a>;v                2a href="+code=chip" class="sref">chip2/a>->2a href="+code=ply_ctrl" class="sref">ply_ctrl2/a> |= 2 class="l4ne" nam
	2L381"> 3812/a>4     4         break;v 4512/a>        if (2a href="+code=runtime" cclass="sref">ply_ctrl2/a> |= 2 gt;2a hr4ss="line" nam
	2L382"> 3422/a>4       default:v 4032/a>                2a href="+code=chip" class="sref">chip2/a>->2a href="+code=ply_ctrl" class="sref">ply_ctrl2/a> |= 2a >2a hr4f="+code=reg_lock" class4"sref48ubstream2/a>);v                2a href="+code=chip" class="sref">chip2/a>->2a href="+code=ply_ctrl" class="sref">ply_ctrl2/a> |= 2a href="+code=snd_fm801_rate_bits" class="sref">snd_fm801_rate_bits2/a>(2a href="+code=runtime" class="sref">runtime2/a>->2a href="+code=rate" class="sref">rate2/a>) << 2a href=2a &de=FM801_ef="+code=snd_BUG" class4"sref48ubstream2/a>);v 4222/a>        2a href="+code=outw" cl59"> 4592/a>      " cl59"ef="+code=chip" class="sref">chip2/a>-& return -4a href="+code=EINVAL" cl4ss="s48reg_lock2/a>);v 4222/a>        2a href="+code=outw" class="sref">outw2/a>(2a href="+code=chip" class="sref">chip2/a>->2a href="+code=cap_ctrl" class="sref">cap_ctrl2/a>, 2a href="+code=FM801_REG" class="sref">FM801_>, 2/a>(2a href="+code=chip" class="sref">chip2/a86" id	2L486" class="line" nam
	2L486"> 4862/a>        }v 3872/a>        2a href="+code=outw(2a hss="sref">outw2/a>((2a hss="+code=chip" class="sref">chip2/a>->2a href="+code=ply_count" class="sref">ply_count2/a> - 1, 2a href="+code=FM801_REG" /a>(2="sref">FM801_REG2//a>(2="srref="+code=chip" class="sref">chip2/a8class="l4="+code=PLY_CTRL" class=4sref"4PLY_CTRL2/a>));v 4222/a>        2a href="+code=outw" cl59"(2a href="+code=ch" cl59"(2aref">rf="lclass="sref">fm8011;vreg2/a ma_clasref">rate2/a>) << 2a href="+c>2a hr4f="+code=reg_lock" class4"sref48ATE_SHIFT2/a>;vchip2/a>-&L389" cla4s="line" nam
	2L389"> 3842/a> 49y_buf2/a> = 0;voutw2/a> id=2L461" class="line" nam
	2L461"> 4612/a>        2a href="+code=outw" cl59"(2a href="+code=ch" cl59"(2aref"ip" class="sref">chip2/a>->2a href="+code=ply_count" class="sref">ply_count2/a> - 1, 2a href="+code=FM801_REG" /a>(clasef">FM801_REG2//a>(clasref="+code=chip" class="sref">chip2/a801.c#L394" id	2L390" class="line"4nam
	49LY_CTRL2/a>));voutw2/a> id=2L461" class="line" nam
	2L461"> 4612/a>        2a href="+code=outw" cl59"(2a href="+code=ch" cl59"(2aref" +ref="sound/pci/fm8am
	2L461"> 4612/a>        2a href="+code=outw(2a hss="sref">outw2/a>((2a hss="+codee=KERa>v 4432/a>       " cl43">="+c)ip" class="sref">chip2/a>->2a href="+code=ply_count" class="sref">ply_count2/a> - 1, 2a href="+code=FM801_REG" /a>(cla"sound/pci/fm801/a>(cla"ref="+code=chip" class="sref">chip2/a8class="l41" id	2L391" class="line4 nam
49L361"> 3612/a>v 4452/a>        2a href="+code=spin_lock_irq" class="sref">spin_lock_irq2/a>(&2a href="+code=chip" class="sref">chip2/a>-> *2a hre4="+code=substream" class4"sref4>substream2/a>;vidx2/a>;v 3912/ href="sound/pci/fm801.ufrclas_"sref">outw2/a>(i/fm801.ufrclas_"ubstrchip" class="sref">chip2/> 4382/a>soint7" class="line" nam
	2L357"> 3572/a>soint7"int 2a href="+code=snd_fm801_playback_prepare" class="sref">snd_fm801_playback_prepare2/a>(struct 2a href="+code=snd_pcm_substream" class="sref">snd_pcm_substream2/am801.c#L346" id	2L396" class="line4 nam
42L396"ass="sref">runtime2/a>->2a h>2a hr4f="+code=reg_lock" class4"sref4>reg_lock2/a>);v 4402/a>        struct 2a href="+code=fm801" class="sref">fm8012/a> *2a href="+code=chip" class="sref">chip2/a> = 2a href="+code=snd_pcm_substream_chip" class="sref">snd_pcm_substream_chipas4"gt;2a hr4h (2a href="+code=cmd" c4ass="49sref">idx2/a>;v_"sref">outw2/a>(i3">_"ubstrchip" class="srpta href="+code=chitsref">rate2/a>) << 2a href="+5TRIGGER_S5ART" class="sref">SNDRV_5CM_TR5GGER_Srate2/a>) << 2a href="+5T1IGGER_S5A id	2L390" class="line"5FM80150801_16BIT2/a>;v 4602/a>        2a href="+code=outw" class="sref">outw2/a>(2a href="+code=ch=chip" class="sref">chip2/a>->2a href="+code=cap_ctrl")ass="sref">snd_pcm_substream2/5code=FM805_BUF2_LAST" class="sref"5FM8015BUF2_LAST2/a> |vF50AP_CTRL2/a>));v 3972/a>        2a href="+code=spin_lock" class="sref">spin_lock2/a>(&2a href="+code=chip" class="sref">chip2/a>5 href="+c5de=FM801_START" class="s5ef">F50ubstream2/a>);v 4612/a>        2a href="+code=outw" class="sref">outw2/a>(2a href="+code-" cl-ref="+code=fm801inci/fm801.c#L387"inc>chip2/a> = 2a href=chip2/a>->2a href="+code=ply_count" class="sref">ply_count2/a> - 1, 2a href="+code=FM801_REG" class="sref">FM801_REG2/a>(2a href="+code=chip" class="sref">chip2/a>5ode=FM8015IMMED_STOP" class="sref"5FM8015IMMED_STOP2/a>;vchip2/a> = 2a href=chip2/a>->2a href="+code=ply_count" class="sref">ply_count2/a> - 1, 2a href="+code=FM801_REG" IRQ=capTUSount2/a> - 1, 2IRQ=capTUSf="+coode=ch=chip" class="sref">chIRQ=PLAYBACref="+code=FM801_STEREIRQ=PLAYBACref="+cass="sref">runtime2/a>->2a 5 class="l5ne" nam
	2L405"> 4052/a>5     50R_SUSPEND2/a>:voutw2/a>(2a href="+codde=chip" class="sref">chip2/a>5o7lass="l5n" id	2L396" class="line5PCM_T5IGGER_STOP2/a>:v 4432/a>        2a href="+cde=chip" class="sref">chip2/a>5o8lass="l5n="+code=reg_lock" class5ef">F5801_PAUSE2/a>);v 4082/a>5     50sref">idx2/a>;v 4232/a>        2a href="+code=spin_unlock" class="sref">spin_unlock2/a>(&2a href="+code=chip" class="sref">chip2/a>5USE_PUSH"5class="sref">SNDRV_PCM_T5IGGER5PAUSE_PUSH2/a>{vruntime2/a> = 2a href="+code=subsref">snd_pcm_lib_mta href="+code=chitsref"ode=chip" class="sref">chip2/a>5U1IGGER_S5D" class="sref">SNDRV_PC5_TRIG51_params2/a>));v51">runtime2/a>;v 4122/a>5     51L432"> 4322/ href="sound/pci/fm801.ufrclas_"sref">outw2/a>(i/fm801.ufrclas_"ubstrchip" class="sref">chip2/#L392" i	oint7" class="line" nam
	2L357"#L392" i	oint7"int 2a href="+code=snd_fm801_playback_prepare" class="sref">snd_fm801_playback_prepare2/a>(struct 2a href="+code=snd_pcm_substream" class="sref">snd_pcm_substream2/5LEASE" cl5ss="sref">SNDRV_PCM_TRIG5ER_PA51substream2/a>)vSNDRV_P5M_TRI5GER_RESUME2/a>;v 4402/a>        struct 2a href="+code=fm801" class="sref">fm8012/a> *2a href="+code=chip" class="sref">chip2/a> = 2a href="+code=snd_pcm_substream_chip" class="sref">snd_pcm_substream_chip/f5Iclass="l5ode=FM801_PAUSE" class="5ref">51reg_lock2/a>);v_"sref">outw2/a>(i3">_"ubstrchip" class="srpta href="+code=chitsref">rate2/a>) << 2a href="+5 class="l5ne" nam
	2L416"> 4162/a>5     51436"> 4362/a>}v 4572/a>5       default;v 4602/a>        2a href="+code=outw 4072/a>                2a href="+code=ch=chip" class="sref">chip2/a>->2a href="+code=cap_ctrl")ass="sref">snd_pcm_substream2/5>2a hr5f="+code=reg_lock" class5"sref5>reg_lock2/a>);v = 0;v 3972/a>        2a href="+code=spin_lock" class="sref">spin_lock2/a>(&2a href="+code=chip" class="sref">chip2/a>5 return -5a href="+code=EINVAL" cl5ss="s52LY_CTRL2/a>));v 4612/a>        2a href="+code=outw(2a hss="sref">outw2/a>((2a hss="+code-" cl-ref="+code=fm801inci/fm801.c#L387"inc>chip2/a> = 2a href=chip2/a>->2a href="+code=ply_count" class="sref">ply_count2/a> - 1, 2a href="+code=FM801_REG" /a>(2="sref">FM801_REG2//a>(2="srref="+code=chip" class="sref">chip2/521" id	2L521" class="line" nam
	2L521"> 52        break;vchip2/a> = 2a href=chip2/a>->2a href="+code=ply_count" class="sref">ply_count2/a> - 1, 2a href="+code=FM801_REG" IRQ=capTUSount2/a> - 1, 2IRQ=capTUSf="+coode=ch=chip" class="sref">chIRQ=/a>TUREef="+code=FM801_STEREIRQ=/a>TUREef="+cass="sref">runtime2/a>->2a 5>, 2a hre5="+code=CAP_CTRL" class=5sref"52      default:voutw2/a>((2a hss="+codcode=chip" class="sref">chip2/52EASE" cl5f="+code=reg_lock" class5"sref5>reg_lock2/a>):v 4432/a>       " cl43">="+ccode=chip" class="sref">chip2/52GGER_RES5s="line" nam
	2L424"> 4252/a> 52ER_RESUME2/a>ms2/a>));v);v 4232/a>        2a href="+code=spin_unlock" class="sref">spin_unlock2/a>(&2a href="+code=chip" class="sref">chip2/a>5m801.c#L456" id	2L426" class="line5 nam
52UF2_LAST2/a> ;vruntime2/a> = 2a href="+code=subsref">snd_pcm_lib_mta href="+code=chitsref"ode=chip" class="sref">chip2/a>5> *2a hre5="+code=substream" class5"sref5201_PA;v 3912/ href="sound/pcirq;voutw2/a>(irq;vchip2/int7"rup"sref">outw2/a>(i/fmchip2/int7"rup">chipa>vsnd_pcm_substream2/5(2a href=5+code=hw_params" class="5ref">53     ass="sref">runtime2/a>->2a 5801.c#L435" id	2L431" class="line"5nam
	53GGER_STOP2/a>{v 4402/a>        struct 2a href="+code=fm801dev_i1.c#L398" id	2L3dev_i1" clde=chip" class="sref">chip2/a>5m801.c#L452" id	2L432" class="line5 nam
53      defaultunsigned shorf="+code=snd_fm801 39ua href="+code=ply 39ua" clde=chip" class="sref">chip2/a>5mEASE" cl5="+code=substream" class5"sref534     defaultunsigned a>vchip2/a>5mGGER_RES5" id	2L434" class="line"5nam
	53sref">idx2/a>;v);vchip2/a> = 2a href=chip2/a>->2a href="+code=ply_count" class="sref">ply_count2/a> - 1, 2a href="+code=FM801_REG" IRQ=capTUSount2/a> - 1, 2IRQ=capTUSf="+code=chip" class="sref">chip2/a>5m801.c#L45" id	2L436" class="line"5nam
	53L396"> 3962/a>vchIRQ=PLAYBACref="+code=FM801_STEREIRQ=PLAYBACref="|chip" class="sref">chIRQ=/a>TUREef="+code=FM801_STEREIRQ=/a>TUREef="|chip" class="sref">chIRQ=MPUef="+code=FM801_STEREIRQ=MPUef="|chip" class="sref">chIRQ=VOL14" class="line" nef">chIRQ=VOL14"" clde=chip" class="sref">chip2/a>5m *2a hre57" id	2L437" class="line5 nam
53      default;vvsnd_pcm_substream2/5( *2a hre5="+code=substream" class5"sref53reg_lock2/a>);vchip2/a>5801.c#L435" id	2L439" class="line"5nam
	5L439"> 4392/a>idx2/a>;v));vchip2/a>->2a href="+code=ply_count" class="sref">ply_count2/a> - 1, 2a href="+code=FM801_REG" IRQ=capTUSount2/a> - 1, 2IRQ=capTUSf="+code=chip" class="sref">chip2/a>5a>->2a5href="+code=runtime" cla5s="sr54        break;vchIRQ=PLAYBACref="+code=FM801_STEREIRQ=PLAYBACref="+cde=chde=ch=ef="+code=fm801d/pci/fm801.c#L443" id	2L443" class="line" nam
	23572/a>"+code=snd_pcm_substream	23572/a>"+code=snef="+cass="sref">runtime2/a>->2a 5m801.c#L452" id	2L442" class="line5 nam
54      default:v 3972/a>        2a href="+code=spin_lock" class="sref">spin_lock2/a>(&2a href="+code=chip" class="sref">chip2/a>5>(2a href5"+code=substream" class=5sref"54reg_lock2/a>):v 4612/a>        2a href="+code=outw" clfa> 4432/a>        2a 59"ef="++de=chip" class="sref">chip2/a>5>GGER_RES5"+code=substream" class=5sref"5substream2/a>):v 4612/a>        2a href="+code=outw" clpoa href="+code=sub2L4poaef="++href="+code=fm801d/pci/fm801.c#L443" id	2L443" class="line" nam
	2L4ass="sref">outw2/a>(2a href="+codde=chip" class="sref">chip2/a>5>2a hr5f="+code=reg_lock" class5"sref54R_SUSPEND2/a>:v 4612/a>        2a href="+code=outw" clpoa href="+code=sub2L4poaef="+e=KERhref="+code=fm801d/pci/fm801.c#L443" id	2L443" class="line" nam
	2L443"> 4432/a>        2a href="+cde=chip" class="sref">chip2/a>5 href="+c5de=FM801_16BIT" class="s5ef">F5801_16BIT2/a> |voutw2/a>(2a href="+codde=chip" class="sref">chip2/a>5& *2a hre5_RATE_MASK" class="sref"5FM8015RATE_MASK2/a> |v 4432/a>        2a href="+cde=chip" class="sref">chip2/a>5  *2a hre5S_MASK" class="sref">FM851_CHA54reg_lock2/a>);voutw2/a> id=2L461" class="line" nam
	2L461"> 4612/a>        2a href="+code=outw" clfa>(2a href="+code=chip" cls="sref" +ra href="sound/ptm4402/a>        stm4" class="sref">snd_pcm_substream2/5t;2a href5"+code=format" class="sr5f">fo5mat2/a>) == 16)v 4612/a>        2a href="+code=outw" clfa> 4432/a>        2a 59"ef="ode=ch=1) ?ss="sref">snd_pcm_substream2/5t(2a href5ode=FM801_16BIT" class="5ref">55801_PAUSE2/a>;vchip2/a>->2a href="+code=ply_count" class="sref">ply_count2/a> - 1, 2a href="+code=FM801_REG" clasclasef">FM801_REG2/a>(2clasf="+c ef="sound/pci/fm801.c#L417" id5ref="+cod5=channels" class="sref">5hanne5s2/a> > 1) {vchip2/a>->2a href="+code=ply_count" class="sref">ply_count2/a> - 1, 2a href="+code=FM801_REG" clascla"sound/pci/fm801clascla"f="+code=chip" class="sref">chip2/a>5href="+co5e=FM801_STEREO" class="s5ef">F5801_STEREO2/a>;v 4232/a>        2a href="+code=spin_unlock" class="sref">spin_unlock2/a>(&2a href="+code=chip" class="sref">chip2/a>52a href="5code=channels" class="sr5f">ch5nnels2/a> == 4)vchipef">plyelapse1.c#L398" id	2L3ef">chipef">plyelapse12L461" class="line" nam
	2L461"> 4612/a>        2a href="+code=outw" 3572/a>"+code=snd_pcm_substream	23572/a>"+code=snef="+de=chip" class="sref">chip2/a>52GGER_RES5CHANNELS_4" class="sref"5FM80155ER_RESUME2/a>ms2/a>));vch5nnels2/a> == 6;vchIRQ=/a>TUREef="+code=FM801_STEREIRQ=/a>TUREef="+cde=chde=ch=ef="+code=fm801d/pci/fm801.c#L443" id	2L443" class="line" nam
#L392" i"+code=snd_pcm_substream#L392" i"+code=snef="+cass="sref">runtime2/a>->2a 5ode=FM8015CHANNELS_6" class="sref"5FM8015501_16BIT2/a> |v 3972/a>        2a href="+code=spin_lock" class="sref">spin_lock2/a>(&2a href="+code=chip" class="sref">chip2/a>557" id	2L557" class="line" nam
	2L557"> 55ATE_MASK2/a> |v 4222/a>        2a href="+code=outw" cl59"> 4592/a>      " cl59"ef="++de=chip" class="sref">chip2/a>5ode=FM8015RATE_SHIFT" class="sref"5FM80155reg_lock2/a>);voutw2/a>((2a hss="+codcode=chip" class="sref">chip2/5gt;2a hre5="+code=ply_buf" class="5ref">56at2/a>) == 16)v 4432/a>       " cl43">="+ccode=chip" class="sref">chip2/5>, 2a hre5="+code=PLY_CTRL" class=5sref"56801_PAUSE2/a>;voutw2/a>((2a hss="+codcode=chip" class="sref">chip2/5gef="+cod5+code=PLY_COUNT" class="5ref">562/a> > 1) {v 4432/a>       " cl43">="+ccode=chip" class="sref">chip2/5>ref="+co5f="+code=reg_lock" class5"sref5601_STEREO2/a>;voutw2/a> id=2L461" class="line" nam
	2L461"> 4612/a>        2a href="+code=outw" cl59"(2a href="+code=ch" cl59"(2aref" +ra href="sound/ptm4402/a>        stm4" class="sref">snd_pcm_substream2/5ga href="5h (2a href="+code=cmd" c5ass="56nels2/a> == 4)v 4612/a>        2a href="+code=outw" cl59"> 4592/a>      " cl59"ef="ode=ch=1) ?ss="sref">snd_pcm_substream2/5 de=FM8015ART" class="sref">SNDRV_5CM_TR56ubstream2/a>):vchip2/a>->2a href="+code=ply_count" class="sref">ply_count2/a> - 1, 2a href="+code=FM801_REG" /a>(clasef">FM801_REG2//a>(clasref=" ef="sound/pci/fm801.c#L417" id5 a href="5_BUF1_LAST" class="sref"5FM80156nels2/a> == 6)vchip2/a>->2a href="+code=ply_count" class="sref">ply_count2/a> - 1, 2a href="+code=FM801_REG" /a>(cla"sound/pci/fm801/a>(cla"ref="+code=chip" class="sref">chip2/5code=FM805_BUF2_LAST" class="sref"5FM8015601_16BIT2/a> |v 4232/a>        2a href="+code=spin_unlock" class="sref">spin_unlock2/a>(&2a href="+code=chip" class="sref">chip2/a>5 href="+c5de=FM801_PAUSE" class="s5ef">F56ATE_MASK2/a> |vchipef">plyelapse1.c#L398" id	2L3ef">chipef">plyelapse12L461" class="line" nam
	2L461"> 4612/a>        2a href="+code=outw#L392" i"+code=snd_pcm_substream#L392" i"+code=snef="+de=chip" class="sref">chip2/a>5 de=FM8015de=FM801_START" class="s5ef">F56reg_lock2/a>)ms2/a>));v;vchIRQ=MPUef="+code=FM801_STEREIRQ=MPUef=")ass="sref">snd_pcm_substream2/5 class="l5ne" nam
	2L370"> 3702/a>5     57801_PAUSE2/a>;vmpu4EREuart/int7"rup"sref">outw2/a>(i/fmmpu4EREuart/int7"rup"2L461" class="line" 1.c#L445" id	2L4451.c" na,  href="sound/pc>        2a href="+code=spin_unlock" class="srefmidiunlock2/a>(&midi" cl3" class="line" nam
	rivss="datad_pcm_substream	rivss="dataef="+de=chip" class="sref">chip2/a>5M_TRIGGER5STOP" class="sref">SNDRV5PCM_T57        break;vchIRQ=VOL14" class="line" nef">chIRQ=VOL14"" class="sref">snd_pcm_substream2/5 ref="+co5de=FM801_PAUSE" class="s5ef">F5701_STEREO2/a>;vidx2/a>;v 3732/a>5     5      ream" class="sref">substreams5ede=FM8015class="sref">SNDRV_PCM_T5IGGER57ubstream2/a>);vchip2/5GER_SUSPE5D" class="sref">SNDRV_PC5_TRIG57reg_lms2/a>));v57436"> 4362/a>}v 3772/a>5     5772/a>> 3912/a href="+code=snd_fm801_playbahardw38" class="line" nam
	aybahardw38"bstre"+code=snd_fm801_pl2L357"> 3572/a class="line" nam
	2L357"> 3572/a" cl h 4362/a>}vSNDRV_PCM_TRIG5ER_PA5701_STass="sref">runtime2/a>->2a 5IGGER_RES5ME" class="sref">SNDRV_P5M_TRI5P4M_TRI4GER_RE." class="line" 11.c#L286" id	2L28941f ma_class="sref">reg2/a ma_clasref">rate2ass="sref">reg2/a ma_clasref">rate2ass="sref">reg2/a ma_cla=NON" class="line" nIRQ=NON"" clde=chip" class="sref">chip2/a>5801.c#L435" id	2L439" class="line"5nam
	5L439"eXchip2/a>5801.c#L435" id	2L439" class="hip" class="sref">chip2/a>->2a hr7RV_PCM_INFO_MMAP#L435" id	2L439hr7RV_PCM_INFO_MMAPass="2a href="+code=snhr7RV_PCM_INFO_INTERLEAV> 3772/a>5     57hr7RV_PCM_INFO_INTERLEAV> ass="2IRQ=NON"" clde=chip" class="sreass="sreflass="l4ne" nam
	2L381">53812/5>4     4         breakkkkkkkkkkkkkkkkkk href="+code=snhr7RV_PCM_INFO_BLOCK_TRANSFER3772/a>5     57hr7RV_PCM_INFO_BLOCK_TRANSFERass="2IRQ=NON"" clde=chip" class="sreef">F5701lt:vF5801_STEREO2/a>; href="+code=snhr7RV_PCM_INFO_PAUS    ream" class=hr7RV_PCM_INFO_PAUS ass="2a href="+code=snhr7RV_PCM_INFO_RES      ream" class=hr7RV_PCM_INFO_RES   ass="2IRQ=NON"" clde=chip" class="sre5IGGER57u>2a hr4f="+code=reg_l5ck" c5ass4"sref48ubstream2/aF5801_STEREO2/a>; href="+code=snhr7RV_PCM_INFO_MMAP_l59"> 4592/a> "5substream2/a>):v 3732/a>5ply_ct2hr7RV_PCM_INFO_MMAP#> 4592/a> "5substream2/a>FMTBIT_U8nd/pci/fmnam27iyFO_BLOCK_FMTBIT_U8S      ream" class=hr7RV_PCM_INFFMTBIT_S16_Ls="2IRQ=NON"" clde=chip" cFMTBIT_S16_LsRV_5CM_TR56ubstream2/a>):v 4222/5>    5   2a href="+cass="hip" class=s="s2L373"> 3732/a>5s="s2hr7RV_PCM_INFO_MMAP#L4ream" class=hr7RV_PCM_INFa>);vKNOUSount2/a> - 1, RV_PCM_INFa>);vKNOUS      ream" class=hr7RV_PCM_INFa>);v8000_48000Sount2/a> - 1, RV_PCM_INFa>);v8000_48000RV_5CM_TR56ubstream2/a>):v5M801_>, 2/a>(2ass="hip" class=s="s_minL373"> 3732/a>5s="s_minhr7RV_PCM_INFO_MMAP5500CM_TR56ubstream2/a>):v}v(2="5ref">FM801_REGass="hip" class=s="s_maxL373"> 3732/a>5s="s_maxhr7RV_PCM_INFO_MMAP48000CM_TR56ubstream2/a>):vruntc>2a hr4f="+code=reg_5ock" 5lass4"sref48ATass="hip" class=">ply_ct_minL373"> 3732/a>5">ply_ct_minhr7RV_PCM_INFO_1CM_TR56ubstream2/a>):v 4612/5>    5   2a href="+cass="hip" class=">ply_ct_maxL373"> 3732/a>5">ply_ct_maxhr7RV_PCM_INFO_2CM_TR56ubstream2/a>):v5clase59 id	2L439" class="hip" class=a>->2a hr_maxL373"> 3732/a>5a>->2a hr_maxhr7RV_PCM_I(128*10242 39ua href=1vspin_lock_minL373"> 3732/a>5f">spin_lock_minhr7RV_PCM_I64 39ua href=1substream2/a>;vspin_lock_maxL373"> 3732/a>5f">spin_lock_maxhr7RV_PCM_I(128*10242 39ua href=1 3912/ href="sound/5ci/fm501.ufrclas_"srass="hip" class=f">spik_minL373"> 3732/a>5f">spit_minhr7RV_PCM_INFO__1CM_TR56ubstream2/a>):vchip2/> 4382/a>soin57" cl59+code=runtimeass="hip" class=f">spit_maxL373"> 3732/a>5f">spit_maxhr7RV_PCM_INFO_ 1024CM_TR56ubstream2/a>):v     fifoound/hr7RV_PCM_INFO_MMA0CM_TR56ubstream2/a>):v(struct 2a href="+cod5=snd_5cm_sub}ss="line" nam
	aybahardw38"bstrcode=chip5 class="sref">chip2/a> =52a hr59f">SNDRV_PCM_TRIG5ER_PA5701_STass="s="sref">5nd_pcm_substream_chipas45gt;2a59ass="sref">SNDRV_P5M_TRI5P4M_TRI4GER_RE." class="line" 11.c#L286" id	2L28941f ma_class="sref">reg2/a ma_clasrefidi" clss="sref">reg2/a ma_clasridi" cl2ass="sref">reg2/a ma_cla=NON" classe"5FM80155801_16BIT2/a>;vsnd_pc6_subs60 id	2L439" class="hip" class="sref">chip2/a>->2a hr7RV_PCM_INFO_MMAP#L435" id	2L439hr7RV_PCM_INFO_MMAPass="2a href="+code=snhr7RV_PCM_INFO_INTERLEAV> 3772/a>5     57hr7RV_PCM_INFO_INTERLEAV> ass="2IRQ=NON"" clde=chip" class="sreass="sreflass="l4ne" nam
	22L439" cla6"1code=ca6_hss="+codee=KERa>vF5701lt:vchip2/a>5 CM_INFO_BLOCK_TRANSFER3772/a>5     57hr7RV_PCM_ ass="2a href="+code=snhr7RV_PCM_INFO_RES      ream" class=hr7RV_PCM_INFO_RES   ass="2IRQ=NON"" clde=chip" class="sre5IGGER57u>2a hr4f="+code=reg_l5ck"650ubstrea62/a>);v 4592/a> "5substream2/a>):v 3732/a>5ply_ct2hr7RV_PCM_INFO_MMAP#> 4592/a> "5substream2/a>FMTBIT_U8nd/pci/fmnam27iyFO_BLOCK_FMTBIT_U8S      ream" class=hr7RV_PCM_INFFMTBIT_S16_Ls="2IRQ=NON"" clde=chip" cFMTBIT_S16_LsRV_5CM_TR56ubstream2/a>):v 3732/a>5s="s2hr7RV_PCM_INFO_MMAP#L4ream" class=hr7RV_PCM_INFa>);vKNOUSount2/a> - 1, RV_PCM_INFa>);vKNOUS      ream" class=hr7RV_PCM_INFa>);v8000_48000Sount2/a> - 1, RV_PCM_INFa>);v8000_48000RV_5CM_TR56ubstream2/a>):v(struct 2a href="+cod6a hre60801_>, 2/a>(2ass="hip" class=s="s_minL373"> 3732/a>5s="s_minhr7RV_PCM_INFO_MMAP5500CM_TR56ubstream2/a>):v);vFM801_REGass="hip" class=s="s_maxL373"> 3732/a>5s="s_maxhr7RV_PCM_INFO_MMAP48000CM_TR56ubstream2/a>):v(&2a6href="+code=chip" class=6sref"60ass4"sref48ATass="hip" class=">ply_ct_minL373"> 3732/a>5">ply_ct_minhr7RV_PCM_INFO_1CM_TR56ubstream2/a>):v{v 3732/a>5">ply_ct_maxhr7RV_PCM_INFO_2CM_TR56ubstream2/a>):vchip2/a>5U1IGGER_S56" cla61 id	2L439" class="hip" class=a>->2a hr_maxL373"> 3732/a>5a>->2a hr_maxhr7RV_PCM_I(128*10242 39ua href=1chip2/#L392" i	oint6" cla61d/pci/fm801.cass="hip" class=f">spin_lock_minL373"> 3732/a>5f">spin_lock_minhr7RV_PCM_I64 39ua href=1spin_lock_maxL373"> 3732/a>5f">spin_lock_maxhr7RV_PCM_I(128*10242 39ua href=1spik_minL373"> 3732/a>5f">spit_minhr7RV_PCM_INFO__1CM_TR56ubstream2/a>):vchip2/a> =62a hr61+code=runtimeass="hip" class=f">spit_maxL373"> 3732/a>5f">spit_maxhr7RV_PCM_INFO_ 1024CM_TR56ubstream2/a>):v6nd_pcm_substream_chip/f56class61  2a href="+cass="hip" class=fifoound/ptm4402/a>     fifoound/hr7RV_PCM_INFO_MMA0CM_TR56ubstream2/a>):v56      default;vsnd_pc6_subs6ream2/5>2a hr5f="+code=reg_lock"6class5"sr6f5>reg_lock2/a>);vSc#L387"inc>chip2/a>+code=reg_lock" claopenL373"> 3732/a>5+code=reg_lock" claopen brea_RESUME2/a>;v 4402/a>        struct 2a href="+code=fm801" class="sref">fm8012/a> *2a href="6spin_lock6/a>(&2a href="+code=6hip" 61>chip2/a>5801.c#L435" id	2L439" cla652LY_CTRL6/a>));v51reg_lock2/a>);v_"sref">outw2/a>(i3">_"ubstrchip" class="srpta href="+code=chitsref">rate2/a>) << 2a href="+5 class="l5ne" nam
	2L416"> 4162/a>5     51436"> 4362/a>}v;v_"sref">outw2/a" class="line"5nam
	53MMED_> 3912rpta href="+code=ch201_STv 3912L417" cl5ss="line" nam
	2L41la65 2a href6ef="+code=FM801_STEREIRQ6/a>TU6Eef="+cass="sre#L387"inc>chip2/a>er=ch=1) ?ss="srefer=3912L417" cl5ss="line" nam
	2L41la65repare2/6:vms2/a>));vchIRQ=VOL14" class="line" n="line" nam
	cnd_pcm_substream	cn" cl de=chde=ch=1" clarpta href="+code=ch201_STv6href="+code=chip" class=6sref"6chip2/a>5m801.#L425" id	2L429" class="line"5nam
	53MMED_> 3912OL14" class="line" nhtime" cla5s="sr5hws="srpta href="+code=chitslasref">rate2ass="sref">reg2/a ma_clasref">rate2assL417" cl5ss="line" nam
	2L41la654572/a>56LAST2/a> ;vSND9w_confm8ae#L_lis5L416"> 4162/a>5     " class="line"5nam
	53MMED_> 3912/ 0ly 39ua" clode=chRV_PCM_INFHW_PARANFa>);Sount2/a> - 1, RV_PCM_INFHW_PARANFa>);RV_5CM_TR56ubstream2/a>):vchip2/a>5> *2a hre56"+cod62"sound/pef">chipef">pppppppppppppppppppps="line" nam
	2L461"9w_confm8ae#Ls_s="s2L373"> 3732/a>59w_confm8ae#Ls_s="s2ci/52L417" cl5ss="line" nam
	2L41la65lass5"sr6nt7"rup"sref">outw2/a>(i6fmchi62nam
	5L439"> 4392 39ua" clode=ch=chip" class="sref">chIRQ=VOL14" class="line" nmulf">>ply_cp" class="sref"mulf">>ply_cci/5257" id	2L557" class="line" nam
6c#L445" i6	2L4451.c" na, void"line6 nam
62="5ref">56at2/a>) == 16)v 3912OL14" class="line" nhtime" cla5s="sr5hws="sass="hip" class=">ply_ct_maxL373"> 3732/a>5">ply_ct_maxhr7RV_P6L417" cl5ss="line" nam
	2L41la6ass="sref6>snd_pcm_substream2/5(2a6href=63ass=5sref"56801_PAUSE2/a>;vSND9w_confm8ae#L_lis5L416"> 4162/a>5     " class="line"5nam
	53MMED_> 3912/ 0l417" cl5ss="line" nam
	2L41la6a class="6"sref">chip2/a>5m801.c#L652" i63USE2/a>;vchIRRV_PCM_INFHW_PARANFCHANNELlRV_5CM_TR56ubstream2/a>):vply_ctL373"> 3732/a>59w_confm8ae#Ls_">ply_ctci/52L417" cl5ss="line" nam
	2L41la6/a>5mGGER6RES5" id	2L434" class="l6ne"5n6m
	53sref">idx nam
	2L357"> 3572/a" cl h 4366soun2 39u6 href="+code=ply 39ua" c6 href6"+code=fm801in4392"> 4162/a>5     er=ch=1) ?ss="srefer=3912rpta href="+code=chitsref"9w_confm8ae#L_57  g/f5IGGER_RES5ME" clasref"9w_confm8ae#L_57  g/fL416"> 4162/a>5     " class="line"5nam
	53MMED_> 3912/ 2/a>;vchIRRV_PCM_INFHW_PARANFPERIODlci/52) < 0ss="sref">fm8012/a> *2a href="6"sref">pl6_count2/a> - 1, 2a href=6+code63ch6p2/a>5m801.c#Lreturn -5a href="+code=EINVAL" cl5ss="6code=FM806_STEREIRQ=MPUef="|chip" 6lass=6sref"> nam
	2L357"> 3572/a" cl h 4366slass5"sr6.c#L435" id	2L439" class6"line65nam
	nam
	2L357"> 3572/a" cl h 4366s#L445" i6code=substream" class=5s6ef"546Y_CTRLsref">Sc#L387"inc>chip2/a>+code=reg_idi" cl openL373"> 3732/a>5+code=reg_idi" cl open brea_RESUME2/a>;v 4402/a>        struct 2a href="+code=fm801" class="sref">fm8012/a> *2a href="6="sref">c6ip2/a>->2a href="+cod6=ply_6ount" 7" id	2L557" class="line" nam
62IRQ=capT6Sf="+code=chip" class="s6ef">c64fm801.c#L387"_RESUME2/a>;v_"sref">outw2/a>(i3">_"ubstrchip" class="srpta href="+code=chitsref">rate2/a>) << 2a href="+5 class="l5ne" nam
	2L416"> 4162/a>5     51436"> 4362/a>}v_"sref">outw2/a" class="line"5nam
	53MMED_> 3912rpta href="+code=ch201_STv 3912L417" cl5ss="line" nam
	2L41la6s=5sref"56reg_lock2/a>):vchip2/a>er=ch=1) ?ss="srefer=3912L417" cl5ss="line" nam
	2L41la64612/a>  6     2a href="+code=outw6 clpo64PAUSE" class="5ref">57436"> 4362/a6>chip2/a>6>2a hr5f="+code=reg_l6ck" c64hip2/a>5m801.#L425" id	2L429="sound/pc>        2a href="+code=spin_unlock" class="srefmidiunlock2/a>(&midi" cl de=chde=ch=1"rpta href="+code=ch201_STvchip2/6>5 href="+c5de=FM801_16B6T" cl64coun_to_frclasunlock2/a>(&am" class="line"5nam
	53MMED_> 3912OL14" class="line" nhtime" cla5s="sr5hws="srpta href="+code=chitslasrefidi" clss="sref">reg2/a ma_clasridi" cl2assL417" cl5ss="line" nam
	2L41la6fode=FM806 href="+codde=chip" clas6="sre64ref">chIRQ=VOL14" class="lineid	2L289w_confm8ae#L_lis5LEASE" cl5ss="sref">SND9w_confm8ae#L_lis5L416"> 4162/a>5     " class="line"5nam
	53MMED_> 3912/ 0ly 39ua" clode=chRV_PCM_INFHW_PARANFa>);Sount2/a> - 1, RV_PCM_INFHW_PARANFa>);RV_5CM_TR56ubstream2/a>):v);voutw2/a> id=2L461s=".c#L423" id	2ppps="line" nam
	2L461"9w_confm8ae#Ls_s="s2L373"> 3732/a>59w_confm8ae#Ls_s="s2ci/52L417" cl5ss="line" nam
	2L41la6;2a href56+code=format" class="sr56">fo56at2/a>) == 16)4392"> 4162/a>5     er=ch=1) ?ss="srefer=3912rpta href="+code=chitsref"9w_confm8ae#L_57  g/f5IGGER_RES5ME" clasref"9w_confm8ae#L_57  g/fL416"> 4162/a>5     " class="line"5nam
	53MMED_> 3912/ 2/a>;vchIRRV_PCM_INFHW_PARANFPERIODlci/52) < 0ss="sref">fm8012/a> *2a href="6eeeeeeeee6eeeeeeeeeee" class="sref6>chip6/a>->2a href="+code>5     5772/a>> 3912/aer=ch=1) ?ss="srefer=3912L417" cl5ss="line" nam
	2L41la6nels" cla6s="sref">5hanne5s2/a> &g6; 1) 6vF5801_STER6O2/a>6v 3572/a" cl h 4366ss="sr5f"6ch5nnels2/a> == 4)v56GGER_RES5CHANNELS_4" cla6s="sr6f"5FM8sref">Sc#L387"inc>chip2/a>+code=reg_lock" clacloslss="sref">reg2/a ma_clasrlock" claclosl brea_RESUME2/a>;v 4402/a>        struct 2a href="+code=fm801" class="sref">fm8012/a> *2a href="6 39ua" cl6de=ch=chip" class="sref"6chIRQ6/a>TUR7" id	2L557" class="line" nam
6de=chde=c6=ef="+code=fm801d/pci/fm601.c#6443" id	2L443"_RESUME2/a>;v_"sref">outw2/a>(i3">_"ubstrchip" class="srpta href="+code=chitsref">rate2/a>) << 2a href="+5 class="l5ne" nam
	2L416"> 4162/a>5     51436"> 4362/a>}v |vchIRQ=VOL14" class="line" n="line" nam
	cnd_pcm_substream	cn" cl de=chde=ch=1" clarpta href="+code=cNULLcm_substream	cnNULL3912L417" cl5ss="line" nam
	2L41la6n2a href56gt;2a hre5="+code=ply_bu6" cla6s="5ref">56at2return -5a href="+code=EINVAL" cl5ss="6ref">chip6/5>, 2a hre5="+code=PLY_6TRL" 6lass=5 nam
	2L357"> 3572/a" cl h 4366utw2/a>((6a hss="+codcode=chip" cl6ss="s6ef">chnam
	2L357"> 3572/a" cl h 4366u1_STEREO6a>;vosref">Sc#L387"inc>chip2/a>+code=reg_idi" cl closlss="sref">reg2/a ma_clasridi" cl closl brea_RESUME2/a>;v 4402/a>        struct 2a href="+code=fm801" class="sref">fm8012/a> *2a href="6a href="56 (2a href="+code=cmd" c56ss="56nels2/7" id	2L557" class="line" nam
6eeeeeeeee6eeeeeeeeeee" class="sref6>chip6/a>->2a hre_RESUME2/a>;v_"sref">outw2/a>(i3">_"ubstrchip" class="srpta href="+code=chitsref">rate2/a>) << 2a href="+5 class="l5ne" nam
	2L416"> 4162/a>5     51436"> 4362/a>}v - 1, 6_LAST" cl6ss="sref"5FM8015601_16BI62/a> 66coun_to_frclasunlock2/a>(&am="sound/pc>        2a href="+code=spin_unlock" class="srefmidiunlock2/a>(&midi" cl de=chde=ch=1"rpta href="+code=cNULLcm_substream	cnNULL3912L417" cl5ss="line" nam
	2L41la6ass="s5ef6>F56ATE_MASK2/a> |vchipa>vc66L440dev_i1.c#L398" id	2L3dev_i1" c6sref">snd6pcm_substream2/5 class="65ne" 67code=hw_para_RESUME2/a>;v 3732/a>5 ound/pcop2ubstr87"inc>chip2/a>+code=reg_lock" claop2L373"> 3732/a>5 oune=reg_lock" claop2h=1"rpt7" id	2L557" class="line" nam
6" class="6ine" nam
	rivss="datad_p6m_sub67d/pci/fm801.cass="hip" class=openL373"> 3732/a>5open breV_PCM_INFO_87"inc>chip2/a>+code=reg_lock" claopenL373"> 3732/a>5+code=reg_lock" claopen breCM_TR56ubstream2/a>):v/* TODO */idx6/a>;v67d/pci/fm801.cass="hip" class=closlss="sref">reg2/closl breV_PCM_INFO87"inc>chip2/a>+code=reg_lock" clacloslss="sref">reg2/a ma_clasrlock" claclosl breCM_TR56ubstream2/a>):vchip2/a>+codd/pclib_ioc class="line" nam+codd/pclib_ioc c breCM_TR56ubstream2/a>):v 3732/a>59w_param2 breV_PCM_87"inc>chip2/a>+code=reg_9w_param2L373"> 3732/a>5+code=reg_9w_param2 breCM_TR56ubstream2/a>):vreg2/9w_frel breV_PCM_IN87"inc>chip2/a>+code=reg_9w_frelss="sref">reg2/+code=reg_9w_frel breCM_TR56ubstream2/a>):v 3572/a6class67801_>, 2/a>(2ass="hip" class=prep="line" 11.c#L286"prep="l breV_PCM_IN87"inc>chip2/a>+code=reg_lock" claprep="line" 11.c#L286"+code=reg_lock" claprep="l breCM_TR56ubstream2/a>):vFM801_REGass="hip" class=trigg/f5IGGER_RES5ME" trigg/f breV_PCM_IN87"inc>chip2/a>+code=reg_lock" clatrigg/f5IGGER_RES5ME" +code=reg_lock" clatrigg/f breCM_TR56ubstream2/a>):v->2a 5IGGER_RE65ME" 67ass4"sref48ATass="hip" class=po57   ine" 11.c#L286"po57    breV_PCM_IN87"inc>chip2/a>+code=reg_lock" clapo57   ine" 11.c#L286"+code=reg_lock" clapo57    breCM_TR56ubstream2/a>):vchip}ss="line" nam
	aybahardw38"bst6s="line"56am
	5L439"eXchip2/a>58016c#L436" id	2s="line" nam
	aybahardw38"bst6s class="6         breakkkkkkkkkkk6kkkkk6 href=hw_para_RESUME2/a>;v 3732/a>5 ound/pcop2ubstr87"inc>chip2/a>+code=reg_idi" cl op2L373"> 3732/a>5+code=reg_idi" cl op2h=1"rpt7" id	2L557" class="line" nam
6c58STEREO6 class="s5ef">F5801_STER6O2/a>68d/pci/fm801.cass="hip" class=openL373"> 3732/a>5open breV_PCM_INFO_87"inc>chip2/a>+code=reg_idi" cl openL373"> 3732/a>5+code=reg_idi" cl open breCM_TR56ubstream2/a>):v681.ufrclas_"srass="hip" class=closlss="sref">reg2/closl breV_PCM_INFO87"inc>chip2/a>+code=reg_idi" cl closlss="sref">reg2/a ma_clasridi" cl closl breCM_TR56ubstream2/a>):vchip2/a>+codd/pclib_ioc class="line" nam+codd/pclib_ioc c breCM_TR56ubstream2/a>):v 4222/6>    6   2a href="+cass="hip" class=9w_param2L373"> 3732/a>59w_param2 breV_PCM_87"inc>chip2/a>+code=reg_9w_param2L373"> 3732/a>5+code=reg_9w_param2 breCM_TR56ubstream2/a>):v6M801_>, 2/a>(2ass="hip" class=9w_frelss="sref">reg2/9w_frel breV_PCM_IN87"inc>chip2/a>+code=reg_9w_frelss="sref">reg2/+code=reg_9w_frel breCM_TR56ubstream2/a>):v}v(2="6ref">FM801_REGass="hip" class=prep="line" 11.c#L286"prep="l breV_PCM_IN87"inc>chip2/a>+code=reg_idi" cl prep="line" 11.c#L286"+code=reg_idi" cl prep="l breCM_TR56ubstream2/a>):vchip2/a>+code=reg_idi" cl trigg/f5IGGER_RES5ME" +code=reg_idi" cl trigg/f breCM_TR56ubstream2/a>):v 4612/6>    6   2a href="+cass="hip" class=po57   ine" 11.c#L286"po57    breV_PCM_IN87"inc>chip2/a>+code=reg_idi" cl po57   ine" 11.c#L286"+code=reg_idi" cl po57    breCM_TR56ubstream2/a>):v6clase69 id	2}ss="line" nam
	aybahardw38"bst6tw2/a>((26 hss="+codee=KERa>vchnam
	2L357"> 3572/a" cl h 4366t58STEREO6ef4>substream2/a>;vosref">Sc#L387"inc>chip2/a>__devini5LEASE" cl5ss="s__devini5ubstr87"inc>chip2/a>+code=reg_lef="+cass="sref">+code=reg_lef brea_RESUME2/a>;v_"sref">outw2/a>(i3">_"ubstrchip" class="s,Sc#L387"inc>chip2/a>devicline" 11.c#L286"devicls="s,S_RESUME2/a>;v*asunlock2/a>(&am"d/plass="line" namrd/pun23ss="sref">fm8012/a> *2a href="6t5ass4"sr6bstr> 3912/ href="sound/6ci/fm69els2/7" id	2L557" class="line" nam
6" class="6ref">chip2/> 4382/a>soin67" cl69a>->2a hre_RESUME2/a>;vss="hip" class=pef="+cass="sref">runtimess="line" nam
	aybahardw38"bst6t" class=6f="+code=snd_fm801_playb6ck_pr69  2a href="+ce#L387"inc>chip2/a>er=ch=1) ?ss="srefer=3912L417" cl5ss="line" nam
	2L41la6k_prepare6/a>(struct 2a href="+cod6=snd_6cm_sub417" cl5ss="line" nam
	2L41la6ka>}vchip2/a> =62a hr69ef">FM801_REG4392 39ua" clode=ch"d/plass="line" namrd/pun23ss="sref">fm8012/a> *2a href="6tL443" id6nd_pcm_substream_chipas46gt;2a69ef">outw2/a> id=2L461>_"sref">outw2/a"d/plass="line" namrd/pun23rpta href="+code=cNULLcm_substream	cnNULL3912L417" cl5ss="line" nam
	2L41la6e"5FM80156801_16BIT2/a>;v 4162/a>5     er=ch=1) ?ss="srefer=3912rpta href="+code=chitsref"netime" cla5s="sr5hitsref"netL416"> 4162/a>5     ="sound/pc>        2a href="+code=spin_unlock" clr8015IMMED_STOP" clr83912/ 2ref">chip2/5_REing">"">SND""sref">/ 2/a>;vruntime2) < 0ss="sref">fm8012/a> *2a href="7"+code=ca7_ctrl")ass="sref">snd_pc7_subs70a>->2a href="+code>5     5772/a>> 3912/aer=ch=1) ?ss="srefer=3912L417" cl5ss="line" nam
	2L41la7"1code=ca7_hss="+codee=KERa>vchnam
	2L357"> 3572/a" cl h 4367spin_lock7/a>(&2a href="+code=7hip" 7lass="sref">cha href="+code=chitsref">etcop2L373"> 3732/a>5 ound/pc>etcop2L416"> 4162/a>5     pef="+cass="sref">runtime/ 2/a>;v 3732/a>5 oune=reg_lock" claop2h=1"2L417" cl5ss="line" nam
	2L41m
750ubstrea72/a>);vetcop2L373"> 3732/a>5 ound/pc>etcop2L416"> 4162/a>5     pef="+cass="sref">runtime/ 2/a>;v 3732/a>5+code=reg_idi" cl op2h=1"2L417" cl5ss="line" nam
	2L41m
754ubstrea72ef">chip2/> 4382/a>soin701inc70PAUSE" class="5ref">57436"> 4362/a7(5a href=7+="+code=snd_fm801_playb7=PLAY70hip2/a>5m801.#L425" id	2L429pef="+cass="sref">runtime">snd_pcm_substream2/5 ref="+co5de=FM801_PAUSE" class="s5ef">F5 1) {v(struct 2a href="+cod7a hre70coun_to_frclasunlock2/a>(&ef="+cass="sref">runtime">snd_pcm_substream2;2a _flag2L373"> 3732/a>5;2a _flag2">F5 1)-5a href="+code=EINVAL" cl5ss="71_PAUSE2/7>);vchIRQ=VOL14" class="linetrcpyL373"> 3732/a>5+trcpyL416"> 4162/a>5     pef="+cass="sref">runtime">snd_pcm_substream2d/pc="+cass="sref">d/pc3912/ 2ref">chip2/5_REing">"">SND""sref">2L417" cl5ss="line" nam
	2L41m
758PAUSE2/7>d_pcm_substream_chipas47sref"70href="+code=s 39ua" clode=ch=chip" class="sref">chIRQ=VOL14" class="line" n=ef="+cass="sref">runtime21) {vruntimess="line" nam
	aybahardw38"bst7GGER5PAUS7_PUSH2/a>{vchip2/a>5U1IGGER_S57" cla71 id	2L439" cl87"inc>chip2/a>+codd/pclib_preallocss="pages_for_alllass="line" nam+codd/pclib_preallocss="pages_for_allL416"> 4162/a>5     pef="+cass="sref">runtime/ 2/a>;v):vchip2/#L392" i	oint7" cla71USE cl87"inc>chip2/a>+coddmadd/i"+co5de=FM801_PAUSE"+coddmadd/i"+co5L416"> 4162/a>5     ="sound/pc>        2a href="+code=spin_unlock" d/i="+cass="sref">ru"sref2 39ua href=1chIRQ=VOL14" class="line" nmulf">>ply_cp" class="sref"mulf">>ply_cci/5 ? 128*1024 : 64*1024, 128*10242L417" cl5ss="line" nam
	2L41m
7prepare2/7>(struct 2a href="+code=7nd_pc71"+cod417" cl5ss="line" nam
	2L41la7code=chip7 class="sref">chip2/a> =72a hr715801.c#L425"  39ua" clode=cher=ch=1) ?ss="srefer=3912rpta href="+code=chitsref"add_chm>reftctL373"> 3732/a>5hitsref"add_chm>reftctL416"> 4162/a>5     pef="+cass="sref">runtime/ 2/a>;vUSE cl87"inc>chip2/a>+codref"alt_chm>rtL373"> 3732/a>5hitsref"alt_chm>rttime/417" cl5ss="line" nam
	2L41la7c6a href=7      default;vchIRQ=VOL14" class="line" nmulf">>ply_cp" class="sref"mulf">>ply_cci/5 ? 6 : 2/ 0l417" cl5ss="line" nam
	2L41la7"+code=ca7_ctrl")ass="sref">snd_pc7_subs71"sound/pef">chipef">pppppppppppppppppppp i 39ua" clode=chNULLcm_substream	cnNULL39122L417" cl5ss="line" nam
	2L41m
7p8PAUSE2/7f5>reg_lock2/a>);v 4392 39ua" clode=cher=ch=1) ?ss="srefer=3912r< 0ss="sref">fm8012/a> *2a href="7spin_lock7/a>(&2a href="+code=7hip" 71="5ref">56at2/a>) == >5     5772/a>> 3912/aer=ch=1) ?ss="srefer=3912L417" cl5ss="line" nam
	2L41la752LY_CTRL7/a>));vfm8012/a> *2a href="75 2a href7ef="+code=FM801_STEREIRQ7/a>TU72outw2/a"d/plass="line" namrd/pun23rpta href="+code=cpef="+cass="sref">runtimess="line" nam
	aybahardw38"bst75repare2/7:vchipa>v7href="+code=chip" class=7sref"72M801_REG" IRQ=capTUSount2/a> - 1, 754572/a>57LAST2/a> ;vchip2/5GER_SUSPE5D"sref">SNDRV_PC5_TRIG57reg_lms2/a>))7" class="7ref">chip2/a>5> *2a hre57"+cod72"sounsref">chip2/5GER_SUSPE *  TEA5757 radio"sref">SNDRV_PC5_TRIG57reg_lms2/a>))7"8PAUSE2/7nt7"rup"sref">outw2/a>(i7fmchi72nam
	sref">chip2/5GER_SUSPE *="sref">SNDRV_PC5_TRIG57reg_lms2/a>))7c#L445" i7	2L4451.c" na, void"line7 nam
72L440dev_i1.c#L398" id	2L3dev_i1" c7ass="sref7>snd_pcm_substream2/5(2a7href=73ass=5#ifdefta href="+code=cCONFIG_RV__">SNDRTEA575X_BOOLcm_substream	cnCONFIG_RV__">SNDRTEA575X_BOOL440dev_i1.c#L398" id	2L3dev_i1" c7a class="7"sref">chip2/a>5m801.c#L752" i73f">chnam
	2L357"> 3572/a" cl h 4367ultunsign7d shorf="+code=snd_fm801739ua 73chip2/5GER_SUSPE5D"GPIO to TEA575x m>rt *="sref">SNDRV_PC5_TRIG57reg_lms2/a>))7/a>5mGGER7RES5" id	2L434" class="l7ne"5n7m
	53s_RESUME2/a>;vchip2/a>->soune=reg_tea575x_gpieref="7" id	2L557" class="line" nam
7soun2 39u7 href="+code=ply 39ua" c7 href735801.c#L425"  39ua" clode=chu8nd/pci/fmnam27iu8ubstr87"inc>chip2/a>+co5de=FM801_PAUSE"+co5L416ly 39ua" clode=ch=lass="sref">reg2/=laL416ly 39ua" clode=chwrenL373"> 3732/a>5wrenL416ly 39ua" clode=chmos5LEASE" cl5ss="smos5timess="line" nam
	aybahardw38"bst7"sref">pl7_count2/a> - 1, 2a href=7+code73outw2/ad/pc="+cass="sref">d/pc3912ss="line" nam
	aybahardw38"bst7"4572/a>57f="+code=chip" class="sr7f">ch73m_sub}ss="line" nam
	aybahardw38"bst7code=FM807_STEREIRQ=MPUef="|chip" 7lass=73eam2/5>2a hr5f="+code=reg_lock"7slass5"sr7.c#L435" id	2L439" class7"line73ass="sref">SNDRV_P5M_TRI5P4M_TRI4GER_Re=reg_tea575x_gpief">chip2/a>->soune=reg_tea575x_gpieref="M_TRI5P4M_TRI4GER_Re=reg_tea575x_gpie2L373"> 3732/a>5+code=reg_tea575x_gpie2ref=[]rpt7" id	2L557" class="line" nam
7s#L445" i7code=substream" class=5s7ef"5473="5ref">56at2{cass="hip" class=+co5de=FM801_PAUSE"+co5L416rpt1,rass="hip" class=class="sref">reg2/=laL416rpt3,rass="hip" class=wrenL373"> 3732/a>5wrenL416rpt2,rass="hip" class=mos5LEASE" cl5ss="smos5time 1)-,rass="hip" class=d/pc="+cass="sref">d/pc3912rptaref">chip2/5_REing">"SF256-PCS""sref"> }l417" cl5ss="line" nam
	2L41la7="sref">c7ip2/a>->2a href="+cod7=ply_740"5ref">56at2{cass="hip" class=+co5de=FM801_PAUSE"+co5L416rpt1,rass="hip" class=class="sref">reg2/=laL416rpt-,rass="hip" class=wrenL373"> 3732/a>5wrenL416rpt2,rass="hip" class=mos5LEASE" cl5ss="smos5time 1)3,rass="hip" class=d/pc="+cass="sref">d/pc3912rptaref">chip2/5_REing">"SF256-PCP""sref"> }l417" cl5ss="line" nam
	2L41la7= class="7Sf="+code=chip" class="s7ef">c74fm801.c#L387"{cass="hip" class=+co5de=FM801_PAUSE"+co5L416rpt2,rass="hip" class=class="sref">reg2/=laL416rpt-,rass="hip" class=wrenL373"> 3732/a>5wrenL416rpt1,rass="hip" class=mos5LEASE" cl5ss="smos5time 1)3,rass="hip" class=d/pc="+cass="sref">d/pc3912rptaref">chip2/5_REing">"SF64-PCR""sref"> }l417" cl5ss="line" nam
	2L41la7=ltunsign7ch=ef="+code=fm801d/pci/7m801.74ef="+}ss="line" nam
	aybahardw38"bst7s=5sref"57reg_lock2/a>):v  7     2a href="+code=outw7 clpo74PAUSE#def="+"M_TRI5P4M_TRI4Gget_tea575x_gpief">chip2/a>->get_tea575x_gpieL416"> 4162/a>5     ="sound/pc>        2a href=) \417" cl5ss="line" nam
	2L41la74sref">pl7>2a hr5f="+code=reg_l7ck" c74hip2/a>5m801.(s="line" nam
	2L461"+code=reg_tea575x_gpie2L373"> 3732/a>5+code=reg_tea575x_gpie2ref=[2"> 4162/a>5     ="sound/pc>        2a href=)OL14" class="line" ntea575x_tun/f5IGGER_RES5ME" tea575x_tun/f3912r&ream" class="sref">sTUNER_TYPE_MASci/fm801.c#L397"TUNER_TYPE_MAScref=) - 1]ss="sref">fm8012/a> *2a href="7f">chip2/7>5 href="+c5de=FM801_16B7T" cl74m_sub417" cl5ss="line" nam
	2L41la7fode=FM807 href="+codde=chip" clas7="sre74ref">sref">Svoid"M_TRI5P4M_TRI4GER_Re=reg_tea575x_>etcpin2L373"> 3732/a>5+code=reg_tea575x_>etcpin2L416"NDRV_P5M_TRI5P4M_TRI4GER_Rtea575xL373"> 3732/a>5+codtea575x3912r>_"sref">outw2/atea5IGGER_RES5ME" teaL416ly 39ua" clode=chu8nd/pci/fmnam27iu8ubstr87"inc>chip2/a>pin2L373"> 3732/a>5pin2L416ss="sref">fm8012/a> *2a href="7flass5"sr7>);vo7" id	2L557" class="line" nam
7;2a href57+code=format" class="sr57">fo57at2/a>) == 16)_RESUME2/a>;v_"sref">outw2/a>(i3">_"ubstrchip" class="srpta href="+code=ctea5IGGER_RES5ME" teaL416">snd_pcm_substream2/5 ref="+co5de=FM801_PAUSE" class="s5ef">F5ss="line" nam
	aybahardw38"bst7eeeeeeeee7eeeeeeeeeee" class="sref7>chip7/a>->2a hreunsigned shorME2/a>;v 4162/a>5     ">SNDRREGime" cla5s="sr5">SNDRREGL416"> 4162/a>5     ="sound/pc>        2a href=ly 39ua" clode=chGPIO_CTRLcm_substream	cnGPIO_CTRLL416s2L417" cl5ss="line" nam
	2L41m
7nels" cla7s="sref">5hanne5s2/a> &g7; 1) 75fm801.c#L387"_RESUME2/a>;vchip2/a>->soune=reg_tea575x_gpieref="M_TRI5P4M_TRI4Ggpief">chip2/a>->gpieref="=">_"sref">outw2/aget_tea575x_gpief">chip2/a>->get_tea575x_gpieL416"> 4162/a>5     ="sound/pc>        2a href=)L417" cl5ss="line" nam
	2L41m
7nltunsign7 class="s5ef">F5801_STER7O2/a>7v == 4)v 4162/a>5     ">SNDRGPIO_G"2a href="+code=">SNDRGPIO_G"L416"> 4162/a>5     gpief">chip2/a>->gpieref=ass="hip" class=+co5de=FM801_PAUSE"+co5L416)57u>2a hr4f="+code=reg_l5ck"7chip2/a>57GGER_RES5CHANNELS_4" cla7s="sr755801.c#L425" ppppppp i 39ua" clode=ch">SNDRGPIO_G"2a href="+code=">SNDRGPIO_G"L416"> 4162/a>5     gpief">chip2/a>->gpieref=ass="hip" class=class="sref">reg2/=laL416)57u>2a hr4f="+code=reg_l5ck"7csref">pl7de=ch=chip" class="sref"7chIRQ75  2a href="+ceeeeeeee" 39ua" clode=ch">SNDRGPIO_G"2a href="+code=">SNDRGPIO_G"L416"> 4162/a>5     gpief">chip2/a>->gpieref=ass="hip" class=wrenL373"> 3732/a>5wrenL416s2L417" cl5ss="line" nam
	2L41m
7n">chip2/7=ef="+code=fm801d/pci/fm701.c#75m_sub417" cl5ss="line" nam
	2L41la7dode=FM807ATE_MASK2/a> |vchIRQ=VOL14" class="linreglass="line" namregs="sr|=92 39ua" clode=chpin2L373"> 3732/a>5pin2L416r&ream" class="sref">sTEA575X_DATAi/fm801.c#L397"TEA575X_DATAL416)5?" 39ua" clode=ch">SNDRGPIO_G"2a href="+code=">SNDRGPIO_G"L416"> 4162/a>5     gpief">chip2/a>->gpieref=ass="hip" class=+co5de=FM801_PAUSE"+co5L416)5:r-5a href="+code=EINVAL" cl5ss="7#L443" id72L443" class="line" nam
7 clpo7 href="+code=s 39ua" clode=chreglass="line" namregs="sr|=92 39ua" clode=chpin2L373"> 3732/a>5pin2L416r&ream" class="sref">sTEA575X_CLci/fm801.c#L397"TEA575X_CLcL416)55?" 39ua" clode=ch">SNDRGPIO_G"2a href="+code=">SNDRGPIO_G"L416"> 4162/a>5     gpief">chip2/a>->gpieref=ass="hip" class=class="sref">reg2/=laL416)5:r-5a href="+code=EINVAL" cl5ss="7#2a href57gt;2a hre5="+code=ply_bu7" cla7s="5ref">56at2sref">chip2/5GER_SUSPE5D"WRITE_ENABLE is inverted *="sref">SNDRV_PC5_TRIG57reg_lms2/a>))7ref">chip7/5>, 2a hre5="+code=PLY_7TRL" 76 id	2L439" cl87"inc>chip2/a>reglass="line" namregs="sr|=92 39ua" clode=chpin2L373"> 3732/a>5pin2L416r&ream" class="sref">sTEA575X_WRENi/fm801.c#L397"TEA575X_WRENL416)5?"05:r 39ua" clode=ch">SNDRGPIO_G"2a href="+code=">SNDRGPIO_G"L416"> 4162/a>5     gpief">chip2/a>->gpieref=ass="hip" class=wrenL373"> 3732/a>5wrenL416s5a href="+code=EINVAL" cl5ss="7utw2/a>((7a hss="+codcode=chip" cl7ss="s7ef">chnam
	2L357"> 3572/a" cl h 4367u1_STEREO7a>;vcha href="+code=couttime" cla5s="sr5outtL416"> 4162/a>5     reglass="line" namregs="sly 39ua" clode=ch">SNDRREGime" cla5s="sr5">SNDRREGL416"> 4162/a>5     ="sound/pc>        2a href=ly 39ua" clode=chGPIO_CTRLcm_substream	cnGPIO_CTRLL416s2L417" cl5ss="line" nam
	2L41m
7a href="57 (2a href="+code=cmd" c57ss="57nels2/"rup">chipa>v57436"> 4362/a7e39ua" cl7ss="sref"5FM80156nels2/a7 == 676M801_sref">S 39ua" clode=chu8nd/pci/fmnam27iu8ubstr87"inc>chip2/a>soune=reg_tea575x_getcpin2L373"> 3732/a>5+code=reg_tea575x_getcpin2L416"NDRV_P5M_TRI5P4M_TRI4GER_Rtea575xL373"> 3732/a>5+codtea575x3912r>_"sref">outw2/atea5IGGER_RES5ME" teaL416ss="sref">fm8012/a> *2a href="7_LAST" cl7ss="sref"5FM8015601_16BI72/a> 76coun_7" id	2L557" class="line" nam
7ass="s5ef7>F56ATE_MASK2/a> |v;v_"sref">outw2/a>(i3">_"ubstrchip" class="srpta href="+code=ctea5IGGER_RES5ME" teaL416">snd_pcm_substream2/5 ref="+co5de=FM801_PAUSE" class="s5ef">F5ss="line" nam
	aybahardw38"bst7rL443" id7=FM8015de=FM801_START" c7ass="76href="+code=sunsigned shorME2/a>;v 4162/a>5     ">SNDRREGime" cla5s="sr5">SNDRREGL416"> 4162/a>5     ="sound/pc>        2a href=ly 39ua" clode=chGPIO_CTRLcm_substream	cnGPIO_CTRLL416s2L417" cl" nam
	aybahardw38"bst7r2a href57 clode=ch=chip" class="s7ef">c76t2/a>) == 16)_RESUME2/a>;vchip2/a>->soune=reg_tea575x_gpieref="M_TRI5P4M_TRI4Ggpief">chip2/a>->gpieref="=">_"sref">outw2/aget_tea575x_gpief">chip2/a>->get_tea575x_gpieL416"> 4162/a>5     ="sound/pc>        2a href=)L417" cl5ss="line" nam
	2L41m
7sref">snd7pcm_substream2/5 class="75ne" 77 id	2L439" cl87"inc>chip2/a>u8nd/pci/fmnam27iu8ubstr87"inc>chip2/a>re5LEASE" cl5ss="sre5">F5ss="line" nam
	aybahardw38"bst7" class="7ine" nam
	rivss="datad_p7m_sub77f">chnam
	2L357"> 3572/a" cl h 4367439"comme7"s>/* TODO */idx7/a>;v77ass="sref">cha href="+code=cre5LEASE" cl5ss="sre5">F5 1)-5a href="+code=EINVAL" cl5ss="74 href="57ANDLED class="line" nIRQ7HANDL771.ufrclas_"sr4392 39ua" clode=ch"eglass="line" namregs="sr&ream" 39ua" clode=ch">SNDRGPIO_G"2a href="+code=">SNDRGPIO_G"L416"> 4162/a>5     gpief">chip2/a>->gpieref=ass="hip" class=+co5de=FM801_PAUSE"+co5L416)ss="sref">fm8012/a> *2a href="74eeeeeeee7sound/pci/f5oode=FM805od7=FM80775801.c#L425" ppppppp a href="+code=cre5LEASE" cl5ss="sre5">F5 |pta href="+code=cTEA575X_DATAi/fm801.c#L397"TEA575X_DATAL4165a href="+code=EINVAL" cl5ss="7439ua" cl7"sound/pci/5 class="l5ne7 nam
77  2a href="+c4392 39ua" clode=ch"eglass="line" namregs="sr&ream" 39ua" clode=ch">SNDRGPIO_G"2a href="+code=">SNDRGPIO_G"L416"> 4162/a>5     gpief">chip2/a>->gpieref=ass="hip" class=mos5LEASE" cl5ss="smos5time)ss="sref">fm8012/a> *2a href="74LAST" cl7d_fm801_pl2L357"> 3572/a7class77F5 |pta href="+code=cTEA575X_MOSTi/fm801.c#L397"TEA575X_MOSTL4165a href="+code=EINVAL" cl5ss="74ss="s5ef7ef="sound/pci/5 de=FM8017ss="s77substream" class5"sr87"inc>chip2/a>re5LEASE" cl5ss="sre5">F5ss="line" nam
	aybahardw38"bst7"L443" id7ime2/a>->2a 5IGGER_RE75ME" 77/int7"rup">chipa>v58017c#L4378code=hw_paravoid"M_TRI5P4M_TRI4GER_Re=reg_tea575x_>etcdirectionL373"> 3732/a>5+code=reg_tea575x_>etcdirectionL416"NDRV_P5M_TRI5P4M_TRI4GER_Rtea575xL373"> 3732/a>5+codtea575x3912r>_"sref">outw2/atea5IGGER_RES5ME" teaL416ly 39ua" clode=chboocp" class="sref"boocubstr87"inc>chip2/a>outpu5LEASE" cl5ss="soutpu5L416ss="sref">fm8012/a> *2a href="7s class="7         breakkkkkkkkkkk7kkkkk7 href=7" id	2L557" class="line" nam
7c58STEREO7 class="s5ef">F5801_STER7O2/a>78d/pci/fm801.c_RESUME2/a>;v_"sref">outw2/a>(i3">_"ubstrchip" class="srpta href="+code=ctea5IGGER_RES5ME" teaL416">snd_pcm_substream2/5 ref="+co5de=FM801_PAUSE" class="s5ef">F5ss="line" nam
	aybahardw38"bst7c5ass4"sr7f48ubstream2/aF5801_STER7O2/a>781.ufrclas_"srunsigned shorME2/a>;v 4162/a>5     ">SNDRREGime" cla5s="sr5">SNDRREGL416"> 4162/a>5     ="sound/pc>        2a href=ly 39ua" clode=chGPIO_CTRLcm_substream	cnGPIO_CTRLL416s2L417" cl" nam
	aybahardw38"bst7ceeeeeeee7e=hw_params" class5"sref7 href78a>->2a hre_RESUME2/a>;vchip2/a>->soune=reg_tea575x_gpieref="M_TRI5P4M_TRI4Ggpief">chip2/a>->gpieref="=">_"sref">outw2/aget_tea575x_gpief">chip2/a>->get_tea575x_gpieL416"> 4162/a>5     ="sound/pc>        2a href=)L417" cl5ss="line" nam
	2L41m
72" class=7line" nam
	2L422"> 4222/7>    78M801_REG" IRQ=capTUSount2/a> - 1, 72"+code=s7+code=FM801_REG" class="7ref">7M801_>, 2/a>(2sref">chip2/5GER_SUSPE5D"use"GPIO _REGs and set write enable bit *="sref">SNDRV_PC5_TRIG57reg_lms2/a>))72a>}v(2="78ref">chIRQ=VOL14" class="linreglass="line" namregs="sr|=9 39ua" clode=ch">SNDRGPIO_Glass="sref">chIR">SNDRGPIO_GlL416"> 4162/a>5     gpief">chip2/a>->gpieref=ass="hip" class=+co5de=FM801_PAUSE"+co5L416)57u>2a hr4f="+code=reg_l5ck"72L443" id7c>2a hr4f="+code=reg_7ock" 78ef">outw2/a> id=2L46 39ua" clode=ch">SNDRGPIO_Glass="sref">chIR">SNDRGPIO_GlL416"> 4162/a>5     gpief">chip2/a>->gpieref=ass="hip" class=wrenL373"> 3732/a>5wrenL416s57u>2a hr4f="+code=reg_l5ck"72ply 39ua7line" nam
	2L461"> 4612/7>    78="5ref">56at2/a>) == 39ua" clode=ch">SNDRGPIO_Glass="sref">chIR">SNDRGPIO_GlL416"> 4162/a>5     gpief">chip2/a>->gpieref=ass="hip" class=class="sref">reg2/=laL416)57u>2a hr4f="+code=reg_l5ck"7- 1, 2a h7ef="+code=FM801_REG" /a>7clase79a>->2a href="+cod 39ua" clode=ch">SNDRGPIO_Glass="sref">chIR">SNDRGPIO_GlL416"> 4162/a>5     gpief">chip2/a>->gpieref=ass="hip" class=mos5LEASE" cl5ss="smos5time)L417" cl5ss="line" nam
	2L41m
7tw2/a>((27 hss="+codee=KERa>vsubstream2/a>;vchip2/5GER_SUSPE5D"all of _REGs are in the write direction *="sref">SNDRV_PC5_TRIG57reg_lms2/a>))7t5ass4"sr7bstr> 3912/ href="sound/7ci/fm793a hre;vchip2/5GER_SUSPE5D"clear +co5 and clock _REGs *="sref">SNDRV_PC5_TRIG57reg_lms2/a>))7teeeeeeee7ref">chip2/> 4382/a>soin77" cl795801.c#L425" ppppppp a href="+code=creglass="line" namregs="sr&ream= ~"> 4162/a>5     ">SNDRGPIO_GDass="sref">chIR">SNDRGPIO_GDL416"> 4162/a>5     gpief">chip2/a>->gpieref=ass="hip" class=+co5de=FM801_PAUSE"+co5L416)57u>2a hr4f="+code=reg_l5ck"7t" class=7f="+code=snd_fm801_playb7ck_pr79  2a href="+ceeeeeeee" class="> 4162/a>5     ">SNDRGPIO_GDass="sref">chIR">SNDRGPIO_GDL416"> 4162/a>5     gpief">chip2/a>->gpieref=ass="hip" class=wrenL373"> 3732/a>5wrenL416s57u>2a hr4f="+code=reg_l5ck"7k_prepare7/a>(struct 2a href="+cod7=snd_79SNDRGPIO_GDass="sref">chIR">SNDRGPIO_GDL416"> 4162/a>5     gpief">chip2/a>->gpieref=ass="hip" class=class="sref">reg2/=laL416)57u>2a hr4f="+code=reg_l5ck"7-a>}vchip2/a> =72a hr79"sound/pef">chipef">pppppppppp 39ua" clode=ch">SNDRGPIO_G"2a href="+code=">SNDRGPIO_G"L416"> 4162/a>5     gpief">chip2/a>->gpieref=ass="hip" class=+co5de=FM801_PAUSE"+co5L416)57u>2a hr4f="+code=reg_l5ck"7-L443" id7nd_pcm_substream_chipas47gt;2a79ef">outw2/a> id=2L461ppppppppp 39ua" clode=ch">SNDRGPIO_G"2a href="+code=">SNDRGPIO_G"L416"> 4162/a>5     gpief">chip2/a>->gpieref=ass="hip" class=class="sref">reg2/=laL416)57u>2a hr4f="+code=reg_l5ck"7-ply 39ua7801_16BIT2/a>;v56at2/a>) == ppppppppp 39ua" clode=ch">SNDRGPIO_G"2a href="+code=">SNDRGPIO_G"L416"> 4162/a>5     gpief">chip2/a>->gpieref=ass="hip" class=wrenL373"> 3732/a>5wrenL416s2L417" cl5ss="line" nam
	2L41m
8"+code=ca8_ctrl")ass="sref">snd_pc8_subs80a>->2a hre} else"7" id	2L557" class="line" nam
8"1code=ca8_hss="+codee=KERa>v) == ppppppppp ref">chip2/5GER_SUSPE5D"use"GPIO _REGs, set +co5 direction to inpu5 *="sref">SNDRV_PC5_TRIG57reg_lms2/a>))8spin_lock8/a>(&2a href="+code=8hip" 80SNDRGPIO_GDass="sref">chIR">SNDRGPIO_GDL416"> 4162/a>5     gpief">chip2/a>->gpieref=ass="hip" class=+co5de=FM801_PAUSE"+co5L416)57u>2a hr4f="+code=reg_l5ck"850ubstrea82/a>);vSNDRGPIO_GDass="sref">chIR">SNDRGPIO_GDL416"> 4162/a>5     gpief">chip2/a>->gpieref=ass="hip" class=mos5LEASE" cl5ss="smos5time)57u>2a hr4f="+code=reg_l5ck"854ubstrea82ef">chip2/> 4382/a>soin801inc805801.c#L425" ppppppp ipppppp 39ua" clode=ch">SNDRGPIO_G"2a href="+code=">SNDRGPIO_G"L416"> 4162/a>5     gpief">chip2/a>->gpieref=ass="hip" class=+co5de=FM801_PAUSE"+co5L416)57u>2a hr4f="+code=reg_l5ck"8(5a href=8+="+code=snd_fm801_playb8=PLAY80  2a href="+ceeeeeeee" class 39ua" clode=ch">SNDRGPIO_G"2a href="+code=">SNDRGPIO_G"L416"> 4162/a>5     gpief">chip2/a>->gpieref=ass="hip" class=mos5LEASE" cl5ss="smos5time)57u>2a hr4f="+code=reg_l5ck"8(6a href=8+a>(struct 2a href="+cod8a hre80SNDRGPIO_G"2a href="+code=">SNDRGPIO_G"L416"> 4162/a>5     gpief">chip2/a>->gpieref=ass="hip" class=wrenL373"> 3732/a>5wrenL416sL417" cl5ss="line" nam
	2L41m
8"7a href=8+class="sref">chip2/a> =8801.c80"sound/pef">chipef">psref">chip2/5GER_SUSPE5D"all of _REGs are in the write direction, except +co5 *="sref">SNDRV_PC5_TRIG57reg_lms2/a>))8s8a href=8+d_pcm_substream_chipas48sref"80ef">outw2/a> id=2L461sref">chip2/5GER_SUSPE5D"clear +co5, write enable and clock _REGs *="sref">SNDRV_PC5_TRIG57reg_lms2/a>))8GGER5PAUS8_PUSH2/a>{v56at2/a>) == a href="+code=creglass="line" namregs="sr&ream= ~"> 4162/a>5     ">SNDRGPIO_GDass="sref">chIR">SNDRGPIO_GDL416"> 4162/a>5     gpief">chip2/a>->gpieref=ass="hip" class=wrenL373"> 3732/a>5wrenL416s57u>2a hr4f="+code=reg_l5ck"8" class="8ref">chip2/a>5U1IGGER_S58" cla81a>->2a href="+codounpcilass> 4162/a>5     ">SNDRGPIO_GDass="sref">chIR">SNDRGPIO_GDL416"> 4162/a>5     gpief">chip2/a>->gpieref=ass="hip" class=class="sref">reg2/=laL416)57u>2a hr4f="+code=reg_l5ck"8" class="8ref">chip2/#L392" i	oint8" cla81SNDRGPIO_G"2a href="+code=">SNDRGPIO_G"L416"> 4162/a>5     gpief">chip2/a>->gpieref=ass="hip" class=class="sref">reg2/=laL416)sL417" cl5ss="line" nam
	2L41m
8t 2a href8"+code=snd_fm801_playbac8_prep81chipa>vchip2/a> =82a hr815801.c#L425"  39ua" clode=chouttime" cla5s="sr5outtL416"> 4162/a>5     reglass="line" namregs="sly 39ua" clode=ch">SNDRREGime" cla5s="sr5">SNDRREGL416"> 4162/a>5     ="sound/pc>        2a href=ly 39ua" clode=chGPIO_CTRLcm_substream	cnGPIO_CTRLL416s2L417" cl5ss="line" nam
	2L41m
8c5a href=8nd_pcm_substream_chip/f58class81  2a "rup">chipa>vsnd_pc8_subs81ref">sref">SNDRV_P5M_TRI5P4M_TRI4GER_Rtea575x op2L373"> 3732/a>5+codtea575x op2ref="M_TRI5P4M_TRI4Gsoune=reg_tea op2L373"> 3732/a>5+code=reg_tea op2ref="="7" id	2L557" class="line" nam
8p8PAUSE2/8f5>reg_lock2/a>);vetcpin2L373"> 3732/a>5+etcpin2L416rpta href="+code=chitse=reg_tea575x_>etcpin2L373"> 3732/a>5+code=reg_tea575x_>etcpin2L416l417" cl5ss="line" nam
	2L41la8spin_lock8/a>(&2a href="+code=8hip" 81  2a href="+cass="hip" class=getcpin2L373"> 3732/a>5getcpin2L416rpta href="+code=chitse=reg_tea575x_getcpin2L373"> 3732/a>5+code=reg_tea575x_getcpin2L416l417" cl5ss="line" nam
	2L41la852LY_CTRL8/a>));vetcdirectionL373"> 3732/a>5+etcdirectionL416rpta href="+code=chitse=reg_tea575x_>etcdirectionL373"> 3732/a>5+code=reg_tea575x_>etcdirectionL416l417" cl5ss="line" nam
	2L41la85 class="8+code-" cl-ref="+code=fm801inc8/fm801}ss="line" nam
	aybahardw38"bst85 2a href8ef="+code=FM801_STEREIRQ8/a>TU82ms2/a>));vchip2/5GER_SUSPE5D"sref">SNDRV_PC5_TRIG57reg_lms2/a>))85="sref">8href="+code=chip" class=8sref"82M801_sref">chip2/5GER_SUSPE *  Mixer routREGs"sref">SNDRV_PC5_TRIG57reg_lms2/a>))856a href=8LAST2/a> ;vchip2/5GER_SUSPE *="sref">SNDRV_PC5_TRIG57reg_lms2/a>))8" class="8ref">chip2/a>5> *2a hre58"+cod82eam2/5>2a hr5f="+code=reg_lock"8"8PAUSE2/8nt7"rup"sref">outw2/a>(i8fmchi82nam
	#def="+"M_TRI5P4M_TRI4G">SNDRSINGLEime" cla5s="sr5">SNDRSINGLEL416"> 4162/a>5     xd/pc="+cass="sref">xd/pc3912ly 39ua" clode=chreglass="line" namregs="sly 39ua" clode=chshif5LEASE" cl5ss="sshif5s="sly 39ua" clode=chmasass="sref">reg2/masas="sly 39ua" clode=chinvertss="sref">reg2/invertL416)5\417" cl5ss="line" nam
	2L41la8c#L445" i8	2L4451.c" na, void"line8 nam
82L440d{cass="hip" class=ifacline" 11.c#L286"ifaclL416rpta href="+code=cRV_PCMCTL_ELEM_IFACE_MIXERine" 11.c#L286"RV_PCMCTL_ELEM_IFACE_MIXERs="slyass="hip" class=d/pc="+cass="sref">d/pc3912rpta 4162/a>5     xd/pc="+cass="sref">xd/pc3912lyass="hip" class=infef">chip2/a>->infeL416rpta href="+code=chitse=reg_;2a _singlc="+cass="sref">hitse=reg_;2a _singlc3912ly\417" cl5ss="line" nam
	2L41la8ass="sref8>snd_pcm_substream2/5(2a8href=830ss4"srass="hip" class=getL373"> 3732/a>5getL416rpta href="+code=chitse=reg_getcsinglc="+cass="sref">hitse=reg_getcsinglc3912lyass="hip" class=pu5LEASE" cl5ss="spu5L416rpta href="+code=chitse=reg_pu5csinglc="+cass="sref">hitse=reg_pu5csinglc3912ly\417" cl5ss="line" nam
	2L41la8a class="8"sref">chip2/a>5m801.c#L852" i831ss4"srass="hip" class= class="valuc="+cass="sref"> class="valucL416rpta href="+code=creglass="line" namregs="sr|92 39ua" clode=chshif5LEASE" cl5ss="sshif5s="sr<< 8)r|92 39ua" clode=chmasass="sref">reg2/masas="sr<< 16)r|92 39ua" clode=chinvertss="sref">reg2/invertL416r<< 24)r"rup">chipa>v5mGGER8RES5" id	2L434" class="l8ne"5n8m
	53s_Ref">Sc#L387"inc>chip2/a>hitse=reg_;2a _singlc="+cass="sref">hitse=reg_;2a _singlc3912"NDRV_P5M_TRI5P4M_TRI4GER_Rkcontrocp" class="sref"ER_RkcontrocL416r>_"sref">outw2/akcontrocp" class="sref"kcontrocL416l417" cl5ss="line" nam
	2L41la8soun2 39u8 href="+code=ply 39ua" c8 href835801.c#L425" ppppppp ippppppppppppppppNDRV_P5M_TRI5P4M_TRI4GER_Rctl_elem_infef">chip2/a>->ER_Rctl_elem_infeL416r>_"sref">outw2/auinfef">chip2/a>->uinfeL416ss="sref">fm8012/a> *2a href="8"sref">pl8_count2/a> - 1, 2a href=8+code8358f="+code=chip" class="sr8f">ch83chip2/a>masass="sref">reg2/masas="sr=92 39ua" clode=chkcontrocp" class="sref"kcontrocL416">snd_pcm_substream2/5 ref="valuc="+cass="sref"> class="valucL416r>snd>snd 16)r&ream"0xffss="line" nam
	aybahardw38"bst8code=FM808_STEREIRQ=MPUef="|chip" 8lass=83eam2/5>2a hr5f="+code=reg_lock"8slass5"sr8.c#L435" id	2L439" class8"line83href="+code=s 39ua" clode=chuinfef">chip2/a>->uinfeL416OL14" class="line" ntypc="+cass="sref">typcL416rpta href="+code=cmasass="sref">reg2/masas="sr== 15?" 39ua" clode=chRV_PCMCTL_ELEM_TYPE_BOOLEANi/fm801.c#L397"RV_PCMCTL_ELEM_TYPE_BOOLEANs="sr:r 39ua" clode=chRV_PCMCTL_ELEM_TYPE_INTEGERine" 11.c#L286"RV_PCMCTL_ELEM_TYPE_INTEGERs="sss="line" nam
	aybahardw38"bst8c#L445" i8code=substream" class=5s8ef"5483="5ref">56at2 39ua" clode=chuinfef">chip2/a>->uinfeL416OL14" class="line" ncm
	tss="sref">reg2/cm
	tL416rpt1ss="line" nam
	aybahardw38"bst8="sref">c8ip2/a>->2a href="+cod8=ply_84 id	2L439" cl87"inc>chip2/a>uinfef">chip2/a>->uinfeL416OL14" class="line" nvaluc="+cass="sref">valucL416ass="hip" class=integ/f5IGGER_RES5ME" integ/fref=ass="hip" class=minL373"> 3732/a>5minL416rpt-5a href="+code=EINVAL" cl5ss="8= class="8Sf="+code=chip" class="s8ef">c84fm801.c#L387"87"inc>chip2/a>uinfef">chip2/a>->uinfeL416OL14" class="line" nvaluc="+cass="sref">valucL416ass="hip" class=integ/f5IGGER_RES5ME" integ/fref=ass="hip" class=maxL373"> 3732/a>5maxL416rpta href="+code=cmasass="sref">reg2/masas="s5a href="+code=EINVAL" cl5ss="8=ltunsign8ch=ef="+code=fm801d/pci/8m801.84):vchipa>v57436"> 4362/a84sref">pl8>2a hr5f="+code=reg_l8ck" c84M801_sref">Sc#L387"inc>chip2/a>hitse=reg_getcsinglc="+cass="sref">hitse=reg_getcsinglc3912"NDRV_P5M_TRI5P4M_TRI4GER_Rkcontrocp" class="sref"ER_RkcontrocL416r>_"sref">outw2/akcontrocp" class="sref"kcontrocL416l417" cl5ss="line" nam
	2L41la8f">chip2/8>5 href="+c5de=FM801_16B8T" cl84ER_Rctl_elem_valucL416r>_"sref">outw2/aucontrocp" class="sref"ucontrocL416ss="sref">fm8012/a> *2a href="8fode=FM808 href="+codde=chip" clas8="sre84ref">7" id	2L557" class="line" nam
8flass5"sr8>);v);v_"sref">outw2/a>(i3">_"ubstrchip" class="srpta href="+code=cER_Rkcontroc_>(i3">_"ubstrchip" ER_Rkcontroc_>(i3L416"> 4162/a>5     kcontrocp" class="sref"kcontrocL4162L417" cl5ss="line" nam
	2L41m
8;2a href58+code=format" class="sr58">fo58at2/a>) == 16)c#L387"inc>chip2/a>reglass="line" namregs="srpta href="+code=ckcontrocp" class="sref"kcontrocL416">snd_pcm_substream2/5 ref="valuc="+cass="sref"> class="valucL416r>ream"0xffss="line" nam
	aybahardw38"bst8eeeeeeeee8eeeeeeeeeee" class="sref8>chip8/a>->2a hrec#L387"inc>chip2/a>hhif5LEASE" cl5ss="sshif5s="sr=92 39ua" clode=chkcontrocp" class="sref"kcontrocL416">snd_pcm_substream2/5 ref="valuc="+cass="sref"> class="valucL416r>snd>snd 8)r&ream"0xffss="line" nam
	aybahardw38"bst8nels" cla8s="sref">5hanne5s2/a> &g8; 1) 85fm801.c#L387"c#L387"inc>chip2/a>masass="sref">reg2/masas="sr=92 39ua" clode=chkcontrocp" class="sref"kcontrocL416">snd_pcm_substream2/5 ref="valuc="+cass="sref"> class="valucL416r>snd>snd 16)r&ream"0xffss="line" nam
	aybahardw38"bst8nltunsign8 class="s5ef">F5801_STER8O2/a>852m801.c#L387"c#L387"inc>chip2/a>invertss="sref">reg2/invertL416r=92 39ua" clode=chkcontrocp" class="sref"kcontrocL416">snd_pcm_substream2/5 ref="valuc="+cass="sref"> class="valucL416r>snd>snd 24)r&ream"0xffss="line" nam
	aybahardw38"bst8n=5sref"58ch5nnels2/a> == 4)v58GGER_RES5CHANNELS_4" cla8s="sr855801.c#L425"  39ua" clode=chucontrocp" class="sref"ucontrocL416OL14" class="line" nvaluc="+cass="sref">valucL416ass="hip" class=integ/f5IGGER_RES5ME" integ/fref=ass="hip" class=valuc="+cass="sref">valucL416[0]r=92 39ua" clode=chintime" cla5s="sr5intL416"> 4162/a>5     ="sound/pc>        2a href="+code=spin_unlock" dortss="sref">reg2/dort801.c+387"inc>chip2/a>reglass="line" namregs="s)r>snd>snd 87"inc>chip2/a>hhif5LEASE" cl5ss="sshif5s="s)r&ream" 39ua" clode=chmasass="sref">reg2/masas="s5a href="+code=EINVAL" cl5ss="8csref">pl8de=ch=chip" class="sref"8chIRQ85  2a href="+c4392 39ua" clode=chinvertss="sref">reg2/invertL416)a href="+code=EINVAL" cl5ss="8c">chip2/8=ef="+code=fm801d/pci/fm801.c#85valucL416ass="hip" class=integ/f5IGGER_RES5ME" integ/fref=ass="hip" class=valuc="+cass="sref">valucL416[0]r=987"inc>chip2/a>masass="sref">reg2/masas="sr-pa href="+code=cucontrocp" class="sref"ucontrocL416OL14" class="line" nvaluc="+cass="sref">valucL416ass="hip" class=integ/f5IGGER_RES5ME" integ/fref=ass="hip" class=valuc="+cass="sref">valucL416[0]5a href="+code=EINVAL" cl5ss="8code=FM808ATE_MASK2/a> |vchipa>vchip8/5>, 2a hre5="+code=PLY_8TRL" 86code=hw_parac#L387"inc>chip2/a>hitse=reg_pu5csinglc="+cass="sref">hitse=reg_pu5csinglc3912"NDRV_P5M_TRI5P4M_TRI4GER_Rkcontrocp" class="sref"ER_RkcontrocL416r>_"sref">outw2/akcontrocp" class="sref"kcontrocL416l417" cl5ss="line" nam
	2L41la8utw2/a>((8a hss="+codcode=chip" cl8ss="s86ER_Rctl_elem_valucL416r>_"sref">outw2/aucontrocp" class="sref"ucontrocL416ss="sref">fm8012/a> *2a href="8u1_STEREO8a>;v);v_"sref">outw2/a>(i3">_"ubstrchip" class="srpta href="+code=cER_Rkcontroc_>(i3">_"ubstrchip" ER_Rkcontroc_>(i3L416"> 4162/a>5     kcontrocp" class="sref"kcontrocL4162L417" cl5ss="line" nam
	2L41m
8eeeeeeeee8eeeeeeeeeee" class="sref8>chip865801.c#L425" c#L387"inc>chip2/a>reglass="line" namregs="srpta href="+code=ckcontrocp" class="sref"kcontrocL416">snd_pcm_substream2/5 ref="valuc="+cass="sref"> class="valucL416r>ream"0xffss="line" nam
	aybahardw38"bst8e39ua" cl8ss="sref"5FM80156nels2/a8 == 6865801.c#L425" c#L387"inc>chip2/a>hhif5LEASE" cl5ss="sshif5s="sr=92 39ua" clode=chkcontrocp" class="sref"kcontrocL416">snd_pcm_substream2/5 ref="valuc="+cass="sref"> class="valucL416r>snd>snd 8)r&ream"0xffss="line" nam
	aybahardw38"bst8_LAST" cl8ss="sref"5FM8015601_16BI82/a> 86chip2/a>masass="sref">reg2/masas="sr=92 39ua" clode=chkcontrocp" class="sref"kcontrocL416">snd_pcm_substream2/5 ref="valuc="+cass="sref"> class="valucL416r>snd>snd 16)r&ream"0xffss="line" nam
	aybahardw38"bst8ass="s5ef8>F56ATE_MASK2/a> |vchip2/a>invertss="sref">reg2/invertL416r=92 39ua" clode=chkcontrocp" class="sref"kcontrocL416">snd_pcm_substream2/5 ref="valuc="+cass="sref"> class="valucL416r>snd>snd 24)r&ream"0xffss="line" nam
	aybahardw38"bst8rL443" id8=FM8015de=FM801_START" c8ass="86href="+code=sunsigned shorME2/a>;vvals="s5a href="+code=EINVAL" cl5ss="8r2a href58 clode=ch=chip" class="s8ef">c86L440dev_i1.c#L398" id	2L3dev_i1" c8sref">snd8pcm_substream2/5 class="85ne" 87 id	2L439" cl87"inc>chip2/a>val="+cass="sref">vals="sr=92 39ua" clode=chucontrocp" class="sref"ucontrocL416OL14" class="line" nvaluc="+cass="sref">valucL416ass="hip" class=integ/f5IGGER_RES5ME" integ/fref=ass="hip" class=valuc="+cass="sref">valucL416[0]r&ream" 39ua" clode=chmasass="sref">reg2/masas="s2L417" cl5ss="line" nam
	2L41m
8" class="8ine" nam
	rivss="datad_p8m_sub87fm801.c#L387"4392 39ua" clode=chinvertss="sref">reg2/invertL416)a href="+code=EINVAL" cl5ss="8439"comme8"s>/* TODO */idx8/a>;v87vals="sr=987"inc>chip2/a>masass="sref">reg2/masas="sr-pa href="+code=cval="+cass="sref">vals="s5a href="+code=EINVAL" cl5ss="84 href="58ANDLED class="line" nIRQ8HANDL871.ufrclas_"srass5"sr87"inc>chip2/a>hitse=reg_updss="bit2L373"> 3732/a>5+code=reg_updss="bit2L416"> 4162/a>5     ="sound/pc>        2a href=ly 39ua" clode=chreglass="line" namregs="sly 39ua" clode=chmasass="sref">reg2/masas="sr<< 87"inc>chip2/a>hhif5LEASE" cl5ss="sshif5s="sly 39ua" clode=chval="+cass="sref">vals="sr<< 87"inc>chip2/a>hhif5LEASE" cl5ss="sshif5s="s2L417" cl5ss="line" nam
	2L41m
8"eeeeeeee8sound/pci/f5oode=FM805od8=FM80875801."rup">chipa>v - 1, 84LAST" cl8d_fm801_pl2L357"> 3572/a8class87SNDRDOUBLEime" cla5s="sr5">SNDRDOUBLEL416"> 4162/a>5     xd/pc="+cass="sref">xd/pc3912ly 39ua" clode=chreglass="line" namregs="sly 39ua" clode=chshif5_lef5LEASE" cl5ss="sshif5_lef5s="sly 39ua" clode=chshif5_righ5LEASE" cl5ss="sshif5_righ5s="sly 39ua" clode=chmasass="sref">reg2/masas="sly 39ua" clode=chinvertss="sref">reg2/invertL416)5\417" cl5ss="line" nam
	2L41la84ss="s5ef8ef="sound/pci/5 de=FM8018ss="s87subst{cass="hip" class=ifacline" 11.c#L286"ifaclL416rpta href="+code=cRV_PCMCTL_ELEM_IFACE_MIXERine" 11.c#L286"RV_PCMCTL_ELEM_IFACE_MIXERs="slyass="hip" class=d/pc="+cass="sref">d/pc3912rpta 4162/a>5     xd/pc="+cass="sref">xd/pc3912lyass="hip" class=infef">chip2/a>->infeL416rpta href="+code=chitse=reg_;2a _doublc="+cass="sref">hitse=reg_;2a _doublc3912ly\417" cl5ss="line" nam
	2L41la84L443" id8ime2/a>->2a 5IGGER_RE85ME" 87href="+ass="hip" class=getL373"> 3732/a>5getL416rpta href="+code=chitse=reg_getcdoublc="+cass="sref">hitse=reg_getcdoublc3912lyass="hip" class=pu5LEASE" cl5ss="spu5L416rpta href="+code=chitse=reg_pu5cdoublc="+cass="sref">hitse=reg_pu5cdoublc3912ly\417" cl5ss="line" nam
	2L41la842a href58RQ=NON"" clde=chip" clas8="sre879ref="+ass="hip" class= class="valuc="+cass="sref"> class="valucL416rpta href="+code=creglass="line" namregs="sr|92 39ua" clode=chshif5_lef5LEASE" cl5ss="sshif5_lef5s="sr<< 8)r|92 39ua" clode=chshif5_righ5LEASE" cl5ss="sshif5_righ5s="sr<< 12)r|92 39ua" clode=chmasass="sref">reg2/masas="sr<< 16)r|92 39ua" clode=chinvertss="sref">reg2/invertL416r<< 24)r"rup">chipa>v58018c#L4388code=#def="+"M_TRI5P4M_TRI4G">SNDRDOUBLE_TLVime" cla5s="sr5">SNDRDOUBLE_TLVL416"> 4162/a>5     xd/pc="+cass="sref">xd/pc3912ly 39ua" clode=chreglass="line" namregs="sly 39ua" clode=chshif5_lef5LEASE" cl5ss="sshif5_lef5s="sly 39ua" clode=chshif5_righ5LEASE" cl5ss="sshif5_righ5s="sly 39ua" clode=chmasass="sref">reg2/masas="sly 39ua" clode=chinvertss="sref">reg2/invertL416ly 39ua" clode=chxtlv="+cass="sref">xtlvL416)5\417" cl5ss="line" nam
	2L41la8s class="8         breakkkkkkkkkkk8kkkkk8 href=7cass="hip" class=ifacline" 11.c#L286"ifaclL416rpta href="+code=cRV_PCMCTL_ELEM_IFACE_MIXERine" 11.c#L286"RV_PCMCTL_ELEM_IFACE_MIXERs="sly\417" cl5ss="line" nam
	2L41la8s39"comme8 class="s5ef">F5801_STER8O2/a>88d/pci/fass="hip" class=acces2L373"> 3732/a>5acces2L416rpta href="+code=cRV_PCMCTL_ELEM_ACCESS_READWRITEine" 11.c#L286"RV_PCMCTL_ELEM_ACCESS_READWRITEs="sr|9a href="+code=cRV_PCMCTL_ELEM_ACCESS_TLV_READine" 11.c#L286"RV_PCMCTL_ELEM_ACCESS_TLV_READs="sly\417" cl5ss="line" nam
	2L41la8s href="58f48ubstream2/aF5801_STER8O2/a>881.ufrclass="hip" class=d/pc="+cass="sref">d/pc3912rpta 4162/a>5     xd/pc="+cass="sref">xd/pc3912lyass="hip" class=infef">chip2/a>->infeL416rpta href="+code=chitse=reg_;2a _doublc="+cass="sref">hitse=reg_;2a _doublc3912ly\417" cl5ss="line" nam
	2L41la8ceeeeeeee8e=hw_params" class5"sref8 href88a>->ass="hip" class=getL373"> 3732/a>5getL416rpta href="+code=chitse=reg_getcdoublc="+cass="sref">hitse=reg_getcdoublc3912lyass="hip" class=pu5LEASE" cl5ss="spu5L416rpta href="+code=chitse=reg_pu5cdoublc="+cass="sref">hitse=reg_pu5cdoublc3912ly\417" cl5ss="line" nam
	2L41la8c39ua" cl8line" nam
	2L422"> 4222/8>    885ref="+ass="hip" class= class="valuc="+cass="sref"> class="valucL416rpta href="+code=creglass="line" namregs="sr|92 39ua" clode=chshif5_lef5LEASE" cl5ss="sshif5_lef5s="sr<< 8)r|92 39ua" clode=chshif5_righ5LEASE" cl5ss="sshif5_righ5s="sr<< 12)r|92 39ua" clode=chmasass="sref">reg2/masas="sr<< 16)r|92 39ua" clode=chinvertss="sref">reg2/invertL416r<< 24)ly\417" cl5ss="line" nam
	2L41la8cLAST" cl8+code=FM801_REG" class="8ref">8M801_>, ass="hip" class=tlv="+cass="sref">tlvL416"="7+ass="hip" class= ="+cass="sref"> s="sr=92 39ua" clode=chxtlv="+cass="sref">xtlvL416)5}r"rup">chipa>v(2="88eam2/5>2a hr5f="+code=reg_lock"82L443" id8c>2a hr4f="+code=reg_8ock" 88ef">o_Ref">Sc#L387"inc>chip2/a>hitse=reg_;2a _doublc="+cass="sref">hitse=reg_;2a _doublc3912"NDRV_P5M_TRI5P4M_TRI4GER_Rkcontrocp" class="sref"ER_RkcontrocL416r>_"sref">outw2/akcontrocp" class="sref"kcontrocL416l417" cl5ss="line" nam
	2L41la82ply 39ua8line" nam
	2L461"> 4612/8>    88="5ref">56at2/a>) ==eeeeeeeeeee" classNDRV_P5M_TRI5P4M_TRI4GER_Rctl_elem_infef">chip2/a>->ER_Rctl_elem_infeL416r>_"sref">outw2/auinfef">chip2/a>->uinfeL416ss="sref">fm8012/a> *2a href="8- 1, 2a h8ef="+code=FM801_REG" /a>8clase89a>-&g7" id	2L557" class="line" nam
8tw2/a>((28 hss="+codee=KERa>vchip2/a>masass="sref">reg2/masas="sr=92 39ua" clode=chkcontrocp" class="sref"kcontrocL416">snd_pcm_substream2/5 ref="valuc="+cass="sref"> class="valucL416r>snd>snd 16)r&ream"0xffss="line" nam
	aybahardw38"bst8t58STEREO8ef4>substream2/a>;v 3912/ href="sound/8ci/fm89href="+code=sa href="+code=cuinfef">chip2/a>->uinfeL416OL14" class="line" ntypc="+cass="sref">typcL416rpta href="+code=cmasass="sref">reg2/masas="sr== 15?" 39ua" clode=chRV_PCMCTL_ELEM_TYPE_BOOLEANi/fm801.c#L397"RV_PCMCTL_ELEM_TYPE_BOOLEANs="sr:r 39ua" clode=chRV_PCMCTL_ELEM_TYPE_INTEGERine" 11.c#L286"RV_PCMCTL_ELEM_TYPE_INTEGERs="sss="line" nam
	aybahardw38"bst8teeeeeeee8ref">chip2/> 4382/a>soin87" cl895801.c#L425"  39ua" clode=chuinfef">chip2/a>->uinfeL416OL14" class="line" ncm
	tss="sref">reg2/cm
	tL416rpt2ss="line" nam
	aybahardw38"bst8t39ua" cl8f="+code=snd_fm801_playb8ck_pr89  2a href="+c 39ua" clode=chuinfef">chip2/a>->uinfeL416OL14" class="line" nvaluc="+cass="sref">valucL416ass="hip" class=integ/f5IGGER_RES5ME" integ/fref=ass="hip" class=minL373"> 3732/a>5minL416rpt-5a href="+code=EINVAL" cl5ss="8k_prepare8/a>(struct 2a href="+cod8=snd_89chip2/a>->uinfeL416OL14" class="line" nvaluc="+cass="sref">valucL416ass="hip" class=integ/f5IGGER_RES5ME" integ/fref=ass="hip" class=maxL373"> 3732/a>5maxL416rpta href="+code=cmasass="sref">reg2/masas="s5a href="+code=EINVAL" cl5ss="8-a>}vchip2/a> =82a hr89substream" class5"sr-5a href="+code=EINVAL" cl5ss="8-L443" id8nd_pcm_substream_chipas48gt;2a89/int7"rup">chipa>vsnd_pc9_subs90code=hw_parac#L387"inc>chip2/a>hitse=reg_getcdoublc="+cass="sref">hitse=reg_getcdoublc3912"NDRV_P5M_TRI5P4M_TRI4GER_Rkcontrocp" class="sref"ER_RkcontrocL416r>_"sref">outw2/akcontrocp" class="sref"kcontrocL416l417" cl5ss="line" nam
	2L41la9"1code=ca9_hss="+codee=KERa>v) == pppppppppeeeeeeeee" classNDRV_P5M_TRI5P4M_TRI4GER_Rctl_elem_valuc="+cass="sref">ER_Rctl_elem_valucL416r>_"sref">outw2/aucontrocp" class="sref"ucontrocL416ss="sref">fm8012/a> *2a href="9spin_lock9/a>(&2a href="+code=9hip" 90ass="7" id	2L557" class="line" nam
950ubstrea92/a>);v;v_"sref">outw2/a>(i3">_"ubstrchip" class="srpta href="+code=cER_Rkcontroc_>(i3">_"ubstrchip" ER_Rkcontroc_>(i3L416"> 4162/a>5     kcontrocp" class="sref"kcontrocL4162L417" cl5ss="line" nam
	2L4am
954ubstrea92ef">chip2/> 4382/a>soin901inc905801.c#L425" c#L387"inc>chip2/a>reglass="line" namregs="srpta href="+code=ckcontrocp" class="sref"kcontrocL416">snd_pcm_substream2/5 ref="valuc="+cass="sref"> class="valucL416r>ream"0xffss="line" nam
	aybahardw38"bst9(5a href=9+="+code=snd_fm801_playb9=PLAY90  2a href="+cc#L387"inc>chip2/a>hhif5_lef5LEASE" cl5ss="sshif5_lef5s="sr=92 39ua" clode=chkcontrocp" class="sref"kcontrocL416">snd_pcm_substream2/5 ref="valuc="+cass="sref"> class="valucL416r>snd>snd 8)r&ream"0x0fss="line" nam
	aybahardw38"bst9(6a href=9+a>(struct 2a href="+cod9a hre90chip2/a>shif5_righ5LEASE" cl5ss="sshif5_righ5s="sr=92 39ua" clode=chkcontrocp" class="sref"kcontrocL416">snd_pcm_substream2/5 ref="valuc="+cass="sref"> class="valucL416r>snd>snd 12)r&ream"0x0fss="line" nam
	aybahardw38"bst9(7a href=9+class="sref">chip2/a> =9801.c90substream" clc#L387"inc>chip2/a>masass="sref">reg2/masas="sr=92 39ua" clode=chkcontrocp" class="sref"kcontrocL416">snd_pcm_substream2/5 ref="valuc="+cass="sref"> class="valucL416r>snd>snd 16)r&ream"0xffss="line" nam
	aybahardw38"bst9s8a href=9+d_pcm_substream_chipas49sref"90ef">outw2/a> c#L387"inc>chip2/a>invertss="sref">reg2/invertL416r=92 39ua" clode=chkcontrocp" class="sref"kcontrocL416">snd_pcm_substream2/5 ref="valuc="+cass="sref"> class="valucL416r>snd>snd 24)r&ream"0xffss="line" nam
	aybahardw38"bst9GGER5PAUS9_PUSH2/a>{vchip2/a>5U1IGGER_S59" cla91 id	2L439" cl87"inc>chip2/a>spin_lock_irqLEASE" cl5ss="sspin_lock_irqL416"&ream_"sref">outw2/a>(i3">_"ubstrchip" class="s">snd_pcm_substream2reg_locklass="line" namreg_lockL4162L417" cl5ss="line" nam
	2L4am
9" class="9ref">chip2/#L392" i	oint9" cla91fm801.c#L387"87"inc>chip2/a>ucontrocp" class="sref"ucontrocL416OL14" class="line" nvaluc="+cass="sref">valucL416ass="hip" class=integ/f5IGGER_RES5ME" integ/fref=ass="hip" class=valuc="+cass="sref">valucL416[0]r=92 39ua" clode=chintime" cla5s="sr5intL416"> 4162/a>5     ="sound/pc>        2a href="+code=spin_unlock" dortss="sref">reg2/dort801.c+387"inc>chip2/a>reglass="line" namregs="s)r>snd>snd 87"inc>chip2/a>hhif5_lef5LEASE" cl5ss="sshif5_lef5s="s)r&ream" 39ua" clode=chmasass="sref">reg2/masas="s5a href="+code=EINVAL" cl5ss="9t 2a href9"+code=snd_fm801_playbac9_prep91ass="sref">cha href="+code=cucontrocp" class="sref"ucontrocL416OL14" class="line" nvaluc="+cass="sref">valucL416ass="hip" class=integ/f5IGGER_RES5ME" integ/fref=ass="hip" class=valuc="+cass="sref">valucL416[1]r=92 39ua" clode=chintime" cla5s="sr5intL416"> 4162/a>5     ="sound/pc>        2a href="+code=spin_unlock" dortss="sref">reg2/dort801.c+387"inc>chip2/a>reglass="line" namregs="s)r>snd>snd 87"inc>chip2/a>hhif5_righ5LEASE" cl5ss="sshif5_righ5s="s)r&ream" 39ua" clode=chmasass="sref">reg2/masas="s5a href="+code=EINVAL" cl5ss="9t0ubstrea9>(struct 2a href="+code=9nd_pc91href="+code=sa href="+code=cspin_unlock_irqLEASE" cl5ss="sspin_unlock_irqL416"&ream_"sref">outw2/a>(i3">_"ubstrchip" class="s">snd_pcm_substream2reg_locklass="line" namreg_lockL4162L417" cl5ss="line" nam
	2L4am
9"4ubstrea9 class="sref">chip2/a> =92a hr915801.c#L425" 4392 39ua" clode=chinvertss="sref">reg2/invertL416)"7" id	2L557" class="line" nam
9c5a href=9nd_pcm_substream_chip/f59class91  2a href="+ceeeeeeeea href="+code=cucontrocp" class="sref"ucontrocL416OL14" class="line" nvaluc="+cass="sref">valucL416ass="hip" class=integ/f5IGGER_RES5ME" integ/fref=ass="hip" class=valuc="+cass="sref">valucL416[0]r=987"inc>chip2/a>masass="sref">reg2/masas="sr-pa href="+code=cucontrocp" class="sref"ucontrocL416OL14" class="line" nvaluc="+cass="sref">valucL416ass="hip" class=integ/f5IGGER_RES5ME" integ/fref=ass="hip" class=valuc="+cass="sref">valucL416[0]5a href="+co class="line" nam
9c6a href=9      default;vvalucL416ass="hip" class=integ/f5IGGER_RES5ME" integ/fref=ass="hip" class=valuc="+cass="sref">valucL416[1]r=987"inc>chip2/a>masass="sref">reg2/masas="sr-pa href="+code=cucontrocp" class="sref"ucontrocL416OL14" class="line" nvaluc="+cass="sref">valucL416ass="hip" class=integ/f5IGGER_RES5ME" integ/fref=ass="hip" class=valuc="+cass="sref">valucL416[1]5a href="+co class="line" nam
9c7a href=9_ctrl")ass="sref">snd_pc9_subs91substream" cl"rup">chipa>vchipa>vchipa>vchip2/a>hitse=reg_pu5cdoublc="+cass="sref">hitse=reg_pu5cdoublc3912"NDRV_P5M_TRI5P4M_TRI4GER_Rkcontrocp" class="sref"ER_RkcontrocL416r>_"sref">outw2/akcontrocp" class="sref"kcontrocL416l417" cl5ss="line" nam
	2L41la95 2a href9ef="+code=FM801_STEREIRQ9/a>TU92ER_Rctl_elem_valucL416r>_"sref">outw2/aucontrocp" class="sref"ucontrocL416ss="sref">fm8012/a> *2a href="95repare2/9:vms2/a>));v);v_"sref">outw2/a>(i3">_"ubstrchip" class="srpta href="+code=cER_Rkcontroc_>(i3">_"ubstrchip" ER_Rkcontroc_>(i3L416"> 4162/a>5     kcontrocp" class="sref"kcontrocL4162L417" cl5ss="line" nam
	2L4am
95="sref">9href="+code=chip" class=9sref"92  2a href="+cc#L387"inc>chip2/a>reglass="line" namregs="srpta href="+code=ckcontrocp" class="sref"kcontrocL416">snd_pcm_substream2/5 ref="valuc="+cass="sref"> class="valucL416r>ream"0xffss="line" nam
	aybahardw38"bst956a href=9LAST2/a> ;vchip2/a>shif5_lef5LEASE" cl5ss="sshif5_lef5s="sr=92 39ua" clode=chkcontrocp" class="sref"kcontrocL416">snd_pcm_substream2/5 ref="valuc="+cass="sref"> class="valucL416r>snd>snd 8)r&ream"0x0fss="line" nam
	aybahardw38"bst9" class="9ref">chip2/a>5> *2a hre59"+cod92substream" clc#L387"inc>chip2/a>shif5_righ5LEASE" cl5ss="sshif5_righ5s="sr=92 39ua" clode=chkcontrocp" class="sref"kcontrocL416">snd_pcm_substream2/5 ref="valuc="+cass="sref"> class="valucL416r>snd>snd 12)r&ream"0x0fss="line" nam
	aybahardw38"bst9"8PAUSE2/9nt7"rup"sref">outw2/a>(i9fmchi92ef">outw2/a> c#L387"inc>chip2/a>masass="sref">reg2/masas="sr=92 39ua" clode=chkcontrocp" class="sref"kcontrocL416">snd_pcm_substream2/5 ref="valuc="+cass="sref"> class="valucL416r>snd>snd 16)r&ream"0xffss="line" nam
	aybahardw38"bst9c#L445" i9	2L4451.c" na, void"line9 nam
92t2/a>) == 16)c#L387"inc>chip2/a>invertss="sref">reg2/invertL416r=92 39ua" clode=chkcontrocp" class="sref"kcontrocL416">snd_pcm_substream2/5 ref="valuc="+cass="sref"> class="valucL416r>snd>snd 24)r&ream"0xffss="line" nam
	aybahardw38"bst9ass="sref9>snd_pcm_substream2/5(2a9href=93 id	2L439" clunsigned shorME2/a>;v);vchip2/a>5m801.c#L952" i931ss4"sa href="+code=EINVAL" cl5ss="9a 2a href9d shorf="+code=snd_fm801939ua 93ass="sref">cha href="+code=cvalock2/a>);vvalucL416ass="hip" class=integ/f5IGGER_RES5ME" integ/fref=ass="hip" class=valuc="+cass="sref">valucL416[0]r&ream" 39ua" clode=chmasass="sref">reg2/masas="s5a href="+code=EINVAL" cl5ss="9arepare2/9RES5" id	2L434" class="l9ne"5n93href="+code=sa href="+code=cval2ck2/a>);vvalucL416ass="hip" class=integ/f5IGGER_RES5ME" integ/fref=ass="hip" class=valuc="+cass="sref">valucL416[1]r&ream" 39ua" clode=chmasass="sref">reg2/masas="s5a href="+code=EINVAL" cl5ss="9aode=chip9 href="+code=ply 39ua" c9 href935801.c#L425" 4392 39ua" clode=chinvertss="sref">reg2/invertL416)"7" id	2L557" class="line" nam
9"sref">pl9_count2/a> - 1, 2a href=9+code93  2a href="+ceeeeeeeea href="+code=cvalock2/a>);vreg2/masas="sr-pa href="+code=cvalock2/a>);vch93);vreg2/masas="sr-pa href="+code=cval2ck2/a>);vchipa>vchip2/a>hitse=reg_updss="bit2L373"> 3732/a>5+code=reg_updss="bit2L416"> 4162/a>5     ="sound/pc>        2a href=ly 39ua" clode=chreglass="line" namregs="slrup">chipa>v56at2/a>) ==eeeeeeeeeee" classssss2 39ua" clode=chmasass="sref">reg2/masas="sr<< 87"inc>chip2/a>hhif5_lef5LEASE" cl5ss="sshif5_lef5s="s)r|92 39ua" clode=chmasass="sref">reg2/masas="sr<< 87"inc>chip2/a>hhif5_righ5LEASE" cl5ss="sshif5_righ5s="s)lrup">chipa>vc9ip2/a>->2a href="+cod9=ply_94a>->2a href="+codounpcilasse" classssss2 39ua" clode=chvalock2/a>);vchip2/a>hhif5_lef5LEASE" cl5ss="sshif5_lef5s="s )r|92 39ua" clode=chval2ck2/a>);vchip2/a>hhif5_righ5LEASE" cl5ss="sshif5_righ5s="s)2L417" cl5ss="line" nam
	2L4am
9= class="9Sf="+code=chip" class="s9ef">c94fm801"rup">chipa>v):vSc#L387"inc>chip2/a>hitse=reg_;2a _muxL373"> 3732/a>5hitse=reg_;2a _mux3912"NDRV_P5M_TRI5P4M_TRI4GER_Rkcontrocp" class="sref"ER_RkcontrocL416r>_"sref">outw2/akcontrocp" class="sref"kcontrocL416l417" cl5ss="line" nam
	2L41la94612/a>  9     2a href="+code=outw9 clpo945801.c#L425" ppppppp ipppppppppppppNDRV_P5M_TRI5P4M_TRI4GER_Rctl_elem_infef">chip2/a>->ER_Rctl_elem_infeL416r>_"sref">outw2/auinfef">chip2/a>->uinfeL416ss="sref">fm8012/a> *2a href="94sref">pl9>2a hr5f="+code=reg_l9ck" c94chip2/9>5 href="+c5de=FM801_16B9T" cl94Scharr>_"sref">outw2/atext2L373"> 3732/a>5text2L416[5]"="7" id	2L557" class="line" nam
9fode=FM809 href="+codde=chip" clas9="sre94"sound/pef">chipef">psref">chip2/5NDRing">"AC97 Primary""sref">,psref">chip2/5NDRing">"FM""sref">,psref">chip2/5NDRing">"I2S""sref">,psref">chip2/5NDRing">"PCM""sref">,psref">chip2/5NDRing">"AC97 Secondary""sref">" id	2L557" class="line" nam
9flass5"sr9>);vfo59at2/a>)s="line" nam
	aybahardw38"bst9eeeeeeeee9eeeeeeeeeee" class="sref9>chip95 id	2L439" cl87"inc>chip2/a>uinfef">chip2/a>->uinfeL416OL14" class="line" ntypc="+cass="sref">typcL416rpta href="+code=cRV_PCMCTL_ELEM_TYPE_ENUMERATEDine" 11.c#L286"RV_PCMCTL_ELEM_TYPE_ENUMERATEDs="s5a href="+code=EINVAL" cl5ss="9nels" cla9s="sref">5hanne5s2/a> &g9; 1) 95fm801.c#L387"87"inc>chip2/a>uinfef">chip2/a>->uinfeL416OL14" class="line" ncm
	tss="sref">reg2/cm
	tL416rpt1ss="line" nam
	aybahardw38"bst9nltunsign9 class="s5ef">F5801_STER9O2/a>95ass="sref">cha href="+code=cuinfef">chip2/a>->uinfeL416OL14" class="line" nvaluc="+cass="sref">valucL416ass="hip" class=enumerss=d="+cass="sref">enumerss=dL416ass="hip" class=item2L373"> 3732/a>5item2L416rpt5ss="line" nam
	aybahardw38"bst9n=5sref"59ch5nnels2/a> == 4)vchip2/a>->uinfeL416OL14" class="line" nvaluc="+cass="sref">valucL416ass="hip" class=enumerss=d="+cass="sref">enumerss=dL416ass="hip" class=itemL373"> 3732/a>5itemL416r>snd 4ss="sref">fm8012/a> *2a href="9chip2/a>59GGER_RES5CHANNELS_4" cla9s="sr955801.c#L425" ppppppp  39ua" clode=chuinfef">chip2/a>->uinfeL416OL14" class="line" nvaluc="+cass="sref">valucL416ass="hip" class=enumerss=d="+cass="sref">enumerss=dL416ass="hip" class=itemL373"> 3732/a>5itemL416r= 4ss="line" nam
	aybahardw38"bst9nsref">pl9de=ch=chip" class="sref"9chIRQ95  2a href="+cM_TRI5P4M_TRI4GEtrcpyf">chip2/a>->EtrcpyL416"> 4162/a>5     uinfef">chip2/a>->uinfeL416OL14" class="line" nvaluc="+cass="sref">valucL416ass="hip" class=enumerss=d="+cass="sref">enumerss=dL416ass="hip" class=d/pc="+cass="sref">d/pc3912ly 39ua" clode=chtext2L373"> 3732/a>5text2L416[> 4162/a>5     uinfef">chip2/a>->uinfeL416OL14" class="line" nvaluc="+cass="sref">valucL416ass="hip" class=enumerss=d="+cass="sref">enumerss=dL416ass="hip" class=itemL373"> 3732/a>5itemL416]2L417" cl5ss="line" nam
	2L4am
9c">chip2/9=ef="+code=fm801d/pci/fm901.c#95chipa>vchipa>vchip2/a>hitse=reg_getcmuxL373"> 3732/a>5hitse=reg_getcmux3912"NDRV_P5M_TRI5P4M_TRI4GER_Rkcontrocp" class="sref"ER_RkcontrocL416r>_"sref">outw2/akcontrocp" class="sref"kcontrocL416l417" cl5ss="line" nam
	2L41la9ref">chip9/5>, 2a hre5="+code=PLY_9TRL" 96a>->2a href="+codounpcilasse" cNDRV_P5M_TRI5P4M_TRI4GER_Rctl_elem_valuc="+cass="sref">ER_Rctl_elem_valucL416r>_"sref">outw2/aucontrocp" class="sref"ucontrocL416ss="sref">fm8012/a> *2a href="9utw2/a>((9a hss="+codcode=chip" cl9ss="s96;vch_RESUME2/a>;v_"sref">outw2/a>(i3">_"ubstrchip" class="srpta href="+code=cER_Rkcontroc_>(i3">_"ubstrchip" ER_Rkcontroc_>(i3L416"> 4162/a>5     kcontrocp" class="sref"kcontrocL4162L417" cl5ss="line" nam
	2L4am
9a href="59 (2a href="+code=cmd" c59ss="5963a hre;v;vvals="s5a href="+code=EINVAL" cl5ss="9eeeeeeeee9eeeeeeeeeee" class="sref9>chip965801.ca href="+code=EINVAL" cl5ss="9esref">pl9ss="sref"5FM80156nels2/a9 == 696  2a href="+cM_TRI5P4M_TRI4Gval="+cass="sref">vals="sr=987"inc>chip2/a>intime" cla5s="sr5intL416"> 4162/a>5     ">SNDRREGime" cla5s="sr5">SNDRREGL416"> 4162/a>5     ="sound/pc>        2a href=ly 39ua" clode=chREC_SRCund/pc>        REC_SRCs="s)2r&ream"75a href="+code=EINVAL" cl5ss="9e">chip2/9ss="sref"5FM8015601_16BI92/a> 96vals="sr&snd 4ss="sref">fm8012/a> *2a href="9ass="s5ef9>F56ATE_MASK2/a> |vchipef">ps_TRI5P4M_TRI4Gval="+cass="sref">vals="sr=94ss="line" nam
	aybahardw38"bst9rL443" id9=FM8015de=FM801_START" c9ass="96href="+code=s 39ua" clode=chucontrocp" class="sref"ucontrocL416OL14" class="line" nvaluc="+cass="sref">valucL416ass="hip" class=enumerss=d="+cass="sref">enumerss=dL416ass="hip" class=itemL373"> 3732/a>5itemL416[0]r=987"inc>chip2/a>val="+cass="sref">vals="s5a href="+code=EINVAL" cl5ss="9e2a href59 clode=ch=chip" class="s9ef">c96="5ref">56at2ass5"sr-5a href="+code=EINVAL" cl5ss="9sref">snd9pcm_substream2/5 class="95ne" 97 id	2"rup">chipa>vchipa>v/* TODO */idx9/a>;v97chip2/a>hitse=reg_pu5cmuxL373"> 3732/a>5hitse=reg_pu5cmux3912"NDRV_P5M_TRI5P4M_TRI4GER_Rkcontrocp" class="sref"ER_RkcontrocL416r>_"sref">outw2/akcontrocp" class="sref"kcontrocL416l417" cl5ss="line" nam
	2L41la94 href="59ANDLED class="line" nIRQ9HANDL971.ufrclas_"srf="+codounpcilasse" cNDRV_P5M_TRI5P4M_TRI4GER_Rctl_elem_valuc="+cass="sref">ER_Rctl_elem_valucL416r>_"sref">outw2/aucontrocp" class="sref"ucontrocL416ss="sref">fm8012/a> *2a href="9"eeeeeeee9sound/pci/f5oode=FM805od9=FM80975801.7" id	2L557" class="line" nam
9439ua" cl9"sound/pci/5 class="l5ne9 nam
97  2a href="+c_RESUME2/a>;v_"sref">outw2/a>(i3">_"ubstrchip" class="srpta href="+code=cER_Rkcontroc_>(i3">_"ubstrchip" ER_Rkcontroc_>(i3L416"> 4162/a>5     kcontrocp" class="sref"kcontrocL4162L417" cl5ss="line" nam
	2L4am
94LAST" cl9d_fm801_pl2L357"> 3572/a9class97;vvals="s5a href="+code=EINVAL" cl5ss="94ss="s5ef9ef="sound/pci/5 de=FM8019ss="s97substca href="+code=EINVAL" cl5ss="94L443" id9ime2/a>->2a 5IGGER_RE95ME" 978a hrea href=c3922 39ua" clode=chval="+cass="sref">vals="srpta href="+code=cucontrocp" class="sref"ucontrocL416OL14" class="line" nvaluc="+cass="sref">valucL416ass="hip" class=enumerss=d="+cass="sref">enumerss=dL416ass="hip" class=itemL373"> 3732/a>5itemL416[0])r&snd 4ss="sref">fm8012/a> *2a href="942a href59RQ=NON"" clde=chip" clas9="sre97="5ref">56at2/a>) ==eass5"sr-ss="hip" class=EINVALL373"> 3732/a>5EINVALs="s5a href="+code=EINVAL" cl5ss="9s="line"59am
	5L439"eXchip2/a>58019c#L43980"5ref">56at2ass5"sr87"inc>chip2/a>hitse=reg_updss="bit2L373"> 3732/a>5+code=reg_updss="bit2L416"> 4162/a>5     ="sound/pc>        2a href=ly 39ua" clode=ch">SNDRREC_SRCund/pc>        ">SNDRREC_SRCref=ly7ly 39ua" clode=chval="+cass="sref">vals="s2L417" cl5ss="line" nam
	2L4am
9s class="9         breakkkkkkkkkkk9kkkkk98fm801"rup">chipa>vF5801_STER9O2/a>98SconsME2/a>;v 4162/a>5     db_scale_dsound/pc>        db_scale_dsoref=ly-3450, 150, 02L417" cl5ss="line" nam
	2L4am
9seeeeeeee9e=hw_params" class5"sref9 href98PAUSE" class="5ref">57436"> 4362/a9c39ua" cl9line" nam
	2L422"> 4222/9>    985ref=#def="+"M_TRI5P4M_TRI4G">SNDRCONTROLSund/pc>        ">SNDRCONTROLS"5refM_TRI5P4M_TRI4GARRAY_SIZEime" cla5s="sr5ARRAY_SIZEL416"> 4162/a>5     +code=reg_controc2L373"> 3732/a>5+code=reg_controc2L416ss="sref">fm8012/a> *2a href="9cLAST" cl9+code=FM801_REG" class="9ref">9M801_>s="sref">fm8012/a> *2a href="9css="s5ef9href="+code=FM801_REG" /9>(2="98eam2/_Ref">SNDRV_P5M_TRI5P4M_TRI4GER_Rkcontroc_netime" cla5s="sr5ER_Rkcontroc_net"5refM_TRI5P4M_TRI4G+code=reg_controc2L373"> 3732/a>5+code=reg_controc2L416[]fM_TRI5P4M_TRI4G__devinitdssaL373"> 3732/a>5__devinitdssas="srpt7" id	2L557" class="line" nam
92L443" id9c>2a hr4f="+code=reg_9ock" 98ef">oM_TRI5P4M_TRI4G">SNDRDOUBLE_TLVime" cla5s="sr5">SNDRDOUBLE_TLVL416">ref">chip2/5NDRing">"Wave Playback Volume""sref">,ps_TRI5P4M_TRI4G">SNDRPCM_VOLL373"> 3732/a>5">SNDRPCM_VOLref=ly0, 8, 31, 1l417" cl5ss="line" nam
	2L41la92ply 39ua9line" nam
	2L461"> 4612/9>    98="5ref">56at2/a>) ==ee> 4162/a>5     db_scale_dsound/pc>        db_scale_dsoref=)lrup">chipa>v9clase99a>-&gs_TRI5P4M_TRI4G">SNDRSINGLEime" cla5s="sr5">SNDRSINGLEL416">ref">chip2/5NDRing">"Wave Playback Switch""sref">,ps_TRI5P4M_TRI4G">SNDRPCM_VOLL373"> 3732/a>5">SNDRPCM_VOLref=ly15, 1l 1)lrup">chipa>vSNDRDOUBLE_TLVime" cla5s="sr5">SNDRDOUBLE_TLVL416">ref">chip2/5NDRing">"I2S Playback Volume""sref">,ps_TRI5P4M_TRI4G">SNDRI2S_VOLL373"> 3732/a>5">SNDRI2S_VOLref=ly0, 8, 31, 1l417" cl5ss="line" nam
	2L41la9t58STEREO9ef4>substream2/a>;v 4162/a>5     db_scale_dsound/pc>        db_scale_dsoref=)lrup">chipa>v 3912/ href="sound/9ci/fm99href=s_TRI5P4M_TRI4G">SNDRSINGLEime" cla5s="sr5">SNDRSINGLEL416">ref">chip2/5NDRing">"I2S Playback Switch""sref">,ps_TRI5P4M_TRI4G">SNDRI2S_VOLL373"> 3732/a>5">SNDRI2S_VOLref=ly15, 1l 1)lrup">chipa>vchip2/> 4382/a>soin97" cl995801.M_TRI5P4M_TRI4G">SNDRDOUBLE_TLVime" cla5s="sr5">SNDRDOUBLE_TLVL416">ref">chip2/5NDRing">"FM Playback Volume""sref">,ps_TRI5P4M_TRI4G">SNDRFM_VOLL373"> 3732/a>5">SNDRFM_VOLref=ly0, 8, 31, 1l417" cl5ss="line" nam
	2L41la9t39ua" cl9f="+code=snd_fm801_playb9ck_pr99  2a href="+ceeeeeeeen> 4162/a>5     db_scale_dsound/pc>        db_scale_dsoref=)lrup">chipa>v(struct 2a href="+cod9=snd_99SNDRSINGLEime" cla5s="sr5">SNDRSINGLEL416">ref">chip2/5NDRing">"FM Playback Switch""sref">,ps_TRI5P4M_TRI4G">SNDRFM_VOLL373"> 3732/a>5">SNDRFM_VOLref=ly15, 1l 1)lrup">chipa>vchip2/a> =92a hr99subst7" id	2L557" class="line" nam
9-L443" id9nd_pcm_substream_chipas49gt;2a998a hrea href=ass="hip" class=ifacline" 11.c#L286"ifaclL416rpta href="+code=cRV_PCMCTL_ELEM_IFACE_MIXERine" 11.c#L286"RV_PCMCTL_ELEM_IFACE_MIXERs="sl" id	2L557" class="line" nam
9-ply 39ua9801_16BIT2/a>;vd/pc3912rptaref">chip2/5NDRing">"Digital Caps5"e Source""sref">," id	2L557" class="line" nam
10"+code=ca10"+co16BIT2/a>;v10"+a hrea href=ass="hip" class=infef">chip2/a>->infeL416rpta href="+code=chitse=reg_;2a _muxL373"> 3732/a>5hitse=reg_;2a _mux3912," /pre> 37do;v id	2L557" class="line" nam
10"1code=ca10"hss="+codee=KERa>v10"1a hrea href=ass="hip" class=getL373"> 3732/a>5getL416rpta href="+code=chitse=reg_getcmuxL373"> 3732/a>5hitse=reg_getcmux3912," id	2L557" class="line" nam
10"2code=ca10"f4>substream2/a>;v10"2a hrea href=ass="hip" class=pu5LEASE" cl5ss="spu5L416rpta href="+code=chitse=reg_pu5cmuxL373"> 3732/a>5hitse=reg_pu5cmux3912," id	2L557" class="line" nam
10"3code=ca10"str> 3912/ href="sound/10"st>10"3m801"rup">chipa>vchip2/> 4382/a>soin10"ef>10"5801."L417" cl5ss="line" nam
	2L4am
10"5code=ca10"="+code=snd_fm801_playb10"=">10"M801_REG" IRQ=capTUSount2/a> - 1, 10"6code=ca10"a>(struct 2a href="+cod10"a>>10"SNDRCONTROLS_MULTIund/pc>        ">SNDRCONTROLS_MULTI"5refM_TRI5P4M_TRI4GARRAY_SIZEime" cla5s="sr5ARRAY_SIZEL416"> 4162/a>5     +code=reg_controc2cmultiL373"> 3732/a>5+code=reg_controc2cmultiL416ss="sref">fm8012/a> *2a href="10"7code=ca10"class="sref">chip2/a> =10"cl>10"eam2/5>2a hr5f="+code=reg_lock"10"8code=ca10"d_pcm_substream_chipas410"d_>10"ef">o_Ref">SNDRV_P5M_TRI5P4M_TRI4GER_Rkcontroc_netime" cla5s="sr5ER_Rkcontroc_net"5refM_TRI5P4M_TRI4G+code=reg_controc2cmultiL373"> 3732/a>5+code=reg_controc2cmultiL416[]fM_TRI5P4M_TRI4G__devinitdssaL373"> 3732/a>5__devinitdssas="srpt7" id	2L557" class="line" nam
10"9code=ca10"01_16BIT2/a>;v10"9a hrs_TRI5P4M_TRI4G">SNDRSINGLEime" cla5s="sr5">SNDRSINGLEL416">ref">chip2/5NDRing">"AC97 2chOL14"4ch Copy Switch""sref">,ps_TRI5P4M_TRI4G">SNDRCODECMCTRLL373"> 3732/a>5">SNDRCODECMCTRLref=ly7ly1, 02," id	2L557" class="line" nam
101+code=ca10ref">chip2/a>5U1IGGER_S510ref>10rea hrs_TRI5P4M_TRI4G">SNDRSINGLEime" cla5s="sr5">SNDRSINGLEL416">ref">chip2/5NDRing">"AC97 18-bit Switch""sref">,ps_TRI5P4M_TRI4G">SNDRCODECMCTRLL373"> 3732/a>5">SNDRCODECMCTRLref=ly10ly1, 02," id	2L557" class="line" nam
1011code=ca10ref">chip2/#L392" i	oint10ref>10rfm801M_TRI5P4M_TRI4G">SNDRSINGLEime" cla5s="sr5">SNDRSINGLEL416"> href="+code=cRV_PCMCTL_NAME_IEC92L443" clas#L286"RV_PCMCTL_NAME_IEC92LL416">ref">chip2/5NDRing">"""sref">,> href="+code=cCAPTUREime" cla5s="sr5CAPTUREref=l> href="+code=cRWITCH443" clas#L286"RWITCHref=)lps_TRI5P4M_TRI4G">SNDRI2S_MODEL373"> 3732/a>5">SNDRI2S_MODEref=ly8ly1, 02," id	2L557" class="line" nam
1012code=ca10"+code=snd_fm801_playbac10"+c>10r2m801M_TRI5P4M_TRI4G">SNDRSINGLEime" cla5s="sr5">SNDRSINGLEL416"> href="+code=cRV_PCMCTL_NAME_IEC92L443" clas#L286"RV_PCMCTL_NAME_IEC92LL416">ref">chip2/5NDRing">"Raw Dssa ""sref">,> href="+code=cPLAYBACK443" clas#L286"PLAYBACKref=l> href="+code=cRWITCH443" clas#L286"RWITCHref=)lps_TRI5P4M_TRI4G">SNDRI2S_MODEL373"> 3732/a>5">SNDRI2S_MODEref=ly9ly1, 02," id	2L557" class="line" nam
1013code=ca10>(struct 2a href="+code=10>(s>10rhref=s_TRI5P4M_TRI4G">SNDRSINGLEime" cla5s="sr5">SNDRSINGLEL416"> href="+code=cRV_PCMCTL_NAME_IEC92L443" clas#L286"RV_PCMCTL_NAME_IEC92LL416">ref">chip2/5NDRing">"Raw Dssa ""sref">,> href="+code=cCAPTUREime" cla5s="sr5CAPTUREref=l> href="+code=cRWITCH443" clas#L286"RWITCHref=)lps_TRI5P4M_TRI4G">SNDRI2S_MODEL373"> 3732/a>5">SNDRI2S_MODEref=ly10ly1, 02," id	2L557" class="line" nam
1014code=ca10 class="sref">chip2/a> =10 cl>10r5801.M_TRI5P4M_TRI4G">SNDRSINGLEime" cla5s="sr5">SNDRSINGLEL416"> href="+code=cRV_PCMCTL_NAME_IEC92L443" clas#L286"RV_PCMCTL_NAME_IEC92LL416">ref">chip2/5NDRing">"""sref">,> href="+code=cPLAYBACK443" clas#L286"PLAYBACKref=l> href="+code=cRWITCH443" clas#L286"RWITCHref=)lps_TRI5P4M_TRI4G">SNDRGENMCTRLL373"> 3732/a>5">SNDRGENMCTRLref=ly2ly1, 02," id	2L557" class="line" nam
1015code=ca10nd_pcm_substream_chip/f510nd_>10r5801."L417" cl5ss="line" nam
	2L4am
1016code=ca10      default;v10r801_>s="sref">fm8012/a> *2a href="10r7code=ca10_ctrl")ass="sref">snd_pc10_ct>10ream2/_Ref">SvoidfM_TRI5P4M_TRI4G+code=reg_mixer_free_ac97_bu2L373"> 3732/a>5+code=reg_mixer_free_ac97_bu23912"NDRV_P5M_TRI5P4M_TRI4GER_Rac97_bu2L373"> 3732/a>5+codac97_bu23912">_"sref">outw2/abu2L373"> 3732/a>5bu23912ss="sref">fm8012/a> *2a href="1018code=ca10f5>reg_lock2/a>);v>10r8ubst7" id	2L557" class="line" nam
10r9code=ca10/a>(&2a href="+code=10/a>>10r9a hrea href=_RESUME2/a>;v_"sref">outw2/a>(i3">_"ubstrchip" class="srpta href="+code=cbu2L373"> 3732/a>5bu23912">snd_pcm_substream2/5 ref="dssaL373"> 3732/a>5/5 ref="dssas="s5a href="+code=EINVAL" cl5ss="102+code=ca10/a>));voutw2/a>(i3">_"ubstrchip" class="s">snd_pcm_substream2ac97_bu2L373"> 3732/a>5ac97_bu23912"pta href="+code=cNULLL373"> 3732/a>5NULLs="s5a href="+code=EINVAL" cl5ss="1021code=ca10+code-" cl-ref="+code=fm10+co>10/fm801"rup">chipa>v10/SvoidfM_TRI5P4M_TRI4G+code=reg_mixer_free_ac97L373"> 3732/a>5+code=reg_mixer_free_ac973912"NDRV_P5M_TRI5P4M_TRI4GER_Rac97L373"> 3732/a>5+codac97un23">_"sref">outw2/aac97L373"> 3732/a>5ac97un23ss="sref">fm8012/a> *2a href="1024code=ca10a>ms2/a>));v10/  2a href="+c_RESUME2/a>;v_"sref">outw2/a>(i3">_"ubstrchip" class="srpta href="+code=cac97L373"> 3732/a>5ac97un23">snd_pcm_substream2/5 ref="dssaL373"> 3732/a>5/5 ref="dssas="s5a href="+code=EINVAL" cl5ss="1026code=ca10LAST2/a> ;v 3732/a>5ac97un23">snd_pcm_substream2numL373"> 3732/a>5nums="srp= 02t7" id	2L557" class="line" nam
1027code=ca10ref">chip2/a>5> *2a hre510ref>10/"sound/pef">chipef">ps_TRI5P4M_TRI4G>(i3">_"ubstrchip" class="s">snd_pcm_substream2ac97L373"> 3732/a>5ac97un23"pta href="+code=cNULLL373"> 3732/a>5NULLs="s5a href="+code=EINVAL" cl5ss="1028code=ca10nt7"rup"sref">outw2/a>(i10nt7>10/href="+code=s} elset7" id	2L557" class="line" nam
1029code=ca10	2L4451.c" na, void"line10	2L>10/="5ref">56at2/a>) ==e_"sref">outw2/a>(i3">_"ubstrchip" class="s">snd_pcm_substream2ac97_secL373"> 3732/a>5ac97_secun23"pta href="+code=cNULLL373"> 3732/a>5NULLs="s5a href="+code=EINVAL" cl5ss="103+code=ca10>snd_pcm_substream2/5(2a10>sn>10>sref="+code=s}a href="+code=EINVAL" cl5ss="1031code=ca10"sref">chip2/a>5m801.c#L10"sr>10>fm801"rup">chipa>v10>Sc#L387"inc>chip2/a>__devinitL373"> 3732/a>5__devinit"5refM_TRI5P4M_TRI4G+code=reg_mixerL373"> 3732/a>5+code=reg_mixer3912"NDRV_P5M_TRI5P4M_TRI4Geg_lock2/a>);v_"sref">outw2/a>(i3">_"ubstrchip" class="sss="sref">fm8012/a> *2a href="1034code=ca10 href="+code=ply 39ua" c10 hr>10>5801.7" id	2L557" class="line" nam
1035code=ca10_count2/a> - 1, 2a href=10_co>10>  2a href="+c_RESUME2/a>;v 3732/a>5+codac97_templef="5refM_TRI5P4M_TRI4Gac97L373"> 3732/a>5ac97un235a href="+code=EINVAL" cl5ss="1036code=ca10f="+code=chip" class="sr10f=">10>chip2/a>if">chip2/a>->iun235a href="+code=EINVAL" cl5ss="1037code=ca10_STEREIRQ=MPUef="|chip" 10_ST>10>substream" clc#L387"inc>chip2/a>errL373"> 3732/a>5errun235a href="+code=EINVAL" cl5ss="1038code=ca10.c#L435" id	2L439" class10.c#>10>8 2a href="+c_Ref">SNDRV_P5M_TRI5P4M_TRI4GER_Rac97_bu2_op2L373"> 3732/a>5+codac97_bu2_op2"5refM_TRI5P4M_TRI4Gop2L373"> 3732/a>5op2"5refpt7" id	2L557" class="line" nam
1039code=ca10code=substream" class=5s10cod>10>="5ref">56at2/a>) ==eass="hip" class=wrif=L373"> 3732/a>5wrif=L416rpta href="+code=chitse=reg_ode=c_wrif=L373"> 3732/a>5hitse=reg_ode=c_wrif=3912," id	2L557" class="line" nam
104+code=ca10ip2/a>->2a href="+cod10ip2>10ip"5ref">56at2/a>) ==eass="hip" class=read="+cass="sref">readL416rpta href="+code=chitse=reg_ode=c_read="+cass="sref">hitse=reg_ode=c_read3912," id	2L557" class="line" nam
1041code=ca10Sf="+code=chip" class="s10Sf=>10i1a hrea href="L417" cl5ss="line" nam
	2L4am
1042code=ca10ch=ef="+code=fm801d/pci/10ch=>10i):v 3732/a>5errun23rpta href="+code=chitsac97_bu2L373"> 3732/a>5+codac97_bu23912"> 4162/a>5     ="sound/pc>        2a href="+code=spin_unlock" card="+cass="sref">cardref=ly0, &ream_"sref">outw2/aop2L373"> 3732/a>5op2"5relps_TRI5P4M_TRI4G="sound/pc>        2a href=ly&ream_"sref">outw2/a>(i3">_"ubstrchip" class="s">snd_pcm_substream2ac97_bu2L373"> 3732/a>5ac97_bu23912)2r< 0ss="sref">fm8012/a> *2a href="1044code=ca10     2a href="+code=outw10   >10i5801.c#L425" ppppppp ass5"sr87"inc>chip2/a>errL373"> 3732/a>5errun235a href="+code=EINVAL" cl5ss="1045code=ca10>2a hr5f="+code=reg_l10>>10i  2a href="+cM_TRI5P4M_TRI4G>(i3">_"ubstrchip" class="s">snd_pcm_substream2ac97_bu2L373"> 3732/a>5ac97_bu23912">snd_pcm_substream2/5 ref="freeL373"> 3732/a>5/5 ref="freeL416rpta href="+code=chitse=reg_mixer_free_ac97_bu2L373"> 3732/a>5+code=reg_mixer_free_ac97_bu239125a href="+code=EINVAL" cl5ss="1046code=ca10>5 href="+c5de=FM801_16B10>5 >10i801_>s="sref">fm8012/a> *2a href="1047code=ca10 href="+codde=chip" clas10 hr>10i7 2a href="+cM_TRI5P4M_TRI4GmemsetL373"> 3732/a>5memset3912"&ream_"sref">outw2/aac97L373"> 3732/a>5ac97un23ly0, sizeof2 39ua" clode=chac97L373"> 3732/a>5ac97un23)2L417" cl5ss="line" nam
	2L4am
10i8code=ca10>);v 3732/a>5ac97un23ass="hip" class=p5 ref="dssaL373"> 3732/a>5/5 ref="dssas="srpta href="+code=c>(i3">_"ubstrchip" class="sL417" cl5ss="line" nam
	2L4am
10i9code=ca10+code=format" class="sr510+co>10i9ref="+code=s 39ua" clode=chac97L373"> 3732/a>5ac97un23ass="hip" class=p5 ref="freeL373"> 3732/a>5/5 ref="freeL416rpta href="+code=chitse=reg_mixer_free_ac97L373"> 3732/a>5+code=reg_mixer_free_ac973912L417" cl5ss="line" nam
	2L4am
105+code=ca10eeeeeeeeeee" class="sref10eee>10eeref="+code=s43922 39ua" clode=cherrL373"> 3732/a>5errun23rpta href="+code=chitsac97_mixerL373"> 3732/a>5+codac97_mixer3912"> 4162/a>5     ="sound/pc>        2a href="+code=spin_unlock" ac97_bu2L373"> 3732/a>5ac97_bu23912ly&ream_"sref">outw2/aac97L373"> 3732/a>5ac97un23ly&ream_"sref">outw2/a>(i3">_"ubstrchip" class="s">snd_pcm_substream2ac97L373"> 3732/a>5ac97un23)2r< 0ss="sref">fm8012/a> *2a href="1051code=ca10s="sref">5hanne5s2/a> &g10s=">10eoun23">) == pppppppppass5"sr87"inc>chip2/a>errL373"> 3732/a>5errun235a href="+code=EINVAL" cl5ss="1052code=ca10 class="s5ef">F5801_STER10 cl>10e2ref="+code=s4392_"sref">outw2/a>(i3">_"ubstrchip" class="s">snd_pcm_substream2secondaryL373"> 3732/a>5+econdaryun23)t7" id	2L557" class="line" nam
1053code=ca10ch5nnels2/a> == 4)v10e1.ufrclas_"srf="+codo 39ua" clode=chac97L373"> 3732/a>5ac97un23ass="hip" class=numL373"> 3732/a>5nums="srpt1ss="line" nam
	aybahardw38"bst10e4code=ca10GGER_RES5CHANNELS_4" cla10GGE>10e5801.c#L425" ppppppp  39ua" clode=chac97L373"> 3732/a>5ac97un23ass="hip" class=addrL373"> 3732/a>5addrs="srpta href="+code=c>(i3">_"ubstrchip" class="s">snd_pcm_substream2secondary_addrL373"> 3732/a>5secondary_addrun235a href="+code=EINVAL" cl5ss="1055code=ca10de=ch=chip" class="sref"10de=>10e  2a href="+ceeeeeeee43922 39ua" clode=cherrL373"> 3732/a>5errun23rpta href="+code=chitsac97_mixerL373"> 3732/a>5+codac97_mixer3912"> 4162/a>5     ="sound/pc>        2a href="+code=spin_unlock" ac97_bu2L373"> 3732/a>5ac97_bu23912ly&ream_"sref">outw2/aac97L373"> 3732/a>5ac97un23ly&ream_"sref">outw2/a>(i3">_"ubstrchip" class="s">snd_pcm_substream2ac97_secL373"> 3732/a>5ac97_secun23)2r< 0ss="sref">fm8012/a> *2a href="1056code=ca10=ef="+code=fm801d/pci/fm10=ef>10echip2/a>errL373"> 3732/a>5errun235a href="+code=EINVAL" cl5ss="1057code=ca10ATE_MASK2/a> |v10esubstream" cl"rup">chipa>v10ehref="+code=sfor92 39ua" clode=chif">chip2/a>->iun23rpt0; 87"inc>chip2/a>if">chip2/a>->iun23r< 87"inc>chip2/a>">SNDRCONTROLSund/pc>        ">SNDRCONTROLS"5re; 87"inc>chip2/a>if">chip2/a>->iun23++ss="sref">fm8012/a> *2a href="1059code=ca10gt;2a hre5="+code=ply_bu10gt;>10e="5ref">56at2/a>) ==e_"sref">outw2/aER_Rctl_addL373"> 3732/a>5+codctl_add3912"> 4162/a>5     ="sound/pc>        2a href="+code=spin_unlock" card="+cass="sref">cardref=ly_"sref">outw2/aER_Rctl_newock2/a>);voutw2/a+code=reg_controc2L373"> 3732/a>5+code=reg_controc2L416[87"inc>chip2/a>if">chip2/a>->iun23]lps_TRI5P4M_TRI4G="sound/pc>        2a href=)2L417" cl5ss="line" nam
	2L4am
106+code=ca10/5>, 2a hre5="+code=PLY_10/5>>10/5ref="+code=s4392_"sref">outw2/a>(i3">_"ubstrchip" class="s">snd_pcm_substream2multichannel="+cass="sref">multichannelun23)t7" id	2L557" class="line" nam
1061code=ca10a hss="+codcode=chip" cl10a h>10/oun23">) == pppppppppfor92 39ua" clode=chif">chip2/a>->iun23rpt0; 87"inc>chip2/a>if">chip2/a>->iun23r< 87"inc>chip2/a>">SNDRCONTROLS_MULTIund/pc>        ">SNDRCONTROLS_MULTI"5re; 87"inc>chip2/a>if">chip2/a>->iun23++ss="sref">fm8012/a> *2a href="1062code=ca10a>;voutw2/aER_Rctl_addL373"> 3732/a>5+codctl_add3912"> 4162/a>5     ="sound/pc>        2a href="+code=spin_unlock" card="+cass="sref">cardref=ly_"sref">outw2/aER_Rctl_newock2/a>);voutw2/a+code=reg_controc2cmultiL373"> 3732/a>5+code=reg_controc2cmultiL416[87"inc>chip2/a>if">chip2/a>->iun23]lps_TRI5P4M_TRI4G="sound/pc>        2a href=)2L417" cl5ss="line" nam
	2L4am
1063code=ca10 (2a href="+code=cmd" c510 (2>10/3ubstream" cl"rup">chipa>v10/5m801"rup">chipa>v10/801_>s="sref">fm8012/a> *2a href="1067code=ca10>F56ATE_MASK2/a> |vF5>10/subst>ref">chip2/5comment">/*"sref">" id	2L557" class="line" nam
10/8code=ca10=FM8015de=FM801_START" c10=FM>10/8ubst>ref">chip2/5comment"> *clc#itialization rout801s"sref">" id	2L557" class="line" nam
10/9code=ca10 clode=ch=chip" class="s10 cl>10/9ubst>ref">chip2/5comment"> */"sref">" id	2L557" class="line" nam
107+code=ca10pcm_substream2/5 class="10pcm>10pc01_>s="sref">fm8012/a> *2a href="1071code=ca10ine" nam
	rivss="datad_p10ine>10pfm801hw_parac#L387"inc>chip2/a>wait_for_ode=cL373"> 3732/a>5wait_for_ode=c3912"NDRV_P5M_TRI5P4M_TRI4Geg_lock2/a>);v_"sref">outw2/a>(i3">_"ubstrchip" class="s,=unsigned c#L387"inc>chip2/a>ode=c_id="+cass="sref">cde=c_id3912," id	2L557" class="line" nam
1072code=ca10"s>/* TODO */idx10"s>>10pchip2/a>wait2L373"> 3732/a>5wait2s="sss="sref">fm8012/a> *2a href="1073code=ca10ANDLED class="line" nIRQ10AND>10p"+cod7" id	2L557" class="line" nam
10p4code=ca10sound/pci/f5oode=FM805od10sou>10p5801.c#L425" unsigned long387"inc>chip2/a>timeou5LEASE" cl5ss="stimeou5un23rpta href="+code=cjiffie2L373"> 3732/a>5jiffie2un23r+387"inc>chip2/a>wait2L373"> 3732/a>5wait2s="s5a href="+code=EINVAL" cl5ss="1075code=ca10"sound/pci/5 class="l5ne10"so>10pM801_REG" IRQ=capTUSount2/a> - 1, 1076code=ca10d_fm801_pl2L357"> 3572/a10d_f>10poutw2/aouttime" cla5s="sr5outt3912"> 4162/a>5     ">SNDRAC97_READine" 11.c#L286"">SNDRAC97_READa hre|92 39ua" clode=chode=c_id="+cass="sref">cde=c_id3912r<< 87"inc>chip2/a>">SNDRAC97_ADDR_SHIFTine" 11.c#L286"">SNDRAC97_ADDR_SHIFTun23)t|E2/a>;v - 1, 1077code=ca10ef="sound/pci/5 de=FM80110ef=>10p"sound/pef">chipef87"inc>chip2/a>">SNDRREGime" cla5s="sr5">SNDRREGL416"> 4162/a>5     ="sound/pc>        2a href=ly 39ua" clode=chAC97_CMDine" 11.c#L286"AC97_CMDref=)2L417" cl5ss="line" nam
	2L4am
1078code=ca10ime2/a>->2a 5IGGER_RE10ime>10phref="+code=s 39ua" clode=chudelayL373"> 3732/a>5udelayL416"52L417" cl5ss="line" nam
	2L4am
1079code=ca10RQ=NON"" clde=chip" clas10RQ=>10p="5ref">56at2dot7" id	2L557" class="line" nam
108+code=ca10am
	5L439"eXchip2/a>580110am
>10am 2a href="+ceeeeeeee43922 39ua" clode=chintime" cla5s="sr5intL416"> 4162/a>5     ">SNDRREGime" cla5s="sr5">SNDRREGL416"> 4162/a>5     ="sound/pc>        2a href=ly 39ua" clode=chAC97_CMDine" 11.c#L286"AC97_CMDref=)2r&ream""> 4162/a>5     ">SNDRAC97_VALIDine" 11.c#L286"">SNDRAC97_VALIDref=|> 4162/a>5     ">SNDRAC97_BUSYine" 11.c#L286"">SNDRAC97_BUSYref=)2" id	2L557" class="line" nam
1081code=ca10         breakkkkkkkkkkk10   >10aoun23">) == ppppppppppppp=pta href="+code=c">SNDRAC97_VALIDine" 11.c#L286"">SNDRAC97_VALIDref=2" id	2L557" class="line" nam
1082code=ca10 class="s5ef">F5801_STER10 cl>10a 3732/a>5hchedule_timeou5_uninterruptibl=L416"12L417" cl5ss="line" nam
	2L4am
1084code=ca10e=hw_params" class5"sref10e=h>10a5801.c#L425" } while""> 4162/a>5     time_afterL373"> 3732/a>5time_afterL416"> 4162/a>5     timeou5LEASE" cl5ss="stimeou5un23ly 39ua" clode=chjiffie2L373"> 3732/a>5jiffie2un23)2L417" cl5ss="line" nam
	2L4am
1085code=ca10line" nam
	2L422"> 4222/10lin>10a  2a href="+cass5"sr-ss="hip" class=EIOL373"> 3732/a>5EIOs="s5a href="+code=EINVAL" cl5ss="1086code=ca10+code=FM801_REG" class="10+co>10a6m801"rup">chipa>v10aeam2/5>2a hr5f="+code=reg_lock"1088code=ca10c>2a hr4f="+code=reg_10c&g>10aef">o_Ref">Sc#L387"inc>chip2/a>hitse=reg_2a h_initL373"> 3732/a>5hitse=reg_2a h_init3912"NDRV_P5M_TRI5P4M_TRI4Geg_lock2/a>);v_"sref">outw2/a>(i3">_"ubstrchip" class="s,=c#L387"inc>chip2/a>resupc="+cass="sref">resupcref=2" id	2L557" class="line" nam
1089code=ca10line" nam
	2L461"> 4612/10lin>10a9+cod7" id	2L557" class="line" nam
109+code=ca10ef="+code=FM801_REG" /a>10ef=>10ef801.c#L425" unsigned shorME2/a>;vv10efm801rup">chipa>voutw2/a>(i3">_"ubstrchip" class="s">snd_pcm_substream2tea575x_tunerL373"> 3732/a>5tea575x_tuner3912r&ream" 39ua" clode=chTUNER_ONLYine" 11.c#L286"TUNER_ONLYref=2" id	2L557" class="line" nam
1093code=ca10bstr> 3912/ href="sound/10bst>10e1.ufrclas_"srf="+codogoto387"inc>chip2/a>__ac97_oass="sref">reg2/__ac97_oas="s5a href="+code=EINVAL" cl5ss="1094code=ca10ref">chip2/> 4382/a>soin10ref>10ePAUSE" class="5ref">57436"> 4362/a10e5code=ca10f="+code=snd_fm801_playb10f=">10e  2a href="+cMref">chip2/5comment">/* cde=c cdldcassetr+3AC'97 warmcassetr*/"sref">" id	2L557" class="line" nam
1096code=ca10/a>(struct 2a href="+cod10/a>>10eoutw2/aouttime" cla5s="sr5outt3912"(1<<5)r|921<<6)lps_TRI5P4M_TRI4G">SNDRREGime" cla5s="sr5">SNDRREGL416"> 4162/a>5     ="sound/pc>        2a href=ly 39ua" clode=chCODECMCTRLL373"> 3732/a>5CODECMCTRLref=)2L417" cl5ss="line" nam
	2L4am
1097code=ca10 class="sref">chip2/a> =10 cl>10e7 2a href="+cM_TRI5P4M_TRI4Gintime" cla5s="sr5intL416"> 4162/a>5     ">SNDRREGime" cla5s="sr5">SNDRREGL416"> 4162/a>5     ="sound/pc>        2a href=ly 39ua" clode=chCODECMCTRLL373"> 3732/a>5CODECMCTRLref=)2LcMref">chip2/5comment">/* flush posting dssar*/"sref">" id	2L557" class="line" nam
1098code=ca10nd_pcm_substream_chipas410nd_>10ehref="+code=s 39ua" clode=chudelayL373"> 3732/a>5udelayL416"1002L417" cl5ss="line" nam
	2L4am
10e9code=ca10801_16BIT2/a>;v10e9ref="+code=s 39ua" clode=chouttime" cla5s="sr5outt3912"0lps_TRI5P4M_TRI4G">SNDRREGime" cla5s="sr5">SNDRREGL416"> 4162/a>5     ="sound/pc>        2a href=ly 39ua" clode=chCODECMCTRLL373"> 3732/a>5CODECMCTRLref=)2L417" cl5ss="line" nam
	2L4am
11"+code=ca11"+co16BIT2/a>;v110c01_>s="sref">fm8012/a> *2a href="11"1code=ca11"hss="+codee=KERa>v11"1a hrea href=4392_"sref">outw2/await_for_ode=cL373"> 3732/a>5wait_for_ode=c3912"> 4162/a>5     ="sound/pc>        2a href=ly0lps_TRI5P4M_TRI4GAC97_RESETine" 11.c#L286"AC97_RESETref=ly 39ua" clode=chmsecs_to_jiffie2L373"> 3732/a>5msecs_to_jiffie23912"750)2r< 0ss="sref">fm8012/a> *2a href="11"2code=ca11"f4>substream2/a>;v110chip2/a>resupc="+cass="sref">resupcref=2t7" id	2L557" class="line" nam
11"3code=ca11"str> 3912/ href="sound/11"st>1101.ufrclas_"srf="+codounpcilas87"inc>chip2/a>hitsprc#Lass="sref">reg2/hitsprc#La3912"> 4162/a>5     KERN_INFOL373"> 3732/a>5KERN_INFO.ufrcsref">chip2/5NDRing">"Primary3AC'97 cde=c not f cla, ""sref">" id	2L557" class="line" nam
1104code=ca11"ef">chip2/> 4382/a>soin11"ef>1105801.c#L425" ppppppp ippppppppppppp"+codounpcilas8ref">chip2/5NDRing">"ip2upc SF64-PCR (tuner-only)\n""sref">2L417" cl5ss="line" nam
	2L4am
11"5code=ca11"="+code=snd_fm801_playb11"=">110  2a href="+ceeeeeeeennpcilas87"inc>chip2/a>>(i3">_"ubstrchip" class="s">snd_pcm_substream2tea575x_tunerL373"> 3732/a>5tea575x_tuner3912r= 3t|E2/a>;v(struct 2a href="+cod11"a>>110chip2/a>__ac97_oass="sref">reg2/__ac97_oas="s5a href="+code=EINVAL" cl5ss="11"7code=ca11"class="sref">chip2/a> =11"cl>110"sound/pef">chipef">p"rup">chipa>v110/int7rup">chipa>v;v1109a hrea href=4392_"sref">outw2/a>(i3">_"ubstrchip" class="s">snd_pcm_substream2multichannel="+cass="sref">multichannelun23)t7" id	2L557" class="line" nam
111+code=ca11ref">chip2/a>5U1IGGER_S511ref>111m 2a href="+ceeeeeeee4392_"sref">outw2/a>(i3">_"ubstrchip" class="s">snd_pcm_substream2secondary_addrL373"> 3732/a>5secondary_addrun23)t7" id	2L557" class="line" nam
1111code=ca11ref">chip2/#L392" i	oint11ref>111oun23">) == pppppppppppppilas87"inc>chip2/a>wait_for_ode=cL373"> 3732/a>5wait_for_ode=c3912"> 4162/a>5     ="sound/pc>        2a href=ly_"sref">outw2/a>(i3">_"ubstrchip" class="s">snd_pcm_substream2secondary_addrL373"> 3732/a>5secondary_addrun23lREG" IRQ=capTUSount2/a> - 1, 1112code=ca11"+code=snd_fm801_playbac11"+c>111chip2/a>AC97_VENDOR_IDock2/a>);v 3732/a>5msecs_to_jiffie23912"50)25a href="+code=EINVAL" cl5ss="1113code=ca11>(struct 2a href="+code=11>(s>1111.ufrclas_"srf="+codo} elset7" id	2L557" class="line" nam
1114code=ca11 class="sref">chip2/a> =11 cl>1115801.c#L425" ppppppp ipppppppMref">chip2/5comment">/* my card has the secondary cde=c */"sref">" id	2L557" class="line" nam
1115code=ca11nd_pcm_substream_chip/f511nd_>111  2a href="+ceeeeeeeennpcilas8ref">chip2/5comment">/* at address #3, so the loop is inverted */"sref">" id	2L557" class="line" nam
1116code=ca11      default;v111chip2/a>if">chip2/a>->iun235a href="+code=EINVAL" cl5ss="11r7code=ca11_ctrl")ass="sref">snd_pc11_ct>111"sound/pef">chipef">pppppppppfor92 39ua" clode=chif">chip2/a>->iun23rpt3; 87"inc>chip2/a>if">chip2/a>->iun23r&snd 0; 87"inc>chip2/a>if">chip2/a>->iun23--)t7" id	2L557" class="line" nam
1118code=ca11f5>reg_lock2/a>);v>1118a hre;vchip2/a>wait_for_ode=cL373"> 3732/a>5wait_for_ode=c3912"> 4162/a>5     ="sound/pc>        2a href=ly_"sref">outw2/aif">chip2/a>->iun23lps_TRI5P4M_TRI4GAC97_VENDOR_IDock2/a>);v(&2a href="+code=11/a>>111="5ref">56at2/a>) ==eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee 39ua" clode=chmsecs_to_jiffie2L373"> 3732/a>5msecs_to_jiffie23912"50)2)t7" id	2L557" class="line" nam
112+code=ca11/a>));vchip2/a>intime" cla5s="sr5intL416"> 4162/a>5     ">SNDRREGime" cla5s="sr5">SNDRREGL416"> 4162/a>5     ="sound/pc>        2a href=ly 39ua" clode=chAC97_DATAck2/a>);v) == pppppppppppppilasnnnnnnnnnnpppppp4392 39ua" clode=chcmdtime" cla5s="sr5cmdts="sr!= 0xffffr&ream&ream" 39ua" clode=chcmdtime" cla5s="sr5cmdts="sr!= 0)t7" id	2L557" class="line" nam
1122code=ca11ef="+code=FM801_STEREIRQ11ef=>112_"ubstrchip" class="s">snd_pcm_substream2secondaryL373"> 3732/a>5+econdaryun23rpt1ss="line" nam
	aybahardw38"bst11/3code=ca11:v_"ubstrchip" class="s">snd_pcm_substream2secondary_addrL373"> 3732/a>5secondary_addrun23r=987"inc>chip2/a>if">chip2/a>->iun235a href="+code=EINVAL" cl5ss="1124code=ca11a>ms2/a>));v112  2a href="+ceeeeeeeennpcilasssssssssssssssss"rup">chipa>v112chipa>vchip2/a>5> *2a hre511ref>11/"sound/pef">chipef">pssssssss"rup">chipa>voutw2/a>(i11nt7>1128a hre;vchipa>v11/="5rerup">chipa>vchip2/5comment">/* the recovery phase, it seems that probing for9non-existing cde=c mightr*/"sref">" id	2L557" class="line" nam
1131code=ca11"sref">chip2/a>5m801.c#L11"sr>113oun23">) == pppppppppMref">chip2/5comment">/* causettimeou5 problems */"sref">" id	2L557" class="line" nam
1132code=ca11d shorf="+code=snd_fm80111d s>113outw2/await_for_ode=cL373"> 3732/a>5wait_for_ode=c3912"> 4162/a>5     ="sound/pc>        2a href=ly0lps_TRI5P4M_TRI4GAC97_VENDOR_IDock2/a>);v 3732/a>5msecs_to_jiffie23912"750)25a href="+code=EINVAL" cl5ss="1133code=ca11RES5" id	2L434" class="l11RES>1133ubstream" cl"rup">chipa>v113PAUSE" class="5ref">57436"> 4362/a1135code=ca11_count2/a> - 1, 2a href=11_co>11>  2a href="87"inc>chip2/a>__ac97_oass="sref">reg2/__ac97_oas="s:" class="5ref">57436"> 4362/a1136code=ca11f="+code=chip" class="sr11f=">113801_>s="sref">fm8012/a> *2a href="1137code=ca11_STEREIRQ=MPUef="|chip" 11_ST>11>substream" clMref">chip2/5comment">/* init volume */"sref">" id	2L557" class="line" nam
1138code=ca11.c#L435" id	2L439" class11.c#>113href="+code=s 39ua" clode=chouttime" cla5s="sr5outt3912"0x0808lps_TRI5P4M_TRI4G">SNDRREGime" cla5s="sr5">SNDRREGL416"> 4162/a>5     ="sound/pc>        2a href=ly 39ua" clode=chPCM_VOLL373"> 3732/a>5PCM_VOLref=)25a href="+code=EINVAL" cl5ss="1139code=ca11code=substream" class=5s11cod>1139ref="+code=s 39ua" clode=chouttime" cla5s="sr5outt3912"0x9f1flps_TRI5P4M_TRI4G">SNDRREGime" cla5s="sr5">SNDRREGL416"> 4162/a>5     ="sound/pc>        2a href=ly 39ua" clode=chFM_VOLL373"> 3732/a>5">_VOLref=)25a href="+code=EINVAL" cl5ss="114+code=ca11ip2/a>->2a href="+cod11ip2>11ip"5ref">56at2 39ua" clode=chouttime" cla5s="sr5outt3912"0x8808lps_TRI5P4M_TRI4G">SNDRREGime" cla5s="sr5">SNDRREGL416"> 4162/a>5     ="sound/pc>        2a href=ly 39ua" clode=chI2S_VOLL373"> 3732/a>5I2S_VOLref=)25a href="+code=EINVAL" cl5ss="1141code=ca11Sf="+code=chip" class="s11Sf=>114fm801rup">chipa>v1142ubstream" clMref">chip2/5comment">/* I2S controc - I2S me=c */"sref">" id	2L557" class="line" nam
1143code=ca11reg_lock2/a>):vSNDRREGime" cla5s="sr5">SNDRREGL416"> 4162/a>5     ="sound/pc>        2a href=ly 39ua" clode=chI2S_MODEL373"> 3732/a>5I2S_MODEref=)25a href="+code=EINVAL" cl5ss="1144code=ca11     2a href="+code=outw11   >114PAUSE" class="5ref">57436"> 4362/a1145code=ca11>2a hr5f="+code=reg_l11>>114  2a href="+cMref">chip2/5comment">/* interrupt setup */"sref">" id	2L557" class="line" nam
1146code=ca11>5 href="+c5de=FM801_16B11>5 >114outw2/acmdtime" cla5s="sr5cmdts="sr=987"inc>chip2/a>intime" cla5s="sr5intL416"> 4162/a>5     ">SNDRREGime" cla5s="sr5">SNDRREGL416"> 4162/a>5     ="sound/pc>        2a href=ly 39ua" clode=chIRQ_MASK443" clas#L286"IRQ_MASKref=)25a href="+code=EINVAL" cl5ss="1147code=ca11 href="+codde=chip" clas11 hr>11i7 2a href="+c4392_"sref">outw2/a>(i3">_"ubstrchip" class="s">snd_pcm_substream2irqime" cla5s="sr5irqun23r< 0ss="sref">fm8012/a> *2a href="11i8code=ca11>);voutw2/acmdtime" cla5s="sr5cmdts="sr|= 0x00c3;pppppppppMref">chip2/5comment">/* mask everything,9no PCM9nor MPU */"sref">" id	2L557" class="line" nam
1149code=ca11+code=format" class="sr511+co>11i9ref="+code=selse" id	2L557" class="line" nam
115+code=ca11eeeeeeeeeee" class="sref11eee>115m 2a href="+ceeeeeeee8"sref">outw2/acmdtime" cla5s="sr5cmdts="sr&ream= ~0x0083;ppppppppMref">chip2/5comment">/* unmask MPU, PLAYBACKr&ream"CAPTURE */"sref">" id	2L557" class="line" nam
1151code=ca11s="sref">5hanne5s2/a> &g11s=">11eoun23">) == p 39ua" clode=chouttime" cla5s="sr5outt3912"8"sref">outw2/acmdtime" cla5s="sr5cmdts="slps_TRI5P4M_TRI4G">SNDRREGime" cla5s="sr5">SNDRREGL416"> 4162/a>5     ="sound/pc>        2a href=ly 39ua" clode=chIRQ_MASK443" clas#L286"IRQ_MASKref=)25a href="+code=EINVAL" cl5ss="1152code=ca11 class="s5ef">F5801_STER11 cl>115 == 4)v11e1.ufrclas_"srMref">chip2/5comment">/* interrupt clear */"sref">" id	2L557" class="line" nam
1154code=ca11GGER_RES5CHANNELS_4" cla11GGE>11e5801.c#L425"  39ua" clode=chouttime" cla5s="sr5outt3912"8"sref">outw2/a">SNDRIRQ_PLAYBACK443" clas#L286"">SNDRIRQ_PLAYBACK3912|> 4162/a>5     ">SNDRIRQ_CAPTUREime" cla5s="sr5">SNDRIRQ_CAPTURE3912|> 4162/a>5     ">SNDRIRQ_MPUime" cla5s="sr5">SNDRIRQ_MPUs="slps_TRI5P4M_TRI4G">SNDRREGime" cla5s="sr5">SNDRREGL416"> 4162/a>5     ="sound/pc>        2a href=ly 39ua" clode=chIRQ_STATUSund/pc>        IRQ_STATUSref=)25a href="+code=EINVAL" cl5ss="1155code=ca11de=ch=chip" class="sref"11de=>115M801_REG" IRQ=capTUSount2/a> - 1, 1156code=ca11=ef="+code=fm801d/pci/fm11=ef>11echipa>v115/int7rup">chipa>v115="5rerup">chipa>v>11/5ref=_Ref">Sc#L387"inc>chip2/a>hitse=reg_freeL373"> 3732/a>5hitse=reg_freeL416"NDRV_P5M_TRI5P4M_TRI4Geg_lock2/a>);v_"sref">outw2/a>(i3">_"ubstrchip" class="sss="sref">fm8012/a> *2a href="1161code=ca11a hss="+codcode=chip" cl11a h>11/oun237" id	2L557" class="line" nam
1162code=ca11a>;v11/3ubsta href="+code=EINVAL" cl5ss="1164code=ca11eeeeeeeeeee" class="sref11eee>11/5801.c#L425" 4392_"sref">outw2/a>(i3">_"ubstrchip" class="s">snd_pcm_substream2irqime" cla5s="sr5irqun23r< 0ss="sref">fm8012/a> *2a href="11/5code=ca11ss="sref"5FM80156nels2/a11ss=>116  2a href="+ceeeeeeeegoto387"inc>chip2/a>__eitshtime" cla5s="sr5__eitshts="s5a href="+code=EINVAL" cl5ss="1166code=ca11ss="sref"5FM8015601_16BI11ss=>11/801_>s="sref">fm8012/a> *2a href="1167code=ca11>F56ATE_MASK2/a> |vF5>116substream" clMref">chip2/5comment">/* interrupt setup - mask everything */"sref">" id	2L557" class="line" nam
11/8code=ca11=FM8015de=FM801_START" c11=FM>116href="+code=s 39ua" clode=chcmdtime" cla5s="sr5cmdts="sr=987"inc>chip2/a>intime" cla5s="sr5intL416"> 4162/a>5     ">SNDRREGime" cla5s="sr5">SNDRREGL416"> 4162/a>5     ="sound/pc>        2a href=ly 39ua" clode=chIRQ_MASK443" clas#L286"IRQ_MASKref=)25a href="+code=EINVAL" cl5ss="11/9code=ca11 clode=ch=chip" class="s11 cl>1169ref="+code=s 39ua" clode=chcmdtime" cla5s="sr5cmdts="sr|= 0x00c3;a href="+code=EINVAL" cl5ss="117+code=ca11pcm_substream2/5 class="11pcm>117p"5ref">56at2 39ua" clode=chouttime" cla5s="sr5outt3912"8"sref">outw2/acmdtime" cla5s="sr5cmdts="slps_TRI5P4M_TRI4G">SNDRREGime" cla5s="sr5">SNDRREGL416"> 4162/a>5     ="sound/pc>        2a href=ly 39ua" clode=chIRQ_MASK443" clas#L286"IRQ_MASKref=)25a href="+code=EINVAL" cl5ss="1171code=ca11ine" nam
	rivss="datad_p11ine>117fm801rup">chipa>v/* TODO */idx11"s>>11pchip2/a>__eitshtime" cla5s="sr5__eitshts="s:" class="5ref">57436"> 4362/a1173code=ca11ANDLED class="line" nIRQ11AND>11p"+cod#ifdefy 39ua" clode=chCONFIG_SND_">SNDRTEA575X_BOOLL373"> 3732/a>5CONFIG_SND_">SNDRTEA575X_BOOLm801rup">chipa>voutw2/a>(i3">_"ubstrchip" class="s">snd_pcm_substream2tea575x_tunerL373"> 3732/a>5tea575x_tuner3912r&ream" 39ua" clode=chTUNER_DISABLEDine" 11.c#L286"TUNER_DISABLEDref=)2t7" id	2L557" class="line" nam
1175code=ca11"sound/pci/5 class="l5ne11"so>117  2a href="+ceeeeeeee87"inc>chip2/a>hitstea575x_exitL373"> 3732/a>5hitstea575x_exitL416"&ream_"sref">outw2/a>(i3">_"ubstrchip" class="s">snd_pcm_substream2teaL373"> 3732/a>5tearef=)5a href="+code=EINVAL" cl5ss="1176code=ca11d_fm801_pl2L357"> 3572/a11d_f>117 3732/a>5v4l2_device_unregisterL416"&ream_"sref">outw2/a>(i3">_"ubstrchip" class="s">snd_pcm_substream2v4l2_devL373"> 3732/a>5v4l2_devref=)5a href="+code=EINVAL" cl5ss="1177code=ca11ef="sound/pci/5 de=FM80111ef=>11p"sound/pef">c"rup">chipa>vchipa>v1179a hrea href=4392_"sref">outw2/a>(i3">_"ubstrchip" class="s">snd_pcm_substream2irqime" cla5s="sr5irqun23r&snd= 0ss="sref">fm8012/a> *2a href="118+code=ca11am
	5L439"eXchip2/a>580111am
>11am 2a href="+ceeeeeeeeM_TRI5P4M_TRI4Geree_irqime" cla5s="sr5eree_irqL416"> 4162/a>5     ="sound/pc>        2a href=">snd_pcm_substream2irqime" cla5s="sr5irqun23lps_TRI5P4M_TRI4G="sound/pc>        2a href=)5a href="+code=EINVAL" cl5ss="1181code=ca11         breakkkkkkkkkkk11   >118oun23">) == p 39ua" clode=chNVA_release_region2L373"> 3732/a>5NVA_release_region2L416"> 4162/a>5     ="sound/pc>        2a href=">snd_pcm_substream2NVAL373"> 3732/a>5NVAref=)5a href="+code=EINVAL" cl5ss="1182code=ca11 class="s5ef">F5801_STER11 cl>11a 3732/a>5NVA_disable_deviceL416"> 4162/a>5     ="sound/pc>        2a href=">snd_pcm_substream2NVAL373"> 3732/a>5NVAref=)5a href="+code=EINVAL" cl5ss="1183code=ca11f48ubstream2/aF5801_STER11f48>1183ubsta href="+code=EINVAL" cl5ss="1184code=ca11e=hw_params" class5"sref11e=h>1185801.c#L425"  39ua" clode=chkfreeL373"> 3732/a>5kfreeL416"s_TRI5P4M_TRI4G="sound/pc>        2a href=)5a href="+code=EINVAL" cl5ss="1185code=ca11line" nam
	2L422"> 4222/11lin>11a  2a href="+cass5"sr-5a href="+code=EINVAL" cl5ss="1186code=ca11+code=FM801_REG" class="11+co>11a6m801"rup">chipa>v11aeam2/5>2a hr5f="+code=reg_lock"1188code=ca11c>2a hr4f="+code=reg_11c&g>11aef">o_Ref">Sc#L387"inc>chip2/a>hitse=reg_dev_freeL373"> 3732/a>5hitse=reg_dev_freeL416"NDRV_P5M_TRI5P4M_TRI4GhitsdeviceL373"> 3732/a>5hitsdeviceun23">_"sref">outw2/adeviceL373"> 3732/a>5deviceun23ss="sref">fm8012/a> *2a href="1189code=ca11line" nam
	2L461"> 4612/11lin>11a9+cod7" id	2L557" class="line" nam
119+code=ca11ef="+code=FM801_REG" /a>11ef=>11ef801.c#L425" _RESUME2/a>;v_"sref">outw2/a>(i3">_"ubstrchip" class="srpta href="+code=cdeviceL373"> 3732/a>5deviceun23">snd_pcm_substream2device_dssaL373"> 3732/a>5device_dssas="s5a href="+code=EINVAL" cl5ss="1191code=ca11 hss="+codee=KERa>v1191 2a href="+cass5"sr87"inc>chip2/a>hitse=reg_freeL373"> 3732/a>5hitse=reg_freeL416"s_TRI5P4M_TRI4G="sound/pc>        2a href=)5a href="+code=EINVAL" cl5ss="11e2code=ca11ef4>substream2/a>;v11e2ref="rup">chipa>v1193ubsta href="+code=EINVAL" cl5ss="1194code=ca11ref">chip2/> 4382/a>soin11ref>11ePAUSE_Ref">Sc#L387"inc>chip2/a>__devinitL373"> 3732/a>5__devinit"5refM_TRI5P4M_TRI4G+code=reg_creef=L373"> 3732/a>5+code=reg_creef=L416"NDRV_P5M_TRI5P4M_TRI4Ghitscard="+cass="sref">hitscardun23">_"sref">outw2/a>ard="+cass="sref">cardref=la href="+code=EINVAL" cl5ss="1195code=ca11f="+code=snd_fm801_playb11f=">119  2a href="+ceeeeeeeennpcilasssssssssssssssNDRV_P5M_TRI5P4M_TRI4GNVA_devL373"> 3732/a>5NVA_devun23">5M_TRI5P4M_TRI4GNVAL373"> 3732/a>5NVAref=la href="+code=EINVAL" cl5ss="1196code=ca11/a>(struct 2a href="+cod11/a>>119chip2/a>tea575x_tunerL373"> 3732/a>5tea575x_tuner3912la href="+code=EINVAL" cl5ss="1197code=ca11 class="sref">chip2/a> =11 cl>11e7 2a href="+c"sound/pppppppppssssssss href=4#L387"inc>chip2/a>radio_nrL373"> 3732/a>5radio_nr3912la href="+code=EINVAL" cl5ss="1198code=ca11nd_pcm_substream_chipas411nd_>1198a hre;v>5M_TRI5P4M_TRI4Gr="sound/pc>        rclass="sss="sref">fm8012/a> *2a href="11e9code=ca11801_16BIT2/a>;v1199+cod7" id	2L557" class="line" nam
12"+code=ca12"+co16BIT2/a>;v120f801.c#L425" _RESUME2/a>;v_"sref">outw2/a>(i3">_"ubstrchip" class="s5a href="+code=EINVAL" cl5ss="12"1code=ca12"hss="+codee=KERa>v12"1a hrea href=4#L387"inc>chip2/a>errL373"> 3732/a>5errun235a href="+code=EINVAL" cl5ss="12"2code=ca12"f4>substream2/a>;v120SNDRV_P5M_TRI5P4M_TRI4GER_Rdevice_op2L373"> 3732/a>5+coddevice_op2"5refM_TRI5P4M_TRI4Gop2L373"> 3732/a>5op2"5refpt7" id	2L557" class="line" nam
12"3code=ca12"str> 3912/ href="sound/12"st>1201.ufrclas_"srf="+codoass="hip" class=dev_freeL373"> 3732/a>5dev_freeL416fpttttt87"inc>chip2/a>hitse=reg_dev_freeL373"> 3732/a>5hitse=reg_dev_freeL416la href="+code=EINVAL" cl5ss="1204code=ca12"ef">chip2/> 4382/a>soin12"ef>1205801.c#L425" "L417" cl5ss="line" nam
	2L4am
12"5code=ca12"="+code=snd_fm801_playb12"=">120M801_REG" IRQ=capTUSount2/a> - 1, 12"6code=ca12"a>(struct 2a href="+cod12"a>>120_"sref">outw2/ar="sound/pc>        rclass="srpta href="+code=cNULLL373"> 3732/a>5NULLun235a href="+code=EINVAL" cl5ss="12"7code=ca12"class="sref">chip2/a> =12"cl>1207 2a href="+c43922 39ua" clode=cherrL373"> 3732/a>5errun23rpta href="+code=cNVA_enable_deviceL373"> 3732/a>5NVA_enable_deviceL416"s_TRI5P4M_TRI4GNVAL373"> 3732/a>5NVAref=)2r< 0ss="sref">fm8012/a> *2a href="12"8code=ca12"d_pcm_substream_chipas412"d_>1208a hre;vchip2/a>errL373"> 3732/a>5errun235a href="+code=EINVAL" cl5ss="1209code=ca12"01_16BIT2/a>;v1209ref="+code=s 39ua" clode=chc(i3">_"ubstrchip" class="srpta href="+code=ckzallocL373"> 3732/a>5kzallocL416"Nizeof2>_"sref">outw2/a>(i3">_"ubstrchip" class="sslps_TRI5P4M_TRI4GGFP_KERNELL373"> 3732/a>5GFP_KERNELref=)5a href="+code=EINVAL" cl5ss="121+code=ca12ref">chip2/a>5U1IGGER_S512ref>121m 2a href="+c4392_"sref">outw2/a>(i3">_"ubstrchip" class="sp=pta href="+code=cNULLL373"> 3732/a>5NULLun232t7" id	2L557" class="line" nam
1211code=ca12ref">chip2/#L392" i	oint12ref>121oun23">) == ppppppppp 39ua" clode=chNVA_disable_deviceL373"> 3732/a>5NVA_disable_deviceL416"> 4162/a>5     NVAL373"> 3732/a>5NVAref=)5a href="+code=EINVAL" cl5ss="1212code=ca12"+code=snd_fm801_playbac12"+c>121 3732/a>5ENOMEMun235a href="+code=EINVAL" cl5ss="1213code=ca12>(struct 2a href="+code=12>(s>1213ubstream" cl"rup">chipa>vchip2/a> =12 cl>1215801.c#L425"  39ua" clode=chspin_lock_initL373"> 3732/a>5hpin_lock_initL416"&ream_"sref">outw2/a>(i3">_"ubstrchip" class="s">snd_pcm_substream2reg_lockund/pc>        reg_lockref=)5a href="+code=EINVAL" cl5ss="1215code=ca12nd_pcm_substream_chip/f512nd_>121  2a href="+c_"sref">outw2/a>(i3">_"ubstrchip" class="s">snd_pcm_substream2>ard="+cass="sref">cardref=rpta href="+code=c>ard="+cass="sref">cardref=5a href="+code=EINVAL" cl5ss="1216code=ca12      default;v121outw2/ac"sound/pc>        2a href=">snd_pcm_substream2NVAL373"> 3732/a>5NVAref=rpta href="+code=cNVAL373"> 3732/a>5NVAref=5a href="+code=EINVAL" cl5ss="1217code=ca12_ctrl")ass="sref">snd_pc12_ct>121"sound/pef">c_"sref">outw2/a>(i3">_"ubstrchip" class="s">snd_pcm_substream2irqime" cla5s="sr5irqun23r= -1ss="line" nam
	aybahardw38"bst1218code=ca12f5>reg_lock2/a>);v>121href="+code=s 39ua" clode=chc(i3">_"ubstrchip" class="s">snd_pcm_substream2tea575x_tunerL373"> 3732/a>5tea575x_tuner3912r= _pcm_substream2tea575x_tunerL373"> 3732/a>5tea575x_tuner3912ss="line" nam
	aybahardw38"bst1219code=ca12/a>(&2a href="+code=12/a>>1219a hrea href=43922 39ua" clode=cherrL373"> 3732/a>5errun23rpta href="+code=cNVA_request_region2L373"> 3732/a>5NVA_request_region2L416"> 4162/a>5     NVAL373"> 3732/a>5NVAref=,s8ref">chip2/5NDRing">"">SND""sref">22r< 0st7" id	2L557" class="line" nam
122+code=ca12/a>));v 3732/a>5kfreeL416"s_TRI5P4M_TRI4G="sound/pc>        2a href=)5a href="+code=EINVAL" cl5ss="1221code=ca12+code-" cl-ref="+code=fm12+co>122oun23">) == ppppppppp 39ua" clode=chNVA_disable_deviceL373"> 3732/a>5NVA_disable_deviceL416"> 4162/a>5     NVAL373"> 3732/a>5NVAref=)5a href="+code=EINVAL" cl5ss="1222code=ca12ef="+code=FM801_STEREIRQ12ef=>122chip2/a>errL373"> 3732/a>5errun235a href="+code=EINVAL" cl5ss="12/3code=ca12:vchipa>vm>1225801.c#L425"  39ua" clode=chc"sound/pc>        2a href=">snd_pcm_substream2NortL373"> 3732/a>5Nortun23rpta href="+code=cNVA_re>v 3732/a>5NVA_re>v 4162/a>5     NVAL373"> 3732/a>5NVAref=,s02L417" cl5ss="line" nam
	2L4am
1225code=ca12href="+code=chip" class=12hre>122  2a href="+c43922 39ua" clode=chtea575x_tunerL373"> 3732/a>5tea575x_tuner3912r&ream" 39ua" clode=chTUNER_ONLYine" 11.c#L286"TUNER_ONLYref=2p=pt0st7" id	2L557" class="line" nam
1226code=ca12LAST2/a> ;voutw2/arequest_irqime" cla5s="sr5request_irqL416"> 4162/a>5     NVAL373"> 3732/a>5NVAref=">snd_pcm_substream2irqime" cla5s="sr5irqun23lps_TRI5P4M_TRI4Ghitse=reg_interruptL373"> 3732/a>5hitse=reg_interruptun23lps_TRI5P4M_TRI4GIRQF_SHAREDine" 11.c#L286"IRQF_SHAREDL416la href="+code=EINVAL" cl5ss="1227code=ca12ref">chip2/a>5> *2a hre512ref>12/"sound/pef">chipef">pssssssssc#L425"  39ua" clode=chKBUILD_MODNAMEime" cla5s="sr5KBUILD_MODNAMEun23lps_TRI5P4M_TRI4G="sound/pc>        2a href=)2t7" id	2L557" class="line" nam
1228code=ca12nt7"rup"sref">outw2/a>(i12nt7>1228a hre;vreg2/hitsprc#La3912"> 4162/a>5     KERN_ERRime" cla5s="sr5KERN_ERR"5refMref">chip2/5NDRing">"unable to grab IRQ %d\n""sref">ly_"sref">outw2/a>(i3">_"ubstrchip" class="s">snd_pcm_substream2irqime" cla5s="sr5irqun232L417" cl5ss="line" nam
	2L4am
1229code=ca12	2L4451.c" na, void"line12	2L>122="5ref">56at2/a>) ==eeeeeeeee87"inc>chip2/a>hitse=reg_freeL373"> 3732/a>5hitse=reg_freeL416"s_TRI5P4M_TRI4G="sound/pc>        2a href=)5a href="+code=EINVAL" cl5ss="123+code=ca12>snd_pcm_substream2/5(2a12>sn>123m 2a href="+ceeeeeeeeef="sounass5"sr-ss="hip" class=EBUSYine" 11.c#L286"EBUSYref=5a href="+code=EINVAL" cl5ss="1231code=ca12"sref">chip2/a>5m801.c#L12"sr>123oun23">) == ppppppppp"rup">chipa>v123outw2/a>(i3">_"ubstrchip" class="s">snd_pcm_substream2irqime" cla5s="sr5irqun23r= > 4162/a>5     NVAL373"> 3732/a>5NVAref=">snd_pcm_substream2irqime" cla5s="sr5irqun235a href="+code=EINVAL" cl5ss="1233code=ca12RES5" id	2L434" class="l12RES>1231.ufrclas_"srf="+codo 39ua" clode=chNVA_set_masterL373"> 3732/a>5NVA_set_masterL416"> 4162/a>5     NVAL373"> 3732/a>5NVAref=)5a href="+code=EINVAL" cl5ss="1234code=ca12 href="+code=ply 39ua" c12 hr>1235801.c#L425" "a href="+code=EINVAL" cl5ss="1235code=ca12_count2/a> - 1, 2a href=12_co>123M801_REG" IRQ=capTUSount2/a> - 1, 1236code=ca12f="+code=chip" class="sr12f=">123outw2/aNVAL373"> 3732/a>5NVAref=">snd_pcm_substream2revisionime" cla5s="sr5revision3912r&snd= 0xb1)"+codo ref">chip2/5comment">/* ">SND-AU */"sref">" id	2L557" class="line" nam
1237code=ca12_STEREIRQ=MPUef="|chip" 12_ST>123"sound/pef">chipef">p_"sref">outw2/a>(i3">_"ubstrchip" class="s">snd_pcm_substream2multichannel="+cass="sref">multichannelun23rpt1ss="line" nam
	aybahardw38"bst1238code=ca12.c#L435" id	2L439" class12.c#>123/int7rup">chipa>v1239ref="+code=s 39ua" clode=chhitse=reg_2a h_initL373"> 3732/a>5hitse=reg_2a h_init3912"_"sref">outw2/a>(i3">_"ubstrchip" class="s,s02L417" cl5ss="line" nam
	2L4am
124+code=ca12ip2/a>->2a href="+cod12ip2>12ip"5ref">56at2 ref">chip2/5comment">/* init mightrsetrtuner access method */"sref">" id	2L557" class="line" nam
1241code=ca12Sf="+code=chip" class="s12Sf=>124oun23">) == p 39ua" clode=chtea575x_tunerL373"> 3732/a>5tea575x_tuner3912r= _pcm_substream2c(i3">_"ubstrchip" class="s">snd_pcm_substream2tea575x_tunerL373"> 3732/a>5tea575x_tuner3912L417" cl5ss="line" nam
	2L4am
1242code=ca12ch=ef="+code=fm801d/pci/12ch=>124):voutw2/a>(i3">_"ubstrchip" class="s">snd_pcm_substream2irqime" cla5s="sr5irqun23r&snd= 0r&ream&ream"2 39ua" clode=chtea575x_tunerL373"> 3732/a>5tea575x_tuner3912r&ream" 39ua" clode=chTUNER_ONLYine" 11.c#L286"TUNER_ONLYref=22t7" id	2L557" class="line" nam
1244code=ca12     2a href="+code=outw12   >1245801.c#L425" ppppppp  39ua" clode=chNVA_clear_masterL373"> 3732/a>5NVA_clear_masterL416"> 4162/a>5     NVAL373"> 3732/a>5NVAref=)5a href="+code=EINVAL" cl5ss="1245code=ca12>2a hr5f="+code=reg_l12>>124  2a href="+ceeeeeeee87"inc>chip2/a>eree_irqime" cla5s="sr5eree_irqL416"> 4162/a>5     ="sound/pc>        2a href=">snd_pcm_substream2irqime" cla5s="sr5irqun23lps_TRI5P4M_TRI4G="sound/pc>        2a href=)5a href="+code=EINVAL" cl5ss="1246code=ca12>5 href="+c5de=FM801_16B12>5 >124_"ubstrchip" class="s">snd_pcm_substream2irqime" cla5s="sr5irqun23r= -1ss="line" nam
	aybahardw38"bst1247code=ca12 href="+codde=chip" clas12 hr>124"sound/pef">c"rup">chipa>v);>124/int7rup">chipa>v 3732/a>5errun23rpta href="+code=c+coddevice_netime" cla5s="sr5+coddevice_netL416"> 4162/a>5     =ard="+cass="sref">cardref=lta href="+code=cSNDRV_DEV_LOWLEVELL373"> 3732/a>5SNDRV_DEV_LOWLEVELun23lps_TRI5P4M_TRI4G="sound/pc>        2a href=, &ream_"sref">outw2/aop2L373"> 3732/a>5op2"5re22r< 0st7" id	2L557" class="line" nam
125+code=ca12eeeeeeeeeee" class="sref12eee>125m 2a href="+ceeeeeeee8"sref">outw2/ahitse=reg_freeL373"> 3732/a>5hitse=reg_freeL416"s_TRI5P4M_TRI4G="sound/pc>        2a href=)5a href="+code=EINVAL" cl5ss="1251code=ca12s="sref">5hanne5s2/a> &g12s=">125oun23">) == pppppppppass5"sr87"inc>chip2/a>errL373"> 3732/a>5errun235a href="+code=EINVAL" cl5ss="1252code=ca12 class="s5ef">F5801_STER12 cl>1252sound/pef">c"rup">chipa>v12e5801.c#L425"  39ua" clode=chhitscard_set_devL373"> 3732/a>5hitscard_set_devL416"> 4162/a>5     =ard="+cass="sref">cardref=lt&ream_"sref">outw2/aNVAL373"> 3732/a>5NVAref=">snd_pcm_substream2devL373"> 3732/a>5devref=)5a href="+code=EINVAL" cl5ss="1255code=ca12de=ch=chip" class="sref"12de=>125M801_REG" IRQ=capTUSount2/a> - 1, 1256code=ca12=ef="+code=fm801d/pci/fm12=ef>12eSNDRTEA575X_BOOLL373"> 3732/a>5CONFIG_SND_">SNDRTEA575X_BOOLm801rup">chipa>vc_"sref">outw2/aerrL373"> 3732/a>5errun23rpta href="+code=cv4l2_device_registerL373"> 3732/a>5v4l2_device_registerL416"&ream_"sref">outw2/aNVAL373"> 3732/a>5NVAref=">snd_pcm_substream2devL373"> 3732/a>5devref=lt&ream_"sref">outw2/a>(i3">_"ubstrchip" class="s">snd_pcm_substream2v4l2_devL373"> 3732/a>5v4l2_devref=)5a href="+code=EINVAL" cl5ss="12e8code=ca122L443" class="line" nam
122L4>1258a hrea href=4392_"sref">outw2/aerrL373"> 3732/a>5errun23r< 0st7" id	2L557" class="line" nam
1259code=ca12gt;2a hre5="+code=ply_bu12gt;>125="5ref">56at2/a>) ==e8"sref">outw2/ahitse=reg_freeL373"> 3732/a>5hitse=reg_freeL416"s_TRI5P4M_TRI4G="sound/pc>        2a href=)5a href="+code=EINVAL" cl5ss="126+code=ca12/5>, 2a hre5="+code=PLY_12/5>>126m 2a href="+ceeeeeeeeass5"sr87"inc>chip2/a>errL373"> 3732/a>5errun235a href="+code=EINVAL" cl5ss="1261code=ca12a hss="+codcode=chip" cl12a h>1261sound/pef">c"rup">chipa>v;>126(i3">_"ubstrchip" class="s">snd_pcm_substream2teaL373"> 3732/a>5tearef=ass="hip" class=v4l2_devL373"> 3732/a>5v4l2_devref=rpt&ream_"sref">outw2/a>(i3">_"ubstrchip" class="s">snd_pcm_substream2v4l2_devL373"> 3732/a>5v4l2_devref=5a href="+code=EINVAL" cl5ss="1263code=ca12 (2a href="+code=cmd" c512 (2>126href="+code=s 39ua" clode=ch>(i3">_"ubstrchip" class="s">snd_pcm_substream2teaL373"> 3732/a>5tearef=ass="hip" class=radio_nrL373"> 3732/a>5radio_nr3912rpta href="+code=cradio_nrL373"> 3732/a>5radio_nr39125a href="+code=EINVAL" cl5ss="1264code=ca12eeeeeeeeeee" class="sref12eee>1265801.c#L425"  39ua" clode=chc"sound/pc>        2a href=">snd_pcm_substream2teaL373"> 3732/a>5tearef=ass="hip" class=private_dssaL373"> 3732/a>5private_dssa3912r= _pcm_substream2c(i3">_"ubstrchip" class="s5a href="+code=EINVAL" cl5ss="1265code=ca12ss="sref"5FM80156nels2/a12ss=>126  2a href="+c_"sref">outw2/a>(i3">_"ubstrchip" class="s">snd_pcm_substream2teaL373"> 3732/a>5tearef=ass="hip" class=op2L373"> 3732/a>5op2"5refpt&ream_"sref">outw2/ahitse=reg_tea_op2L373"> 3732/a>5+code=reg_tea_op2s="s5a href="+code=EINVAL" cl5ss="1266code=ca12ss="sref"5FM8015601_16BI12ss=>126outw2/asprc#LfL373"> 3732/a>5+prc#LfL416"> 4162/a>5     ="sound/pc>        2a href=">snd_pcm_substream2teaL373"> 3732/a>5tearef=ass="hip" class=bus_infoL373"> 3732/a>5bus_infoun23lpsref">chip2/5NDRing">"PCI:%s""sref">ly_"sref">outw2/aNVA_01_1L373"> 3732/a>5NVA_01_1L416"> 4162/a>5     NVAL373"> 3732/a>5NVAref=))5a href="+code=EINVAL" cl5ss="1267code=ca12>F56ATE_MASK2/a> |vF5>1267 2a href="+c43922 39ua" clode=chtea575x_tunerL373"> 3732/a>5tea575x_tuner3912r&ream" 39ua" clode=chTUNER_TYPE_MASK443" clas#L286"TUNER_TYPE_MASKref=)r&snd 0r&ream&reama href="+code=EINVAL" cl5ss="1268code=ca12=FM8015de=FM801_START" c12=FM>1268a hre;v 3732/a>5tea575x_tuner3912r&ream" 39ua" clode=chTUNER_TYPE_MASK443" clas#L286"TUNER_TYPE_MASKref=)r< 4st7" id	2L557" class="line" nam
12/9code=ca12 clode=ch=chip" class="s12 cl>126="5ref">56at2/a>) ==e4392_"sref">outw2/ahitstea575x_initL373"> 3732/a>5hitstea575x_initL416"&ream_"sref">outw2/a="sound/pc>        2a href=">snd_pcm_substream2teaL373"> 3732/a>5tearef=ly_"sref">outw2/aTHIS_MODULEime" cla5s="sr5THIS_MODULEref=22t7" id	2L557" class="line" nam
127+code=ca12pcm_substream2/5 class="12pcm>127m 2a href="+ceeeeeeeeef="soun_"sref">outw2/ahitsprc#Lass="sref">reg2/hitsprc#La3912"> 4162/a>5     KERN_ERRime" cla5s="sr5KERN_ERR"5refMref">chip2/5NDRing">"TEA575x radio not f cla\n""sref">2L417" cl5ss="line" nam
	2L4am
1271code=ca12ine" nam
	rivss="datad_p12ine>127oun23">) == pppppppppppppilas87"inc>chip2/a>hitse=reg_freeL373"> 3732/a>5hitse=reg_freeL416"s_TRI5P4M_TRI4G="sound/pc>        2a href=)5a href="+code=EINVAL" cl5ss="1272code=ca12"s>/* TODO */idx12"s>>127        ENODEVs="s5a href="+code=EINVAL" cl5ss="1273code=ca12ANDLED class="line" nIRQ12AND>1271.ufrclas_"srf="+codo}a href="+code=EINVAL" cl5ss="1274code=ca12sound/pci/f5oode=FM805od12sou>1275801.c#L425" } elset43922 39ua" clode=chtea575x_tunerL373"> 3732/a>5tea575x_tuner3912r&ream" 39ua" clode=chTUNER_TYPE_MASK443" clas#L286"TUNER_TYPE_MASKref=)r=pt0st7" id	2L557" class="line" nam
1275code=ca12"sound/pci/5 class="l5ne12"so>127  2a href="+ceeeeeeee8ref">chip2/5comment">/* aute=ctectrtuner connection */"sref">" id	2L557" class="line" nam
1276code=ca12d_fm801_pl2L357"> 3572/a12d_f>127 3732/a>5tea575x_tuner3912r= 1m" 39ua" clode=chtea575x_tunerL373"> 3732/a>5tea575x_tuner3912r&lnd= 3; 87"inc>chip2/a>tea575x_tunerL373"> 3732/a>5tea575x_tuner3912++st7" id	2L557" class="line" nam
1277code=ca12ef="sound/pci/5 de=FM80112ef=>127"sound/pef">chipef">pssssssss_pcm_substream2c(i3">_"ubstrchip" class="s">snd_pcm_substream2tea575x_tunerL373"> 3732/a>5tea575x_tuner3912r= _pcm_substream2tea575x_tunerL373"> 3732/a>5tea575x_tuner3912ss="line" nam
	aybahardw38"bst1278code=ca12ime2/a>->2a 5IGGER_RE12ime>1278a hre;vchip2/a>hitstea575x_initL373"> 3732/a>5hitstea575x_initL416"&ream_"sref">outw2/a="sound/pc>        2a href=">snd_pcm_substream2teaL373"> 3732/a>5tearef=ly_"sref">outw2/aTHIS_MODULEime" cla5s="sr5THIS_MODULEref=22t7" id	2L557" class="line" nam
1279code=ca12RQ=NON"" clde=chip" clas12RQ=>127="5ref">56at2/a>) ==eeeeeeeeessssssss_pcm_substream2hitsprc#Lass="sref">reg2/hitsprc#La3912"> 4162/a>5     KERN_INFOime" cla5s="sr5KERN_INFO"5refMref">chip2/5NDRing">"=ctected TEA575x radio type %s\n""sref">l" id	2L557" class="line" nam
128+code=ca12am
	5L439"eXchip2/a>580112am
>12am 2a href="+ceeeeeeeeat2/a>) ==eeeeeeeeessssssss_pcm_substream2getstea575x_gpioL373"> 3732/a>5getstea575x_gpioL416"s_TRI5P4M_TRI4G="sound/pc>        2a href=)">snd_pcm_substream201_1L373"> 3732/a>501_1L416)5a href="+code=EINVAL" cl5ss="1281code=ca12         breakkkkkkkkkkk12   >128oun23">) == pppppppppppppilasssssssssbreak5a href="+code=EINVAL" cl5ss="1282code=ca12 class="s5ef">F5801_STER12 cl>1281285801.c#L425" ppppppp 4392_"sref">outw2/atea575x_tunerL373"> 3732/a>5tea575x_tuner3912r== 4st7" id	2L557" class="line" nam
1285code=ca12line" nam
	2L422"> 4222/12lin>128  2a href="+ceeeeeeeennpcilas_"sref">outw2/ahitsprc#Lass="sref">reg2/hitsprc#La3912"> 4162/a>5     KERN_ERRime" cla5s="sr5KERN_ERR"5refMref">chip2/5NDRing">"TEA575x radio not f cla\n""sref">2L417" cl5ss="line" nam
	2L4am
1286code=ca12+code=FM801_REG" class="12+co>128_"ubstrchip" class="s">snd_pcm_substream2tea575x_tunerL373"> 3732/a>5tea575x_tuner3912r= _pcm_substream2TUNER_DISABLEDine" 11.c#L286"TUNER_DISABLEDref=L417" cl5ss="line" nam
	2L4am
1287code=ca12href="+code=FM801_REG" /12hre>128"sound/pef">chipef">p}a href="+code=EINVAL" cl5ss="1288code=ca12c>2a hr4f="+code=reg_12c&g>1288a hre;v 4612/12lin>1289a hrea href=4392!2_"sref">outw2/a>(i3">_"ubstrchip" class="s">snd_pcm_substream2tea575x_tunerL373"> 3732/a>5tea575x_tuner3912r&ream" 39ua" clode=chTUNER_DISABLEDine" 11.c#L286"TUNER_DISABLEDref=)2t7" id	2L557" class="line" nam
129+code=ca12ef="+code=FM801_REG" /a>12ef=>129m 2a href="+ceeeeeeee8"sref">outw2/ahtrlcpyL373"> 3732/a>5+trlcpyL416"> 4162/a>5     ="sound/pc>        2a href=">snd_pcm_substream2teaL373"> 3732/a>5tearef=ass="hip" class==ard="+cass="sref">cardref=lta href="+code=cgetstea575x_gpioL373"> 3732/a>5getstea575x_gpioL416"s_TRI5P4M_TRI4G="sound/pc>        2a href=)">snd_pcm_substream201_1L373"> 3732/a>501_1L416l" id	2L557" class="line" nam
1291code=ca12 hss="+codee=KERa>v129oun23">) == pppppppppppppilasNizeof2> 4162/a>5     ="sound/pc>        2a href=">snd_pcm_substream2teaL373"> 3732/a>5tearef=ass="hip" class==ard="+cass="sref">cardref=))5a href="+code=EINVAL" cl5ss="12e2code=ca12ef4>substream2/a>;v1292sound/pef">c"rup">chipa>v1293ubst#eitifrup">chipa>vchip2/> 4382/a>soin12ref>129PAUSE" class="5ref">57436"> 4362/a1295code=ca12f="+code=snd_fm801_playb12f=">129  2a href="+c>_"sref">outw2/ar="sound/pc>        rclass="srpta href="+code=cc(i3">_"ubstrchip" class="s5a href="+code=EINVAL" cl5ss="1296code=ca12/a>(struct 2a href="+cod12/a>>129chip2/a> =12 cl>129subst"rup">chipa>vchipa>v1299+cod_Ref">Sc#L387"inc>chip2/a>__devinitL373"> 3732/a>5__devinit"5refM_TRI5P4M_TRI4G+codcard_e=reg_probeL373"> 3732/a>5hitscard_e=reg_probeL416"NDRV_P5M_TRI5P4M_TRI4GNVA_devL373"> 3732/a>5NVA_devun23">> 4162/a>5     NVAL373"> 3732/a>5NVAref=l" id	2L557" class="line" nam
13"+code=ca13"+co16BIT2/a>;v130m 2a href="+ceeeeeeeeat2/a>) ==eeeeeeeeesssssssconstsNDRV_P5M_TRI5P4M_TRI4GNVA_device_id="+cass="sref">NVA_device_idun23">> 4162/a>5     NVA_id="+cass="sref">NVA_idun23ss="sref">fm8012/a> *2a href="13"1code=ca13"hss="+codee=KERa>v130oun237" id	2L557" class="line" nam
13"2code=ca13"f4>substream2/a>;v130Sc#L387"inc>chip2/a>devL373"> 3732/a>5devref=5a href="+code=EINVAL" cl5ss="13"3code=ca13"str> 3912/ href="sound/13"st>1301.ufrclas_"srNDRV_P5M_TRI5P4M_TRI4Ghitscard="+cass="sref">hitscardun23">_"sref">outw2/a>ard="+cass="sref">cardref=5a href="+code=EINVAL" cl5ss="13"4code=ca13"ef">chip2/> 4382/a>soin13"ef>1305801.c#L425" _RESUME2/a>;v_"sref">outw2/a>(i3">_"ubstrchip" class="s5a href="+code=EINVAL" cl5ss="13"5code=ca13"="+code=snd_fm801_playb13"=">1305.ufrclas_"srNDRV_P5M_TRI5P4M_TRI4Ghitsopl3="+cass="sref">hitsopl3un23">_"sref">outw2/aopl3="+cass="sref">opl3un235a href="+code=EINVAL" cl5ss="13"6code=ca13"a>(struct 2a href="+cod13"a>>130chip2/a>errL373"> 3732/a>5errun235a href="+code=EINVAL" cl5ss="13"7code=ca13"class="sref">chip2/a> =13"cl>130eam2/5>2a hr5f="+code=reg_lock"13"8code=ca13"d_pcm_substream_chipas413"d_>1308a hrea href=4392_"sref">outw2/adevL373"> 3732/a>5devref=r&snd= _"sref">outw2/aSNDRV_CARDSund/pc>        SNDRV_CARDSun23ss="sref">fm8012/a> *2a href="13"9code=ca13"01_16BIT2/a>;v130="5ref">56at2/a>) ==eass5"sr-ss="hip" class=ENODEVund/pc>        ENODEVs="s5a href="+code=EINVAL" cl5ss="131+code=ca13ref">chip2/a>5U1IGGER_S513ref>131m 2a href="+c4392!87"inc>chip2/a>enableL373"> 3732/a>5enable 2a [_"sref">outw2/adevL373"> 3732/a>5devref=]2t7" id	2L557" class="line" nam
1311code=ca13ref">chip2/#L392" i	oint13ref>131oun23">) == ppppppppp 39ua" clode=chdevL373"> 3732/a>5devref=++5a href="+code=EINVAL" cl5ss="1312code=ca13"+code=snd_fm801_playbac13"+c>131        ENOENTs="s5a href="+code=EINVAL" cl5ss="1313code=ca13>(struct 2a href="+code=13>(s>1313ubstream" cl"rup">chipa>vchip2/a> =13 cl>131PAUSE" class="5ref">57436"> 4362/a1315code=ca13nd_pcm_substream_chip/f513nd_>131  2a href="+c_"sref">outw2/aerrL373"> 3732/a>5errun23rpta href="+code=c+codcard_creef=L373"> 3732/a>5+codcard_creef=L416"s_TRI5P4M_TRI4GindexL373"> 3732/a>5index 2a [_"sref">outw2/adevL373"> 3732/a>5devref=]lta href="+code=cid="+cass="sref">idun23[_"sref">outw2/adevL373"> 3732/a>5devref=]lta href="+code=cTHIS_MODULEime" cla5s="sr5THIS_MODULEref=, 0lt&ream_"sref">outw2/a>ard="+cass="sref">cardref=)5a href="+code=EINVAL" cl5ss="1316code=ca13      default;v131outw2/aerrL373"> 3732/a>5errun23r< 0sa href="+code=EINVAL" cl5ss="1317code=ca13_ctrl")ass="sref">snd_pc13_ct>131"sound/pef">chipef">pass5"sr87"inc>chip2/a>errL373"> 3732/a>5errun235a href="+code=EINVAL" cl5ss="1318code=ca13f5>reg_lock2/a>);v>1318a hrea href=43922 39ua" clode=cherrL373"> 3732/a>5errun23rpta href="+code=c+code=reg_2reef=L373"> 3732/a>5+code=reg_creef=L416"ss="hip" class==ard="+cass="sref">cardref=lta href="+code=cNVAL373"> 3732/a>5NVAref=,s_pcm_substream2tea575x_tunerL373"> 3732/a>5tea575x_tuner3912[_"sref">outw2/adevL373"> 3732/a>5devref=]lta href="+code=cradio_nrL373"> 3732/a>5radio_nr3912[_"sref">outw2/adevL373"> 3732/a>5devref=]lt&ream_"sref">outw2/a="sound/pc>        2a href=22r< 0st7" id	2L557" class="line" nam
1319code=ca13/a>(&2a href="+code=13/a>>131="5ref">56at2/a>) ==e8"sref">outw2/ahitscard_ereeL373"> 3732/a>5hitscard_ereeL416"ss="hip" class==ard="+cass="sref">cardref=)5a href="+code=EINVAL" cl5ss="132+code=ca13/a>));vchip2/a>errL373"> 3732/a>5errun235a href="+code=EINVAL" cl5ss="1321code=ca13+code-" cl-ref="+code=fm13+co>1321sound/pef">c"rup">chipa>v132ard="+cass="sref">cardref=">snd_pcm_substream2Nrivate_dssaL373"> 3732/a>5private_dssa3912r= _pcm_substream2c(i3">_"ubstrchip" class="s5a href="+code=EINVAL" cl5ss="13/3code=ca13:vm>1325801.c#L425"  39ua" clode=chNDRcpyL373"> 3732/a>5+trcpyL416"> 4162/a>5     =ard="+cass="sref">cardref=">snd_pcm_substream2driverL373"> 3732/a>5driverref=,s_ref">chip2/5NDRing">"">SND""sref">25a href="+code=EINVAL" cl5ss="13/5code=ca13href="+code=chip" class=13hre>132  2a href="+c_"sref">outw2/aNDRcpyL373"> 3732/a>5+trcpyL416"> 4162/a>5     =ard="+cass="sref">cardref=">snd_pcm_substream2shorM01_1L373"> 3732/a>5shorM01_1ref=,s_ref">chip2/5NDRing">""orMeMedia ">SND-""sref">25a href="+code=EINVAL" cl5ss="13/6code=ca13LAST2/a> ;voutw2/astrcatL373"> 3732/a>5htrcatL416"> 4162/a>5     =ard="+cass="sref">cardref=">snd_pcm_substream2shorM01_1L373"> 3732/a>5shorM01_1ref=,s_ 4162/a>5     ="sound/pc>        2a href=">snd_pcm_substream2multichannel="+cass="sref">multichannelun23r?s_ref">chip2/5NDRing">"AU""sref"> :s_ref">chip2/5NDRing">"AS""sref">25a href="+code=EINVAL" cl5ss="13/7code=ca13ref">chip2/a>5> *2a hre513ref>132"sound/pef">c_"sref">outw2/asprc#LfL373"> 3732/a>5+prc#LfL416"> 4162/a>5     =ard="+cass="sref">cardref=">snd_pcm_substream2long01_1L373"> 3732/a>5long01_1ref=,s_ref">chip2/5NDRing">"%s at 0x%lx, irq %i""sref">l" id	2L557" class="line" nam
1328code=ca13nt7"rup"sref">outw2/a>(i13nt7>1328a hre;vcardref=">snd_pcm_substream2shorM01_1L373"> 3732/a>5shorM01_1ref=,s_ 4162/a>5     ="sound/pc>        2a href=">snd_pcm_substream2NortL373"> 3732/a>5Nortun23ly_"sref">outw2/a>(i3">_"ubstrchip" class="s">snd_pcm_substream2irqime" cla5s="sr5irqun232L417" cl5ss="line" nam
	2L4am
1329code=ca13	2L4451.c" na, void"line13	2L>132="5re417" cl5ss="line" nam
	2L4am
133+code=ca13>snd_pcm_substream2/5(2a13>sn>133m 2a href="+c4392_"sref">outw2/a>(i3">_"ubstrchip" class="s">snd_pcm_substream2tea575x_tunerL373"> 3732/a>5tea575x_tuner3912r&ream" 39ua" clode=chTUNER_ONLYine" 11.c#L286"TUNER_ONLYref=2417" cl5ss="line" nam
	2L4am
1331code=ca13"sref">chip2/a>5m801.c#L13"sr>133oun23">) == pppppppppgoto387"inc>chip2/a>__e=reg_tuner_onlyL373"> 3732/a>5__e=reg_tuner_onlys="s5a href="+code=EINVAL" cl5ss="1332code=ca13d shorf="+code=snd_fm80113d s>133 3732/a>5errun23rpta href="+code=c+code=reg_pcmL373"> 3732/a>5+code=reg_pcmL416"s_TRI5P4M_TRI4G="sound/pc>        2a href=, 0lts_TRI5P4M_TRI4GNULLL373"> 3732/a>5NULLun2322r< 0st7" id	2L557" class="line" nam
1334code=ca13 href="+code=ply 39ua" c13 hr>1335801.c#L425" ppppppp 8"sref">outw2/ahitscard_ereeL373"> 3732/a>5hitscard_ereeL416"ss="hip" class==ard="+cass="sref">cardref=)5a href="+code=EINVAL" cl5ss="1335code=ca13_count2/a> - 1, 2a href=13_co>133  2a href="+ceeeeeeeeass5"sr87"inc>chip2/a>errL373"> 3732/a>5errun235a href="+code=EINVAL" cl5ss="1336code=ca13f="+code=chip" class="sr13f=">133chipa>v1337 2a href="+c43922 39ua" clode=cherrL373"> 3732/a>5errun23rpta href="+code=c+code=reg_mixerL373"> 3732/a>5+code=reg_mixerL416"s_TRI5P4M_TRI4G="sound/pc>        2a href=22r< 0st7" id	2L557" class="line" nam
1338code=ca13.c#L435" id	2L439" class13.c#>1338a hre;v 3732/a>5hitscard_ereeL416"ss="hip" class==ard="+cass="sref">cardref=)5a href="+code=EINVAL" cl5ss="1339code=ca13code=substream" class=5s13cod>133="5ref">56at2/a>) ==eass5"sr87"inc>chip2/a>errL373"> 3732/a>5errun235a href="+code=EINVAL" cl5ss="134+code=ca13ip2/a>->2a href="+cod13ip2>13ip"5ref">56at2"rup">chipa>v) == p43922 39ua" clode=cherrL373"> 3732/a>5errun23rpta href="+code=c+codmpu4eg_uart_netime" cla5s="sr5+codmpu4eg_uart_netL416"ss="hip" class==ard="+cass="sref">cardref=lt0lts_TRI5P4M_TRI4GMPU4eg_HW_">SND="+cass="sref">MPU4eg_HW_">SNDref=l" id	2L557" class="line" nam
1342code=ca13ch=ef="+code=fm801d/pci/13ch=>134 4162/a>5     ">SNDRREG="+cass="sref">">SNDRREGL416"s_TRI5P4M_TRI4G="sound/pc>        2a href=, s_TRI5P4M_TRI4GMPU4eg_DATA="+cass="sref">MPU4eg_DATAref=)l" id	2L557" class="line" nam
1343code=ca13reg_lock2/a>):v 4162/a>5     MPU4eg_INFO_INTEGRATEDine" 11.c#L286"MPU4eg_INFO_INTEGRATED.ufrc|" id	2L557" class="line" nam
1344code=ca13     2a href="+code=outw13   >1345801.c#L425" ppppppp nnnnnnnn;voutw2/a>(i3">_"ubstrchip" class="s">snd_pcm_substream2rmidAL373"> 3732/a>5rmidAref=22r< 0st7" id	2L557" class="line" nam
1346code=ca13>5 href="+c5de=FM801_16B13>5 >134 3732/a>5hitscard_ereeL416"ss="hip" class==ard="+cass="sref">cardref=)5a href="+code=EINVAL" cl5ss="1347code=ca13 href="+codde=chip" clas13 hr>134"sound/pef">chipef">pass5"sr87"inc>chip2/a>errL373"> 3732/a>5errun235a href="+code=EINVAL" cl5ss="13i8code=ca13>);v 3732/a>5errun23rpta href="+code=c+codopl3_2reef=L373"> 3732/a>5+codopl3_2reef=L416"ss="hip" class==ard="+cass="sref">cardref=lta href="+code=c">SNDRREG="+cass="sref">">SNDRREGL416"s_TRI5P4M_TRI4G="sound/pc>        2a href=, s_TRI5P4M_TRI4GOPL3_BANK0und/pc>        OPL3_BANK0ref=)l" id	2L557" class="line" nam
135+code=ca13eeeeeeeeeee" class="sref13eee>135m 2a href="+ceeeeeeeennnn;vSNDRREG="+cass="sref">">SNDRREGL416"s_TRI5P4M_TRI4G="sound/pc>        2a href=, s_TRI5P4M_TRI4GOPL3_BANKD="+cass="sref">OPL3_BANKDref=)l" id	2L557" class="line" nam
1351code=ca13s="sref">5hanne5s2/a> &g13s=">135oun23">) == pppppppppnnnn;vSND="+cass="sref">OPL3_HW_OPL3_">SNDref=, 1lt&ream_"sref">outw2/aopl3="+cass="sref">opl3un2322r< 0st7" id	2L557" class="line" nam
1352code=ca13 class="s5ef">F5801_STER13 cl>135 3732/a>5hitscard_ereeL416"ss="hip" class==ard="+cass="sref">cardref=)5a href="+code=EINVAL" cl5ss="1353code=ca13ch5nnels2/a> == 4)v1351.ufrclas_"srf="+codoass5"sr87"inc>chip2/a>errL373"> 3732/a>5errun235a href="+code=EINVAL" cl5ss="1354code=ca13GGER_RES5CHANNELS_4" cla13GGE>13e5801.c#L425" }a href="+code=EINVAL" cl5ss="1355code=ca13de=ch=chip" class="sref"13de=>135  2a href="+c43922 39ua" clode=cherrL373"> 3732/a>5errun23rpta href="+code=c+codopl3_hwdep_netime" cla5s="sr5+codopl3_hwdep_netL416"ss="hip" class=opl3="+cass="sref">opl3un23lt0lt1lts_TRI5P4M_TRI4GNULLL373"> 3732/a>5NULLun2322r< 0st7" id	2L557" class="line" nam
1356code=ca13=ef="+code=fm801d/pci/fm13=ef>135 3732/a>5hitscard_ereeL416"ss="hip" class==ard="+cass="sref">cardref=)5a href="+code=EINVAL" cl5ss="1357code=ca13ATE_MASK2/a> |v135"sound/pef">chipef">pass5"sr87"inc>chip2/a>errL373"> 3732/a>5errun235a href="+code=EINVAL" cl5ss="13e8code=ca132L443" class="line" nam
132L4>1358a hre;v135="5re417" cl5ss="line" nam
	2L4am
136+code=ca13/5>, 2a hre5="+code=PLY_13/5>>136m 2a href="87"inc>chip2/a>__e=reg_tuner_onlyL373"> 3732/a>5__e=reg_tuner_onlys="s:417" cl5ss="line" nam
	2L4am
1361code=ca13a hss="+codcode=chip" cl13a h>136oun23">) == p43922 39ua" clode=cherrL373"> 3732/a>5errun23rpta href="+code=c+codcard_registerL373"> 3732/a>5+codcard_registerL416"ss="hip" class==ard="+cass="sref">cardref=)2r< 0st7" id	2L557" class="line" nam
1362code=ca13a>;v 3732/a>5hitscard_ereeL416"ss="hip" class==ard="+cass="sref">cardref=)5a href="+code=EINVAL" cl5ss="1363code=ca13 (2a href="+code=cmd" c513 (2>1361.ufrclas_"srf="+codoass5"sr87"inc>chip2/a>errL373"> 3732/a>5errun235a href="+code=EINVAL" cl5ss="1364code=ca13eeeeeeeeeee" class="sref13eee>1365801.c#L425" }a href="+code=EINVAL" cl5ss="1365code=ca13ss="sref"5FM80156nels2/a13ss=>136  2a href="+c_"sref">outw2/apVA_set_drvdssaL373"> 3732/a>5pVA_set_drvdssaL416"ss="hip" class=NVAL373"> 3732/a>5NVAref=,s_pcm_substream2=ard="+cass="sref">cardref=)5a href="+code=EINVAL" cl5ss="1366code=ca13ss="sref"5FM8015601_16BI13ss=>136outw2/adevL373"> 3732/a>5devref=++5a href="+code=EINVAL" cl5ss="1367code=ca13>F56ATE_MASK2/a> |vF5>1367 2a href="+cass5"sr-5a href="+code=EINVAL" cl5ss="1368code=ca13=FM8015de=FM801_START" c13=FM>1368a hr}a href="+code=EINVAL" cl5ss="1369code=ca13 clode=ch=chip" class="s13 cl>136="5re417" cl5ss="line" nam
	2L4am
137+code=ca13pcm_substream2/5 class="13pcm>137m 2a _Ref">Svoid387"inc>chip2/a>__devexitL373"> 3732/a>5__devexit 2a h_pcm_substream2hitscard_e=reg_removeL373"> 3732/a>5hitscard_e=reg_removeL416"NDRV_P5M_TRI5P4M_TRI4GNVA_devL373"> 3732/a>5NVA_devun23">> 4162/a>5     NVAL373"> 3732/a>5NVAref=2417" cl5ss="line" nam
	2L4am
1371code=ca13ine" nam
	rivss="datad_p13ine>137oun237" id	2L557" class="line" nam
1372code=ca13"s>/* TODO */idx13"s>>137 3732/a>5hitscard_ereeL416"ss="hip" class=NVA_get_drvdssaL373"> 3732/a>5pVA_get_drvdssaL416"ss="hip" class=NVAL373"> 3732/a>5NVAref=))5a href="+code=EINVAL" cl5ss="1373code=ca13ANDLED class="line" nIRQ13AND>137href="+code=s 39ua" clode=chpVA_set_drvdssaL373"> 3732/a>5pVA_set_drvdssaL416"ss="hip" class=NVAL373"> 3732/a>5NVAref=,s_pcm_substream2NULLL373"> 3732/a>5NULLun2325a href="+code=EINVAL" cl5ss="1374code=ca13sound/pci/f5oode=FM805od13sou>1375801.}a href="+code=EINVAL" cl5ss="1375code=ca13"sound/pci/5 class="l5ne13"so>137M801_REG" IRQ=capTUSount2/a> - 1, 1376code=ca13d_fm801_pl2L357"> 3572/a13d_f>137 3732/a>5CONFIG_PM_SLEEP801_REG" IRQ=capTUSount2/a> - 1, 1377code=ca13ef="sound/pci/5 de=FM80113ef=>137"soun_Ref">Sunsigned charr 39ua" clode=chhaved_reg2L373"> 3732/a>5+aved_reg2soun[]rpt7" id	2L557" class="line" nam
1378code=ca13ime2/a>->2a 5IGGER_RE13ime>137href="+code=s 39ua" clode=ch">SNDRPCM_VOLL373"> 3732/a>5">SNDRPCM_VOLref=lta href="+code=c">SNDRI2S_VOLL373"> 3732/a>5">SNDRI2S_VOLref=lta href="+code=c">SNDRFM_VOLL373"> 3732/a>5">SNDRFM_VOLref=lta href="+code=c">SNDRREC_SRC="+cass="sref">">SNDRREC_SRCref=l" id	2L557" class="line" nam
1379code=ca13RQ=NON"" clde=chip" clas13RQ=>1379ref="+code=s 39ua" clode=ch">SNDRPLY_CTRLL373"> 3732/a>5">SNDRPLY_CTRLref=lta href="+code=c">SNDRPLY_COUNTund/pc>        ">SNDRPLY_COUNTref=lta href="+code=c">SNDRPLY_BUFD="+cass="sref">">SNDRPLY_BUFDref=lta href="+code=c">SNDRPLY_BUF2="+cass="sref">">SNDRPLY_BUF2ref=l" id	2L557" class="line" nam
138+code=ca13am
	5L439"eXchip2/a>580113am
>13am 2a href="+ca href="+code=c">SNDRCAP_CTRLL373"> 3732/a>5">SNDRCAP_CTRLref=lta href="+code=c">SNDRCAP_COUNTund/pc>        ">SNDRCAP_COUNTref=lta href="+code=c">SNDRCAP_BUFD="+cass="sref">">SNDRCAP_BUFDref=lta href="+code=c">SNDRCAP_BUF2="+cass="sref">">SNDRCAP_BUF2ref=l" id	2L557" class="line" nam
1381code=ca13         breakkkkkkkkkkk13   >138oun23">) == pa href="+code=c">SNDRCODEC_CTRLL373"> 3732/a>5">SNDRCODEC_CTRLref=lta href="+code=c">SNDRI2S_MODEL373"> 3732/a>5">SNDRI2S_MODEref=lta href="+code=c">SNDRVOLUMEime" cla5s="sr5">SNDRVOLUMEref=lta href="+code=c">SNDRGEN_CTRLL373"> 3732/a>5">SNDRGEN_CTRLref=l" id	2L557" class="line" nam
1382code=ca13 class="s5ef">F5801_STER13 cl>1381385801._Ref">Sc#L387"inc>chip2/a>+code=reg_suspend="+cass="sref">hitse=reg_suspendL416"NDRV_P5M_TRI5P4M_TRI4GdeviceL373"> 3732/a>5deviceL416">> 4162/a>5     devL373"> 3732/a>5devref=)a href="+code=EINVAL" cl5ss="1385code=ca13line" nam
	2L422"> 4222/13lin>138  2a 7" id	2L557" class="line" nam
1386code=ca13+code=FM801_REG" class="13+co>138 3732/a>5NVA_devun23">> 4162/a>5     NVAL373"> 3732/a>5NVAref=r= _pcm_substream2to_NVA_devL373"> 3732/a>5to_NVA_devL416"ss="hip" class=devL373"> 3732/a>5devref=)5a href="+code=EINVAL" cl5ss="1387code=ca13href="+code=FM801_REG" /13hre>138"sound/pef">cNDRV_P5M_TRI5P4M_TRI4Ghitscard="+cass="sref">hitscardun23">_"sref">outw2/a>ard="+cass="sref">cardref=r= _pcm_substream2dev_get_drvdssaL373"> 3732/a>5dev_get_drvdssaL416"ss="hip" class=devL373"> 3732/a>5devref=)5a href="+code=EINVAL" cl5ss="1388code=ca13c>2a hr4f="+code=reg_13c&g>1388a hre;v;v_"sref">outw2/a>(i3">_"ubstrchip" class="sr= _pcm_substream2card="+cass="sref">cardref=">snd_pcm_substream2Nrivate_dssaL373"> 3732/a>5private_dssa39125a href="+code=EINVAL" cl5ss="1389code=ca13line" nam
	2L461"> 4612/13lin>1389a hrea href=4#L387"inc>chip2/a>AL373"> 3732/a>5i39125a href="+code=EINVAL" cl5ss="139+code=ca13ef="+code=FM801_REG" /a>13ef=>139m 2a a href="+code=EINVAL" cl5ss="1391code=ca13 hss="+codee=KERa>v139oun23">) == pa href="+code=chitspower_change__RefeL373"> 3732/a>5hitspower_change__RefeL416"ss="hip" class==ard="+cass="sref">cardref=lta href="+code=cSNDRV_CTL_POWER_D3hotL373"> 3732/a>5SNDRV_CTL_POWER_D3hotref=)5a href="+code=EINVAL" cl5ss="13e2code=ca13ef4>substream2/a>;v139hitspcm_suspend_allL416"s_TRI5P4M_TRI4G="sound/pc>        2a href=">snd_pcm_substream2NcmL373"> 3732/a>5pcmL416)5a href="+code=EINVAL" cl5ss="13e3code=ca13bstr> 3912/ href="sound/13bst>139href="+code=s 39ua" clode=chhitsac97_suspend="+cass="sref">hitsac97_suspendL416"s_TRI5P4M_TRI4G="sound/pc>        2a href=">snd_pcm_substream2ac97und/pc>        ac97L416)5a href="+code=EINVAL" cl5ss="13e4code=ca13ref">chip2/> 4382/a>soin13ref>1395801.c#L425"  39ua" clode=chhitsac97_suspend="+cass="sref">hitsac97_suspendL416"s_TRI5P4M_TRI4G="sound/pc>        2a href=">snd_pcm_substream2ac97_secund/pc>        ac97_secL416)5a href="+code=EINVAL" cl5ss="13e5code=ca13f="+code=snd_fm801_playb13f=">139  2a href="+cfor92 39ua" clode=chAL373"> 3732/a>5i3912r= 0m" 39ua" clode=chAL373"> 3732/a>5i3912r<  39ua" clode=chARRAY_SIZEime" cla5s="sr5ARRAY_SIZEL416"s_TRI5P4M_TRI4Ghaved_reg2L373"> 3732/a>5+aved_reg2soun)m" 39ua" clode=chAL373"> 3732/a>5i3912++)a href="+code=EINVAL" cl5ss="1396code=ca13/a>(struct 2a href="+cod13/a>>139        2a href=">snd_pcm_substream2haved_reg2L373"> 3732/a>5+aved_reg2soun[ 39ua" clode=chAL373"> 3732/a>5i3912]r= _pcm_substream2intime" cla5s="sr5intL416"s_TRI5P4M_TRI4G="sound/pc>        2a href=">snd_pcm_substream2NortL373"> 3732/a>5Nortun23 +r 39ua" clode=chhaved_reg2L373"> 3732/a>5+aved_reg2soun[ 39ua" clode=chAL373"> 3732/a>5i3912])5a href="+code=EINVAL" cl5ss="13e7code=ca13 class="sref">chip2/a> =13 cl>139"sound/pef">c_ref">chip2/5comment">/* "IXME: tea575x suspend */"sref">" id	2L557" class="line" nam
1398code=ca13nd_pcm_substream_chipas413nd_>139/int7rup">chipa>v1399ref="+code=s 39ua" clode=chNVA_disable_deviceL373"> 3732/a>5NVA_disable_deviceL416"ss="hip" class=NVAL373"> 3732/a>5NVAref=)5a href="+code=EINVAL" cl5ss="14"+code=ca14"+co16BIT2/a>;v140m 2a href="+ca href="+code=cpVA_save__RefeL373"> 3732/a>5pVA_save__RefeL416"ss="hip" class=NVAL373"> 3732/a>5NVAref=)5a href="+code=EINVAL" cl5ss="14"1code=ca14"hss="+codee=KERa>v140oun23">) == pa href="+code=cpVA_set_power__RefeL373"> 3732/a>5pVA_set_power__RefeL416"ss="hip" class=NVAL373"> 3732/a>5NVAref=,s_pcm_substream2PCI_D3hotL373"> 3732/a>5PCI_D3hotref=)5a href="+code=EINVAL" cl5ss="14"2code=ca14"f4>substream2/a>;v140 3912/ href="sound/14"st>1401.ufr}a href="+code=EINVAL" cl5ss="14"4code=ca14"ef">chip2/> 4382/a>soin14"ef>140PAUSE" class="5ref">57436"> 4362/a14"5code=ca14"="+code=snd_fm801_playb14"=">1405.ufr_Ref">Sc#L387"inc>chip2/a>+code=reg_resu_1L373"> 3732/a>5scode=reg_resu_1L416"NDRV_P5M_TRI5P4M_TRI4GdeviceL373"> 3732/a>5deviceL416">> 4162/a>5     devL373"> 3732/a>5devref=)a href="+code=EINVAL" cl5ss="14"6code=ca14"a>(struct 2a href="+cod14"a>>140chip2/a> =14"cl>140"sound/pef">cNDRV_P5M_TRI5P4M_TRI4GNVA_devL373"> 3732/a>5NVA_devun23">> 4162/a>5     NVAL373"> 3732/a>5NVAref=r= _pcm_substream2to_NVA_devL373"> 3732/a>5to_NVA_devL416"ss="hip" class=devL373"> 3732/a>5devref=)5a href="+code=EINVAL" cl5ss="14"8code=ca14"d_pcm_substream_chipas414"d_>1408a hre;v;vhitscardun23">_"sref">outw2/a>ard="+cass="sref">cardref=r= _pcm_substream2dev_get_drvdssaL373"> 3732/a>5dev_get_drvdssaL416"ss="hip" class=devL373"> 3732/a>5devref=)5a href="+code=EINVAL" cl5ss="14"9code=ca14"01_16BIT2/a>;v140="5ref">56at2_RESUME2/a>;v_"sref">outw2/a>(i3">_"ubstrchip" class="sr= _pcm_substream2card="+cass="sref">cardref=">snd_pcm_substream2Nrivate_dssaL373"> 3732/a>5private_dssa39125a href="+code=EINVAL" cl5ss="141+code=ca14ref">chip2/a>5U1IGGER_S514ref>141m 2a href="+c4#L387"inc>chip2/a>AL373"> 3732/a>5i39125a href="+code=EINVAL" cl5ss="1411code=ca14ref">chip2/#L392" i	oint14ref>141oun23a href="+code=EINVAL" cl5ss="1412code=ca14"+code=snd_fm801_playbac14"+c>141 3732/a>5pVA_set_power__RefeL416"ss="hip" class=NVAL373"> 3732/a>5NVAref=,s_pcm_substream2PCI_D0und/pc>        PCI_D0ref=)5a href="+code=EINVAL" cl5ss="1413code=ca14>(struct 2a href="+code=14>(s>141href="+code=s 39ua" clode=chpVA_restore__RefeL373"> 3732/a>5pVA_restore__RefeL416"ss="hip" class=NVAL373"> 3732/a>5NVAref=)5a href="+code=EINVAL" cl5ss="1414code=ca14 class="sref">chip2/a> =14 cl>1415801.c#L425" 4392_"sref">outw2/apVA_enable_deviceL373"> 3732/a>5NVA_enable_deviceL416"ss="hip" class=NVAL373"> 3732/a>5NVAref=)r< 0st7" id	2L557" class="line" nam
1415code=ca14nd_pcm_substream_chip/f514nd_>141  2a href="+ceeeeeeee_pcm_substream2Nri#Lass="sref">reg2/prc#La3912"> 4162/a>5     KERN_ERRime" cla5s="sr5KERN_ERR"5refMref">chip2/5NDRing">"ine" : NVA_enable_device failed, ""sref">" id	2L557" class="line" nam
1416code=ca14      default;v141c_ref">chip2/5NDRing">"=isabling device\n""sref">2L417" cl5ss="line" nam
	2L4am
1417code=ca14_ctrl")ass="sref">snd_pc14_ct>141"sound/pef">chipef">p2/a>;vhitscard_disconnectL416"ss="hip" class==ard="+cass="sref">cardref=2L417" cl5ss="line" nam
	2L4am
1418code=ca14f5>reg_lock2/a>);v>1418a hre;v>141="5ref">56at2}a href="+code=EINVAL" cl5ss="142+code=ca14/a>));v 3732/a>5pVA_set_masterL416"ss="hip" class=NVAL373"> 3732/a>5NVAref=)5a href="+code=EINVAL" cl5ss="1421code=ca14+code-" cl-ref="+code=fm14+co>142oun23a href="+code=EINVAL" cl5ss="1422code=ca14ef="+code=FM801_STEREIRQ14ef=>142 3732/a>5hitse=reg_clas_initL416"s_TRI5P4M_TRI4G="sound/pc>        2a href=, 1)5a href="+code=EINVAL" cl5ss="1423code=ca14:v 3732/a>5scodac97_resu_1L416"s_TRI5P4M_TRI4G="sound/pc>        2a href=">snd_pcm_substream2ac97und/pc>        ac97L416)5a href="+code=EINVAL" cl5ss="1424code=ca14a>ms2/a>));v 3732/a>5scodac97_resu_1L416"s_TRI5P4M_TRI4G="sound/pc>        2a href=">snd_pcm_substream2ac97_secund/pc>        ac97_secL416)5a href="+code=EINVAL" cl5ss="14/5code=ca14href="+code=chip" class=14hre>142  2a href="+cfor92 39ua" clode=chAL373"> 3732/a>5i3912r= 0m" 39ua" clode=chAL373"> 3732/a>5i3912r<  39ua" clode=chARRAY_SIZEime" cla5s="sr5ARRAY_SIZEL416"s_TRI5P4M_TRI4Ghaved_reg2L373"> 3732/a>5+aved_reg2soun)m" 39ua" clode=chAL373"> 3732/a>5i3912++)a href="+code=EINVAL" cl5ss="14/6code=ca14LAST2/a> ;vsnd_pcm_substream2haved_reg2L373"> 3732/a>5+aved_reg2soun[ 39ua" clode=chAL373"> 3732/a>5i3912],s_ 4162/a>5     ="sound/pc>        2a href=">snd_pcm_substream2NortL373"> 3732/a>5Nortun23 +r 39ua" clode=chhaved_reg2L373"> 3732/a>5+aved_reg2soun[ 39ua" clode=chAL373"> 3732/a>5i3912])5a href="+code=EINVAL" cl5ss="14/7code=ca14ref">chip2/a>5> *2a hre514ref>142eam2/5>2a hr5f="+code=reg_lock"1428code=ca14nt7"rup"sref">outw2/a>(i14nt7>142href="+code=s 39ua" clode=chhitspower_change__RefeL373"> 3732/a>5hitspower_change__RefeL416"ss="hip" class==ard="+cass="sref">cardref=lta href="+code=cSNDRV_CTL_POWER_D0und/pc>        SNDRV_CTL_POWER_D0L416)5a href="+code=EINVAL" cl5ss="14/9code=ca14	2L4451.c" na, void"line14	2L>142="5ref">56at2ass5"sr-5a href="+code=EINVAL" cl5ss="143+code=ca14>snd_pcm_substream2/5(2a14>sn>143m 2a }a href="+code=EINVAL" cl5ss="1431code=ca14"sref">chip2/a>5m801.c#L14"sr>143oun23a href="+code=EINVAL" cl5ss="1432code=ca14d shorf="+code=snd_fm80114d s>143Sa href="+code=cSIMPLE_DEV_PM_OPSund/pc>        SIMPLE_DEV_PM_OPSL416"s_TRI5P4M_TRI4Ghcode=reg_pmL373"> 3732/a>5+code=reg_pmref=lta href="+code=c+code=reg_suspend="+cass="sref">hitse=reg_suspendL416lta href="+code=c+code=reg_resu_1L373"> 3732/a>5scode=reg_resu_1L416)5a href="+code=EINVAL" cl5ss="1433code=ca14RES5" id	2L434" class="l14RES>143href=#def34"ta href="+code=cSND_">SNDRPM_OPSund/pc>        SND_">SNDRPM_OPS"5ref">56at2&ream_"sref">outw2/ahcode=reg_pmL373"> 3732/a>5+code=reg_pmref=a href="+code=EINVAL" cl5ss="1434code=ca14 href="+code=ply 39ua" c14 hr>1435801.#elsea href="+code=EINVAL" cl5ss="1435code=ca14_count2/a> - 1, 2a href=14_co>143  2a #def34"ta href="+code=cSND_">SNDRPM_OPSund/pc>        SND_">SNDRPM_OPS"5ref">56at2a href="+code=cNULLL373"> 3732/a>5NULLun23a href="+code=EINVAL" cl5ss="1436code=ca14f="+code=chip" class="sr14f=">143chip2/5comment">/* CONFIG_PM_SLEEP */"sref">" id	2L557" class="line" nam
1437code=ca14_STEREIRQ=MPUef="|chip" 14_ST>143eam2/5>2a hr5f="+code=reg_lock"1438code=ca14.c#L435" id	2L439" class14.c#>1438a hr_Ref">SNDRV_P5M_TRI5P4M_TRI4GNVA_driverL373"> 3732/a>5NVA_driver"5refM/a>;v 3732/a>5eg_lo_driver3912r= 7" id	2L557" class="line" nam
1439code=ca14code=substream" class=5s14cod>143="5ref">56at2ass="hip" class=01_1L373"> 3732/a>501_1ref=r= _pcm_substream2KBUILD_MODNAMEime" cla5s="sr5KBUILD_MODNAMEL416l" id	2L557" class="line" nam
144+code=ca14ip2/a>->2a href="+cod14ip2>14ip"5ref">56at2ass="hip" class=id_tableL373"> 3732/a>5id_tableref=r= _pcm_substream2+code=reg_id2L373"> 3732/a>5+code=reg_id2L416l" id	2L557" class="line" nam
1441code=ca14Sf="+code=chip" class="s14Sf=>144oun23">) == pass="hip" class=probeL373"> 3732/a>5probeL416rpta href="+code=c+codcard_e=reg_probeL373"> 3732/a>5hitscard_e=reg_probeL416l" id	2L557" class="line" nam
1442code=ca14ch=ef="+code=fm801d/pci/14ch=>144 3732/a>5removeL416rpta href="+code=c__devexit_ound/pc>        __devexit_oL416"s_TRI5P4M_TRI4Ghcodcard_e=reg_removeL373"> 3732/a>5hitscard_e=reg_removeL416)l" id	2L557" class="line" nam
1443code=ca14reg_lock2/a>):v 3732/a>5driverref=r= 7" id	2L557" class="line" nam
1444code=ca14     2a href="+code=outw14   >1445801.c#L425" ppppppp ass="hip" class=pmL373"> 3732/a>5pmL416rpta href="+code=cSND_">SNDRPM_OPSund/pc>        SND_">SNDRPM_OPS"5rel" id	2L557" class="line" nam
1445code=ca14>2a hr5f="+code=reg_l14>>144  2a href="+c}l" id	2L557" class="line" nam
1446code=ca14>5 href="+c5de=FM801_16B14>5 >144144eam2/5>2a hr5f="+code=reg_lock"14i8code=ca14>);v 3732/a>5module_NVA_driverL416"s_TRI5P4M_TRI4Geg_lo_driverL373"> 3732/a>5eg_lo_driver3912)5a href="+code=EINVAL" cl5ss="1449code=ca14+code=format" class="sr514+co>1449a hr


The original LXR software by th"ta href="+http://oderceforge.net/projects/lxrL>LXR communityL416ltthis experimental version by a href="+mailto:lxr@t" ux.no">lxr@t" ux.noL416. lxr.t" ux.no kindly hosted by a href="+http://www.redpill-t" pro.no">Redpill L" pro AS"5rel provider of L" uxsconsulting and operef"ons services since 1995.