Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions
als300.c File Reference
#include <linux/delay.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/pci.h>
#include <linux/dma-mapping.h>
#include <linux/interrupt.h>
#include <linux/slab.h>
#include <asm/io.h>
#include <sound/core.h>
#include <sound/control.h>
#include <sound/initval.h>
#include <sound/pcm.h>
#include <sound/pcm_params.h>
#include <sound/ac97_codec.h>
#include <sound/opl3.h>

Go to the source code of this file.

Data Structures

struct  snd_als300
 
struct  snd_als300_substream_data
 

Macros

#define IRQ_DISABLE   0
 
#define IRQ_ENABLE   1
 
#define AC97_ACCESS   0x00
 
#define AC97_READ   0x04
 
#define AC97_STATUS   0x06
 
#define AC97_DATA_AVAIL   (1<<6)
 
#define AC97_BUSY   (1<<7)
 
#define ALS300_IRQ_STATUS   0x07 /* ALS300 Only */
 
#define IRQ_PLAYBACK   (1<<3)
 
#define IRQ_CAPTURE   (1<<2)
 
#define GCR_DATA   0x08
 
#define GCR_INDEX   0x0C
 
#define ALS300P_DRAM_IRQ_STATUS   0x0D /* ALS300+ Only */
 
#define MPU_IRQ_STATUS   0x0E /* ALS300 Rev. E+, ALS300+ */
 
#define ALS300P_IRQ_STATUS   0x0F /* ALS300+ Only */
 
#define PLAYBACK_START   0x80
 
#define PLAYBACK_END   0x81
 
#define PLAYBACK_CONTROL   0x82
 
#define TRANSFER_START   (1<<16)
 
#define FIFO_PAUSE   (1<<17)
 
#define RECORD_START   0x83
 
#define RECORD_END   0x84
 
#define RECORD_CONTROL   0x85
 
#define DRAM_WRITE_CONTROL   0x8B
 
#define WRITE_TRANS_START   (1<<16)
 
#define DRAM_MODE_2   (1<<17)
 
#define MISC_CONTROL   0x8C
 
#define IRQ_SET_BIT   (1<<15)
 
#define VMUTE_NORMAL   (1<<20)
 
#define MMUTE_NORMAL   (1<<21)
 
#define MUS_VOC_VOL   0x8E
 
#define PLAYBACK_BLOCK_COUNTER   0x9A
 
#define RECORD_BLOCK_COUNTER   0x9B
 
#define DEBUG_CALLS   0
 
#define DEBUG_PLAY_REC   0
 
#define snd_als300_dbgcalls(format, args...)
 
#define snd_als300_dbgcallenter()
 
#define snd_als300_dbgcallleave()
 
#define snd_als300_dbgplay(format, args...)
 
#define SND_ALS300_PM_OPS   NULL
 

Enumerations

enum  { DEVICE_ALS300, DEVICE_ALS300_PLUS }
 

Functions

 MODULE_AUTHOR ("Ash Willis <[email protected]>")
 
 MODULE_DESCRIPTION ("Avance Logic ALS300")
 
 MODULE_LICENSE ("GPL")
 
 MODULE_SUPPORTED_DEVICE ("{{Avance Logic,ALS300},{Avance Logic,ALS300+}}")
 
 module_param_array (index, int, NULL, 0444)
 
 MODULE_PARM_DESC (index,"Index value for ALS300 sound card.")
 
 module_param_array (id, charp, NULL, 0444)
 
 MODULE_PARM_DESC (id,"ID string for ALS300 sound card.")
 
 module_param_array (enable, bool, NULL, 0444)
 
 MODULE_PARM_DESC (enable,"Enable ALS300 sound card.")
 
 MODULE_DEVICE_TABLE (pci, snd_als300_ids)
 
 module_pci_driver (als300_driver)
 

Macro Definition Documentation

#define AC97_ACCESS   0x00

Definition at line 56 of file als300.c.

#define AC97_BUSY   (1<<7)

Definition at line 60 of file als300.c.

#define AC97_DATA_AVAIL   (1<<6)

Definition at line 59 of file als300.c.

#define AC97_READ   0x04

Definition at line 57 of file als300.c.

#define AC97_STATUS   0x06

Definition at line 58 of file als300.c.

#define ALS300_IRQ_STATUS   0x07 /* ALS300 Only */

