aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/vx222/vx222_ops.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/pci/vx222/vx222_ops.c')
-rw-r--r--sound/pci/vx222/vx222_ops.c84
1 files changed, 42 insertions, 42 deletions
diff --git a/sound/pci/vx222/vx222_ops.c b/sound/pci/vx222/vx222_ops.c
index 2d4d0c29b4c4..c705af409b0f 100644
--- a/sound/pci/vx222/vx222_ops.c
+++ b/sound/pci/vx222/vx222_ops.c
@@ -82,7 +82,7 @@ static int vx2_reg_index[VX_REG_MAX] = {
82 [VX_GPIOC] = 0, /* on the PLX */ 82 [VX_GPIOC] = 0, /* on the PLX */
83}; 83};
84 84
85static inline unsigned long vx2_reg_addr(vx_core_t *_chip, int reg) 85static inline unsigned long vx2_reg_addr(struct vx_core *_chip, int reg)
86{ 86{
87 struct snd_vx222 *chip = (struct snd_vx222 *)_chip; 87 struct snd_vx222 *chip = (struct snd_vx222 *)_chip;
88 return chip->port[vx2_reg_index[reg]] + vx2_reg_offset[reg]; 88 return chip->port[vx2_reg_index[reg]] + vx2_reg_offset[reg];
@@ -92,7 +92,7 @@ static inline unsigned long vx2_reg_addr(vx_core_t *_chip, int reg)
92 * snd_vx_inb - read a byte from the register 92 * snd_vx_inb - read a byte from the register
93 * @offset: register enum 93 * @offset: register enum
94 */ 94 */
95static unsigned char vx2_inb(vx_core_t *chip, int offset) 95static unsigned char vx2_inb(struct vx_core *chip, int offset)
96{ 96{
97 return inb(vx2_reg_addr(chip, offset)); 97 return inb(vx2_reg_addr(chip, offset));
98} 98}
@@ -102,7 +102,7 @@ static unsigned char vx2_inb(vx_core_t *chip, int offset)
102 * @offset: the register offset 102 * @offset: the register offset
103 * @val: the value to write 103 * @val: the value to write
104 */ 104 */
105static void vx2_outb(vx_core_t *chip, int offset, unsigned char val) 105static void vx2_outb(struct vx_core *chip, int offset, unsigned char val)
106{ 106{
107 outb(val, vx2_reg_addr(chip, offset)); 107 outb(val, vx2_reg_addr(chip, offset));
108 //printk("outb: %x -> %x\n", val, vx2_reg_addr(chip, offset)); 108 //printk("outb: %x -> %x\n", val, vx2_reg_addr(chip, offset));
@@ -112,7 +112,7 @@ static void vx2_outb(vx_core_t *chip, int offset, unsigned char val)
112 * snd_vx_inl - read a 32bit word from the register 112 * snd_vx_inl - read a 32bit word from the register
113 * @offset: register enum 113 * @offset: register enum
114 */ 114 */
115static unsigned int vx2_inl(vx_core_t *chip, int offset) 115static unsigned int vx2_inl(struct vx_core *chip, int offset)
116{ 116{
117 return inl(vx2_reg_addr(chip, offset)); 117 return inl(vx2_reg_addr(chip, offset));
118} 118}
@@ -122,7 +122,7 @@ static unsigned int vx2_inl(vx_core_t *chip, int offset)
122 * @offset: the register enum 122 * @offset: the register enum
123 * @val: the value to write 123 * @val: the value to write
124 */ 124 */
125static void vx2_outl(vx_core_t *chip, int offset, unsigned int val) 125static void vx2_outl(struct vx_core *chip, int offset, unsigned int val)
126{ 126{
127 // printk("outl: %x -> %x\n", val, vx2_reg_addr(chip, offset)); 127 // printk("outl: %x -> %x\n", val, vx2_reg_addr(chip, offset));
128 outl(val, vx2_reg_addr(chip, offset)); 128 outl(val, vx2_reg_addr(chip, offset));
@@ -132,13 +132,13 @@ static void vx2_outl(vx_core_t *chip, int offset, unsigned int val)
132 * redefine macros to call directly 132 * redefine macros to call directly
133 */ 133 */
134#undef vx_inb 134#undef vx_inb
135#define vx_inb(chip,reg) vx2_inb((vx_core_t*)(chip), VX_##reg) 135#define vx_inb(chip,reg) vx2_inb((struct vx_core*)(chip), VX_##reg)
136#undef vx_outb 136#undef vx_outb
137#define vx_outb(chip,reg,val) vx2_outb((vx_core_t*)(chip), VX_##reg, val) 137#define vx_outb(chip,reg,val) vx2_outb((struct vx_core*)(chip), VX_##reg, val)
138#undef vx_inl 138#undef vx_inl
139#define vx_inl(chip,reg) vx2_inl((vx_core_t*)(chip), VX_##reg) 139#define vx_inl(chip,reg) vx2_inl((struct vx_core*)(chip), VX_##reg)
140#undef vx_outl 140#undef vx_outl
141#define vx_outl(chip,reg,val) vx2_outl((vx_core_t*)(chip), VX_##reg, val) 141#define vx_outl(chip,reg,val) vx2_outl((struct vx_core*)(chip), VX_##reg, val)
142 142
143 143
144/* 144/*
@@ -147,7 +147,7 @@ static void vx2_outl(vx_core_t *chip, int offset, unsigned int val)
147 147
148#define XX_DSP_RESET_WAIT_TIME 2 /* ms */ 148#define XX_DSP_RESET_WAIT_TIME 2 /* ms */
149 149
150static void vx2_reset_dsp(vx_core_t *_chip) 150static void vx2_reset_dsp(struct vx_core *_chip)
151{ 151{
152 struct snd_vx222 *chip = (struct snd_vx222 *)_chip; 152 struct snd_vx222 *chip = (struct snd_vx222 *)_chip;
153 153
@@ -162,7 +162,7 @@ static void vx2_reset_dsp(vx_core_t *_chip)
162} 162}
163 163
164 164
165static int vx2_test_xilinx(vx_core_t *_chip) 165static int vx2_test_xilinx(struct vx_core *_chip)
166{ 166{
167 struct snd_vx222 *chip = (struct snd_vx222 *)_chip; 167 struct snd_vx222 *chip = (struct snd_vx222 *)_chip;
168 unsigned int data; 168 unsigned int data;
@@ -219,7 +219,7 @@ static int vx2_test_xilinx(vx_core_t *_chip)
219 * vx_setup_pseudo_dma - set up the pseudo dma read/write mode. 219 * vx_setup_pseudo_dma - set up the pseudo dma read/write mode.
220 * @do_write: 0 = read, 1 = set up for DMA write 220 * @do_write: 0 = read, 1 = set up for DMA write
221 */ 221 */
222static void vx2_setup_pseudo_dma(vx_core_t *chip, int do_write) 222static void vx2_setup_pseudo_dma(struct vx_core *chip, int do_write)
223{ 223{
224 /* Interrupt mode and HREQ pin enabled for host transmit data transfers 224 /* Interrupt mode and HREQ pin enabled for host transmit data transfers
225 * (in case of the use of the pseudo-dma facility). 225 * (in case of the use of the pseudo-dma facility).
@@ -235,7 +235,7 @@ static void vx2_setup_pseudo_dma(vx_core_t *chip, int do_write)
235/* 235/*
236 * vx_release_pseudo_dma - disable the pseudo-DMA mode 236 * vx_release_pseudo_dma - disable the pseudo-DMA mode
237 */ 237 */
238static inline void vx2_release_pseudo_dma(vx_core_t *chip) 238static inline void vx2_release_pseudo_dma(struct vx_core *chip)
239{ 239{
240 /* HREQ pin disabled. */ 240 /* HREQ pin disabled. */
241 vx_outl(chip, ICR, 0); 241 vx_outl(chip, ICR, 0);
@@ -244,8 +244,8 @@ static inline void vx2_release_pseudo_dma(vx_core_t *chip)
244 244
245 245
246/* pseudo-dma write */ 246/* pseudo-dma write */
247static void vx2_dma_write(vx_core_t *chip, snd_pcm_runtime_t *runtime, 247static void vx2_dma_write(struct vx_core *chip, struct snd_pcm_runtime *runtime,
248 vx_pipe_t *pipe, int count) 248 struct vx_pipe *pipe, int count)
249{ 249{
250 unsigned long port = vx2_reg_addr(chip, VX_DMA); 250 unsigned long port = vx2_reg_addr(chip, VX_DMA);
251 int offset = pipe->hw_ptr; 251 int offset = pipe->hw_ptr;
@@ -282,8 +282,8 @@ static void vx2_dma_write(vx_core_t *chip, snd_pcm_runtime_t *runtime,
282 282
283 283
284/* pseudo dma read */ 284/* pseudo dma read */
285static void vx2_dma_read(vx_core_t *chip, snd_pcm_runtime_t *runtime, 285static void vx2_dma_read(struct vx_core *chip, struct snd_pcm_runtime *runtime,
286 vx_pipe_t *pipe, int count) 286 struct vx_pipe *pipe, int count)
287{ 287{
288 int offset = pipe->hw_ptr; 288 int offset = pipe->hw_ptr;
289 u32 *addr = (u32 *)(runtime->dma_area + offset); 289 u32 *addr = (u32 *)(runtime->dma_area + offset);
@@ -321,7 +321,7 @@ static void vx2_dma_read(vx_core_t *chip, snd_pcm_runtime_t *runtime,
321/* 321/*
322 * transfer counts bits to PLX 322 * transfer counts bits to PLX
323 */ 323 */
324static int put_xilinx_data(vx_core_t *chip, unsigned int port, unsigned int counts, unsigned char data) 324static int put_xilinx_data(struct vx_core *chip, unsigned int port, unsigned int counts, unsigned char data)
325{ 325{
326 unsigned int i; 326 unsigned int i;
327 327
@@ -353,7 +353,7 @@ static int put_xilinx_data(vx_core_t *chip, unsigned int port, unsigned int coun
353/* 353/*
354 * load the xilinx image 354 * load the xilinx image
355 */ 355 */
356static int vx2_load_xilinx_binary(vx_core_t *chip, const struct firmware *xilinx) 356static int vx2_load_xilinx_binary(struct vx_core *chip, const struct firmware *xilinx)
357{ 357{
358 unsigned int i; 358 unsigned int i;
359 unsigned int port; 359 unsigned int port;
@@ -400,7 +400,7 @@ static int vx2_load_xilinx_binary(vx_core_t *chip, const struct firmware *xilinx
400/* 400/*
401 * load the boot/dsp images 401 * load the boot/dsp images
402 */ 402 */
403static int vx2_load_dsp(vx_core_t *vx, int index, const struct firmware *dsp) 403static int vx2_load_dsp(struct vx_core *vx, int index, const struct firmware *dsp)
404{ 404{
405 int err; 405 int err;
406 406
@@ -432,7 +432,7 @@ static int vx2_load_dsp(vx_core_t *vx, int index, const struct firmware *dsp)
432 * 432 *
433 * spinlock held! 433 * spinlock held!
434 */ 434 */
435static int vx2_test_and_ack(vx_core_t *chip) 435static int vx2_test_and_ack(struct vx_core *chip)
436{ 436{
437 /* not booted yet? */ 437 /* not booted yet? */
438 if (! (chip->chip_status & VX_STAT_XILINX_LOADED)) 438 if (! (chip->chip_status & VX_STAT_XILINX_LOADED))
@@ -463,7 +463,7 @@ static int vx2_test_and_ack(vx_core_t *chip)
463/* 463/*
464 * vx_validate_irq - enable/disable IRQ 464 * vx_validate_irq - enable/disable IRQ
465 */ 465 */
466static void vx2_validate_irq(vx_core_t *_chip, int enable) 466static void vx2_validate_irq(struct vx_core *_chip, int enable)
467{ 467{
468 struct snd_vx222 *chip = (struct snd_vx222 *)_chip; 468 struct snd_vx222 *chip = (struct snd_vx222 *)_chip;
469 469
@@ -484,7 +484,7 @@ static void vx2_validate_irq(vx_core_t *_chip, int enable)
484/* 484/*
485 * write an AKM codec data (24bit) 485 * write an AKM codec data (24bit)
486 */ 486 */
487static void vx2_write_codec_reg(vx_core_t *chip, unsigned int data) 487static void vx2_write_codec_reg(struct vx_core *chip, unsigned int data)
488{ 488{
489 unsigned int i; 489 unsigned int i;
490 490
@@ -660,7 +660,7 @@ static const u8 vx2_akm_gains_lut[VX2_AKM_LEVEL_MAX+1] = {
660/* 660/*
661 * pseudo-codec write entry 661 * pseudo-codec write entry
662 */ 662 */
663static void vx2_write_akm(vx_core_t *chip, int reg, unsigned int data) 663static void vx2_write_akm(struct vx_core *chip, int reg, unsigned int data)
664{ 664{
665 unsigned int val; 665 unsigned int val;
666 666
@@ -695,7 +695,7 @@ static void vx2_write_akm(vx_core_t *chip, int reg, unsigned int data)
695/* 695/*
696 * write codec bit for old VX222 board 696 * write codec bit for old VX222 board
697 */ 697 */
698static void vx2_old_write_codec_bit(vx_core_t *chip, int codec, unsigned int data) 698static void vx2_old_write_codec_bit(struct vx_core *chip, int codec, unsigned int data)
699{ 699{
700 int i; 700 int i;
701 701
@@ -713,7 +713,7 @@ static void vx2_old_write_codec_bit(vx_core_t *chip, int codec, unsigned int dat
713/* 713/*
714 * reset codec bit 714 * reset codec bit
715 */ 715 */
716static void vx2_reset_codec(vx_core_t *_chip) 716static void vx2_reset_codec(struct vx_core *_chip)
717{ 717{
718 struct snd_vx222 *chip = (struct snd_vx222 *)_chip; 718 struct snd_vx222 *chip = (struct snd_vx222 *)_chip;
719 719
@@ -755,7 +755,7 @@ static void vx2_reset_codec(vx_core_t *_chip)
755/* 755/*
756 * change the audio source 756 * change the audio source
757 */ 757 */
758static void vx2_change_audio_source(vx_core_t *_chip, int src) 758static void vx2_change_audio_source(struct vx_core *_chip, int src)
759{ 759{
760 struct snd_vx222 *chip = (struct snd_vx222 *)_chip; 760 struct snd_vx222 *chip = (struct snd_vx222 *)_chip;
761 761
@@ -774,7 +774,7 @@ static void vx2_change_audio_source(vx_core_t *_chip, int src)
774/* 774/*
775 * set the clock source 775 * set the clock source
776 */ 776 */
777static void vx2_set_clock_source(vx_core_t *_chip, int source) 777static void vx2_set_clock_source(struct vx_core *_chip, int source)
778{ 778{
779 struct snd_vx222 *chip = (struct snd_vx222 *)_chip; 779 struct snd_vx222 *chip = (struct snd_vx222 *)_chip;
780 780
@@ -788,7 +788,7 @@ static void vx2_set_clock_source(vx_core_t *_chip, int source)
788/* 788/*
789 * reset the board 789 * reset the board
790 */ 790 */
791static void vx2_reset_board(vx_core_t *_chip, int cold_reset) 791static void vx2_reset_board(struct vx_core *_chip, int cold_reset)
792{ 792{
793 struct snd_vx222 *chip = (struct snd_vx222 *)_chip; 793 struct snd_vx222 *chip = (struct snd_vx222 *)_chip;
794 794
@@ -848,7 +848,7 @@ static void vx2_set_input_level(struct snd_vx222 *chip)
848 */ 848 */
849 849
850/* input levels */ 850/* input levels */
851static int vx_input_level_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t *uinfo) 851static int vx_input_level_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo)
852{ 852{
853 uinfo->type = SNDRV_CTL_ELEM_TYPE_INTEGER; 853 uinfo->type = SNDRV_CTL_ELEM_TYPE_INTEGER;
854 uinfo->count = 2; 854 uinfo->count = 2;
@@ -857,9 +857,9 @@ static int vx_input_level_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t *ui
857 return 0; 857 return 0;
858} 858}
859 859
860static int vx_input_level_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) 860static int vx_input_level_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)
861{ 861{
862 vx_core_t *_chip = snd_kcontrol_chip(kcontrol); 862 struct vx_core *_chip = snd_kcontrol_chip(kcontrol);
863 struct snd_vx222 *chip = (struct snd_vx222 *)_chip; 863 struct snd_vx222 *chip = (struct snd_vx222 *)_chip;
864 down(&_chip->mixer_mutex); 864 down(&_chip->mixer_mutex);
865 ucontrol->value.integer.value[0] = chip->input_level[0]; 865 ucontrol->value.integer.value[0] = chip->input_level[0];
@@ -868,9 +868,9 @@ static int vx_input_level_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *uc
868 return 0; 868 return 0;
869} 869}
870 870
871static int vx_input_level_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) 871static int vx_input_level_put(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)
872{ 872{
873 vx_core_t *_chip = snd_kcontrol_chip(kcontrol); 873 struct vx_core *_chip = snd_kcontrol_chip(kcontrol);
874 struct snd_vx222 *chip = (struct snd_vx222 *)_chip; 874 struct snd_vx222 *chip = (struct snd_vx222 *)_chip;
875 down(&_chip->mixer_mutex); 875 down(&_chip->mixer_mutex);
876 if (chip->input_level[0] != ucontrol->value.integer.value[0] || 876 if (chip->input_level[0] != ucontrol->value.integer.value[0] ||
@@ -886,7 +886,7 @@ static int vx_input_level_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *uc
886} 886}
887 887
888/* mic level */ 888/* mic level */
889static int vx_mic_level_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t *uinfo) 889static int vx_mic_level_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo)
890{ 890{
891 uinfo->type = SNDRV_CTL_ELEM_TYPE_INTEGER; 891 uinfo->type = SNDRV_CTL_ELEM_TYPE_INTEGER;
892 uinfo->count = 1; 892 uinfo->count = 1;
@@ -895,17 +895,17 @@ static int vx_mic_level_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t *uinf
895 return 0; 895 return 0;
896} 896}
897 897
898static int vx_mic_level_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) 898static int vx_mic_level_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)
899{ 899{
900 vx_core_t *_chip = snd_kcontrol_chip(kcontrol); 900 struct vx_core *_chip = snd_kcontrol_chip(kcontrol);
901 struct snd_vx222 *chip = (struct snd_vx222 *)_chip; 901 struct snd_vx222 *chip = (struct snd_vx222 *)_chip;
902 ucontrol->value.integer.value[0] = chip->mic_level; 902 ucontrol->value.integer.value[0] = chip->mic_level;
903 return 0; 903 return 0;
904} 904}
905 905
906static int vx_mic_level_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) 906static int vx_mic_level_put(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)
907{ 907{
908 vx_core_t *_chip = snd_kcontrol_chip(kcontrol); 908 struct vx_core *_chip = snd_kcontrol_chip(kcontrol);
909 struct snd_vx222 *chip = (struct snd_vx222 *)_chip; 909 struct snd_vx222 *chip = (struct snd_vx222 *)_chip;
910 down(&_chip->mixer_mutex); 910 down(&_chip->mixer_mutex);
911 if (chip->mic_level != ucontrol->value.integer.value[0]) { 911 if (chip->mic_level != ucontrol->value.integer.value[0]) {
@@ -918,7 +918,7 @@ static int vx_mic_level_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucon
918 return 0; 918 return 0;
919} 919}
920 920
921static snd_kcontrol_new_t vx_control_input_level = { 921static struct snd_kcontrol_new vx_control_input_level = {
922 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 922 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
923 .name = "Capture Volume", 923 .name = "Capture Volume",
924 .info = vx_input_level_info, 924 .info = vx_input_level_info,
@@ -926,7 +926,7 @@ static snd_kcontrol_new_t vx_control_input_level = {
926 .put = vx_input_level_put, 926 .put = vx_input_level_put,
927}; 927};
928 928
929static snd_kcontrol_new_t vx_control_mic_level = { 929static struct snd_kcontrol_new vx_control_mic_level = {
930 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 930 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
931 .name = "Mic Capture Volume", 931 .name = "Mic Capture Volume",
932 .info = vx_mic_level_info, 932 .info = vx_mic_level_info,
@@ -938,7 +938,7 @@ static snd_kcontrol_new_t vx_control_mic_level = {
938 * FIXME: compressor/limiter implementation is missing yet... 938 * FIXME: compressor/limiter implementation is missing yet...
939 */ 939 */
940 940
941static int vx2_add_mic_controls(vx_core_t *_chip) 941static int vx2_add_mic_controls(struct vx_core *_chip)
942{ 942{
943 struct snd_vx222 *chip = (struct snd_vx222 *)_chip; 943 struct snd_vx222 *chip = (struct snd_vx222 *)_chip;
944 int err; 944 int err;