Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
emu10k1_main.c File Reference
#include <linux/sched.h>
#include <linux/kthread.h>
#include <linux/delay.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/interrupt.h>
#include <linux/pci.h>
#include <linux/slab.h>
#include <linux/vmalloc.h>
#include <linux/mutex.h>
#include <sound/core.h>
#include <sound/emu10k1.h>
#include <linux/firmware.h>
#include "p16v.h"
#include "tina2.h"
#include "p17v.h"

Go to the source code of this file.

Macros

#define HANA_FILENAME   "emu/hana.fw"
 
#define DOCK_FILENAME   "emu/audio_dock.fw"
 
#define EMU1010B_FILENAME   "emu/emu1010b.fw"
 
#define MICRO_DOCK_FILENAME   "emu/micro_dock.fw"
 
#define EMU0404_FILENAME   "emu/emu0404.fw"
 
#define EMU1010_NOTEBOOK_FILENAME   "emu/emu1010_notebook.fw"
 
#define HOOKN_BIT   (1L << 12)
 
#define HANDN_BIT   (1L << 11)
 
#define PULSEN_BIT   (1L << 10)
 
#define EC_GDI1   (1 << 13)
 
#define EC_GDI0   (1 << 14)
 
#define EC_NUM_CONTROL_BITS   20
 
#define EC_AC3_DATA_SELN   0x0001L
 
#define EC_EE_DATA_SEL   0x0002L
 
#define EC_EE_CNTRL_SELN   0x0004L
 
#define EC_EECLK   0x0008L
 
#define EC_EECS   0x0010L
 
#define EC_EESDO   0x0020L
 
#define EC_TRIM_CSN   0x0040L
 
#define EC_TRIM_SCLK   0x0080L
 
#define EC_TRIM_SDATA   0x0100L
 
#define EC_TRIM_MUTEN   0x0200L
 
#define EC_ADCCAL   0x0400L
 
#define EC_ADCRSTN   0x0800L
 
#define EC_DACCAL   0x1000L
 
#define EC_DACMUTEN   0x2000L
 
#define EC_LEDN   0x4000L
 
#define EC_SPDIF0_SEL_SHIFT   15
 
#define EC_SPDIF1_SEL_SHIFT   17
 
#define EC_SPDIF0_SEL_MASK   (0x3L << EC_SPDIF0_SEL_SHIFT)
 
#define EC_SPDIF1_SEL_MASK   (0x7L << EC_SPDIF1_SEL_SHIFT)
 
#define EC_SPDIF0_SELECT(_x)   (((_x) << EC_SPDIF0_SEL_SHIFT) & EC_SPDIF0_SEL_MASK)
 
#define EC_SPDIF1_SELECT(_x)   (((_x) << EC_SPDIF1_SEL_SHIFT) & EC_SPDIF1_SEL_MASK)
 
#define EC_CURRENT_PROM_VERSION
 
#define EC_EEPROM_SIZE   0x40 /* ECARD EEPROM has 64 16-bit words */
 
#define EC_PROM_VERSION_ADDR   0x20 /* Address of the current prom version */
 
#define EC_BOARDREV0_ADDR   0x21 /* LSW of board rev */
 
#define EC_BOARDREV1_ADDR   0x22 /* MSW of board rev */
 
#define EC_LAST_PROMFILE_ADDR   0x2f
 
#define EC_SERIALNUM_ADDR
 
#define EC_CHECKSUM_ADDR   0x3f /* Location at which checksum is stored */
 
#define EC_RAW_RUN_MODE
 
#define EC_DEFAULT_ADC_GAIN   0xC4C4
 
#define EC_DEFAULT_SPDIF0_SEL   0x0
 
#define EC_DEFAULT_SPDIF1_SEL   0x4
 

Functions

 MODULE_FIRMWARE (HANA_FILENAME)
 
 MODULE_FIRMWARE (DOCK_FILENAME)
 
 MODULE_FIRMWARE (EMU1010B_FILENAME)
 
 MODULE_FIRMWARE (MICRO_DOCK_FILENAME)
 
 MODULE_FIRMWARE (EMU0404_FILENAME)
 
 MODULE_FIRMWARE (EMU1010_NOTEBOOK_FILENAME)
 
void snd_emu10k1_voice_init (struct snd_emu10k1 *emu, int ch)
 
int snd_emu10k1_done (struct snd_emu10k1 *emu)
 
int __devinit snd_emu10k1_create (struct snd_card *card, struct pci_dev *pci, unsigned short extin_mask, unsigned short extout_mask, long max_cache_bytes, int enable_ir, uint subsystem, struct snd_emu10k1 **remu)
 

Macro Definition Documentation

#define DOCK_FILENAME   "emu/audio_dock.fw"

Definition at line 55 of file emu10k1_main.c.

#define EC_AC3_DATA_SELN   0x0001L

Definition at line 464 of file emu10k1_main.c.

#define EC_ADCCAL   0x0400L

Definition at line 474 of file emu10k1_main.c.

#define EC_ADCRSTN   0x0800L

Definition at line 475 of file emu10k1_main.c.

#define EC_BOARDREV0_ADDR   0x21 /* LSW of board rev */

Definition at line 492 of file emu10k1_main.c.

#define EC_BOARDREV1_ADDR   0x22 /* MSW of board rev */

Definition at line 493 of file emu10k1_main.c.

#define EC_CHECKSUM_ADDR   0x3f /* Location at which checksum is stored */

Definition at line 498 of file emu10k1_main.c.

#define EC_CURRENT_PROM_VERSION
Value:
0x01 /* Self-explanatory. This should
* be incremented any time the EEPROM's
* format is changed. */

Definition at line 486 of file emu10k1_main.c.

#define EC_DACCAL   0x1000L

