Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Functions
pss.c File Reference
#include <linux/init.h>
#include <linux/module.h>
#include <linux/spinlock.h>
#include "sound_config.h"
#include "sound_firmware.h"
#include "ad1848.h"
#include "mpu401.h"
#include "coproc.h"
#include "pss_boot.h"

Go to the source code of this file.

Data Structures

struct  pss_mixerdata
 
struct  pss_confdata
 

Macros

#define REG(x)   (devc->base+x)
 
#define PSS_DATA   0
 
#define PSS_STATUS   2
 
#define PSS_CONTROL   2
 
#define PSS_ID   4
 
#define PSS_IRQACK   4
 
#define PSS_PIO   0x1a
 
#define CONF_PSS   0x10
 
#define CONF_WSS   0x12
 
#define CONF_SB   0x14
 
#define CONF_CDROM   0x16
 
#define CONF_MIDI   0x18
 
#define PSS_FLAG3   0x0800
 
#define PSS_FLAG2   0x0400
 
#define PSS_FLAG1   0x1000
 
#define PSS_FLAG0   0x0800
 
#define PSS_WRITE_EMPTY   0x8000
 
#define PSS_READ_FULL   0x4000
 
#define WSS_INDEX   4
 
#define WSS_DATA   5
 
#define WSS_INITIALIZING   0x80
 
#define WSS_AUTOCALIBRATION   0x20
 
#define NO_WSS_MIXER   -1
 

Typedefs

typedef struct pss_mixerdata pss_mixerdata
 
typedef struct pss_confdata pss_confdata
 

Functions

 module_param (pss_io, int, 0)
 
 MODULE_PARM_DESC (pss_io,"Set i/o base of PSS card (probably 0x220 or 0x240)")
 
 module_param (mss_io, int, 0)
 
 MODULE_PARM_DESC (mss_io,"Set WSS (audio) i/o base (0x530, 0x604, 0xE80, 0xF40, or other. Address must end in 0 or 4 and must be from 0x100 to 0xFF4)")
 
 module_param (mss_irq, int, 0)
 
 MODULE_PARM_DESC (mss_irq,"Set WSS (audio) IRQ (3, 5, 7, 9, 10, 11, 12)")
 
 module_param (mss_dma, int, 0)
 
 MODULE_PARM_DESC (mss_dma,"Set WSS (audio) DMA (0, 1, 3)")
 
 module_param (mpu_io, int, 0)
 
 MODULE_PARM_DESC (mpu_io,"Set MIDI i/o base (0x330 or other. Address must be on 4 location boundaries and must be from 0x100 to 0xFFC)")
 
 module_param (mpu_irq, int, 0)
 
 MODULE_PARM_DESC (mpu_irq,"Set MIDI IRQ (3, 5, 7, 9, 10, 11, 12)")
 
 module_param (pss_cdrom_port, int, 0)
 
 MODULE_PARM_DESC (pss_cdrom_port,"Set the PSS CDROM port i/o base (0x340 or other)")
 
 module_param (pss_enable_joystick, bool, 0)
 
 MODULE_PARM_DESC (pss_enable_joystick,"Enables the PSS joystick port (1 to enable, 0 to disable)")
 
 module_param (pss_no_sound, bool, 0)
 
 MODULE_PARM_DESC (pss_no_sound,"Configure sound compoents (0 - no, 1 - yes)")
 
 module_param (pss_keep_settings, bool, 0)
 
 MODULE_PARM_DESC (pss_keep_settings,"Keep hardware setting at driver unloading (0 - no, 1 - yes)")
 
 module_param (pss_firmware, charp, 0)
 
 MODULE_PARM_DESC (pss_firmware,"Location of the firmware file (default - /etc/sound/pss_synth)")
 
 module_param (pss_mixer, bool, 0)
 
 MODULE_PARM_DESC (pss_mixer,"Enable (1) or disable (0) PSS mixer (controlling of output volume, bass, treble, synth volume). The mixer is not available on all PSS cards.")
 
 MODULE_AUTHOR ("Hannu Savolainen, Vladimir Michl")
 
 MODULE_DESCRIPTION ("Module for PSS sound cards (based on AD1848, ADSP-2115 and ESC614). This module includes control of output amplifier and synth volume of the Beethoven ADSP-16 card (this may work with other PSS cards).")
 
 MODULE_LICENSE ("GPL")
 
 module_init (init_pss)
 
 module_exit (cleanup_pss)
 
 __setup ("pss=", setup_pss)
 

Macro Definition Documentation

#define CONF_CDROM   0x16

Definition at line 87 of file pss.c.

#define CONF_MIDI   0x18

Definition at line 88 of file pss.c.

#define CONF_PSS   0x10

Definition at line 84 of file pss.c.

