• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/src/linux/linux-2.6/sound/pci/emu10k1/

Lines Matching refs:emu

35 unsigned int snd_emu10k1_ptr_read(struct snd_emu10k1 * emu, unsigned int reg, unsigned int chn)
41 mask = emu->audigy ? A_PTR_ADDRESS_MASK : PTR_ADDRESS_MASK;
51 spin_lock_irqsave(&emu->emu_lock, flags);
52 outl(regptr, emu->port + PTR);
53 val = inl(emu->port + DATA);
54 spin_unlock_irqrestore(&emu->emu_lock, flags);
58 spin_lock_irqsave(&emu->emu_lock, flags);
59 outl(regptr, emu->port + PTR);
60 val = inl(emu->port + DATA);
61 spin_unlock_irqrestore(&emu->emu_lock, flags);
68 void snd_emu10k1_ptr_write(struct snd_emu10k1 *emu, unsigned int reg, unsigned int chn, unsigned int data)
74 mask = emu->audigy ? A_PTR_ADDRESS_MASK : PTR_ADDRESS_MASK;
85 spin_lock_irqsave(&emu->emu_lock, flags);
86 outl(regptr, emu->port + PTR);
87 data |= inl(emu->port + DATA) & ~mask;
88 outl(data, emu->port + DATA);
89 spin_unlock_irqrestore(&emu->emu_lock, flags);
91 spin_lock_irqsave(&emu->emu_lock, flags);
92 outl(regptr, emu->port + PTR);
93 outl(data, emu->port + DATA);
94 spin_unlock_irqrestore(&emu->emu_lock, flags);
100 unsigned int snd_emu10k1_ptr20_read(struct snd_emu10k1 * emu,
109 spin_lock_irqsave(&emu->emu_lock, flags);
110 outl(regptr, emu->port + 0x20 + PTR);
111 val = inl(emu->port + 0x20 + DATA);
112 spin_unlock_irqrestore(&emu->emu_lock, flags);
116 void snd_emu10k1_ptr20_write(struct snd_emu10k1 *emu,
126 spin_lock_irqsave(&emu->emu_lock, flags);
127 outl(regptr, emu->port + 0x20 + PTR);
128 outl(data, emu->port + 0x20 + DATA);
129 spin_unlock_irqrestore(&emu->emu_lock, flags);
132 int snd_emu10k1_spi_write(struct snd_emu10k1 * emu,
138 if (emu->card_capabilities->ca0108_chip)
148 tmp = snd_emu10k1_ptr20_read(emu, reg, 0);
151 snd_emu10k1_ptr20_write(emu, reg, 0, reset | data);
152 tmp = snd_emu10k1_ptr20_read(emu, reg, 0); /* write post */
153 snd_emu10k1_ptr20_write(emu, reg, 0, set | data);
158 tmp = snd_emu10k1_ptr20_read(emu, reg, 0);
166 snd_emu10k1_ptr20_write(emu, reg, 0, reset | data);
167 tmp = snd_emu10k1_ptr20_read(emu, reg, 0); /* Write post */
172 int snd_emu10k1_i2c_write(struct snd_emu10k1 *emu,
188 /* snd_emu10k1_ptr_write(emu, P17V_I2C_0, 0, tmp); */
191 snd_emu10k1_ptr20_write(emu, P17V_I2C_1, 0, tmp);
192 tmp = snd_emu10k1_ptr20_read(emu, P17V_I2C_1, 0); /* write post */
196 //tmp = snd_emu10k1_ptr_read(emu, P17V_I2C_ADDR, 0);
200 snd_emu10k1_ptr20_write(emu, P17V_I2C_ADDR, 0, tmp);
205 status = snd_emu10k1_ptr20_read(emu, P17V_I2C_ADDR, 0);
229 int snd_emu1010_fpga_write(struct snd_emu10k1 * emu, int reg, int value)
236 outl(reg, emu->port + A_IOCFG);
238 outl(reg | 0x80, emu->port + A_IOCFG); /* High bit clocks the value into the fpga. */
240 outl(value, emu->port + A_IOCFG);
242 outl(value | 0x80 , emu->port + A_IOCFG); /* High bit clocks the value into the fpga. */
247 int snd_emu1010_fpga_read(struct snd_emu10k1 * emu, int reg, int *value)
252 outl(reg, emu->port + A_IOCFG);
254 outl(reg | 0x80, emu->port + A_IOCFG); /* High bit clocks the value into the fpga. */
256 *value = ((inl(emu->port + A_IOCFG) >> 8) & 0x7f);
264 int snd_emu1010_fpga_link_dst_src_write(struct snd_emu10k1 * emu, int dst, int src)
266 snd_emu1010_fpga_write(emu, 0x00, ((dst >> 8) & 0x3f) );
267 snd_emu1010_fpga_write(emu, 0x01, (dst & 0x3f) );
268 snd_emu1010_fpga_write(emu, 0x02, ((src >> 8) & 0x3f) );
269 snd_emu1010_fpga_write(emu, 0x03, (src & 0x3f) );
274 void snd_emu10k1_intr_enable(struct snd_emu10k1 *emu, unsigned int intrenb)
279 spin_lock_irqsave(&emu->emu_lock, flags);
280 enable = inl(emu->port + INTE) | intrenb;
281 outl(enable, emu->port + INTE);
282 spin_unlock_irqrestore(&emu->emu_lock, flags);
285 void snd_emu10k1_intr_disable(struct snd_emu10k1 *emu, unsigned int intrenb)
290 spin_lock_irqsave(&emu->emu_lock, flags);
291 enable = inl(emu->port + INTE) & ~intrenb;
292 outl(enable, emu->port + INTE);
293 spin_unlock_irqrestore(&emu->emu_lock, flags);
296 void snd_emu10k1_voice_intr_enable(struct snd_emu10k1 *emu, unsigned int voicenum)
301 spin_lock_irqsave(&emu->emu_lock, flags);
304 outl(CLIEH << 16, emu->port + PTR);
305 val = inl(emu->port + DATA);
308 outl(CLIEL << 16, emu->port + PTR);
309 val = inl(emu->port + DATA);
312 outl(val, emu->port + DATA);
313 spin_unlock_irqrestore(&emu->emu_lock, flags);
316 void snd_emu10k1_voice_intr_disable(struct snd_emu10k1 *emu, unsigned int voicenum)
321 spin_lock_irqsave(&emu->emu_lock, flags);
324 outl(CLIEH << 16, emu->port + PTR);
325 val = inl(emu->port + DATA);
328 outl(CLIEL << 16, emu->port + PTR);
329 val = inl(emu->port + DATA);
332 outl(val, emu->port + DATA);
333 spin_unlock_irqrestore(&emu->emu_lock, flags);
336 void snd_emu10k1_voice_intr_ack(struct snd_emu10k1 *emu, unsigned int voicenum)
340 spin_lock_irqsave(&emu->emu_lock, flags);
343 outl(CLIPH << 16, emu->port + PTR);
346 outl(CLIPL << 16, emu->port + PTR);
349 outl(voicenum, emu->port + DATA);
350 spin_unlock_irqrestore(&emu->emu_lock, flags);
353 void snd_emu10k1_voice_half_loop_intr_enable(struct snd_emu10k1 *emu, unsigned int voicenum)
358 spin_lock_irqsave(&emu->emu_lock, flags);
361 outl(HLIEH << 16, emu->port + PTR);
362 val = inl(emu->port + DATA);
365 outl(HLIEL << 16, emu->port + PTR);
366 val = inl(emu->port + DATA);
369 outl(val, emu->port + DATA);
370 spin_unlock_irqrestore(&emu->emu_lock, flags);
373 void snd_emu10k1_voice_half_loop_intr_disable(struct snd_emu10k1 *emu, unsigned int voicenum)
378 spin_lock_irqsave(&emu->emu_lock, flags);
381 outl(HLIEH << 16, emu->port + PTR);
382 val = inl(emu->port + DATA);
385 outl(HLIEL << 16, emu->port + PTR);
386 val = inl(emu->port + DATA);
389 outl(val, emu->port + DATA);
390 spin_unlock_irqrestore(&emu->emu_lock, flags);
393 void snd_emu10k1_voice_half_loop_intr_ack(struct snd_emu10k1 *emu, unsigned int voicenum)
397 spin_lock_irqsave(&emu->emu_lock, flags);
400 outl(HLIPH << 16, emu->port + PTR);
403 outl(HLIPL << 16, emu->port + PTR);
406 outl(voicenum, emu->port + DATA);
407 spin_unlock_irqrestore(&emu->emu_lock, flags);
410 void snd_emu10k1_voice_set_loop_stop(struct snd_emu10k1 *emu, unsigned int voicenum)
415 spin_lock_irqsave(&emu->emu_lock, flags);
418 outl(SOLEH << 16, emu->port + PTR);
419 sol = inl(emu->port + DATA);
422 outl(SOLEL << 16, emu->port + PTR);
423 sol = inl(emu->port + DATA);
426 outl(sol, emu->port + DATA);
427 spin_unlock_irqrestore(&emu->emu_lock, flags);
430 void snd_emu10k1_voice_clear_loop_stop(struct snd_emu10k1 *emu, unsigned int voicenum)
435 spin_lock_irqsave(&emu->emu_lock, flags);
438 outl(SOLEH << 16, emu->port + PTR);
439 sol = inl(emu->port + DATA);
442 outl(SOLEL << 16, emu->port + PTR);
443 sol = inl(emu->port + DATA);
446 outl(sol, emu->port + DATA);
447 spin_unlock_irqrestore(&emu->emu_lock, flags);
450 void snd_emu10k1_wait(struct snd_emu10k1 *emu, unsigned int wait)
455 curtime = inl(emu->port + WC) >> 6;
459 newtime = inl(emu->port + WC) >> 6;
471 struct snd_emu10k1 *emu = ac97->private_data;
475 spin_lock_irqsave(&emu->emu_lock, flags);
476 outb(reg, emu->port + AC97ADDRESS);
477 val = inw(emu->port + AC97DATA);
478 spin_unlock_irqrestore(&emu->emu_lock, flags);
484 struct snd_emu10k1 *emu = ac97->private_data;
487 spin_lock_irqsave(&emu->emu_lock, flags);
488 outb(reg, emu->port + AC97ADDRESS);
489 outw(data, emu->port + AC97DATA);
490 spin_unlock_irqrestore(&emu->emu_lock, flags);