• Home
  • Raw
  • Download

Lines Matching refs:cinfo

438 static void cyy_chip_rx(struct cyclades_card *cinfo, int chip,  in cyy_chip_rx()  argument
443 int len, index = cinfo->bus_index; in cyy_chip_rx()
452 info = &cinfo->ports[channel + chip * 4]; in cyy_chip_rx()
566 static void cyy_chip_tx(struct cyclades_card *cinfo, unsigned int chip, in cyy_chip_tx() argument
571 int char_count, index = cinfo->bus_index; in cyy_chip_tx()
587 info = &cinfo->ports[channel + chip * 4]; in cyy_chip_tx()
679 static void cyy_chip_modem(struct cyclades_card *cinfo, int chip, in cyy_chip_modem() argument
684 int index = cinfo->bus_index; in cyy_chip_modem()
690 info = &cinfo->ports[channel + chip * 4]; in cyy_chip_modem()
759 struct cyclades_card *cinfo = dev_id; in cyy_interrupt() local
764 if (unlikely(cinfo == NULL)) { in cyy_interrupt()
772 card_base_addr = cinfo->base_addr; in cyy_interrupt()
773 index = cinfo->bus_index; in cyy_interrupt()
786 for (chip = 0; chip < cinfo->num_chips; chip++) { in cyy_interrupt()
787 base_addr = cinfo->base_addr + in cyy_interrupt()
800 spin_lock(&cinfo->card_lock); in cyy_interrupt()
802 cyy_chip_rx(cinfo, chip, base_addr); in cyy_interrupt()
804 cyy_chip_tx(cinfo, chip, base_addr); in cyy_interrupt()
806 cyy_chip_modem(cinfo, chip, base_addr); in cyy_interrupt()
807 spin_unlock(&cinfo->card_lock); in cyy_interrupt()
813 spin_lock(&cinfo->card_lock); in cyy_interrupt()
816 spin_unlock(&cinfo->card_lock); in cyy_interrupt()
876 cyz_fetch_msg(struct cyclades_card *cinfo, in cyz_fetch_msg() argument
879 struct BOARD_CTRL __iomem *board_ctrl = cinfo->board_ctrl; in cyz_fetch_msg()
882 loc_doorbell = readl(&cinfo->ctl_addr.p9060->loc_doorbell); in cyz_fetch_msg()
887 cy_writel(&cinfo->ctl_addr.p9060->loc_doorbell, 0xffffffff); in cyz_fetch_msg()
894 cyz_issue_cmd(struct cyclades_card *cinfo, in cyz_issue_cmd() argument
897 struct BOARD_CTRL __iomem *board_ctrl = cinfo->board_ctrl; in cyz_issue_cmd()
901 if (!cyz_is_loaded(cinfo)) in cyz_issue_cmd()
905 pci_doorbell = &cinfo->ctl_addr.p9060->pci_doorbell; in cyz_issue_cmd()
921 struct cyclades_card *cinfo = info->card; in cyz_handle_rx() local
965 memcpy_fromio(buf, cinfo->base_addr + in cyz_handle_rx()
977 data = readb(cinfo->base_addr + rx_bufaddr + in cyz_handle_rx()
1010 struct cyclades_card *cinfo = info->card; in cyz_handle_tx() local
1041 cy_writeb(cinfo->base_addr + tx_bufaddr + tx_put, data); in cyz_handle_tx()
1054 memcpy_toio((char *)(cinfo->base_addr + tx_bufaddr + tx_put), in cyz_handle_tx()
1072 cy_writeb(cinfo->base_addr + tx_bufaddr + tx_put, data); in cyz_handle_tx()
1085 static void cyz_handle_cmd(struct cyclades_card *cinfo) in cyz_handle_cmd() argument
1087 struct BOARD_CTRL __iomem *board_ctrl = cinfo->board_ctrl; in cyz_handle_cmd()
1096 while (cyz_fetch_msg(cinfo, &channel, &cmd, &param) == 1) { in cyz_handle_cmd()
1099 info = &cinfo->ports[channel]; in cyz_handle_cmd()
1184 struct cyclades_card *cinfo = dev_id; in cyz_interrupt() local
1186 if (unlikely(!cyz_is_loaded(cinfo))) { in cyz_interrupt()
1195 cyz_handle_cmd(cinfo); in cyz_interrupt()
1221 struct cyclades_card *cinfo; in cyz_poll() local
1227 cinfo = &cy_card[card]; in cyz_poll()
1229 if (!cy_is_Z(cinfo)) in cyz_poll()
1231 if (!cyz_is_loaded(cinfo)) in cyz_poll()
1235 if (!cinfo->intr_enabled) { in cyz_poll()
1236 cinfo->intr_enabled = 1; in cyz_poll()
1240 cyz_handle_cmd(cinfo); in cyz_poll()
1242 for (port = 0; port < cinfo->nports; port++) { in cyz_poll()
1243 info = &cinfo->ports[port]; in cyz_poll()
1515 struct cyclades_card *cinfo = info->card; in cy_open() local
1516 struct FIRM_ID __iomem *firm_id = cinfo->base_addr + ID_ADDRESS; in cy_open()
1518 if (!cyz_is_loaded(cinfo)) { in cy_open()
1519 if (cinfo->hw_ver == ZE_V1 && cyz_fpga_loaded(cinfo) && in cy_open()
1537 if (!cinfo->intr_enabled) { in cy_open()
1541 intr = readw(&cinfo->ctl_addr.p9060-> in cy_open()
1543 cy_writew(&cinfo->ctl_addr.p9060-> in cy_open()
1546 retval = cyz_issue_cmd(cinfo, 0, in cy_open()
1552 cinfo->intr_enabled = 1; in cy_open()
1557 if (info->line > (cinfo->first_line + cinfo->nports - 1)) in cy_open()
2265 struct cyclades_card *cinfo = info->card; in cy_get_serial_info() local
2270 cinfo->first_line, in cy_get_serial_info()
2271 .irq = cinfo->irq, in cy_get_serial_info()
2909 struct cyclades_card *cinfo; in cy_stop() local
2921 cinfo = info->card; in cy_stop()
2922 channel = info->line - cinfo->first_line; in cy_stop()
2923 if (!cy_is_Z(cinfo)) { in cy_stop()
2924 spin_lock_irqsave(&cinfo->card_lock, flags); in cy_stop()
2927 spin_unlock_irqrestore(&cinfo->card_lock, flags); in cy_stop()
2933 struct cyclades_card *cinfo; in cy_start() local
2945 cinfo = info->card; in cy_start()
2946 channel = info->line - cinfo->first_line; in cy_start()
2947 if (!cy_is_Z(cinfo)) { in cy_start()
2948 spin_lock_irqsave(&cinfo->card_lock, flags); in cy_start()
2951 spin_unlock_irqrestore(&cinfo->card_lock, flags); in cy_start()
2978 struct cyclades_card *cinfo = info->card; in cyy_carrier_raised() local
2980 int channel = info->line - cinfo->first_line; in cyy_carrier_raised()
2983 spin_lock_irqsave(&cinfo->card_lock, flags); in cyy_carrier_raised()
2986 spin_unlock_irqrestore(&cinfo->card_lock, flags); in cyy_carrier_raised()
2995 struct cyclades_card *cinfo = info->card; in cyy_dtr_rts() local
2998 spin_lock_irqsave(&cinfo->card_lock, flags); in cyy_dtr_rts()
3001 spin_unlock_irqrestore(&cinfo->card_lock, flags); in cyy_dtr_rts()
3016 struct cyclades_card *cinfo = info->card; in cyz_dtr_rts() local
3018 int ret, channel = info->line - cinfo->first_line; in cyz_dtr_rts()
3027 ret = cyz_issue_cmd(cinfo, channel, C_CM_IOCTLM, 0L); in cyz_dtr_rts()
3056 static int cy_init_card(struct cyclades_card *cinfo) in cy_init_card() argument
3061 spin_lock_init(&cinfo->card_lock); in cy_init_card()
3062 cinfo->intr_enabled = 0; in cy_init_card()
3064 cinfo->ports = kcalloc(cinfo->nports, sizeof(*cinfo->ports), in cy_init_card()
3066 if (cinfo->ports == NULL) { in cy_init_card()
3071 for (channel = 0, port = cinfo->first_line; channel < cinfo->nports; in cy_init_card()
3073 info = &cinfo->ports[channel]; in cy_init_card()
3076 info->card = cinfo; in cy_init_card()
3083 if (cy_is_Z(cinfo)) { in cy_init_card()
3084 struct FIRM_ID *firm_id = cinfo->base_addr + ID_ADDRESS; in cy_init_card()
3090 zfw_ctrl = cinfo->base_addr + in cy_init_card()
3095 if (cinfo->hw_ver == ZO_V1) in cy_init_card()
3105 int index = cinfo->bus_index; in cy_init_card()
3115 info->u.cyy.base_addr = cinfo->base_addr + in cy_init_card()
3140 if (cy_is_Z(cinfo) && !timer_pending(&cyz_timerlist)) { in cy_init_card()
3889 struct cyclades_card *cinfo = pci_get_drvdata(pdev); in cy_pci_remove() local
3893 if (!cy_is_Z(cinfo) && (readb(cinfo->base_addr + CyPLX_VER) & 0x0f) == in cy_pci_remove()
3895 cy_writeb(cinfo->ctl_addr.p9050 + 0x4c, 0); in cy_pci_remove()
3898 if (!cy_is_Z(cinfo)) in cy_pci_remove()
3900 cy_writew(&cinfo->ctl_addr.p9060->intr_ctrl_stat, in cy_pci_remove()
3901 readw(&cinfo->ctl_addr.p9060->intr_ctrl_stat) & in cy_pci_remove()
3904 iounmap(cinfo->base_addr); in cy_pci_remove()
3905 if (cinfo->ctl_addr.p9050) in cy_pci_remove()
3906 iounmap(cinfo->ctl_addr.p9050); in cy_pci_remove()
3907 if (cinfo->irq in cy_pci_remove()
3909 && !cy_is_Z(cinfo) in cy_pci_remove()
3912 free_irq(cinfo->irq, cinfo); in cy_pci_remove()
3915 cinfo->base_addr = NULL; in cy_pci_remove()
3916 for (channel = 0, i = cinfo->first_line; i < cinfo->first_line + in cy_pci_remove()
3917 cinfo->nports; i++, channel++) { in cy_pci_remove()
3919 tty_port_destroy(&cinfo->ports[channel].port); in cy_pci_remove()
3921 cinfo->nports = 0; in cy_pci_remove()
3922 kfree(cinfo->ports); in cy_pci_remove()