Lines Matching refs:base

89  *	06/01/05  Alan Cox 		Merged the ISI and base kernel strands
137 #define InterruptTheCard(base) outw(0, (base) + 0xc)
138 #define ClearInterrupt(base) inw((base) + 0x0a)
185 unsigned long base;
219 static int WaitTillCardIsFree(unsigned long base)
223 while (!(inw(base + 0xe) & 0x1) && count++ < 100)
226 return !(inw(base + 0xe) & 0x1);
231 unsigned long base = card->base;
237 if (inw(base + 0xe) & 0x1)
244 pr_warn("Failed to lock Card (0x%lx)\n", card->base);
262 unsigned long base = card->base;
265 if (WaitTillCardIsFree(base))
268 outw(0x8000 | (channel << card->shift_count) | 0x02, base);
269 outw(0x0504, base);
270 InterruptTheCard(base);
278 unsigned long base = card->base;
281 if (WaitTillCardIsFree(base))
284 outw(0x8000 | (channel << card->shift_count) | 0x02, base);
285 outw(0x0404, base);
286 InterruptTheCard(base);
294 unsigned long base = card->base;
297 if (WaitTillCardIsFree(base))
300 outw(0x8000 | (channel << card->shift_count) | 0x02, base);
301 outw(0x0a04, base);
302 InterruptTheCard(base);
310 unsigned long base = card->base;
313 if (WaitTillCardIsFree(base))
316 outw(0x8000 | (channel << card->shift_count) | 0x02, base);
317 outw(0x0804, base);
318 InterruptTheCard(base);
328 unsigned long base = card->base;
335 outw(0x8000 | (channel << card->shift_count) | 0x02, base);
336 outw(0x0f04, base);
337 InterruptTheCard(base);
340 outw(0x8000 | (channel << card->shift_count) | 0x02, base);
341 outw(0x0C04, base);
342 InterruptTheCard(base);
352 unsigned long base = card->base;
355 if (WaitTillCardIsFree(base))
358 outw(0x8000 | (channel << card->shift_count) | 0x02, base);
359 outw(0x0c04, base);
360 InterruptTheCard(base);
395 unsigned long flags, base;
416 base = isi_card[card].base;
420 if (inw(base + 0xe) & 0x1)
441 if (!(inw(base + 0x02) & (1 << port->channel)))
447 base);
463 outw(wrd, base);
465 outw(wrd, base);
472 outsw(base, port->port.xmit_buf+port->xmit_tail, word_count);
487 InterruptTheCard(base);
512 unsigned long base;
520 base = card->base;
523 if (!(inw(base + 0x0e) & 0x02))
532 outw(0x8000, base+0x04);
533 ClearInterrupt(base);
535 inw(base); /* get the dummy word out */
536 header = inw(base);
542 __func__, base, channel + 1);
543 outw(0x0000, base+0x04); /* enable interrupts */
549 outw(0x0000, base+0x04); /* enable interrupts */
557 inw(base);
561 inw(base);
562 outw(0x0000, base+0x04); /* enable interrupts */
568 header = inw(base);
649 insw(base, rp, word_count);
652 tty_insert_flip_char(&port->port, inw(base) & 0xff,
658 __func__, base, channel + 1);
661 inw(base);
667 outw(0x0000, base+0x04); /* enable interrupts */
679 unsigned long base = card->base;
723 if (WaitTillCardIsFree(base) == 0) {
724 outw(0x8000 | (channel << shift_count) | 0x03, base);
725 outw(linuxb_to_isib[baud] << 8 | 0x03, base);
749 outw(channel_setup, base);
750 InterruptTheCard(base);
764 if (WaitTillCardIsFree(base) == 0) {
765 outw(0x8000 | (channel << shift_count) | 0x04, base);
766 outw(flow_ctrl << 8 | 0x05, base);
767 outw((STOP_CHAR(tty)) << 8 | (START_CHAR(tty)), base);
768 InterruptTheCard(base);
774 outw(card->port_status, base + 0x02);
812 if (WaitTillCardIsFree(card->base) == 0) {
814 card->base);
815 outw(((ISICOM_KILLTX | ISICOM_KILLRX) << 8) | 0x06, card->base);
816 InterruptTheCard(card->base);
877 __func__, card->base, card->count);
911 outw(card->port_status, card->base + 0x02);
1034 unsigned long base = card->base;
1042 outw(0x8000 | ((port->channel) << (card->shift_count)) | 0x3, base);
1043 outw((length & 0xff) << 8 | 0x00, base);
1044 outw((length & 0xff00u), base);
1045 InterruptTheCard(base);
1142 ss->port = port->card->base;
1187 outw(card->port_status, card->base + 0x02);
1201 outw(card->port_status, card->base + 0x02);
1277 unsigned long base = board->base;
1282 base);
1284 inw(base + 0x8);
1288 outw(0, base + 0x8); /* Reset */
1292 sig = inw(base + 0x4) & 0xff;
1297 "bad I/O Port Address 0x%lx).\n", card + 1, base);
1305 portcount = inw(base + 0x2);
1306 if (!(inw(base + 0xe) & 0x1) || (portcount != 0 && portcount != 4 &&
1339 unsigned long base = board->base;
1383 if (WaitTillCardIsFree(base))
1386 outw(0xf0, base); /* start upload sequence */
1387 outw(0x00, base);
1388 outw(frame->addr, base); /* lsb of address */
1391 outw(word_count, base);
1392 InterruptTheCard(base);
1396 if (WaitTillCardIsFree(base))
1399 status = inw(base + 0x4);
1408 outsw(base, frame->data, word_count);
1410 InterruptTheCard(base);
1414 if (WaitTillCardIsFree(base))
1417 status = inw(base + 0x4);
1431 if (WaitTillCardIsFree(base))
1434 outw(0xf1, base); /* start download sequence */
1435 outw(0x00, base);
1436 outw(frame->addr, base); /* lsb of address */
1439 outw(word_count + 1, base);
1440 InterruptTheCard(base);
1444 if (WaitTillCardIsFree(base))
1447 status = inw(base + 0x4);
1463 inw(base);
1464 insw(base, data, word_count);
1465 InterruptTheCard(base);
1478 if (WaitTillCardIsFree(base))
1481 status = inw(base + 0x4);
1490 if (WaitTillCardIsFree(base))
1493 outw(0xf2, base);
1494 outw(0x800, base);
1495 outw(0x0, base);
1496 outw(0x0, base);
1497 InterruptTheCard(base);
1498 outw(0x0, base + 0x4); /* for ISI4608 cards */
1534 if (isi_card[index].base == 0) {
1545 board->base = pci_resource_start(pdev, 3);
1554 "will be disabled.\n", board->base, board->base + 15,
1593 board->base = 0;
1613 board->base = 0;
1634 isi_card[idx].base = 0;