Fedora kernel-2.6.17-1.2142_FC4 patched with stable patch-2.6.17.4-vs2.0.2-rc26.diff
[linux-2.6.git] / sound / pci / au88x0 / au88x0.h
index ee1ede1..f078b71 100644 (file)
@@ -19,7 +19,6 @@
 
 #ifdef __KERNEL__
 #include <sound/driver.h>
-#include <linux/init.h>
 #include <linux/pci.h>
 #include <asm/io.h>
 #include <sound/core.h>
 #include "au88x0_wt.h"
 #endif
 
-#define        VORTEX_DMA_MASK 0xffffffff
-
-#define        hwread(x,y) readl((x)+((y)>>2))
-#define        hwwrite(x,y,z) writel((z),(x)+((y)>>2))
+#define        hwread(x,y) readl((x)+(y))
+#define        hwwrite(x,y,z) writel((z),(x)+(y))
 
 /* Vortex MPU401 defines. */
 #define        MIDI_CLOCK_DIV          0x61
 #define VORTEX_RESOURCE_A3D    0x00000004
 #define VORTEX_RESOURCE_LAST   0x00000005
 
+/* codec io: VORTEX_CODEC_IO bits */
+#define VORTEX_CODEC_ID_SHIFT  24
+#define VORTEX_CODEC_WRITE     0x00800000
+#define VORTEX_CODEC_ADDSHIFT  16
+#define VORTEX_CODEC_ADDMASK   0x7f0000
+#define VORTEX_CODEC_DATSHIFT  0
+#define VORTEX_CODEC_DATMASK   0xffff
+
 /* Check for SDAC bit in "Extended audio ID" AC97 register */
 //#define VORTEX_IS_QUAD(x) (((x)->codec == NULL) ?  0 : ((x)->codec->ext_id&0x80))
 #define VORTEX_IS_QUAD(x) ((x)->isquad)
@@ -107,7 +112,7 @@ typedef struct {
        //int this_08;          /* Still unknown */
        int fifo_enabled;       /* this_24 */
        int fifo_status;        /* this_1c */
-       int dma_ctrl;           /* this_78 (ADB), this_7c (WT) */
+       u32 dma_ctrl;           /* this_78 (ADB), this_7c (WT) */
        int dma_unknown;        /* this_74 (ADB), this_78 (WT). WDM: +8 */
        int cfg0;
        int cfg1;
@@ -121,21 +126,21 @@ typedef struct {
        /* Virtual page extender stuff */
        int nr_periods;
        int period_bytes;
-       snd_pcm_sgbuf_t *sgbuf; /* DMA Scatter Gather struct */
+       struct snd_sg_buf *sgbuf;       /* DMA Scatter Gather struct */
        int period_real;
        int period_virt;
 
-       snd_pcm_substream_t *substream;
+       struct snd_pcm_substream *substream;
 } stream_t;
 
 typedef struct snd_vortex vortex_t;
 struct snd_vortex {
        /* ALSA structs. */
-       snd_card_t *card;
-       snd_pcm_t *pcm[VORTEX_PCM_LAST];
+       struct snd_card *card;
+       struct snd_pcm *pcm[VORTEX_PCM_LAST];
 
-       snd_rawmidi_t *rmidi;   /* Legacy Midi interface. */
-       ac97_t *codec;
+       struct snd_rawmidi *rmidi;      /* Legacy Midi interface. */
+       struct snd_ac97 *codec;
 
        /* Stream structs. */
        stream_t dma_adb[NR_ADB];
@@ -172,7 +177,7 @@ struct snd_vortex {
 
        /* PCI hardware resources */
        unsigned long io;
-       unsigned long __iomem *mmio;
+       void __iomem *mmio;
        unsigned int irq;
        spinlock_t lock;
 
@@ -191,18 +196,18 @@ static void vortex_adb_setsrc(vortex_t * vortex, int adbdma,
 
 /* DMA Engines. */
 static void vortex_adbdma_setbuffers(vortex_t * vortex, int adbdma,
-                                    snd_pcm_sgbuf_t * sgbuf, int size,
+                                    struct snd_sg_buf * sgbuf, int size,
                                     int count);
 static void vortex_adbdma_setmode(vortex_t * vortex, int adbdma, int ie,
                                  int dir, int fmt, int d,
-                                 unsigned long offset);
+                                 u32 offset);
 static void vortex_adbdma_setstartbuffer(vortex_t * vortex, int adbdma, int sb);
 #ifndef CHIP_AU8810
 static void vortex_wtdma_setbuffers(vortex_t * vortex, int wtdma,
-                                   snd_pcm_sgbuf_t * sgbuf, int size,
+                                   struct snd_sg_buf * sgbuf, int size,
                                    int count);
 static void vortex_wtdma_setmode(vortex_t * vortex, int wtdma, int ie, int fmt, int d, /*int e, */
-                                unsigned long offset);
+                                u32 offset);
 static void vortex_wtdma_setstartbuffer(vortex_t * vortex, int wtdma, int sb);
 #endif
 
@@ -223,9 +228,9 @@ static int inline vortex_wtdma_getlinearpos(vortex_t * vortex, int wtdma);
 
 /* global stuff. */
 static void vortex_codec_init(vortex_t * vortex);
-static void vortex_codec_write(ac97_t * codec, unsigned short addr,
+static void vortex_codec_write(struct snd_ac97 * codec, unsigned short addr,
                               unsigned short data);
-static unsigned short vortex_codec_read(ac97_t * codec, unsigned short addr);
+static unsigned short vortex_codec_read(struct snd_ac97 * codec, unsigned short addr);
 static void vortex_spdif_init(vortex_t * vortex, int spdif_sr, int spdif_mode);
 
 static int vortex_core_init(vortex_t * card);
@@ -271,14 +276,14 @@ static void vortex_Vort3D_InitializeSource(a3dsrc_t * a, int en);
 #endif
 
 /* Driver stuff. */
-static int __devinit vortex_gameport_register(vortex_t * card);
+static int vortex_gameport_register(vortex_t * card);
 static void vortex_gameport_unregister(vortex_t * card);
 #ifndef CHIP_AU8820
-static int __devinit vortex_eq_init(vortex_t * vortex);
-static int __devexit vortex_eq_free(vortex_t * vortex);
+static int vortex_eq_init(vortex_t * vortex);
+static int vortex_eq_free(vortex_t * vortex);
 #endif
 /* ALSA stuff. */
-static int __devinit snd_vortex_new_pcm(vortex_t * vortex, int idx, int nr);
-static int __devinit snd_vortex_mixer(vortex_t * vortex);
-static int __devinit snd_vortex_midi(vortex_t * vortex);
+static int snd_vortex_new_pcm(vortex_t * vortex, int idx, int nr);
+static int snd_vortex_mixer(vortex_t * vortex);
+static int snd_vortex_midi(vortex_t * vortex);
 #endif