Lines Matching full:ec
85 /* Prototype: icside_irqenable_arcin_v5 (struct expansion_card *ec, int irqnr)
88 static void icside_irqenable_arcin_v5 (struct expansion_card *ec, int irqnr) in icside_irqenable_arcin_v5() argument
90 struct icside_state *state = ec->irq_data; in icside_irqenable_arcin_v5()
95 /* Prototype: icside_irqdisable_arcin_v5 (struct expansion_card *ec, int irqnr)
98 static void icside_irqdisable_arcin_v5 (struct expansion_card *ec, int irqnr) in icside_irqdisable_arcin_v5() argument
100 struct icside_state *state = ec->irq_data; in icside_irqdisable_arcin_v5()
112 /* Prototype: icside_irqenable_arcin_v6 (struct expansion_card *ec, int irqnr)
115 static void icside_irqenable_arcin_v6 (struct expansion_card *ec, int irqnr) in icside_irqenable_arcin_v6() argument
117 struct icside_state *state = ec->irq_data; in icside_irqenable_arcin_v6()
134 /* Prototype: icside_irqdisable_arcin_v6 (struct expansion_card *ec, int irqnr)
137 static void icside_irqdisable_arcin_v6 (struct expansion_card *ec, int irqnr) in icside_irqdisable_arcin_v6() argument
139 struct icside_state *state = ec->irq_data; in icside_irqdisable_arcin_v6()
147 /* Prototype: icside_irqprobe(struct expansion_card *ec)
150 static int icside_irqpending_arcin_v6(struct expansion_card *ec) in icside_irqpending_arcin_v6() argument
152 struct icside_state *state = ec->irq_data; in icside_irqpending_arcin_v6()
171 struct expansion_card *ec = ECARD_DEV(hwif->dev); in icside_maskproc() local
172 struct icside_state *state = ecard_get_drvdata(ec); in icside_maskproc()
292 struct expansion_card *ec = ECARD_DEV(hwif->dev); in icside_dma_end() local
294 disable_dma(ec->dma); in icside_dma_end()
296 return get_dma_residue(ec->dma) != 0; in icside_dma_end()
302 struct expansion_card *ec = ECARD_DEV(hwif->dev); in icside_dma_start() local
305 BUG_ON(dma_channel_active(ec->dma)); in icside_dma_start()
306 enable_dma(ec->dma); in icside_dma_start()
312 struct expansion_card *ec = ECARD_DEV(hwif->dev); in icside_dma_setup() local
313 struct icside_state *state = ecard_get_drvdata(ec); in icside_dma_setup()
324 BUG_ON(dma_channel_active(ec->dma)); in icside_dma_setup()
339 set_dma_speed(ec->dma, (unsigned long)ide_get_drivedata(drive)); in icside_dma_setup()
345 set_dma_sg(ec->dma, hwif->sg_table, cmd->sg_nents); in icside_dma_setup()
346 set_dma_mode(ec->dma, dma_mode); in icside_dma_setup()
354 struct expansion_card *ec = ECARD_DEV(hwif->dev); in icside_dma_test_irq() local
355 struct icside_state *state = ecard_get_drvdata(ec); in icside_dma_test_irq()
387 struct cardinfo *info, struct expansion_card *ec) in icside_setup_ports() argument
401 hw->irq = ec->irq; in icside_setup_ports()
402 hw->dev = &ec->dev; in icside_setup_ports()
411 struct expansion_card *ec) in icside_register_v5() argument
418 base = ecardm_iomap(ec, ECARD_RES_MEMC, 0, 0); in icside_register_v5()
424 ec->irqaddr = base + ICS_ARCIN_V5_INTRSTAT; in icside_register_v5()
425 ec->irqmask = 1; in icside_register_v5()
427 ecard_setirq(ec, &icside_ops_arcin_v5, state); in icside_register_v5()
432 icside_irqdisable_arcin_v5(ec, 0); in icside_register_v5()
434 icside_setup_ports(&hw, base, &icside_cardinfo_v5, ec); in icside_register_v5()
442 ecard_set_drvdata(ec, state); in icside_register_v5()
451 ecard_set_drvdata(ec, NULL); in icside_register_v5()
465 struct expansion_card *ec) in icside_register_v6() argument
474 ioc_base = ecardm_iomap(ec, ECARD_RES_IOCFAST, 0, 0); in icside_register_v6()
482 if (ecard_resource_flags(ec, ECARD_RES_EASI)) { in icside_register_v6()
483 easi_base = ecardm_iomap(ec, ECARD_RES_EASI, 0, 0); in icside_register_v6()
497 ecard_setirq(ec, &icside_ops_arcin_v6, state); in icside_register_v6()
506 icside_irqdisable_arcin_v6(ec, 0); in icside_register_v6()
508 icside_setup_ports(&hw[0], easi_base, &icside_cardinfo_v6_1, ec); in icside_register_v6()
509 icside_setup_ports(&hw[1], easi_base, &icside_cardinfo_v6_2, ec); in icside_register_v6()
517 ecard_set_drvdata(ec, state); in icside_register_v6()
520 if (ec->dma != NO_DMA && !request_dma(ec->dma, DRV_NAME)) { in icside_register_v6()
535 free_dma(ec->dma); in icside_register_v6()
536 ecard_set_drvdata(ec, NULL); in icside_register_v6()
541 static int icside_probe(struct expansion_card *ec, const struct ecard_id *id) in icside_probe() argument
547 ret = ecard_request_resources(ec); in icside_probe()
559 idmem = ecardm_iomap(ec, ECARD_RES_IOCFAST, 0, 0); in icside_probe()
567 ecardm_iounmap(ec, idmem); in icside_probe()
574 dev_warn(&ec->dev, "A3IN unsupported\n"); in icside_probe()
579 dev_warn(&ec->dev, "A3USER unsupported\n"); in icside_probe()
584 ret = icside_register_v5(state, ec); in icside_probe()
588 ret = icside_register_v6(state, ec); in icside_probe()
592 dev_warn(&ec->dev, "unknown interface type\n"); in icside_probe()
602 ecard_release_resources(ec); in icside_probe()
607 static void icside_remove(struct expansion_card *ec) in icside_remove() argument
609 struct icside_state *state = ecard_get_drvdata(ec); in icside_remove()
616 icside_irqdisable_arcin_v5(ec, 0); in icside_remove()
621 if (ec->dma != NO_DMA) in icside_remove()
622 free_dma(ec->dma); in icside_remove()
625 icside_irqdisable_arcin_v6(ec, 0); in icside_remove()
632 ecard_set_drvdata(ec, NULL); in icside_remove()
635 ecard_release_resources(ec); in icside_remove()
638 static void icside_shutdown(struct expansion_card *ec) in icside_shutdown() argument
640 struct icside_state *state = ecard_get_drvdata(ec); in icside_shutdown()
649 ec->ops->irqdisable(ec, 0); in icside_shutdown()