| tag | line | file | source code |
| devc | 139 | drivers/block/hd.c | char devc; |
| devc | 141 | drivers/block/hd.c | devc = CURRENT ? 'a' + DEVICE_NR(CURRENT->dev) : '?'; |
| devc | 144 | drivers/block/hd.c | printk("hd%c: %s: status=0x%02x { ", devc, msg, stat & 0xff); |
| devc | 158 | drivers/block/hd.c | printk("hd%c: %s: error=0x%02x { ", devc, msg, hd_error & 0xff); |
| devc | 99 | drivers/sound/ad1848.c | ad_read (ad1848_info * devc, int reg) |
| devc | 105 | drivers/sound/ad1848.c | OUTB ((unsigned char) (reg & 0xff) | devc->MCE_bit, io_Index_Addr (devc)); |
| devc | 106 | drivers/sound/ad1848.c | x = INB (io_Indexed_Data (devc)); |
| devc | 114 | drivers/sound/ad1848.c | ad_write (ad1848_info * devc, int reg, int data) |
| devc | 119 | drivers/sound/ad1848.c | OUTB ((unsigned char) (reg & 0xff) | devc->MCE_bit, io_Index_Addr (devc)); |
| devc | 120 | drivers/sound/ad1848.c | OUTB ((unsigned char) (data & 0xff), io_Indexed_Data (devc)); |
| devc | 126 | drivers/sound/ad1848.c | ad_set_MCE (ad1848_info * devc, int state) |
| devc | 132 | drivers/sound/ad1848.c | devc->MCE_bit = 0x40; |
| devc | 134 | drivers/sound/ad1848.c | devc->MCE_bit = 0x00; |
| devc | 135 | drivers/sound/ad1848.c | OUTB (devc->MCE_bit, io_Index_Addr (devc)); |
| devc | 140 | drivers/sound/ad1848.c | wait_for_calibration (ad1848_info * devc) |
| devc | 152 | drivers/sound/ad1848.c | while (timeout > 0 && INB (devc->base) == 0x80) |
| devc | 154 | drivers/sound/ad1848.c | if (INB (devc->base) == 0x80) |
| devc | 158 | drivers/sound/ad1848.c | while (timeout > 0 && !(ad_read (devc, 11) & 0x20)) |
| devc | 160 | drivers/sound/ad1848.c | if (!(ad_read (devc, 11) & 0x20)) |
| devc | 164 | drivers/sound/ad1848.c | while (timeout > 0 && ad_read (devc, 11) & 0x20) |
| devc | 166 | drivers/sound/ad1848.c | if (ad_read (devc, 11) & 0x20) |
| devc | 194 | drivers/sound/ad1848.c | ad1848_info *devc = NULL; |
| devc | 202 | drivers/sound/ad1848.c | devc = (ad1848_info *) audio_devs[dev]->devc; |
| devc | 205 | drivers/sound/ad1848.c | if (devc->opened) |
| devc | 212 | drivers/sound/ad1848.c | if (devc->irq) /* Not managed by another driver */ |
| devc | 213 | drivers/sound/ad1848.c | if ((err = snd_set_irq_handler (devc->irq, ad1848_interrupt)) < 0) |
| devc | 227 | drivers/sound/ad1848.c | devc->intr_active = 0; |
| devc | 228 | drivers/sound/ad1848.c | devc->opened = 1; |
| devc | 238 | drivers/sound/ad1848.c | ad1848_info *devc = (ad1848_info *) audio_devs[dev]->devc; |
| devc | 244 | drivers/sound/ad1848.c | devc->intr_active = 0; |
| devc | 245 | drivers/sound/ad1848.c | if (devc->irq) /* Not managed by another driver */ |
| devc | 246 | drivers/sound/ad1848.c | snd_release_irq (devc->irq); |
| devc | 249 | drivers/sound/ad1848.c | devc->opened = 0; |
| devc | 255 | drivers/sound/ad1848.c | set_speed (ad1848_info * devc, int arg) |
| devc | 322 | drivers/sound/ad1848.c | devc->speed = speed_table[selected].speed; |
| devc | 323 | drivers/sound/ad1848.c | devc->speed_bits = speed_table[selected].bits; |
| devc | 324 | drivers/sound/ad1848.c | return devc->speed; |
| devc | 328 | drivers/sound/ad1848.c | set_channels (ad1848_info * devc, int arg) |
| devc | 331 | drivers/sound/ad1848.c | return devc->channels; |
| devc | 333 | drivers/sound/ad1848.c | devc->channels = arg; |
| devc | 338 | drivers/sound/ad1848.c | set_format (ad1848_info * devc, int arg) |
| devc | 390 | drivers/sound/ad1848.c | if (!(arg & ad_format_mask[devc->mode])) |
| devc | 393 | drivers/sound/ad1848.c | devc->audio_format = arg; |
| devc | 398 | drivers/sound/ad1848.c | if ((devc->format_bits = format2bits[i].bits) == 0) |
| devc | 399 | drivers/sound/ad1848.c | return devc->audio_format = AFMT_U8; /* Was not supported */ |
| devc | 405 | drivers/sound/ad1848.c | devc->format_bits = 0; |
| devc | 406 | drivers/sound/ad1848.c | return devc->audio_format = AFMT_U8; |
| devc | 412 | drivers/sound/ad1848.c | ad1848_info *devc = (ad1848_info *) audio_devs[dev]->devc; |
| devc | 418 | drivers/sound/ad1848.c | return set_speed (devc, arg); |
| devc | 419 | drivers/sound/ad1848.c | return IOCTL_OUT (arg, set_speed (devc, IOCTL_IN (arg))); |
| devc | 423 | drivers/sound/ad1848.c | return devc->speed; |
| devc | 424 | drivers/sound/ad1848.c | return IOCTL_OUT (arg, devc->speed); |
| devc | 428 | drivers/sound/ad1848.c | return set_channels (devc, arg + 1) - 1; |
| devc | 429 | drivers/sound/ad1848.c | return IOCTL_OUT (arg, set_channels (devc, IOCTL_IN (arg) + 1) - 1); |
| devc | 433 | drivers/sound/ad1848.c | return set_channels (devc, arg); |
| devc | 434 | drivers/sound/ad1848.c | return IOCTL_OUT (arg, set_channels (devc, IOCTL_IN (arg))); |
| devc | 438 | drivers/sound/ad1848.c | return devc->channels; |
| devc | 439 | drivers/sound/ad1848.c | return IOCTL_OUT (arg, devc->channels); |
| devc | 443 | drivers/sound/ad1848.c | return set_format (devc, arg); |
| devc | 444 | drivers/sound/ad1848.c | return IOCTL_OUT (arg, set_format (devc, IOCTL_IN (arg))); |
| devc | 448 | drivers/sound/ad1848.c | return devc->audio_format; |
| devc | 449 | drivers/sound/ad1848.c | return IOCTL_OUT (arg, devc->audio_format); |
| devc | 460 | drivers/sound/ad1848.c | ad1848_info *devc = (ad1848_info *) audio_devs[dev]->devc; |
| devc | 464 | drivers/sound/ad1848.c | if (devc->audio_format == AFMT_IMA_ADPCM) |
| devc | 470 | drivers/sound/ad1848.c | if (devc->audio_format & (AFMT_S16_LE | AFMT_S16_BE)) /* 16 bit data */ |
| devc | 473 | drivers/sound/ad1848.c | if (devc->channels > 1) |
| devc | 479 | drivers/sound/ad1848.c | cnt == devc->xfer_count) |
| devc | 481 | drivers/sound/ad1848.c | devc->irq_mode = IMODE_OUTPUT; |
| devc | 482 | drivers/sound/ad1848.c | devc->intr_active = 1; |
| devc | 495 | drivers/sound/ad1848.c | ad_set_MCE (devc, 1); |
| devc | 497 | drivers/sound/ad1848.c | ad_write (devc, 15, (unsigned char) (cnt & 0xff)); |
| devc | 498 | drivers/sound/ad1848.c | ad_write (devc, 14, (unsigned char) ((cnt >> 8) & 0xff)); |
| devc | 501 | drivers/sound/ad1848.c | ad_write (devc, 9, 0x0d); /* |
| devc | 506 | drivers/sound/ad1848.c | ad_set_MCE (devc, 0); /* |
| devc | 510 | drivers/sound/ad1848.c | wait_for_calibration (devc); |
| devc | 512 | drivers/sound/ad1848.c | devc->xfer_count = cnt; |
| devc | 513 | drivers/sound/ad1848.c | devc->irq_mode = IMODE_OUTPUT; |
| devc | 514 | drivers/sound/ad1848.c | devc->intr_active = 1; |
| devc | 522 | drivers/sound/ad1848.c | ad1848_info *devc = (ad1848_info *) audio_devs[dev]->devc; |
| devc | 527 | drivers/sound/ad1848.c | if (devc->audio_format == AFMT_IMA_ADPCM) |
| devc | 533 | drivers/sound/ad1848.c | if (devc->audio_format & (AFMT_S16_LE | AFMT_S16_BE)) /* 16 bit data */ |
| devc | 536 | drivers/sound/ad1848.c | if (devc->channels > 1) |
| devc | 542 | drivers/sound/ad1848.c | cnt == devc->xfer_count) |
| devc | 544 | drivers/sound/ad1848.c | devc->irq_mode = IMODE_INPUT; |
| devc | 545 | drivers/sound/ad1848.c | devc->intr_active = 1; |
| devc | 558 | drivers/sound/ad1848.c | ad_set_MCE (devc, 1); |
| devc | 560 | drivers/sound/ad1848.c | ad_write (devc, count_reg + 1, (unsigned char) (cnt & 0xff)); |
| devc | 561 | drivers/sound/ad1848.c | ad_write (devc, count_reg, (unsigned char) ((cnt >> 8) & 0xff)); |
| devc | 563 | drivers/sound/ad1848.c | ad_write (devc, 15, (unsigned char) (cnt & 0xff)); |
| devc | 564 | drivers/sound/ad1848.c | ad_write (devc, 14, (unsigned char) ((cnt >> 8) & 0xff)); |
| devc | 565 | drivers/sound/ad1848.c | if (devc->mode == 2) |
| devc | 567 | drivers/sound/ad1848.c | ad_write (devc, 31, (unsigned char) (cnt & 0xff)); |
| devc | 568 | drivers/sound/ad1848.c | ad_write (devc, 32, (unsigned char) ((cnt >> 8) & 0xff)); |
| devc | 572 | drivers/sound/ad1848.c | ad_write (devc, 9, 0x0e); /* |
| devc | 577 | drivers/sound/ad1848.c | ad_set_MCE (devc, 0); /* |
| devc | 581 | drivers/sound/ad1848.c | wait_for_calibration (devc); |
| devc | 583 | drivers/sound/ad1848.c | devc->xfer_count = cnt; |
| devc | 584 | drivers/sound/ad1848.c | devc->irq_mode = IMODE_INPUT; |
| devc | 585 | drivers/sound/ad1848.c | devc->intr_active = 1; |
| devc | 595 | drivers/sound/ad1848.c | ad1848_info *devc = (ad1848_info *) audio_devs[dev]->devc; |
| devc | 598 | drivers/sound/ad1848.c | ad_set_MCE (devc, 1); /* Enables changes to the format select reg */ |
| devc | 599 | drivers/sound/ad1848.c | fs = devc->speed_bits | (devc->format_bits << 5); |
| devc | 601 | drivers/sound/ad1848.c | if (devc->channels > 1) |
| devc | 604 | drivers/sound/ad1848.c | ad_write (devc, 8, fs); |
| devc | 609 | drivers/sound/ad1848.c | while (timeout > 0 && INB (devc->base) == 0x80) |
| devc | 612 | drivers/sound/ad1848.c | ad_set_MCE (devc, 0); /* |
| devc | 616 | drivers/sound/ad1848.c | wait_for_calibration (devc); |
| devc | 622 | drivers/sound/ad1848.c | if (devc->mode == 2) |
| devc | 624 | drivers/sound/ad1848.c | ad_set_MCE (devc, 1); |
| devc | 625 | drivers/sound/ad1848.c | ad_write (devc, 28, fs); |
| devc | 631 | drivers/sound/ad1848.c | while (timeout > 0 && INB (devc->base) == 0x80) |
| devc | 634 | drivers/sound/ad1848.c | ad_set_MCE (devc, 0); /* |
| devc | 638 | drivers/sound/ad1848.c | wait_for_calibration (devc); |
| devc | 641 | drivers/sound/ad1848.c | devc->xfer_count = 0; |
| devc | 654 | drivers/sound/ad1848.c | ad1848_info *devc = (ad1848_info *) audio_devs[dev]->devc; |
| devc | 656 | drivers/sound/ad1848.c | ad_write (devc, 9, 0); /* Clear the PEN and CEN bits (among others) */ |
| devc | 657 | drivers/sound/ad1848.c | OUTB (0, io_Status (devc)); /* Clear interrupt status */ |
| devc | 668 | drivers/sound/ad1848.c | ad1848_info *devc = &dev_info[nr_ad1848_devs]; |
| devc | 674 | drivers/sound/ad1848.c | devc->base = io_base; |
| devc | 675 | drivers/sound/ad1848.c | devc->MCE_bit = 0x40; |
| devc | 676 | drivers/sound/ad1848.c | devc->irq = 0; |
| devc | 677 | drivers/sound/ad1848.c | devc->dma_capture = 0; |
| devc | 678 | drivers/sound/ad1848.c | devc->dma_playback = 0; |
| devc | 679 | drivers/sound/ad1848.c | devc->opened = 0; |
| devc | 680 | drivers/sound/ad1848.c | devc->chip_name = "AD1848"; |
| devc | 681 | drivers/sound/ad1848.c | devc->mode = 1; /* MODE1 = original AD1848 */ |
| devc | 693 | drivers/sound/ad1848.c | if ((INB (devc->base) & 0x80) != 0x00) /* Not a AD1884 */ |
| devc | 705 | drivers/sound/ad1848.c | ad_write (devc, 0, 0xaa); |
| devc | 706 | drivers/sound/ad1848.c | ad_write (devc, 1, 0x45); /* 0x55 with bit 0x10 clear */ |
| devc | 708 | drivers/sound/ad1848.c | if ((tmp1 = ad_read (devc, 0)) != 0xaa || (tmp2 = ad_read (devc, 1)) != 0x45) |
| devc | 714 | drivers/sound/ad1848.c | ad_write (devc, 0, 0x45); |
| devc | 715 | drivers/sound/ad1848.c | ad_write (devc, 1, 0xaa); |
| devc | 717 | drivers/sound/ad1848.c | if ((tmp1 = ad_read (devc, 0)) != 0x45 || (tmp2 = ad_read (devc, 1)) != 0xaa) |
| devc | 728 | drivers/sound/ad1848.c | tmp = ad_read (devc, 12); |
| devc | 729 | drivers/sound/ad1848.c | ad_write (devc, 12, (~tmp) & 0x0f); |
| devc | 731 | drivers/sound/ad1848.c | if ((tmp & 0x0f) != ((tmp1 = ad_read (devc, 12)) & 0x0f)) |
| devc | 749 | drivers/sound/ad1848.c | ad_write (devc, 12, 0); /* Mode2=disabled */ |
| devc | 752 | drivers/sound/ad1848.c | if ((tmp1 = ad_read (devc, i)) != (tmp2 = ad_read (devc, i + 16))) |
| devc | 763 | drivers/sound/ad1848.c | ad_write (devc, 12, 0x40); /* Set mode2, clear 0x80 */ |
| devc | 765 | drivers/sound/ad1848.c | tmp1 = ad_read (devc, 12); |
| devc | 767 | drivers/sound/ad1848.c | devc->chip_name = "CS4248"; |
| devc | 776 | drivers/sound/ad1848.c | ad_write (devc, 16, 0); /* Set I16 to known value */ |
| devc | 778 | drivers/sound/ad1848.c | ad_write (devc, 0, 0x45); |
| devc | 779 | drivers/sound/ad1848.c | if ((tmp1 = ad_read (devc, 16)) != 0x45) /* No change -> CS4231? */ |
| devc | 782 | drivers/sound/ad1848.c | ad_write (devc, 0, 0xaa); |
| devc | 783 | drivers/sound/ad1848.c | if ((tmp1 = ad_read (devc, 16)) == 0xaa) /* Rotten bits? */ |
| devc | 793 | drivers/sound/ad1848.c | devc->chip_name = "CS4231"; |
| devc | 794 | drivers/sound/ad1848.c | devc->mode = 2; |
| devc | 819 | drivers/sound/ad1848.c | ad1848_info *devc = &dev_info[nr_ad1848_devs]; |
| devc | 824 | drivers/sound/ad1848.c | devc->irq = (irq > 0) ? irq : 0; |
| devc | 825 | drivers/sound/ad1848.c | devc->dma_capture = dma_playback; |
| devc | 826 | drivers/sound/ad1848.c | devc->dma_playback = dma_capture; |
| devc | 827 | drivers/sound/ad1848.c | devc->opened = 0; |
| devc | 837 | drivers/sound/ad1848.c | ad_write (devc, i, init_values[i]); |
| devc | 839 | drivers/sound/ad1848.c | OUTB (0, io_Status (devc)); /* Clear pending interrupts */ |
| devc | 843 | drivers/sound/ad1848.c | "%s (%s)", name, devc->chip_name); |
| devc | 860 | drivers/sound/ad1848.c | audio_devs[my_dev]->devc = devc; |
| devc | 861 | drivers/sound/ad1848.c | audio_devs[my_dev]->format_mask = ad_format_mask[devc->mode]; |
| devc | 872 | drivers/sound/ad1848.c | ad1848_info *devc; |
| devc | 881 | drivers/sound/ad1848.c | devc = (ad1848_info *) audio_devs[dev]->devc; |
| devc | 882 | drivers/sound/ad1848.c | status = INB (io_Status (devc)); |
| devc | 886 | drivers/sound/ad1848.c | if (devc->opened && devc->irq_mode == IMODE_OUTPUT) |
| devc | 891 | drivers/sound/ad1848.c | if (devc->opened && devc->irq_mode == IMODE_INPUT) |
| devc | 895 | drivers/sound/ad1848.c | OUTB (0, io_Status (devc)); /* Clear interrupt status */ |
| devc | 117 | drivers/sound/dev_table.h | void *devc; /* Driver specific info */ |
| devc | 106 | drivers/sound/mpu401.c | static int reset_mpu401 (struct mpu_config *devc); |
| devc | 107 | drivers/sound/mpu401.c | static void set_uart_mode (int dev, struct mpu_config *devc, int arg); |
| devc | 110 | drivers/sound/mpu401.c | static void timer_ext_event (struct mpu_config *devc, int event, int parm); |
| devc | 145 | drivers/sound/mpu401.c | if (devc->opened & OPEN_READ) \ |
| devc | 157 | drivers/sound/mpu401.c | do_midi_msg (struct mpu_config *devc, unsigned char *msg, int mlen) |
| devc | 164 | drivers/sound/mpu401.c | STORE (SEQ_START_NOTE (devc->synthno, msg[0] & 0x0f, msg[1], msg[2])); |
| devc | 170 | drivers/sound/mpu401.c | STORE (SEQ_STOP_NOTE (devc->synthno, msg[0] & 0x0f, msg[1], msg[2])); |
| devc | 174 | drivers/sound/mpu401.c | STORE (SEQ_KEY_PRESSURE (devc->synthno, msg[0] & 0x0f, msg[1], msg[2])); |
| devc | 187 | drivers/sound/mpu401.c | devc->controls[ctrl] = (msg[2] & 0x7f) << 7; |
| devc | 192 | drivers/sound/mpu401.c | devc->controls[ctrl] = |
| devc | 193 | drivers/sound/mpu401.c | (devc->controls[ctrl] & ~0x7f) | (msg[2] & 0x7f); |
| devc | 195 | drivers/sound/mpu401.c | STORE (SEQ_CONTROL (devc->synthno, msg[0] & 0x0f, |
| devc | 196 | drivers/sound/mpu401.c | msg[1], devc->controls[ctrl])); |
| devc | 199 | drivers/sound/mpu401.c | STORE (SEQ_CONTROL (devc->synthno, msg[0] & 0x0f, msg[1], msg[2])); |
| devc | 203 | drivers/sound/mpu401.c | STORE (SEQ_SET_PATCH (devc->synthno, msg[0] & 0x0f, msg[1])); |
| devc | 207 | drivers/sound/mpu401.c | STORE (SEQ_CHN_PRESSURE (devc->synthno, msg[0] & 0x0f, msg[1])); |
| devc | 211 | drivers/sound/mpu401.c | STORE (SEQ_BENDER (devc->synthno, msg[0] & 0x0f, |
| devc | 221 | drivers/sound/mpu401.c | mpu_input_scanner (struct mpu_config *devc, unsigned char midic) |
| devc | 223 | drivers/sound/mpu401.c | switch (devc->m_state) |
| devc | 237 | drivers/sound/mpu401.c | if (devc->timer_flag) |
| devc | 261 | drivers/sound/mpu401.c | devc->m_state = ST_SYSMSG; |
| devc | 268 | drivers/sound/mpu401.c | devc->m_state = ST_TIMED; |
| devc | 279 | drivers/sound/mpu401.c | devc->m_state = ST_DATABYTE; |
| devc | 283 | drivers/sound/mpu401.c | msg = (devc->last_status & 0xf0) >> 4; |
| devc | 285 | drivers/sound/mpu401.c | devc->m_left = len_tab[msg] - 1; |
| devc | 287 | drivers/sound/mpu401.c | devc->m_ptr = 2; |
| devc | 288 | drivers/sound/mpu401.c | devc->m_buf[0] = devc->last_status; |
| devc | 289 | drivers/sound/mpu401.c | devc->m_buf[1] = midic; |
| devc | 291 | drivers/sound/mpu401.c | if (devc->m_left <= 0) |
| devc | 293 | drivers/sound/mpu401.c | devc->m_state = ST_INIT; |
| devc | 294 | drivers/sound/mpu401.c | do_midi_msg (devc, devc->m_buf, devc->m_ptr); |
| devc | 295 | drivers/sound/mpu401.c | devc->m_ptr = 0; |
| devc | 300 | drivers/sound/mpu401.c | devc->m_state = ST_INIT; |
| devc | 322 | drivers/sound/mpu401.c | devc->last_status = midic; |
| devc | 325 | drivers/sound/mpu401.c | devc->m_left = len_tab[msg]; |
| devc | 327 | drivers/sound/mpu401.c | devc->m_ptr = 1; |
| devc | 328 | drivers/sound/mpu401.c | devc->m_buf[0] = midic; |
| devc | 330 | drivers/sound/mpu401.c | if (devc->m_left <= 0) |
| devc | 332 | drivers/sound/mpu401.c | devc->m_state = ST_INIT; |
| devc | 333 | drivers/sound/mpu401.c | do_midi_msg (devc, devc->m_buf, devc->m_ptr); |
| devc | 334 | drivers/sound/mpu401.c | devc->m_ptr = 0; |
| devc | 345 | drivers/sound/mpu401.c | devc->m_state = ST_SYSEX; |
| devc | 349 | drivers/sound/mpu401.c | devc->m_state = ST_MTC; |
| devc | 353 | drivers/sound/mpu401.c | devc->m_state = ST_SONGPOS; |
| devc | 354 | drivers/sound/mpu401.c | devc->m_ptr = 0; |
| devc | 358 | drivers/sound/mpu401.c | devc->m_state = ST_SONGSEL; |
| devc | 363 | drivers/sound/mpu401.c | devc->m_state = ST_INIT; |
| devc | 370 | drivers/sound/mpu401.c | devc->m_state = ST_INIT; |
| devc | 371 | drivers/sound/mpu401.c | timer_ext_event (devc, TMR_CLOCK, 0); |
| devc | 375 | drivers/sound/mpu401.c | devc->m_state = ST_INIT; |
| devc | 376 | drivers/sound/mpu401.c | timer_ext_event (devc, TMR_START, 0); |
| devc | 380 | drivers/sound/mpu401.c | devc->m_state = ST_INIT; |
| devc | 381 | drivers/sound/mpu401.c | timer_ext_event (devc, TMR_CONTINUE, 0); |
| devc | 385 | drivers/sound/mpu401.c | devc->m_state = ST_INIT; |
| devc | 386 | drivers/sound/mpu401.c | timer_ext_event (devc, TMR_STOP, 0); |
| devc | 391 | drivers/sound/mpu401.c | devc->m_state = ST_INIT; |
| devc | 396 | drivers/sound/mpu401.c | devc->m_state = ST_INIT; |
| devc | 401 | drivers/sound/mpu401.c | devc->m_state = ST_INIT; |
| devc | 406 | drivers/sound/mpu401.c | devc->m_state = ST_INIT; |
| devc | 414 | drivers/sound/mpu401.c | devc->m_state = ST_INIT; |
| devc | 421 | drivers/sound/mpu401.c | BUFTEST (devc); |
| devc | 422 | drivers/sound/mpu401.c | devc->m_buf[devc->m_ptr++] = midic; |
| devc | 423 | drivers/sound/mpu401.c | if (devc->m_ptr == 2) |
| devc | 425 | drivers/sound/mpu401.c | devc->m_state = ST_INIT; |
| devc | 426 | drivers/sound/mpu401.c | devc->m_ptr = 0; |
| devc | 427 | drivers/sound/mpu401.c | timer_ext_event (devc, TMR_SPP, |
| devc | 428 | drivers/sound/mpu401.c | ((devc->m_buf[1] & 0x7f) << 7) | |
| devc | 429 | drivers/sound/mpu401.c | (devc->m_buf[0] & 0x7f)); |
| devc | 434 | drivers/sound/mpu401.c | BUFTEST (devc); |
| devc | 435 | drivers/sound/mpu401.c | devc->m_buf[devc->m_ptr++] = midic; |
| devc | 436 | drivers/sound/mpu401.c | if ((--devc->m_left) <= 0) |
| devc | 438 | drivers/sound/mpu401.c | devc->m_state = ST_INIT; |
| devc | 439 | drivers/sound/mpu401.c | do_midi_msg (devc, devc->m_buf, devc->m_ptr); |
| devc | 440 | drivers/sound/mpu401.c | devc->m_ptr = 0; |
| devc | 445 | drivers/sound/mpu401.c | printk ("Bad state %d ", devc->m_state); |
| devc | 446 | drivers/sound/mpu401.c | devc->m_state = ST_INIT; |
| devc | 453 | drivers/sound/mpu401.c | mpu401_input_loop (struct mpu_config *devc) |
| devc | 459 | drivers/sound/mpu401.c | busy = devc->m_busy; |
| devc | 460 | drivers/sound/mpu401.c | devc->m_busy = 1; |
| devc | 466 | drivers/sound/mpu401.c | while (input_avail (devc->base)) |
| devc | 468 | drivers/sound/mpu401.c | unsigned char c = read_data (devc->base); |
| devc | 470 | drivers/sound/mpu401.c | if (devc->mode == MODE_SYNTH) |
| devc | 472 | drivers/sound/mpu401.c | mpu_input_scanner (devc, c); |
| devc | 474 | drivers/sound/mpu401.c | else if (devc->opened & OPEN_READ && devc->inputintr != NULL) |
| devc | 475 | drivers/sound/mpu401.c | devc->inputintr (devc->devno, c); |
| devc | 478 | drivers/sound/mpu401.c | devc->m_busy = 0; |
| devc | 484 | drivers/sound/mpu401.c | struct mpu_config *devc; |
| devc | 504 | drivers/sound/mpu401.c | devc = &dev_conf[dev]; |
| devc | 506 | drivers/sound/mpu401.c | if (devc->base != 0 && (devc->opened & OPEN_READ || devc->mode == MODE_SYNTH)) |
| devc | 507 | drivers/sound/mpu401.c | if (input_avail (devc->base)) |
| devc | 508 | drivers/sound/mpu401.c | mpu401_input_loop (devc); |
| devc | 519 | drivers/sound/mpu401.c | struct mpu_config *devc; |
| devc | 524 | drivers/sound/mpu401.c | devc = &dev_conf[dev]; |
| devc | 526 | drivers/sound/mpu401.c | if (devc->opened) |
| devc | 532 | drivers/sound/mpu401.c | irq2dev[devc->irq] = dev; |
| devc | 533 | drivers/sound/mpu401.c | if ((err = snd_set_irq_handler (devc->irq, mpuintr) < 0)) |
| devc | 536 | drivers/sound/mpu401.c | set_uart_mode (dev, devc, 1); |
| devc | 537 | drivers/sound/mpu401.c | devc->mode = MODE_MIDI; |
| devc | 538 | drivers/sound/mpu401.c | devc->synthno = 0; |
| devc | 540 | drivers/sound/mpu401.c | mpu401_input_loop (devc); |
| devc | 542 | drivers/sound/mpu401.c | devc->inputintr = input; |
| devc | 543 | drivers/sound/mpu401.c | devc->opened = mode; |
| devc | 551 | drivers/sound/mpu401.c | struct mpu_config *devc; |
| devc | 553 | drivers/sound/mpu401.c | devc = &dev_conf[dev]; |
| devc | 555 | drivers/sound/mpu401.c | if (devc->uart_mode) |
| devc | 556 | drivers/sound/mpu401.c | reset_mpu401 (devc); /* |
| devc | 559 | drivers/sound/mpu401.c | devc->mode = 0; |
| devc | 561 | drivers/sound/mpu401.c | snd_release_irq (devc->irq); |
| devc | 562 | drivers/sound/mpu401.c | devc->inputintr = NULL; |
| devc | 563 | drivers/sound/mpu401.c | irq2dev[devc->irq] = -1; |
| devc | 564 | drivers/sound/mpu401.c | devc->opened = 0; |
| devc | 573 | drivers/sound/mpu401.c | struct mpu_config *devc; |
| devc | 575 | drivers/sound/mpu401.c | devc = &dev_conf[dev]; |
| devc | 582 | drivers/sound/mpu401.c | if (input_avail (devc->base)) |
| devc | 583 | drivers/sound/mpu401.c | mpu401_input_loop (devc); |
| devc | 590 | drivers/sound/mpu401.c | for (timeout = 30000; timeout > 0 && !output_ready (devc->base); timeout--); /* |
| devc | 595 | drivers/sound/mpu401.c | if (!output_ready (devc->base)) |
| devc | 602 | drivers/sound/mpu401.c | write_data (devc->base, midi_byte); |
| devc | 613 | drivers/sound/mpu401.c | struct mpu_config *devc; |
| devc | 615 | drivers/sound/mpu401.c | devc = &dev_conf[dev]; |
| devc | 617 | drivers/sound/mpu401.c | if (devc->uart_mode) /* |
| devc | 628 | drivers/sound/mpu401.c | if (input_avail (devc->base)) |
| devc | 629 | drivers/sound/mpu401.c | mpu401_input_loop (devc); |
| devc | 636 | drivers/sound/mpu401.c | for (timeout = 500000; timeout > 0 && !output_ready (devc->base); timeout--); |
| devc | 639 | drivers/sound/mpu401.c | if (!output_ready (devc->base)) |
| devc | 646 | drivers/sound/mpu401.c | write_command (devc->base, cmd->cmd); |
| devc | 649 | drivers/sound/mpu401.c | if (input_avail (devc->base)) |
| devc | 650 | drivers/sound/mpu401.c | if (mpu_input_scanner (devc, read_data (devc->base)) == MPU_ACK) |
| devc | 663 | drivers/sound/mpu401.c | for (timeout = 30000; timeout > 0 && !output_ready (devc->base); timeout--); |
| devc | 681 | drivers/sound/mpu401.c | if (input_avail (devc->base)) |
| devc | 683 | drivers/sound/mpu401.c | cmd->data[i] = read_data (devc->base); |
| devc | 720 | drivers/sound/mpu401.c | struct mpu_config *devc = &dev_conf[dev]; |
| devc | 722 | drivers/sound/mpu401.c | if (devc->uart_mode) |
| devc | 764 | drivers/sound/mpu401.c | struct mpu_config *devc; |
| devc | 766 | drivers/sound/mpu401.c | devc = &dev_conf[dev]; |
| devc | 776 | drivers/sound/mpu401.c | if (devc->version == 0) |
| devc | 781 | drivers/sound/mpu401.c | set_uart_mode (dev, devc, !IOCTL_IN (arg)); |
| devc | 823 | drivers/sound/mpu401.c | struct mpu_config *devc; |
| devc | 830 | drivers/sound/mpu401.c | devc = &dev_conf[midi_dev]; |
| devc | 855 | drivers/sound/mpu401.c | struct mpu_config *devc; |
| devc | 862 | drivers/sound/mpu401.c | devc = &dev_conf[midi_dev]; |
| devc | 864 | drivers/sound/mpu401.c | if (devc->opened) |
| devc | 870 | drivers/sound/mpu401.c | devc->opened = mode; |
| devc | 871 | drivers/sound/mpu401.c | devc->mode = MODE_SYNTH; |
| devc | 872 | drivers/sound/mpu401.c | devc->synthno = dev; |
| devc | 874 | drivers/sound/mpu401.c | devc->inputintr = NULL; |
| devc | 875 | drivers/sound/mpu401.c | irq2dev[devc->irq] = midi_dev; |
| devc | 876 | drivers/sound/mpu401.c | if ((err = snd_set_irq_handler (devc->irq, mpuintr) < 0)) |
| devc | 879 | drivers/sound/mpu401.c | reset_mpu401 (devc); |
| devc | 894 | drivers/sound/mpu401.c | struct mpu_config *devc; |
| devc | 898 | drivers/sound/mpu401.c | devc = &dev_conf[midi_dev]; |
| devc | 902 | drivers/sound/mpu401.c | devc->opened = 0; |
| devc | 903 | drivers/sound/mpu401.c | devc->mode = 0; |
| devc | 904 | drivers/sound/mpu401.c | snd_release_irq (devc->irq); |
| devc | 905 | drivers/sound/mpu401.c | devc->inputintr = NULL; |
| devc | 906 | drivers/sound/mpu401.c | irq2dev[devc->irq] = -1; |
| devc | 957 | drivers/sound/mpu401.c | mpu401_chk_version (struct mpu_config *devc) |
| devc | 961 | drivers/sound/mpu401.c | devc->version = devc->revision = 0; |
| devc | 965 | drivers/sound/mpu401.c | devc->version = tmp; |
| devc | 969 | drivers/sound/mpu401.c | devc->revision = tmp; |
| devc | 979 | drivers/sound/mpu401.c | struct mpu_config *devc; |
| devc | 990 | drivers/sound/mpu401.c | devc = &dev_conf[num_midis]; |
| devc | 992 | drivers/sound/mpu401.c | devc->base = hw_config->io_base; |
| devc | 993 | drivers/sound/mpu401.c | devc->irq = hw_config->irq; |
| devc | 994 | drivers/sound/mpu401.c | devc->opened = 0; |
| devc | 995 | drivers/sound/mpu401.c | devc->uart_mode = 0; |
| devc | 996 | drivers/sound/mpu401.c | devc->initialized = 0; |
| devc | 997 | drivers/sound/mpu401.c | devc->version = 0; |
| devc | 998 | drivers/sound/mpu401.c | devc->revision = 0; |
| devc | 999 | drivers/sound/mpu401.c | devc->capabilities = 0; |
| devc | 1000 | drivers/sound/mpu401.c | devc->timer_flag = 0; |
| devc | 1001 | drivers/sound/mpu401.c | devc->m_busy = 0; |
| devc | 1002 | drivers/sound/mpu401.c | devc->m_state = ST_INIT; |
| devc | 1005 | drivers/sound/mpu401.c | devc->controls[i] = 0x2000; |
| devc | 1007 | drivers/sound/mpu401.c | if (!reset_mpu401 (devc)) |
| devc | 1011 | drivers/sound/mpu401.c | mpu401_chk_version (devc); |
| devc | 1012 | drivers/sound/mpu401.c | if (devc->version == 0) |
| devc | 1013 | drivers/sound/mpu401.c | mpu401_chk_version (devc); |
| devc | 1016 | drivers/sound/mpu401.c | if (devc->version == 0) |
| devc | 1024 | drivers/sound/mpu401.c | devc->capabilities |= MPU_CAP_INTLG; /* Supports intelligent mode */ |
| devc | 1043 | drivers/sound/mpu401.c | if (devc->version == 0x20 && devc->revision >= 0x07) /* MusicQuest interface */ |
| devc | 1045 | drivers/sound/mpu401.c | int ports = (devc->revision & 0x08) ? 32 : 16; |
| devc | 1047 | drivers/sound/mpu401.c | devc->capabilities |= MPU_CAP_SYNC | MPU_CAP_SMPTE | |
| devc | 1050 | drivers/sound/mpu401.c | revision_char = (devc->revision == 0x7f) ? 'M' : ' '; |
| devc | 1065 | drivers/sound/mpu401.c | revision_char = devc->revision ? devc->revision + '@' : ' '; |
| devc | 1066 | drivers/sound/mpu401.c | if (devc->revision > ('Z' - '@')) |
| devc | 1069 | drivers/sound/mpu401.c | devc->capabilities |= MPU_CAP_SYNC | MPU_CAP_FSK; |
| devc | 1072 | drivers/sound/mpu401.c | (devc->version & 0xf0) >> 4, |
| devc | 1073 | drivers/sound/mpu401.c | devc->version & 0x0f, |
| devc | 1078 | drivers/sound/mpu401.c | (devc->version & 0xf0) >> 4, |
| devc | 1079 | drivers/sound/mpu401.c | devc->version & 0x0f, |
| devc | 1090 | drivers/sound/mpu401.c | mpu401_synth_operations[num_midis].midi_dev = devc->devno = num_midis; |
| devc | 1091 | drivers/sound/mpu401.c | mpu401_synth_operations[devc->devno].info = |
| devc | 1092 | drivers/sound/mpu401.c | &mpu_synth_info[devc->devno]; |
| devc | 1094 | drivers/sound/mpu401.c | if (devc->capabilities & MPU_CAP_INTLG) /* Has timer */ |
| devc | 1097 | drivers/sound/mpu401.c | midi_devs[num_midis++] = &mpu401_midi_operations[devc->devno]; |
| devc | 1102 | drivers/sound/mpu401.c | reset_mpu401 (struct mpu_config *devc) |
| devc | 1115 | drivers/sound/mpu401.c | timeout_limit = devc->initialized ? 30000 : 100000; |
| devc | 1116 | drivers/sound/mpu401.c | devc->initialized = 1; |
| devc | 1121 | drivers/sound/mpu401.c | ok = output_ready (devc->base); |
| devc | 1123 | drivers/sound/mpu401.c | write_command (devc->base, MPU_RESET); /* |
| devc | 1135 | drivers/sound/mpu401.c | if (input_avail (devc->base)) |
| devc | 1136 | drivers/sound/mpu401.c | if (read_data (devc->base) == MPU_ACK) |
| devc | 1143 | drivers/sound/mpu401.c | devc->m_state = ST_INIT; |
| devc | 1144 | drivers/sound/mpu401.c | devc->m_ptr = 0; |
| devc | 1145 | drivers/sound/mpu401.c | devc->m_left = 0; |
| devc | 1146 | drivers/sound/mpu401.c | devc->last_status = 0; |
| devc | 1147 | drivers/sound/mpu401.c | devc->uart_mode = 0; |
| devc | 1153 | drivers/sound/mpu401.c | set_uart_mode (int dev, struct mpu_config *devc, int arg) |
| devc | 1156 | drivers/sound/mpu401.c | if (!arg && devc->version == 0) |
| devc | 1159 | drivers/sound/mpu401.c | if ((devc->uart_mode == 0) == (arg == 0)) |
| devc | 1162 | drivers/sound/mpu401.c | reset_mpu401 (devc); /* This exits the uart mode */ |
| devc | 1168 | drivers/sound/mpu401.c | printk ("MPU%d: Can't enter UART mode\n", devc->devno); |
| devc | 1169 | drivers/sound/mpu401.c | devc->uart_mode = 0; |
| devc | 1173 | drivers/sound/mpu401.c | devc->uart_mode = arg; |
| devc | 1606 | drivers/sound/mpu401.c | timer_ext_event (struct mpu_config *devc, int event, int parm) |
| devc | 1608 | drivers/sound/mpu401.c | int midi_dev = devc->devno; |
| devc | 1610 | drivers/sound/mpu401.c | if (!devc->timer_flag) |
| devc | 1664 | drivers/sound/mpu401.c | struct mpu_config *devc; |
| devc | 1667 | drivers/sound/mpu401.c | devc = &dev_conf[midi_dev]; |
| devc | 1687 | drivers/sound/mpu401.c | if (devc->version < 0x20) /* Original MPU-401 */ |
| devc | 1699 | drivers/sound/mpu401.c | if (devc->revision) |
| devc | 1702 | drivers/sound/mpu401.c | if (devc->revision & 0x02) |
| devc | 1706 | drivers/sound/mpu401.c | if (devc->revision & 0x04) |
| devc | 1710 | drivers/sound/mpu401.c | if (devc->revision & 0x40) |