Definition at line 61 of file als300.c.

#define ALS300P_DRAM_IRQ_STATUS   0x0D /* ALS300+ Only */

Definition at line 66 of file als300.c.

#define ALS300P_IRQ_STATUS   0x0F /* ALS300+ Only */

Definition at line 68 of file als300.c.

#define DEBUG_CALLS   0

Definition at line 90 of file als300.c.

#define DEBUG_PLAY_REC   0

Definition at line 91 of file als300.c.

#define DRAM_MODE_2   (1<<17)

Definition at line 81 of file als300.c.

#define DRAM_WRITE_CONTROL   0x8B

Definition at line 79 of file als300.c.

#define FIFO_PAUSE   (1<<17)

Definition at line 75 of file als300.c.

#define GCR_DATA   0x08

Definition at line 64 of file als300.c.

#define GCR_INDEX   0x0C

Definition at line 65 of file als300.c.

#define IRQ_CAPTURE   (1<<2)

Definition at line 63 of file als300.c.

#define IRQ_DISABLE   0

Definition at line 52 of file als300.c.

#define IRQ_ENABLE   1

Definition at line 53 of file als300.c.

#define IRQ_PLAYBACK   (1<<3)

Definition at line 62 of file als300.c.

#define IRQ_SET_BIT   (1<<15)

Definition at line 83 of file als300.c.

#define MISC_CONTROL   0x8C

Definition at line 82 of file als300.c.

#define MMUTE_NORMAL   (1<<21)

Definition at line 85 of file als300.c.

#define MPU_IRQ_STATUS   0x0E /* ALS300 Rev. E+, ALS300+ */

Definition at line 67 of file als300.c.

#define MUS_VOC_VOL   0x8E

Definition at line 86 of file als300.c.

#define PLAYBACK_BLOCK_COUNTER   0x9A

Definition at line 87 of file als300.c.

#define PLAYBACK_CONTROL   0x82

Definition at line 73 of file als300.c.

#define PLAYBACK_END   0x81

Definition at line 72 of file als300.c.

#define PLAYBACK_START   0x80

Definition at line 71 of file als300.c.

#define RECORD_BLOCK_COUNTER   0x9B

Definition at line 88 of file als300.c.

#define RECORD_CONTROL   0x85

Definition at line 78 of file als300.c.

#define RECORD_END   0x84

Definition at line 77 of file als300.c.

#define RECORD_START   0x83

Definition at line 76 of file als300.c.

#define snd_als300_dbgcallenter ( )

Definition at line 99 of file als300.c.

#define snd_als300_dbgcallleave ( )

Definition at line 100 of file als300.c.

#define snd_als300_dbgcalls (   format,
  args... 
)

Definition at line 98 of file als300.c.

#define snd_als300_dbgplay (   format,
  args... 
)

Definition at line 106 of file als300.c.

#define SND_ALS300_PM_OPS   NULL

Definition at line 815 of file als300.c.

#define TRANSFER_START   (1<<16)

Definition at line 74 of file als300.c.

#define VMUTE_NORMAL   (1<<20)

Definition at line 84 of file als300.c.

#define WRITE_TRANS_START   (1<<16)

Definition at line 80 of file als300.c.

Enumeration Type Documentation

anonymous enum
Enumerator:
DEVICE_ALS300 
DEVICE_ALS300_PLUS 

Definition at line 109 of file als300.c.

Function Documentation

MODULE_AUTHOR ( "Ash Willis <[email protected]>"  )
MODULE_DESCRIPTION ( "Avance Logic ALS300"  )
MODULE_DEVICE_TABLE ( pci  ,
snd_als300_ids   
)
MODULE_LICENSE ( "GPL"  )
module_param_array ( index  ,
int  ,
NULL  ,
0444   
)
module_param_array ( id  ,
charp  ,
NULL  ,
0444   
)
module_param_array ( enable  ,
bool  ,
NULL  ,
0444   
)
MODULE_PARM_DESC ( index  ,
"Index value for ALS300 sound card."   
)
MODULE_PARM_DESC ( id  ,
"ID string for ALS300 sound card."   
)
MODULE_PARM_DESC ( enable  ,
"Enable ALS300 sound card."   
)
module_pci_driver ( als300_driver  )
MODULE_SUPPORTED_DEVICE ( "{{Avance Logic,ALS300},{Avance Logic,ALS300+}}"  )