Lines Matching refs:card
297 struct cyclades_card *card = port->card; in cyy_writeb() local
299 cy_writeb(port->u.cyy.base_addr + (reg << card->bus_index), val); in cyy_writeb()
304 struct cyclades_card *card = port->card; in cyy_readb() local
306 return readb(port->u.cyy.base_addr + (reg << card->bus_index)); in cyy_readb()
309 static inline bool cy_is_Z(struct cyclades_card *card) in cy_is_Z() argument
311 return card->num_chips == (unsigned int)-1; in cy_is_Z()
319 static inline bool cyz_fpga_loaded(struct cyclades_card *card) in cyz_fpga_loaded() argument
321 return __cyz_fpga_loaded(card->ctl_addr.p9060); in cyz_fpga_loaded()
324 static inline bool cyz_is_loaded(struct cyclades_card *card) in cyz_is_loaded() argument
326 struct FIRM_ID __iomem *fw_id = card->base_addr + ID_ADDRESS; in cyz_is_loaded()
328 return (card->hw_ver == ZO_V1 || cyz_fpga_loaded(card)) && in cyz_is_loaded()
386 port->card->bus_index); in cyy_issue_cmd()
825 struct cyclades_card *card = info->card; in cyy_change_rts_dtr() local
826 int channel = info->line - card->first_line; in cyy_change_rts_dtr()
923 struct cyclades_card *cinfo = info->card; in cyz_handle_rx()
1012 struct cyclades_card *cinfo = info->card; in cyz_handle_tx()
1155 "port %ld\n", info->card, channel); in cyz_handle_cmd()
1165 "port %ld\n", info->card, channel); in cyz_handle_cmd()
1205 struct cyclades_card *card = info->card; in cyz_rx_restart() local
1207 __u32 channel = info->line - card->first_line; in cyz_rx_restart()
1210 spin_lock_irqsave(&card->card_lock, flags); in cyz_rx_restart()
1211 retval = cyz_issue_cmd(card, channel, C_CM_INTBACK2, 0L); in cyz_rx_restart()
1216 spin_unlock_irqrestore(&card->card_lock, flags); in cyz_rx_restart()
1226 unsigned int port, card; in cyz_poll() local
1228 for (card = 0; card < NR_CARDS; card++) { in cyz_poll()
1229 cinfo = &cy_card[card]; in cyz_poll()
1267 struct cyclades_card *card; in cy_startup() local
1273 card = info->card; in cy_startup()
1274 channel = info->line - card->first_line; in cy_startup()
1280 spin_lock_irqsave(&card->card_lock, flags); in cy_startup()
1295 spin_unlock_irqrestore(&card->card_lock, flags); in cy_startup()
1299 if (!cy_is_Z(card)) { in cy_startup()
1302 spin_lock_irqsave(&card->card_lock, flags); in cy_startup()
1318 if (!cyz_is_loaded(card)) in cy_startup()
1323 "base_addr %p\n", card, channel, card->base_addr); in cy_startup()
1325 spin_lock_irqsave(&card->card_lock, flags); in cy_startup()
1347 retval = cyz_issue_cmd(card, channel, C_CM_IOCTL, 0L); in cy_startup()
1354 retval = cyz_issue_cmd(card, channel, C_CM_FLUSH_RX, 0L); in cy_startup()
1377 spin_unlock_irqrestore(&card->card_lock, flags); in cy_startup()
1385 spin_unlock_irqrestore(&card->card_lock, flags); in cy_startup()
1392 struct cyclades_card *card = info->card; in start_xmit() local
1394 int channel = info->line - card->first_line; in start_xmit()
1396 if (!cy_is_Z(card)) { in start_xmit()
1397 spin_lock_irqsave(&card->card_lock, flags); in start_xmit()
1400 spin_unlock_irqrestore(&card->card_lock, flags); in start_xmit()
1405 spin_lock_irqsave(&card->card_lock, flags); in start_xmit()
1406 retval = cyz_issue_cmd(card, channel, C_CM_INTBACK, 0L); in start_xmit()
1411 spin_unlock_irqrestore(&card->card_lock, flags); in start_xmit()
1424 struct cyclades_card *card; in cy_shutdown() local
1430 card = info->card; in cy_shutdown()
1431 if (!cy_is_Z(card)) { in cy_shutdown()
1432 spin_lock_irqsave(&card->card_lock, flags); in cy_shutdown()
1452 spin_unlock_irqrestore(&card->card_lock, flags); in cy_shutdown()
1455 int channel = info->line - card->first_line; in cy_shutdown()
1457 "base_addr %p\n", card, channel, card->base_addr); in cy_shutdown()
1460 if (!cyz_is_loaded(card)) in cy_shutdown()
1463 spin_lock_irqsave(&card->card_lock, flags); in cy_shutdown()
1478 spin_unlock_irqrestore(&card->card_lock, flags); in cy_shutdown()
1516 if (cy_is_Z(info->card)) { in cy_open()
1517 struct cyclades_card *cinfo = info->card; in cy_open()
1609 struct cyclades_card *card; in cy_wait_until_sent() local
1649 card = info->card; in cy_wait_until_sent()
1650 if (!cy_is_Z(card)) { in cy_wait_until_sent()
1666 struct cyclades_card *card; in cy_flush_buffer() local
1677 card = info->card; in cy_flush_buffer()
1678 channel = info->line - card->first_line; in cy_flush_buffer()
1680 spin_lock_irqsave(&card->card_lock, flags); in cy_flush_buffer()
1682 spin_unlock_irqrestore(&card->card_lock, flags); in cy_flush_buffer()
1684 if (cy_is_Z(card)) { /* If it is a Z card, flush the on-board in cy_flush_buffer()
1686 spin_lock_irqsave(&card->card_lock, flags); in cy_flush_buffer()
1687 retval = cyz_issue_cmd(card, channel, C_CM_FLUSH_TX, 0L); in cy_flush_buffer()
1692 spin_unlock_irqrestore(&card->card_lock, flags); in cy_flush_buffer()
1702 struct cyclades_card *card; in cy_do_close() local
1706 card = info->card; in cy_do_close()
1707 channel = info->line - card->first_line; in cy_do_close()
1708 spin_lock_irqsave(&card->card_lock, flags); in cy_do_close()
1710 if (!cy_is_Z(card)) { in cy_do_close()
1717 spin_unlock_irqrestore(&card->card_lock, flags); in cy_do_close()
1719 spin_lock_irqsave(&card->card_lock, flags); in cy_do_close()
1729 retval = cyz_issue_cmd(card, channel, C_CM_IOCTLW, 0L); in cy_do_close()
1734 spin_unlock_irqrestore(&card->card_lock, flags); in cy_do_close()
1736 spin_lock_irqsave(&card->card_lock, flags); in cy_do_close()
1740 spin_unlock_irqrestore(&card->card_lock, flags); in cy_do_close()
1784 spin_lock_irqsave(&info->card->card_lock, flags); in cy_write()
1800 spin_unlock_irqrestore(&info->card->card_lock, flags); in cy_write()
1833 spin_lock_irqsave(&info->card->card_lock, flags); in cy_put_char()
1835 spin_unlock_irqrestore(&info->card->card_lock, flags); in cy_put_char()
1844 spin_unlock_irqrestore(&info->card->card_lock, flags); in cy_put_char()
1901 if (!cy_is_Z(info->card)) { in cy_chars_in_buffer()
1967 struct cyclades_card *card; in cy_set_line_char() local
1992 card = info->card; in cy_set_line_char()
1993 channel = info->line - card->first_line; in cy_set_line_char()
1995 if (!cy_is_Z(card)) { in cy_set_line_char()
2110 spin_lock_irqsave(&card->card_lock, flags); in cy_set_line_char()
2158 spin_unlock_irqrestore(&card->card_lock, flags); in cy_set_line_char()
2165 if (!cyz_is_loaded(card)) in cy_set_line_char()
2248 retval = cyz_issue_cmd(card, channel, C_CM_IOCTL, 0L); in cy_set_line_char()
2274 retval = cyz_issue_cmd(card, channel, C_CM_IOCTLM, 0L); in cy_set_line_char()
2287 struct cyclades_card *cinfo = info->card; in cy_get_serial_info()
2291 .port = (info->card - cy_card) * 0x100 + info->line - in cy_get_serial_info()
2367 struct cyclades_card *card = info->card; in get_lsr_info() local
2372 if (!cy_is_Z(card)) { in get_lsr_info()
2373 spin_lock_irqsave(&card->card_lock, flags); in get_lsr_info()
2375 spin_unlock_irqrestore(&card->card_lock, flags); in get_lsr_info()
2387 struct cyclades_card *card; in cy_tiocmget() local
2393 card = info->card; in cy_tiocmget()
2395 if (!cy_is_Z(card)) { in cy_tiocmget()
2397 int channel = info->line - card->first_line; in cy_tiocmget()
2400 spin_lock_irqsave(&card->card_lock, flags); in cy_tiocmget()
2404 spin_unlock_irqrestore(&card->card_lock, flags); in cy_tiocmget()
2420 if (!cyz_is_loaded(card)) { in cy_tiocmget()
2442 struct cyclades_card *card; in cy_tiocmset() local
2448 card = info->card; in cy_tiocmset()
2449 if (!cy_is_Z(card)) { in cy_tiocmset()
2450 spin_lock_irqsave(&card->card_lock, flags); in cy_tiocmset()
2452 spin_unlock_irqrestore(&card->card_lock, flags); in cy_tiocmset()
2455 int retval, channel = info->line - card->first_line; in cy_tiocmset()
2458 if (!cyz_is_loaded(card)) in cy_tiocmset()
2461 spin_lock_irqsave(&card->card_lock, flags); in cy_tiocmset()
2481 retval = cyz_issue_cmd(card, channel, C_CM_IOCTLM, 0L); in cy_tiocmset()
2482 spin_unlock_irqrestore(&card->card_lock, flags); in cy_tiocmset()
2497 struct cyclades_card *card; in cy_break() local
2504 card = info->card; in cy_break()
2506 spin_lock_irqsave(&card->card_lock, flags); in cy_break()
2507 if (!cy_is_Z(card)) { in cy_break()
2515 spin_unlock_irqrestore(&card->card_lock, flags); in cy_break()
2517 spin_lock_irqsave(&card->card_lock, flags); in cy_break()
2524 spin_unlock_irqrestore(&card->card_lock, flags); in cy_break()
2526 spin_lock_irqsave(&card->card_lock, flags); in cy_break()
2532 retval = cyz_issue_cmd(card, in cy_break()
2533 info->line - card->first_line, in cy_break()
2540 retval = cyz_issue_cmd(card, in cy_break()
2541 info->line - card->first_line, in cy_break()
2550 spin_unlock_irqrestore(&card->card_lock, flags); in cy_break()
2556 struct cyclades_card *card = info->card; in set_threshold() local
2559 if (!cy_is_Z(card)) { in set_threshold()
2563 spin_lock_irqsave(&card->card_lock, flags); in set_threshold()
2566 spin_unlock_irqrestore(&card->card_lock, flags); in set_threshold()
2574 struct cyclades_card *card = info->card; in get_threshold() local
2576 if (!cy_is_Z(card)) { in get_threshold()
2585 struct cyclades_card *card = info->card; in set_timeout() local
2588 if (!cy_is_Z(card)) { in set_timeout()
2589 spin_lock_irqsave(&card->card_lock, flags); in set_timeout()
2591 spin_unlock_irqrestore(&card->card_lock, flags); in set_timeout()
2599 struct cyclades_card *card = info->card; in get_timeout() local
2601 if (!cy_is_Z(card)) { in get_timeout()
2615 spin_lock_irqsave(&info->card->card_lock, flags); in cy_cflags_changed()
2617 spin_unlock_irqrestore(&info->card->card_lock, flags); in cy_cflags_changed()
2733 spin_lock_irqsave(&info->card->card_lock, flags); in cy_ioctl()
2736 spin_unlock_irqrestore(&info->card->card_lock, flags); in cy_ioctl()
2764 spin_lock_irqsave(&info->card->card_lock, flags); in cy_get_icount()
2766 spin_unlock_irqrestore(&info->card->card_lock, flags); in cy_get_icount()
2822 struct cyclades_card *card; in cy_send_xchar() local
2833 card = info->card; in cy_send_xchar()
2834 channel = info->line - card->first_line; in cy_send_xchar()
2836 if (cy_is_Z(card)) { in cy_send_xchar()
2838 cyz_issue_cmd(card, channel, C_CM_SENDXOFF, 0L); in cy_send_xchar()
2840 cyz_issue_cmd(card, channel, C_CM_SENDXON, 0L); in cy_send_xchar()
2851 struct cyclades_card *card; in cy_throttle() local
2862 card = info->card; in cy_throttle()
2865 if (!cy_is_Z(card)) in cy_throttle()
2872 if (!cy_is_Z(card)) { in cy_throttle()
2873 spin_lock_irqsave(&card->card_lock, flags); in cy_throttle()
2875 spin_unlock_irqrestore(&card->card_lock, flags); in cy_throttle()
2890 struct cyclades_card *card; in cy_unthrottle() local
2909 card = info->card; in cy_unthrottle()
2910 if (!cy_is_Z(card)) { in cy_unthrottle()
2911 spin_lock_irqsave(&card->card_lock, flags); in cy_unthrottle()
2913 spin_unlock_irqrestore(&card->card_lock, flags); in cy_unthrottle()
2937 cinfo = info->card; in cy_stop()
2961 cinfo = info->card; in cy_start()
2994 struct cyclades_card *cinfo = info->card; in cyy_carrier_raised()
3011 struct cyclades_card *cinfo = info->card; in cyy_dtr_rts()
3032 struct cyclades_card *cinfo = info->card; in cyz_dtr_rts()
3092 info->card = cinfo; in cy_init_card()
3259 struct cyclades_card *card; in cy_detect_isa() local
3320 card = &cy_card[j]; in cy_detect_isa()
3321 if (card->base_addr == NULL) in cy_detect_isa()
3335 0, "Cyclom-Y", card)) { in cy_detect_isa()
3344 card->base_addr = cy_isa_address; in cy_detect_isa()
3345 card->ctl_addr.p9050 = NULL; in cy_detect_isa()
3346 card->irq = (int)cy_isa_irq; in cy_detect_isa()
3347 card->bus_index = 0; in cy_detect_isa()
3348 card->first_line = cy_next_channel; in cy_detect_isa()
3349 card->num_chips = cy_isa_nchan / CyPORTS_PER_CHIP; in cy_detect_isa()
3350 card->nports = cy_isa_nchan; in cy_detect_isa()
3351 if (cy_init_card(card)) { in cy_detect_isa()
3352 card->base_addr = NULL; in cy_detect_isa()
3353 free_irq(cy_isa_irq, card); in cy_detect_isa()
3367 tty_port_register_device(&card->ports[k].port, in cy_detect_isa()
3668 struct cyclades_card *card; in cy_pci_probe() local
3803 card = &cy_card[card_no]; in cy_pci_probe()
3804 if (card->base_addr == NULL) in cy_pci_probe()
3818 IRQF_SHARED, "Cyclom-Y", card); in cy_pci_probe()
3823 card->num_chips = nchan / CyPORTS_PER_CHIP; in cy_pci_probe()
3830 card->hw_ver = mailbox; in cy_pci_probe()
3831 card->num_chips = (unsigned int)-1; in cy_pci_probe()
3832 card->board_ctrl = &zfw_ctrl->board_ctrl; in cy_pci_probe()
3837 IRQF_SHARED, "Cyclades-Z", card); in cy_pci_probe()
3847 card->base_addr = addr2; in cy_pci_probe()
3848 card->ctl_addr.p9050 = addr0; in cy_pci_probe()
3849 card->irq = irq; in cy_pci_probe()
3850 card->bus_index = 1; in cy_pci_probe()
3851 card->first_line = cy_next_channel; in cy_pci_probe()
3852 card->nports = nchan; in cy_pci_probe()
3853 retval = cy_init_card(card); in cy_pci_probe()
3857 pci_set_drvdata(pdev, card); in cy_pci_probe()
3884 tty_port_register_device(&card->ports[j].port, in cy_pci_probe()
3890 card->base_addr = NULL; in cy_pci_probe()
3891 free_irq(irq, card); in cy_pci_probe()
4109 struct cyclades_card *card; in cy_cleanup_module() local
4126 card = &cy_card[i]; in cy_cleanup_module()
4127 if (card->base_addr) { in cy_cleanup_module()
4129 cy_writeb(card->base_addr + Cy_ClrIntr, 0); in cy_cleanup_module()
4130 iounmap(card->base_addr); in cy_cleanup_module()
4131 if (card->ctl_addr.p9050) in cy_cleanup_module()
4132 iounmap(card->ctl_addr.p9050); in cy_cleanup_module()
4133 if (card->irq in cy_cleanup_module()
4135 && !cy_is_Z(card) in cy_cleanup_module()
4138 free_irq(card->irq, card); in cy_cleanup_module()
4139 for (e1 = card->first_line; e1 < card->first_line + in cy_cleanup_module()
4140 card->nports; e1++) in cy_cleanup_module()
4142 kfree(card->ports); in cy_cleanup_module()