Lines Matching refs:chip
40 struct snd_vxpocket *chip = to_vxpocket(_chip);
41 return chip->port + vxp_reg_offset[reg];
48 static unsigned char vxp_inb(struct vx_core *chip, int offset)
50 return inb(vxp_reg_addr(chip, offset));
58 static void vxp_outb(struct vx_core *chip, int offset, unsigned char val)
60 outb(val, vxp_reg_addr(chip, offset));
67 #define vx_inb(chip,reg) vxp_inb((struct vx_core *)(chip), VX_##reg)
69 #define vx_outb(chip,reg,val) vxp_outb((struct vx_core *)(chip), VX_##reg,val)
77 static int vx_check_magic(struct vx_core *chip)
82 c = vx_inb(chip, CDSP);
100 struct snd_vxpocket *chip = to_vxpocket(_chip);
103 vx_outb(chip, CDSP, chip->regCDSP | VXP_CDSP_DSP_RESET_MASK);
104 vx_inb(chip, CDSP);
107 chip->regCDSP &= ~VXP_CDSP_DSP_RESET_MASK;
108 vx_outb(chip, CDSP, chip->regCDSP);
109 vx_inb(chip, CDSP);
118 struct snd_vxpocket *chip = to_vxpocket(_chip);
121 vx_outb(chip, CDSP, chip->regCDSP | VXP_CDSP_CODEC_RESET_MASK);
122 vx_inb(chip, CDSP);
125 chip->regCDSP &= ~VXP_CDSP_CODEC_RESET_MASK;
126 vx_outb(chip, CDSP, chip->regCDSP);
127 vx_inb(chip, CDSP);
137 struct snd_vxpocket *chip = to_vxpocket(_chip);
145 chip->regDIALOG |= VXP_DLG_XILINX_REPROG_MASK;
146 vx_outb(chip, DIALOG, chip->regDIALOG);
149 regCSUER = vx_inb(chip, CSUER);
150 regRUER = vx_inb(chip, RUER);
153 vx_outb(chip, ICR, 0);
161 vx_outb(chip, ICR, ICR_HF1);
167 vx_outb(chip, TXL, data);
171 c = vx_inb(chip, RXL);
177 vx_outb(chip, ICR, 0);
187 c = (int)vx_inb(chip, RXH) << 16;
188 c |= (int)vx_inb(chip, RXM) << 8;
189 c |= vx_inb(chip, RXL);
193 vx_outb(chip, ICR, ICR_HF0);
203 vx_outb(chip, CSUER, regCSUER);
204 vx_outb(chip, RUER, regRUER);
207 chip->regDIALOG |= VXP_DLG_XILINX_REPROG_MASK;
208 vx_outb(chip, DIALOG, chip->regDIALOG);
209 vx_inb(chip, DIALOG);
211 chip->regDIALOG &= ~VXP_DLG_XILINX_REPROG_MASK;
212 vx_outb(chip, DIALOG, chip->regDIALOG);
213 vx_inb(chip, DIALOG);
222 vx_outb(chip, CSUER, regCSUER);
223 vx_outb(chip, RUER, regRUER);
224 chip->regDIALOG &= ~VXP_DLG_XILINX_REPROG_MASK;
225 vx_outb(chip, DIALOG, chip->regDIALOG);
270 struct snd_vxpocket *chip = to_vxpocket(_chip);
276 if (! (vx_inb(chip, DIALOG) & VXP_DLG_MEMIRQ_MASK))
281 vx_outb(chip, DIALOG, chip->regDIALOG | VXP_DLG_ACK_MEMIRQ_MASK);
285 vx_inb(chip, DIALOG);
286 vx_outb(chip, DIALOG, chip->regDIALOG & ~VXP_DLG_ACK_MEMIRQ_MASK);
297 struct snd_vxpocket *chip = to_vxpocket(_chip);
301 chip->regCDSP |= VXP_CDSP_VALID_IRQ_MASK;
303 chip->regCDSP &= ~VXP_CDSP_VALID_IRQ_MASK;
304 vx_outb(chip, CDSP, chip->regCDSP);
313 struct snd_vxpocket *chip = to_vxpocket(_chip);
316 vx_outb(chip, ICR, do_write ? ICR_TREQ : ICR_RREQ);
318 vx_inb(chip, ISR);
319 vx_outb(chip, ISR, 0);
322 chip->regDIALOG |= VXP_DLG_DMA16_SEL_MASK;
323 chip->regDIALOG |= do_write ? VXP_DLG_DMAWRITE_SEL_MASK : VXP_DLG_DMAREAD_SEL_MASK;
324 vx_outb(chip, DIALOG, chip->regDIALOG);
333 struct snd_vxpocket *chip = to_vxpocket(_chip);
336 chip->regDIALOG &= ~(VXP_DLG_DMAWRITE_SEL_MASK|
339 vx_outb(chip, DIALOG, chip->regDIALOG);
341 vx_outb(chip, ICR, 0);
351 static void vxp_dma_write(struct vx_core *chip, struct snd_pcm_runtime *runtime,
354 long port = vxp_reg_addr(chip, VX_DMA);
358 vx_setup_pseudo_dma(chip, 1);
378 vx_release_pseudo_dma(chip);
390 static void vxp_dma_read(struct vx_core *chip, struct snd_pcm_runtime *runtime,
393 struct snd_vxpocket *pchip = to_vxpocket(chip);
394 long port = vxp_reg_addr(chip, VX_DMA);
400 vx_setup_pseudo_dma(chip, 0);
418 vx_outb(chip, DIALOG, pchip->regDIALOG);
423 vx_outb(chip, DIALOG, pchip->regDIALOG);
425 vx_outb(chip, ICR, 0);
432 static void vxp_write_codec_reg(struct vx_core *chip, int codec, unsigned int data)
438 vx_inb(chip, LOFREQ);
440 vx_inb(chip, CODEC2);
444 vx_outb(chip, DATA, ((data & 0x800000) ? VX_DATA_CODEC_MASK : 0));
447 vx_inb(chip, HIFREQ);
455 void vx_set_mic_boost(struct vx_core *chip, int boost)
457 struct snd_vxpocket *pchip = to_vxpocket(chip);
459 if (chip->chip_status & VX_STAT_IS_STALE)
462 mutex_lock(&chip->lock);
473 vx_outb(chip, CDSP, pchip->regCDSP);
475 mutex_unlock(&chip->lock);
497 void vx_set_mic_level(struct vx_core *chip, int level)
499 struct snd_vxpocket *pchip = to_vxpocket(chip);
501 if (chip->chip_status & VX_STAT_IS_STALE)
504 mutex_lock(&chip->lock);
507 vx_outb(chip, MICRO, level);
509 mutex_unlock(&chip->lock);
518 struct snd_vxpocket *chip = to_vxpocket(_chip);
522 chip->regCDSP |= VXP_CDSP_DATAIN_SEL_MASK;
523 vx_outb(chip, CDSP, chip->regCDSP);
526 chip->regCDSP &= ~VXP_CDSP_DATAIN_SEL_MASK;
528 chip->regCDSP &= ~P24_CDSP_MICS_SEL_MASK;
530 chip->regCDSP &= ~VXP_CDSP_MIC_SEL_MASK;
531 vx_outb(chip, CDSP, chip->regCDSP);
534 chip->regCDSP &= ~VXP_CDSP_DATAIN_SEL_MASK;
537 chip->regCDSP &= ~P24_CDSP_MICS_SEL_MASK;
538 if (chip->mic_level)
539 chip->regCDSP |= P24_CDSP_MIC38_SEL_MASK;
541 chip->regCDSP |= P24_CDSP_MIC20_SEL_MASK;
542 vx_outb(chip, CDSP, chip->regCDSP);
544 chip->regCDSP |= VXP_CDSP_MIC_SEL_MASK;
545 vx_outb(chip, CDSP, chip->regCDSP);
546 vx_outb(chip, MICRO, vx_compute_mic_level(chip->mic_level));
558 struct snd_vxpocket *chip = to_vxpocket(_chip);
561 chip->regCDSP &= ~VXP_CDSP_CLOCKIN_SEL_MASK;
563 chip->regCDSP |= VXP_CDSP_CLOCKIN_SEL_MASK;
564 vx_outb(chip, CDSP, chip->regCDSP);
573 struct snd_vxpocket *chip = to_vxpocket(_chip);
575 chip->regCDSP = 0;
576 chip->regDIALOG = 0;