tag | line | file | source code |
hsp | 708 | drivers/isdn/teles/callc.c | struct HscxState *hsp; |
hsp | 711 | drivers/isdn/teles/callc.c | hsp = sp->hs + chanlist[chan].hscx; |
hsp | 713 | drivers/isdn/teles/callc.c | close_hscxstate(hsp); |
hsp | 1094 | drivers/isdn/teles/callc.c | struct HscxState *hsp = sp->hs + chanlist[chan].hscx; |
hsp | 1099 | drivers/isdn/teles/callc.c | hsp->mode = 2; |
hsp | 1100 | drivers/isdn/teles/callc.c | hsp->transbufsize = 4000; |
hsp | 1102 | drivers/isdn/teles/callc.c | if (setstack_hscx(st, hsp)) |
hsp | 298 | drivers/isdn/teles/card.c | hscx_sched_event(struct HscxState *hsp, int event) |
hsp | 300 | drivers/isdn/teles/card.c | hsp->event |= 1 << event; |
hsp | 301 | drivers/isdn/teles/card.c | queue_task_irq_off(&hsp->tqueue, &tq_immediate); |
hsp | 306 | drivers/isdn/teles/card.c | hscx_empty_fifo(struct HscxState *hsp, int count) |
hsp | 309 | drivers/isdn/teles/card.c | struct BufHeader *ibh = hsp->rcvibh; |
hsp | 311 | drivers/isdn/teles/card.c | if (hsp->sp->debug) |
hsp | 314 | drivers/isdn/teles/card.c | if (hsp->rcvptr + count > BUFFER_SIZE(HSCX_RBUF_ORDER, |
hsp | 318 | drivers/isdn/teles/card.c | WRITEHSCX_CMDR(hsp->membase, hsp->iobase, hsp->hscx, 0x80); |
hsp | 322 | drivers/isdn/teles/card.c | ptr += hsp->rcvptr; |
hsp | 324 | drivers/isdn/teles/card.c | hsp->rcvptr += count; |
hsp | 325 | drivers/isdn/teles/card.c | if (hsp->membase) { |
hsp | 327 | drivers/isdn/teles/card.c | *ptr++ = readhscx_0(hsp->membase, hsp->hscx, 0x0); |
hsp | 328 | drivers/isdn/teles/card.c | writehscxCMDR_0(hsp->membase, hsp->hscx, 0x80); |
hsp | 330 | drivers/isdn/teles/card.c | readhscx_s(hsp->iobase, hsp->hscx, 0x3e, ptr, count); |
hsp | 331 | drivers/isdn/teles/card.c | writehscxCMDR_3(hsp->iobase, hsp->hscx, 0x80); |
hsp | 345 | drivers/isdn/teles/card.c | hscx_fill_fifo(struct HscxState *hsp) |
hsp | 351 | drivers/isdn/teles/card.c | if (hsp->sp->debug) |
hsp | 354 | drivers/isdn/teles/card.c | ibh = hsp->xmtibh; |
hsp | 358 | drivers/isdn/teles/card.c | count = ibh->datasize - hsp->sendptr; |
hsp | 363 | drivers/isdn/teles/card.c | if (!hsp->sendptr) { |
hsp | 376 | drivers/isdn/teles/card.c | ptr += hsp->sendptr; |
hsp | 377 | drivers/isdn/teles/card.c | hsp->sendptr += count; |
hsp | 388 | drivers/isdn/teles/card.c | if (hsp->membase) { |
hsp | 389 | drivers/isdn/teles/card.c | waitforXFW_0(hsp->membase, hsp->hscx); |
hsp | 391 | drivers/isdn/teles/card.c | writehscx_0(hsp->membase, hsp->hscx, 0x0, *ptr++); |
hsp | 392 | drivers/isdn/teles/card.c | writehscxCMDR_0(hsp->membase, hsp->hscx, more ? 0x8 : 0xa); |
hsp | 394 | drivers/isdn/teles/card.c | waitforXFW_3(hsp->iobase, hsp->hscx); |
hsp | 395 | drivers/isdn/teles/card.c | writehscx_s(hsp->iobase, hsp->hscx, 0x3e, ptr, count); |
hsp | 396 | drivers/isdn/teles/card.c | writehscxCMDR_3(hsp->iobase, hsp->hscx, more ? 0x8 : 0xa); |
hsp | 404 | drivers/isdn/teles/card.c | struct HscxState *hsp = sp->hs + hscx; |
hsp | 407 | drivers/isdn/teles/card.c | if (!hsp->init) |
hsp | 412 | drivers/isdn/teles/card.c | r = READHSCX(hsp->membase, sp->iobase, hsp->hscx, HSCX_RSTA); |
hsp | 421 | drivers/isdn/teles/card.c | if (hsp->rcvibh) |
hsp | 422 | drivers/isdn/teles/card.c | BufPoolRelease(hsp->rcvibh); |
hsp | 423 | drivers/isdn/teles/card.c | hsp->rcvibh = NULL; |
hsp | 424 | drivers/isdn/teles/card.c | WRITEHSCX_CMDR(hsp->membase, hsp->iobase, hsp->hscx, |
hsp | 428 | drivers/isdn/teles/card.c | if (!hsp->rcvibh) |
hsp | 429 | drivers/isdn/teles/card.c | if (BufPoolGet(&hsp->rcvibh, &hsp->rbufpool, |
hsp | 434 | drivers/isdn/teles/card.c | WRITEHSCX_CMDR(hsp->membase, hsp->iobase, |
hsp | 435 | drivers/isdn/teles/card.c | hsp->hscx, 0x80); |
hsp | 438 | drivers/isdn/teles/card.c | hsp->rcvptr = 0; |
hsp | 440 | drivers/isdn/teles/card.c | count = READHSCX(hsp->membase, sp->iobase, hsp->hscx, |
hsp | 444 | drivers/isdn/teles/card.c | hscx_empty_fifo(hsp, count); |
hsp | 445 | drivers/isdn/teles/card.c | hsp->rcvibh->datasize = hsp->rcvptr - 1; |
hsp | 446 | drivers/isdn/teles/card.c | BufQueueLink(&hsp->rq, hsp->rcvibh); |
hsp | 447 | drivers/isdn/teles/card.c | hsp->rcvibh = NULL; |
hsp | 448 | drivers/isdn/teles/card.c | hscx_sched_event(hsp, HSCX_RCVBUFREADY); |
hsp | 452 | drivers/isdn/teles/card.c | if (!hsp->rcvibh) |
hsp | 453 | drivers/isdn/teles/card.c | if (BufPoolGet(&hsp->rcvibh, &hsp->rbufpool, |
hsp | 458 | drivers/isdn/teles/card.c | WRITEHSCX_CMDR(hsp->membase, hsp->iobase, |
hsp | 459 | drivers/isdn/teles/card.c | hsp->hscx, 0x80); |
hsp | 462 | drivers/isdn/teles/card.c | hsp->rcvptr = 0; |
hsp | 464 | drivers/isdn/teles/card.c | hscx_empty_fifo(hsp, 32); |
hsp | 466 | drivers/isdn/teles/card.c | hsp->rcvibh->datasize = hsp->rcvptr - 1; |
hsp | 467 | drivers/isdn/teles/card.c | BufQueueLink(&hsp->rq, hsp->rcvibh); |
hsp | 468 | drivers/isdn/teles/card.c | hsp->rcvibh = NULL; |
hsp | 469 | drivers/isdn/teles/card.c | hscx_sched_event(hsp, HSCX_RCVBUFREADY); |
hsp | 474 | drivers/isdn/teles/card.c | if (hsp->xmtibh) |
hsp | 475 | drivers/isdn/teles/card.c | if (hsp->xmtibh->datasize > hsp->sendptr) { |
hsp | 476 | drivers/isdn/teles/card.c | hscx_fill_fifo(hsp); |
hsp | 479 | drivers/isdn/teles/card.c | if (hsp->releasebuf) |
hsp | 480 | drivers/isdn/teles/card.c | BufPoolRelease(hsp->xmtibh); |
hsp | 481 | drivers/isdn/teles/card.c | hsp->xmtibh = NULL; |
hsp | 482 | drivers/isdn/teles/card.c | hsp->sendptr = 0; |
hsp | 483 | drivers/isdn/teles/card.c | if (hsp->st->l4.l1writewakeup) |
hsp | 484 | drivers/isdn/teles/card.c | hsp->st->l4.l1writewakeup(hsp->st); |
hsp | 486 | drivers/isdn/teles/card.c | if (!BufQueueUnlink(&hsp->xmtibh, &hsp->sq)) { |
hsp | 487 | drivers/isdn/teles/card.c | hsp->releasebuf = !0; |
hsp | 488 | drivers/isdn/teles/card.c | hscx_fill_fifo(hsp); |
hsp | 490 | drivers/isdn/teles/card.c | hscx_sched_event(hsp, HSCX_XMTBUFREADY); |
hsp | 676 | drivers/isdn/teles/card.c | struct HscxState *hsp; |
hsp | 687 | drivers/isdn/teles/card.c | hsp = sp->hs + 1; |
hsp | 690 | drivers/isdn/teles/card.c | (long) hsp->xmtibh, |
hsp | 691 | drivers/isdn/teles/card.c | (long) hsp->rcvibh); |
hsp | 943 | drivers/isdn/teles/card.c | hscx_process_xmt(struct HscxState *hsp) |
hsp | 945 | drivers/isdn/teles/card.c | struct PStack *st = hsp->st; |
hsp | 947 | drivers/isdn/teles/card.c | if (hsp->xmtibh) |
hsp | 954 | drivers/isdn/teles/card.c | if (!hsp->active) |
hsp | 955 | drivers/isdn/teles/card.c | if ((!hsp->xmtibh) && (!hsp->sq.head)) |
hsp | 956 | drivers/isdn/teles/card.c | modehscx(hsp, 0, 0); |
hsp | 960 | drivers/isdn/teles/card.c | hscx_process_rcv(struct HscxState *hsp) |
hsp | 965 | drivers/isdn/teles/card.c | if (hsp->magic != 301270) { |
hsp | 970 | drivers/isdn/teles/card.c | while (!BufQueueUnlink(&ibh, &hsp->rq)) { |
hsp | 971 | drivers/isdn/teles/card.c | hsp->st->l1.l1l2(hsp->st, PH_DATA, ibh); |
hsp | 976 | drivers/isdn/teles/card.c | hscx_bh(struct HscxState *hsp) |
hsp | 979 | drivers/isdn/teles/card.c | if (!hsp) |
hsp | 982 | drivers/isdn/teles/card.c | if (clear_bit(HSCX_RCVBUFREADY, &hsp->event)) |
hsp | 983 | drivers/isdn/teles/card.c | hscx_process_rcv(hsp); |
hsp | 984 | drivers/isdn/teles/card.c | if (clear_bit(HSCX_XMTBUFREADY, &hsp->event)) |
hsp | 985 | drivers/isdn/teles/card.c | hscx_process_xmt(hsp); |
hsp | 1442 | drivers/isdn/teles/card.c | struct HscxState *hsp = sp->hs + hscx; |
hsp | 1444 | drivers/isdn/teles/card.c | hsp->sp = sp; |
hsp | 1445 | drivers/isdn/teles/card.c | hsp->hscx = hscx; |
hsp | 1446 | drivers/isdn/teles/card.c | hsp->membase = sp->membase; |
hsp | 1447 | drivers/isdn/teles/card.c | hsp->iobase = sp->iobase; |
hsp | 1449 | drivers/isdn/teles/card.c | hsp->tqueue.next = 0; |
hsp | 1450 | drivers/isdn/teles/card.c | hsp->tqueue.sync = 0; |
hsp | 1451 | drivers/isdn/teles/card.c | hsp->tqueue.routine = (void *) (void *) hscx_bh; |
hsp | 1452 | drivers/isdn/teles/card.c | hsp->tqueue.data = hsp; |
hsp | 1454 | drivers/isdn/teles/card.c | hsp->inuse = 0; |
hsp | 1455 | drivers/isdn/teles/card.c | hsp->init = 0; |
hsp | 1456 | drivers/isdn/teles/card.c | hsp->active = 0; |
hsp | 1459 | drivers/isdn/teles/card.c | hsp->magic = 301270; |
hsp | 1649 | drivers/isdn/teles/card.c | struct HscxState *hsp = sp->hs + st->l1.hscx; |
hsp | 1653 | drivers/isdn/teles/card.c | if (hsp->xmtibh) |
hsp | 1654 | drivers/isdn/teles/card.c | BufQueueLink(&hsp->sq, ibh); |
hsp | 1656 | drivers/isdn/teles/card.c | hsp->xmtibh = ibh; |
hsp | 1657 | drivers/isdn/teles/card.c | hsp->sendptr = 0; |
hsp | 1658 | drivers/isdn/teles/card.c | hsp->releasebuf = !0; |
hsp | 1659 | drivers/isdn/teles/card.c | hscx_fill_fifo(hsp); |
hsp | 1663 | drivers/isdn/teles/card.c | if (hsp->xmtibh) { |
hsp | 1667 | drivers/isdn/teles/card.c | hsp->xmtibh = ibh; |
hsp | 1668 | drivers/isdn/teles/card.c | hsp->sendptr = 0; |
hsp | 1669 | drivers/isdn/teles/card.c | hsp->releasebuf = 0; |
hsp | 1670 | drivers/isdn/teles/card.c | hscx_fill_fifo(hsp); |
hsp | 1673 | drivers/isdn/teles/card.c | if (!hsp->xmtibh) { |
hsp | 1691 | drivers/isdn/teles/card.c | struct HscxState *hsp = sp->hs + st->l1.hscx; |
hsp | 1694 | drivers/isdn/teles/card.c | if (hsp->magic != 301270) { |
hsp | 1700 | drivers/isdn/teles/card.c | BufQueueDiscard(&hsp->sq, pr, heldby, releasetoo); |
hsp | 1707 | drivers/isdn/teles/card.c | struct HscxState *hsp = sp->hs + hscx; |
hsp | 1709 | drivers/isdn/teles/card.c | if (!hsp->init) { |
hsp | 1710 | drivers/isdn/teles/card.c | BufPoolInit(&hsp->sbufpool, HSCX_SBUF_ORDER, HSCX_SBUF_BPPS, |
hsp | 1712 | drivers/isdn/teles/card.c | BufPoolInit(&hsp->rbufpool, HSCX_RBUF_ORDER, HSCX_RBUF_BPPS, |
hsp | 1714 | drivers/isdn/teles/card.c | BufPoolInit(&hsp->smallpool, HSCX_SMALLBUF_ORDER, HSCX_SMALLBUF_BPPS, |
hsp | 1717 | drivers/isdn/teles/card.c | hsp->init = !0; |
hsp | 1719 | drivers/isdn/teles/card.c | BufQueueInit(&hsp->rq); |
hsp | 1720 | drivers/isdn/teles/card.c | BufQueueInit(&hsp->sq); |
hsp | 1722 | drivers/isdn/teles/card.c | hsp->releasebuf = 0; |
hsp | 1723 | drivers/isdn/teles/card.c | hsp->rcvibh = NULL; |
hsp | 1724 | drivers/isdn/teles/card.c | hsp->xmtibh = NULL; |
hsp | 1725 | drivers/isdn/teles/card.c | hsp->rcvptr = 0; |
hsp | 1726 | drivers/isdn/teles/card.c | hsp->sendptr = 0; |
hsp | 1727 | drivers/isdn/teles/card.c | hsp->event = 0; |
hsp | 1737 | drivers/isdn/teles/card.c | struct HscxState *hsp = sp->hs + st->l1.hscx; |
hsp | 1741 | drivers/isdn/teles/card.c | hsp->active = !0; |
hsp | 1742 | drivers/isdn/teles/card.c | modehscx(hsp, st->l1.hscxmode, st->l1.hscxchannel); |
hsp | 1746 | drivers/isdn/teles/card.c | if (!hsp->xmtibh) |
hsp | 1747 | drivers/isdn/teles/card.c | modehscx(hsp, 0, 0); |
hsp | 1749 | drivers/isdn/teles/card.c | hsp->active = 0; |