#define CONF_SB   0x14

Definition at line 86 of file pss.c.

#define CONF_WSS   0x12

Definition at line 85 of file pss.c.

#define NO_WSS_MIXER   -1

Definition at line 112 of file pss.c.

#define PSS_CONTROL   2

Definition at line 76 of file pss.c.

#define PSS_DATA   0

Definition at line 74 of file pss.c.

#define PSS_FLAG0   0x0800

Definition at line 96 of file pss.c.

#define PSS_FLAG1   0x1000

Definition at line 95 of file pss.c.

#define PSS_FLAG2   0x0400

Definition at line 94 of file pss.c.

#define PSS_FLAG3   0x0800

Definition at line 93 of file pss.c.

#define PSS_ID   4

Definition at line 77 of file pss.c.

#define PSS_IRQACK   4

Definition at line 78 of file pss.c.

#define PSS_PIO   0x1a

Definition at line 79 of file pss.c.

#define PSS_READ_FULL   0x4000

Definition at line 98 of file pss.c.

#define PSS_STATUS   2

Definition at line 75 of file pss.c.

#define PSS_WRITE_EMPTY   0x8000

Definition at line 97 of file pss.c.

#define REG (   x)    (devc->base+x)

Definition at line 73 of file pss.c.

#define WSS_AUTOCALIBRATION   0x20

Definition at line 110 of file pss.c.

#define WSS_DATA   5

Definition at line 104 of file pss.c.

#define WSS_INDEX   4

Definition at line 103 of file pss.c.

#define WSS_INITIALIZING   0x80

Definition at line 109 of file pss.c.

Typedef Documentation

Function Documentation

__setup ( )
MODULE_AUTHOR ( "Hannu  Savolainen,
Vladimir Michl"   
)
MODULE_DESCRIPTION ( "Module for PSS sound cards (based on AD1848, ADSP-2115 and ESC614). This module includes control of output amplifier and synth volume of the Beethoven ADSP-16 card (this may work with other PSS cards)."  )
module_exit ( cleanup_pss  )
module_init ( init_pss  )
MODULE_LICENSE ( "GPL"  )
module_param ( pss_io  ,
int  ,
 
)
module_param ( mss_io  ,
int  ,
 
)
module_param ( mss_irq  ,
int  ,
 
)
module_param ( mss_dma  ,
int  ,
 
)
module_param ( mpu_io  ,
int  ,
 
)
module_param ( mpu_irq  ,
int  ,
 
)
module_param ( pss_cdrom_port  ,
int  ,
 
)
module_param ( pss_enable_joystick  ,
bool  ,
 
)
module_param ( pss_no_sound  ,
bool  ,
 
)
module_param ( pss_keep_settings  ,
bool  ,
 
)
module_param ( pss_firmware  ,
charp  ,
 
)
module_param ( pss_mixer  ,
bool  ,
 
)
MODULE_PARM_DESC ( pss_io  ,
"Set i/o base of PSS card (probably 0x220 or 0x240)"   
)
MODULE_PARM_DESC ( mss_io  ,
"Set WSS (audio) i/o base (0x530, 0x604, 0xE80, 0xF40, or other. Address must end in 0 or 4 and must be from 0x100 to 0xFF4)"   
)
MODULE_PARM_DESC ( mss_irq  ,
"Set WSS (audio) IRQ (3, 5, 7, 9, 10, 11, 12)"   
)
MODULE_PARM_DESC ( mss_dma  ,
"Set WSS (audio) DMA (0, 1, 3)"   
)
MODULE_PARM_DESC ( mpu_io  ,
"Set MIDI i/o base (0x330 or other. Address must be on 4 location boundaries and must be from 0x100 to 0xFFC)"   
)
MODULE_PARM_DESC ( mpu_irq  ,
"Set MIDI IRQ (3, 5, 7, 9, 10, 11, 12)"   
)
MODULE_PARM_DESC ( pss_cdrom_port  ,
"Set the PSS CDROM port i/o base (0x340 or other)"   
)
MODULE_PARM_DESC ( pss_enable_joystick  ,
"Enables the PSS joystick port (1 to enable, 0 to disable)"   
)
MODULE_PARM_DESC ( pss_no_sound  ,
"Configure sound compoents (0 - no, 1 - yes)"   
)
MODULE_PARM_DESC ( pss_keep_settings  ,
"Keep hardware setting at driver unloading (0 - no, 1 - yes)"   
)
MODULE_PARM_DESC ( pss_firmware  ,
"Location of the firmware file (default - /etc/sound/pss_synth)"   
)
MODULE_PARM_DESC ( pss_mixer  ,
"Enable (1) or disable (0) PSS mixer (controlling of output volume, bass, treble, synth volume). The mixer is not available on all PSS cards."   
)