Definition at line 476 of file emu10k1_main.c.

#define EC_DACMUTEN   0x2000L

Definition at line 477 of file emu10k1_main.c.

#define EC_DEFAULT_ADC_GAIN   0xC4C4

Definition at line 509 of file emu10k1_main.c.

#define EC_DEFAULT_SPDIF0_SEL   0x0

Definition at line 510 of file emu10k1_main.c.

#define EC_DEFAULT_SPDIF1_SEL   0x4

Definition at line 511 of file emu10k1_main.c.

#define EC_EE_CNTRL_SELN   0x0004L

Definition at line 466 of file emu10k1_main.c.

#define EC_EE_DATA_SEL   0x0002L

Definition at line 465 of file emu10k1_main.c.

#define EC_EECLK   0x0008L

Definition at line 467 of file emu10k1_main.c.

#define EC_EECS   0x0010L

Definition at line 468 of file emu10k1_main.c.

#define EC_EEPROM_SIZE   0x40 /* ECARD EEPROM has 64 16-bit words */

Definition at line 488 of file emu10k1_main.c.

#define EC_EESDO   0x0020L

Definition at line 469 of file emu10k1_main.c.

#define EC_GDI0   (1 << 14)

Definition at line 460 of file emu10k1_main.c.

#define EC_GDI1   (1 << 13)

Definition at line 459 of file emu10k1_main.c.

#define EC_LAST_PROMFILE_ADDR   0x2f

Definition at line 495 of file emu10k1_main.c.

#define EC_LEDN   0x4000L

Definition at line 478 of file emu10k1_main.c.

#define EC_NUM_CONTROL_BITS   20

Definition at line 462 of file emu10k1_main.c.

#define EC_PROM_VERSION_ADDR   0x20 /* Address of the current prom version */

Definition at line 491 of file emu10k1_main.c.

#define EC_RAW_RUN_MODE
Value:
EC_TRIM_CSN)

Definition at line 505 of file emu10k1_main.c.

#define EC_SERIALNUM_ADDR
Value:
0x30 /* First word of serial number. The
* can be up to 30 characters in length
* and is stored as a NULL-terminated
* ASCII string. Any unused bytes must be
* filled with zeros */

Definition at line 497 of file emu10k1_main.c.

#define EC_SPDIF0_SEL_MASK   (0x3L << EC_SPDIF0_SEL_SHIFT)

Definition at line 482 of file emu10k1_main.c.

#define EC_SPDIF0_SEL_SHIFT   15

Definition at line 480 of file emu10k1_main.c.

#define EC_SPDIF0_SELECT (   _x)    (((_x) << EC_SPDIF0_SEL_SHIFT) & EC_SPDIF0_SEL_MASK)

Definition at line 484 of file emu10k1_main.c.

#define EC_SPDIF1_SEL_MASK   (0x7L << EC_SPDIF1_SEL_SHIFT)

Definition at line 483 of file emu10k1_main.c.

#define EC_SPDIF1_SEL_SHIFT   17

Definition at line 481 of file emu10k1_main.c.

#define EC_SPDIF1_SELECT (   _x)    (((_x) << EC_SPDIF1_SEL_SHIFT) & EC_SPDIF1_SEL_MASK)

Definition at line 485 of file emu10k1_main.c.

#define EC_TRIM_CSN   0x0040L

Definition at line 470 of file emu10k1_main.c.

#define EC_TRIM_MUTEN   0x0200L

Definition at line 473 of file emu10k1_main.c.

#define EC_TRIM_SCLK   0x0080L

Definition at line 471 of file emu10k1_main.c.

#define EC_TRIM_SDATA   0x0100L

Definition at line 472 of file emu10k1_main.c.

#define EMU0404_FILENAME   "emu/emu0404.fw"

Definition at line 58 of file emu10k1_main.c.

#define EMU1010_NOTEBOOK_FILENAME   "emu/emu1010_notebook.fw"

Definition at line 59 of file emu10k1_main.c.

#define EMU1010B_FILENAME   "emu/emu1010b.fw"

Definition at line 56 of file emu10k1_main.c.

#define HANA_FILENAME   "emu/hana.fw"

Definition at line 54 of file emu10k1_main.c.

#define HANDN_BIT   (1L << 11)

Definition at line 456 of file emu10k1_main.c.

#define HOOKN_BIT   (1L << 12)

Definition at line 455 of file emu10k1_main.c.

#define MICRO_DOCK_FILENAME   "emu/micro_dock.fw"

Definition at line 57 of file emu10k1_main.c.

#define PULSEN_BIT   (1L << 10)

Definition at line 457 of file emu10k1_main.c.

Function Documentation

MODULE_FIRMWARE ( HANA_FILENAME  )
MODULE_FIRMWARE ( DOCK_FILENAME  )
MODULE_FIRMWARE ( EMU1010B_FILENAME  )
MODULE_FIRMWARE ( MICRO_DOCK_FILENAME  )
MODULE_FIRMWARE ( EMU0404_FILENAME  )
MODULE_FIRMWARE ( EMU1010_NOTEBOOK_FILENAME  )
int __devinit snd_emu10k1_create ( struct snd_card card,
struct pci_dev pci,
unsigned short  extin_mask,
unsigned short  extout_mask,
long  max_cache_bytes,
int  enable_ir,
uint  subsystem,
struct snd_emu10k1 **  remu 
)

Definition at line 1735 of file emu10k1_main.c.

int snd_emu10k1_done ( struct snd_emu10k1 *  emu)

Definition at line 404 of file emu10k1_main.c.

void snd_emu10k1_voice_init ( struct snd_emu10k1 *  emu,
int  ch 
)

Definition at line 73 of file emu10k1_main.c.