Lines Matching refs:card

118 static u8 ems_pci_v1_readb(struct ems_pci_card *card, unsigned int port)  in ems_pci_v1_readb()  argument
120 return readb(card->base_addr + (port * 4)); in ems_pci_v1_readb()
136 struct ems_pci_card *card = (struct ems_pci_card *)priv->priv; in ems_pci_v1_post_irq() local
140 card->conf_addr + PITA2_ICR); in ems_pci_v1_post_irq()
156 struct ems_pci_card *card = (struct ems_pci_card *)priv->priv; in ems_pci_v2_post_irq() local
158 writel(PLX_ICSR_ENA_CLR, card->conf_addr + PLX_ICSR); in ems_pci_v2_post_irq()
185 struct ems_pci_card *card = pci_get_drvdata(pdev); in ems_pci_del_card() local
189 for (i = 0; i < card->channels; i++) { in ems_pci_del_card()
190 dev = card->net_dev[i]; in ems_pci_del_card()
200 if (card->base_addr != NULL) in ems_pci_del_card()
201 pci_iounmap(card->pci_dev, card->base_addr); in ems_pci_del_card()
203 if (card->conf_addr != NULL) in ems_pci_del_card()
204 pci_iounmap(card->pci_dev, card->conf_addr); in ems_pci_del_card()
206 kfree(card); in ems_pci_del_card()
211 static void ems_pci_card_reset(struct ems_pci_card *card) in ems_pci_card_reset() argument
214 writeb(0, card->base_addr); in ems_pci_card_reset()
226 struct ems_pci_card *card; in ems_pci_add_card() local
237 card = kzalloc(sizeof(struct ems_pci_card), GFP_KERNEL); in ems_pci_add_card()
238 if (card == NULL) { in ems_pci_add_card()
243 pci_set_drvdata(pdev, card); in ems_pci_add_card()
245 card->pci_dev = pdev; in ems_pci_add_card()
247 card->channels = 0; in ems_pci_add_card()
250 card->version = 2; /* CPC-PCI v2 */ in ems_pci_add_card()
255 card->version = 1; /* CPC-PCI v1 */ in ems_pci_add_card()
262 card->conf_addr = pci_iomap(pdev, 0, conf_size); in ems_pci_add_card()
263 if (card->conf_addr == NULL) { in ems_pci_add_card()
268 card->base_addr = pci_iomap(pdev, base_bar, EMS_PCI_BASE_SIZE); in ems_pci_add_card()
269 if (card->base_addr == NULL) { in ems_pci_add_card()
274 if (card->version == 1) { in ems_pci_add_card()
276 writel(PITA2_MISC_CONFIG, card->conf_addr + PITA2_MISC); in ems_pci_add_card()
279 if (ems_pci_v1_readb(card, 0) != 0x55 || in ems_pci_add_card()
280 ems_pci_v1_readb(card, 1) != 0xAA || in ems_pci_add_card()
281 ems_pci_v1_readb(card, 2) != 0x01 || in ems_pci_add_card()
282 ems_pci_v1_readb(card, 3) != 0xCB || in ems_pci_add_card()
283 ems_pci_v1_readb(card, 4) != 0x11) { in ems_pci_add_card()
291 ems_pci_card_reset(card); in ems_pci_add_card()
301 card->net_dev[i] = dev; in ems_pci_add_card()
303 priv->priv = card; in ems_pci_add_card()
307 priv->reg_base = card->base_addr + EMS_PCI_CAN_BASE_OFFSET in ems_pci_add_card()
309 if (card->version == 1) { in ems_pci_add_card()
328 if (card->version == 1) in ems_pci_add_card()
331 card->conf_addr + PITA2_ICR); in ems_pci_add_card()
335 card->conf_addr + PLX_ICSR); in ems_pci_add_card()
346 card->channels++; in ems_pci_add_card()