Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Functions
msnd_pinnacle.c File Reference
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/types.h>
#include <linux/delay.h>
#include <linux/init.h>
#include <linux/interrupt.h>
#include <linux/mutex.h>
#include <linux/gfp.h>
#include <asm/irq.h>
#include <asm/io.h>
#include "sound_config.h"
#include "sound_firmware.h"
#include "msnd.h"
#include "msnd_classic.h"
#include "msnd_pinnacle.h"

Go to the source code of this file.

Data Structures

struct  msnd_pinnacle_cfg_device
 

Macros

#define LOGNAME   "msnd_pinnacle"
 
#define CONFIG_MSND_WRITE_NDELAY   1
 
#define get_play_delay_jiffies(size)
 
#define get_rec_delay_jiffies(size)
 
#define update_volm(a, b)
 
#define update_potm(d, s, ar)
 
#define update_pot(d, s, ar)
 
#define set_mixer_info()
 
#define CONFIG_MSNDPIN_CFG   -1
 
#define CONFIG_MSNDPIN_MPU_IO   0
 
#define CONFIG_MSNDPIN_MPU_IRQ   0
 
#define CONFIG_MSNDPIN_IDE_IO0   0
 
#define CONFIG_MSNDPIN_IDE_IO1   0
 
#define CONFIG_MSNDPIN_IDE_IRQ   0
 
#define CONFIG_MSNDPIN_JOYSTICK_IO   0
 
#define CONFIG_MSNDPIN_DIGITAL   0
 
#define CONFIG_MSND_FIFOSIZE   DEFFIFOSIZE
 
#define CONFIG_MSND_CALSIGNAL   0
 

Typedefs

typedef struct
msnd_pinnacle_cfg_device 
msnd_pinnacle_cfg_t [4]
 

Functions

 module_param (io, int, 0)
 
 module_param (irq, int, 0)
 
 module_param (mem, int, 0)
 
 module_param (write_ndelay, int, 0)
 
 module_param (fifosize, int, 0)
 
 module_param (calibrate_signal, int, 0)
 
 module_param (digital, bool, 0)
 
 module_param (cfg, int, 0)
 
 module_param (reset, int, 0)
 
 module_param (mpu_io, int, 0)
 
 module_param (mpu_irq, int, 0)
 
 module_param (ide_io0, int, 0)
 
 module_param (ide_io1, int, 0)
 
 module_param (ide_irq, int, 0)
 
 module_param (joystick_io, int, 0)
 
 module_init (msnd_init)
 
 module_exit (msdn_cleanup)
 

Macro Definition Documentation

#define CONFIG_MSND_CALSIGNAL   0

Definition at line 1718 of file msnd_pinnacle.c.

#define CONFIG_MSND_FIFOSIZE   DEFFIFOSIZE

Definition at line 1713 of file msnd_pinnacle.c.

#define CONFIG_MSND_WRITE_NDELAY   1

Definition at line 69 of file msnd_pinnacle.c.

#define CONFIG_MSNDPIN_CFG   -1

Definition at line 1667 of file msnd_pinnacle.c.

#define CONFIG_MSNDPIN_DIGITAL   0

Definition at line 1706 of file msnd_pinnacle.c.

#define CONFIG_MSNDPIN_IDE_IO0   0

Definition at line 1685 of file msnd_pinnacle.c.

#define CONFIG_MSNDPIN_IDE_IO1   0

Definition at line 1690 of file msnd_pinnacle.c.

#define CONFIG_MSNDPIN_IDE_IRQ   0

Definition at line 1695 of file msnd_pinnacle.c.

#define CONFIG_MSNDPIN_JOYSTICK_IO   0

Definition at line 1700 of file msnd_pinnacle.c.

#define CONFIG_MSNDPIN_MPU_IO   0

Definition at line 1675 of file msnd_pinnacle.c.

#define CONFIG_MSNDPIN_MPU_IRQ   0

Definition at line 1680 of file msnd_pinnacle.c.

#define get_play_delay_jiffies (   size)
Value:
((size) * HZ * \
dev.play_sample_size / 8 / \
dev.play_sample_rate / \
dev.play_channels)

Definition at line 72 of file msnd_pinnacle.c.

#define get_rec_delay_jiffies (   size)
Value:
((size) * HZ * \
dev.rec_sample_size / 8 / \
dev.rec_sample_rate / \
dev.rec_channels)

Definition at line 77 of file msnd_pinnacle.c.

#define LOGNAME   "msnd_pinnacle"

Definition at line 65 of file msnd_pinnacle.c.

#define set_mixer_info ( )
Value:
memset(&info, 0, sizeof(info)); \
strlcpy(info.id, "MSNDMIXER", sizeof(info.id)); \
strlcpy(info.name, "MultiSound Mixer", sizeof(info.name));

Definition at line 553 of file msnd_pinnacle.c.

#define update_pot (   d,
  s,
  ar 
)
Value:
writeb(dev.left_levels[d] >> 8, \
dev.SMA + SMA_##s##Left); \
writeb(dev.right_levels[d] >> 8, \
dev.SMA + SMA_##s##Right); \
if (msnd_send_word(&dev, 0, 0, ar) == 0) \
chk_send_dsp_cmd(&dev, HDEX_AUX_REQ);

Definition at line 416 of file msnd_pinnacle.c.

#define update_potm (   d,
  s,
  ar 
)
Value:
writeb((dev.left_levels[d] >> 8) * \
readw(dev.SMA + SMA_wCurrMastVolLeft) / 0xffff, \
dev.SMA + SMA_##s##Left); \
writeb((dev.right_levels[d] >> 8) * \
readw(dev.SMA + SMA_wCurrMastVolRight) / 0xffff, \
dev.SMA + SMA_##s##Right); \
if (msnd_send_word(&dev, 0, 0, ar) == 0) \
chk_send_dsp_cmd(&dev, HDEX_AUX_REQ);

Definition at line 406 of file msnd_pinnacle.c.

#define update_volm (   a,
  b 
)
Value:
writew((dev.left_levels[a] >> 1) * \
readw(dev.SMA + SMA_wCurrMastVolLeft) / 0xffff, \
dev.SMA + SMA_##b##Left); \
writew((dev.right_levels[a] >> 1) * \
readw(dev.SMA + SMA_wCurrMastVolRight) / 0xffff, \
dev.SMA + SMA_##b##Right);

Definition at line 398 of file msnd_pinnacle.c.

Typedef Documentation

typedef struct msnd_pinnacle_cfg_device msnd_pinnacle_cfg_t[4]

Function Documentation

module_exit ( msdn_cleanup  )
module_init ( msnd_init  )
module_param ( io  ,
int  ,
 
)
module_param ( irq  ,
int  ,
 
)
module_param ( mem  ,
int  ,
 
)
module_param ( write_ndelay  ,
int  ,
 
)
module_param ( fifosize  ,
int  ,
 
)
module_param ( calibrate_signal  ,
int  ,
 
)
module_param ( digital  ,
bool  ,
 
)
module_param ( cfg  ,
int  ,
 
)
module_param ( reset  ,
int  ,
 
)
module_param ( mpu_io  ,
int  ,
 
)
module_param ( mpu_irq  ,
int  ,
 
)
module_param ( ide_io0  ,
int  ,
 
)
module_param ( ide_io1  ,
int  ,
 
)
module_param ( ide_irq  ,
int  ,
 
)
module_param ( joystick_io  ,
int  ,
 
)