Lines Matching refs:cinfo

440 static void cyy_chip_rx(struct cyclades_card *cinfo, int chip,
445 int len, index = cinfo->bus_index;
454 info = &cinfo->ports[channel + chip * 4];
575 static void cyy_chip_tx(struct cyclades_card *cinfo, unsigned int chip,
580 int char_count, index = cinfo->bus_index;
596 info = &cinfo->ports[channel + chip * 4];
688 static void cyy_chip_modem(struct cyclades_card *cinfo, int chip,
693 int index = cinfo->bus_index;
699 info = &cinfo->ports[channel + chip * 4];
768 struct cyclades_card *cinfo = dev_id;
773 if (unlikely(cinfo == NULL)) {
781 card_base_addr = cinfo->base_addr;
782 index = cinfo->bus_index;
795 for (chip = 0; chip < cinfo->num_chips; chip++) {
796 base_addr = cinfo->base_addr +
809 spin_lock(&cinfo->card_lock);
811 cyy_chip_rx(cinfo, chip, base_addr);
813 cyy_chip_tx(cinfo, chip, base_addr);
815 cyy_chip_modem(cinfo, chip, base_addr);
816 spin_unlock(&cinfo->card_lock);
822 spin_lock(&cinfo->card_lock);
825 spin_unlock(&cinfo->card_lock);
885 cyz_fetch_msg(struct cyclades_card *cinfo,
888 struct BOARD_CTRL __iomem *board_ctrl = cinfo->board_ctrl;
891 loc_doorbell = readl(&cinfo->ctl_addr.p9060->loc_doorbell);
896 cy_writel(&cinfo->ctl_addr.p9060->loc_doorbell, 0xffffffff);
903 cyz_issue_cmd(struct cyclades_card *cinfo,
906 struct BOARD_CTRL __iomem *board_ctrl = cinfo->board_ctrl;
910 if (!cyz_is_loaded(cinfo))
914 pci_doorbell = &cinfo->ctl_addr.p9060->pci_doorbell;
930 struct cyclades_card *cinfo = info->card;
976 memcpy_fromio(buf, cinfo->base_addr +
988 data = readb(cinfo->base_addr + rx_bufaddr +
1022 struct cyclades_card *cinfo = info->card;
1050 cy_writeb(cinfo->base_addr + tx_bufaddr + tx_put, data);
1063 memcpy_toio((char *)(cinfo->base_addr + tx_bufaddr +
1082 cy_writeb(cinfo->base_addr + tx_bufaddr + tx_put, data);
1095 static void cyz_handle_cmd(struct cyclades_card *cinfo)
1097 struct BOARD_CTRL __iomem *board_ctrl = cinfo->board_ctrl;
1107 while (cyz_fetch_msg(cinfo, &channel, &cmd, &param) == 1) {
1110 info = &cinfo->ports[channel];
1199 struct cyclades_card *cinfo = dev_id;
1201 if (unlikely(!cyz_is_loaded(cinfo))) {
1210 cyz_handle_cmd(cinfo);
1236 struct cyclades_card *cinfo;
1242 cinfo = &cy_card[card];
1244 if (!cy_is_Z(cinfo))
1246 if (!cyz_is_loaded(cinfo))
1250 if (!cinfo->intr_enabled) {
1251 cinfo->intr_enabled = 1;
1255 cyz_handle_cmd(cinfo);
1257 for (port = 0; port < cinfo->nports; port++) {
1260 info = &cinfo->ports[port];
1536 struct cyclades_card *cinfo = info->card;
1537 struct FIRM_ID __iomem *firm_id = cinfo->base_addr + ID_ADDRESS;
1539 if (!cyz_is_loaded(cinfo)) {
1540 if (cinfo->hw_ver == ZE_V1 && cyz_fpga_loaded(cinfo) &&
1558 if (!cinfo->intr_enabled) {
1562 intr = readw(&cinfo->ctl_addr.p9060->
1564 cy_writew(&cinfo->ctl_addr.p9060->
1567 retval = cyz_issue_cmd(cinfo, 0,
1573 cinfo->intr_enabled = 1;
1578 if (info->line > (cinfo->first_line + cinfo->nports - 1))
2318 struct cyclades_card *cinfo = info->card;
2323 cinfo->first_line,
2324 .irq = cinfo->irq,
2958 struct cyclades_card *cinfo;
2970 cinfo = info->card;
2971 channel = info->line - cinfo->first_line;
2972 if (!cy_is_Z(cinfo)) {
2973 spin_lock_irqsave(&cinfo->card_lock, flags);
2976 spin_unlock_irqrestore(&cinfo->card_lock, flags);
2982 struct cyclades_card *cinfo;
2994 cinfo = info->card;
2995 channel = info->line - cinfo->first_line;
2996 if (!cy_is_Z(cinfo)) {
2997 spin_lock_irqsave(&cinfo->card_lock, flags);
3000 spin_unlock_irqrestore(&cinfo->card_lock, flags);
3027 struct cyclades_card *cinfo = info->card;
3029 int channel = info->line - cinfo->first_line;
3032 spin_lock_irqsave(&cinfo->card_lock, flags);
3035 spin_unlock_irqrestore(&cinfo->card_lock, flags);
3044 struct cyclades_card *cinfo = info->card;
3047 spin_lock_irqsave(&cinfo->card_lock, flags);
3050 spin_unlock_irqrestore(&cinfo->card_lock, flags);
3065 struct cyclades_card *cinfo = info->card;
3067 int ret, channel = info->line - cinfo->first_line;
3076 ret = cyz_issue_cmd(cinfo, channel, C_CM_IOCTLM, 0L);
3105 static int __devinit cy_init_card(struct cyclades_card *cinfo)
3110 spin_lock_init(&cinfo->card_lock);
3111 cinfo->intr_enabled = 0;
3113 cinfo->ports = kcalloc(cinfo->nports, sizeof(*cinfo->ports),
3115 if (cinfo->ports == NULL) {
3120 for (channel = 0, port = cinfo->first_line; channel < cinfo->nports;
3122 info = &cinfo->ports[channel];
3125 info->card = cinfo;
3133 if (cy_is_Z(cinfo)) {
3134 struct FIRM_ID *firm_id = cinfo->base_addr + ID_ADDRESS;
3140 zfw_ctrl = cinfo->base_addr +
3145 if (cinfo->hw_ver == ZO_V1)
3155 int index = cinfo->bus_index;
3165 info->u.cyy.base_addr = cinfo->base_addr +
3190 if (cy_is_Z(cinfo) && !timer_pending(&cyz_timerlist)) {
3934 struct cyclades_card *cinfo = pci_get_drvdata(pdev);
3938 if (!cy_is_Z(cinfo) && (readb(cinfo->base_addr + CyPLX_VER) & 0x0f) ==
3940 cy_writeb(cinfo->ctl_addr.p9050 + 0x4c, 0);
3943 if (!cy_is_Z(cinfo))
3945 cy_writew(&cinfo->ctl_addr.p9060->intr_ctrl_stat,
3946 readw(&cinfo->ctl_addr.p9060->intr_ctrl_stat) &
3949 iounmap(cinfo->base_addr);
3950 if (cinfo->ctl_addr.p9050)
3951 iounmap(cinfo->ctl_addr.p9050);
3952 if (cinfo->irq
3954 && !cy_is_Z(cinfo)
3957 free_irq(cinfo->irq, cinfo);
3960 cinfo->base_addr = NULL;
3961 for (i = cinfo->first_line; i < cinfo->first_line +
3962 cinfo->nports; i++)
3964 cinfo->nports = 0;
3965 kfree(cinfo->ports);