Lines Matching refs:ec

87 static void icside_irqenable_arcin_v5 (struct expansion_card *ec, int irqnr)  in icside_irqenable_arcin_v5()  argument
89 struct icside_state *state = ec->irq_data; in icside_irqenable_arcin_v5()
97 static void icside_irqdisable_arcin_v5 (struct expansion_card *ec, int irqnr) in icside_irqdisable_arcin_v5() argument
99 struct icside_state *state = ec->irq_data; in icside_irqdisable_arcin_v5()
114 static void icside_irqenable_arcin_v6 (struct expansion_card *ec, int irqnr) in icside_irqenable_arcin_v6() argument
116 struct icside_state *state = ec->irq_data; in icside_irqenable_arcin_v6()
136 static void icside_irqdisable_arcin_v6 (struct expansion_card *ec, int irqnr) in icside_irqdisable_arcin_v6() argument
138 struct icside_state *state = ec->irq_data; in icside_irqdisable_arcin_v6()
149 static int icside_irqpending_arcin_v6(struct expansion_card *ec) in icside_irqpending_arcin_v6() argument
151 struct icside_state *state = ec->irq_data; in icside_irqpending_arcin_v6()
170 struct expansion_card *ec = ECARD_DEV(hwif->dev); in icside_maskproc() local
171 struct icside_state *state = ecard_get_drvdata(ec); in icside_maskproc()
291 struct expansion_card *ec = ECARD_DEV(hwif->dev); in icside_dma_end() local
293 disable_dma(ec->dma); in icside_dma_end()
295 return get_dma_residue(ec->dma) != 0; in icside_dma_end()
301 struct expansion_card *ec = ECARD_DEV(hwif->dev); in icside_dma_start() local
304 BUG_ON(dma_channel_active(ec->dma)); in icside_dma_start()
305 enable_dma(ec->dma); in icside_dma_start()
311 struct expansion_card *ec = ECARD_DEV(hwif->dev); in icside_dma_setup() local
312 struct icside_state *state = ecard_get_drvdata(ec); in icside_dma_setup()
323 BUG_ON(dma_channel_active(ec->dma)); in icside_dma_setup()
338 set_dma_speed(ec->dma, (unsigned long)ide_get_drivedata(drive)); in icside_dma_setup()
344 set_dma_sg(ec->dma, hwif->sg_table, cmd->sg_nents); in icside_dma_setup()
345 set_dma_mode(ec->dma, dma_mode); in icside_dma_setup()
353 struct expansion_card *ec = ECARD_DEV(hwif->dev); in icside_dma_test_irq() local
354 struct icside_state *state = ecard_get_drvdata(ec); in icside_dma_test_irq()
386 struct cardinfo *info, struct expansion_card *ec) in icside_setup_ports() argument
400 hw->irq = ec->irq; in icside_setup_ports()
401 hw->dev = &ec->dev; in icside_setup_ports()
410 struct expansion_card *ec) in icside_register_v5() argument
417 base = ecardm_iomap(ec, ECARD_RES_MEMC, 0, 0); in icside_register_v5()
423 ec->irqaddr = base + ICS_ARCIN_V5_INTRSTAT; in icside_register_v5()
424 ec->irqmask = 1; in icside_register_v5()
426 ecard_setirq(ec, &icside_ops_arcin_v5, state); in icside_register_v5()
431 icside_irqdisable_arcin_v5(ec, 0); in icside_register_v5()
433 icside_setup_ports(&hw, base, &icside_cardinfo_v5, ec); in icside_register_v5()
441 ecard_set_drvdata(ec, state); in icside_register_v5()
450 ecard_set_drvdata(ec, NULL); in icside_register_v5()
464 struct expansion_card *ec) in icside_register_v6() argument
473 ioc_base = ecardm_iomap(ec, ECARD_RES_IOCFAST, 0, 0); in icside_register_v6()
481 if (ecard_resource_flags(ec, ECARD_RES_EASI)) { in icside_register_v6()
482 easi_base = ecardm_iomap(ec, ECARD_RES_EASI, 0, 0); in icside_register_v6()
496 ecard_setirq(ec, &icside_ops_arcin_v6, state); in icside_register_v6()
505 icside_irqdisable_arcin_v6(ec, 0); in icside_register_v6()
507 icside_setup_ports(&hw[0], easi_base, &icside_cardinfo_v6_1, ec); in icside_register_v6()
508 icside_setup_ports(&hw[1], easi_base, &icside_cardinfo_v6_2, ec); in icside_register_v6()
516 ecard_set_drvdata(ec, state); in icside_register_v6()
519 if (ec->dma != NO_DMA && !request_dma(ec->dma, DRV_NAME)) { in icside_register_v6()
534 free_dma(ec->dma); in icside_register_v6()
535 ecard_set_drvdata(ec, NULL); in icside_register_v6()
540 static int icside_probe(struct expansion_card *ec, const struct ecard_id *id) in icside_probe() argument
546 ret = ecard_request_resources(ec); in icside_probe()
558 idmem = ecardm_iomap(ec, ECARD_RES_IOCFAST, 0, 0); in icside_probe()
566 ecardm_iounmap(ec, idmem); in icside_probe()
573 dev_warn(&ec->dev, "A3IN unsupported\n"); in icside_probe()
578 dev_warn(&ec->dev, "A3USER unsupported\n"); in icside_probe()
583 ret = icside_register_v5(state, ec); in icside_probe()
587 ret = icside_register_v6(state, ec); in icside_probe()
591 dev_warn(&ec->dev, "unknown interface type\n"); in icside_probe()
601 ecard_release_resources(ec); in icside_probe()
606 static void icside_remove(struct expansion_card *ec) in icside_remove() argument
608 struct icside_state *state = ecard_get_drvdata(ec); in icside_remove()
615 icside_irqdisable_arcin_v5(ec, 0); in icside_remove()
620 if (ec->dma != NO_DMA) in icside_remove()
621 free_dma(ec->dma); in icside_remove()
624 icside_irqdisable_arcin_v6(ec, 0); in icside_remove()
631 ecard_set_drvdata(ec, NULL); in icside_remove()
634 ecard_release_resources(ec); in icside_remove()
637 static void icside_shutdown(struct expansion_card *ec) in icside_shutdown() argument
639 struct icside_state *state = ecard_get_drvdata(ec); in icside_shutdown()
648 ec->ops->irqdisable(ec, 0); in icside_shutdown()