Lines Matching refs:hw

35 	cs->hw.njet.auxd &= 0xfc;  in NETjet_ReadIC()
36 cs->hw.njet.auxd |= (offset >> 4) & 3; in NETjet_ReadIC()
37 byteout(cs->hw.njet.auxa, cs->hw.njet.auxd); in NETjet_ReadIC()
38 ret = bytein(cs->hw.njet.isac + ((offset & 0xf) << 2)); in NETjet_ReadIC()
45 cs->hw.njet.auxd &= 0xfc; in NETjet_WriteIC()
46 cs->hw.njet.auxd |= (offset >> 4) & 3; in NETjet_WriteIC()
47 byteout(cs->hw.njet.auxa, cs->hw.njet.auxd); in NETjet_WriteIC()
48 byteout(cs->hw.njet.isac + ((offset & 0xf) << 2), value); in NETjet_WriteIC()
54 cs->hw.njet.auxd &= 0xfc; in NETjet_ReadICfifo()
55 byteout(cs->hw.njet.auxa, cs->hw.njet.auxd); in NETjet_ReadICfifo()
56 insb(cs->hw.njet.isac, data, size); in NETjet_ReadICfifo()
62 cs->hw.njet.auxd &= 0xfc; in NETjet_WriteICfifo()
63 byteout(cs->hw.njet.auxa, cs->hw.njet.auxd); in NETjet_WriteICfifo()
64 outsb(cs->hw.njet.isac, data, size); in NETjet_WriteICfifo()
81 if (p > bcs->hw.tiger.s_end) in fill_mem()
82 p = bcs->hw.tiger.send; in fill_mem()
99 fill_mem(bcs, bcs->hw.tiger.send, in mode_tiger()
103 bcs->hw.tiger.r_tot, bcs->hw.tiger.r_err, in mode_tiger()
104 bcs->hw.tiger.s_tot); in mode_tiger()
107 cs->hw.njet.dmactrl = 0; in mode_tiger()
108 byteout(cs->hw.njet.base + NETJET_DMACTRL, in mode_tiger()
109 cs->hw.njet.dmactrl); in mode_tiger()
110 byteout(cs->hw.njet.base + NETJET_IRQMASK0, 0); in mode_tiger()
118 cs->hw.njet.auxd &= led; in mode_tiger()
119 byteout(cs->hw.njet.auxa, cs->hw.njet.auxd); in mode_tiger()
126 fill_mem(bcs, bcs->hw.tiger.send, in mode_tiger()
128 bcs->hw.tiger.r_state = HDLC_ZERO_SEARCH; in mode_tiger()
129 bcs->hw.tiger.r_tot = 0; in mode_tiger()
130 bcs->hw.tiger.r_bitcnt = 0; in mode_tiger()
131 bcs->hw.tiger.r_one = 0; in mode_tiger()
132 bcs->hw.tiger.r_err = 0; in mode_tiger()
133 bcs->hw.tiger.s_tot = 0; in mode_tiger()
134 if (!cs->hw.njet.dmactrl) { in mode_tiger()
135 fill_mem(bcs, bcs->hw.tiger.send, in mode_tiger()
137 cs->hw.njet.dmactrl = 1; in mode_tiger()
138 byteout(cs->hw.njet.base + NETJET_DMACTRL, in mode_tiger()
139 cs->hw.njet.dmactrl); in mode_tiger()
140 byteout(cs->hw.njet.base + NETJET_IRQMASK0, 0x0f); in mode_tiger()
143 bcs->hw.tiger.sendp = bcs->hw.tiger.send; in mode_tiger()
144 bcs->hw.tiger.free = NETJET_DMA_TXSIZE; in mode_tiger()
151 cs->hw.njet.auxd |= led; in mode_tiger()
152 byteout(cs->hw.njet.auxa, cs->hw.njet.auxd); in mode_tiger()
158 bytein(cs->hw.njet.base + NETJET_DMACTRL), in mode_tiger()
159 bytein(cs->hw.njet.base + NETJET_IRQMASK0), in mode_tiger()
160 bytein(cs->hw.njet.base + NETJET_IRQSTAT0), in mode_tiger()
161 inl(cs->hw.njet.base + NETJET_DMA_READ_ADR), in mode_tiger()
162 inl(cs->hw.njet.base + NETJET_DMA_WRITE_ADR), in mode_tiger()
163 bytein(cs->hw.njet.base + NETJET_PULSE_CNT)); in mode_tiger()
200 bcs->hw.tiger.sendbuf[s_cnt++] = s_val; \
210 bcs->hw.tiger.sendbuf[s_cnt++] = s_val; \
230 bcs->hw.tiger.sendbuf[s_cnt++] = HDLC_FLAG_VALUE; in make_raw_data()
251 bcs->hw.tiger.sendbuf[s_cnt++] = s_val; in make_raw_data()
264 bcs->hw.tiger.sendbuf[s_cnt++] = s_val; in make_raw_data()
265 bcs->hw.tiger.sendbuf[s_cnt++] = 0xff; // NJ<->NJ thoughput bug fix in make_raw_data()
267 bcs->hw.tiger.sendcnt = s_cnt; in make_raw_data()
269 bcs->hw.tiger.sp = bcs->hw.tiger.sendbuf; in make_raw_data()
288 bcs->hw.tiger.sendbuf[s_cnt++] = s_val; \
300 bcs->hw.tiger.sendbuf[s_cnt++] = s_val; \
331 bcs->hw.tiger.sendbuf[s_cnt++] = s_val; in make_raw_data_56k()
358 bcs->hw.tiger.sendbuf[s_cnt++] = s_val; in make_raw_data_56k()
371 bcs->hw.tiger.sendbuf[s_cnt++] = s_val; in make_raw_data_56k()
372 bcs->hw.tiger.sendbuf[s_cnt++] = 0xff; // NJ<->NJ thoughput bug fix in make_raw_data_56k()
374 bcs->hw.tiger.sendcnt = s_cnt; in make_raw_data_56k()
376 bcs->hw.tiger.sp = bcs->hw.tiger.sendbuf; in make_raw_data_56k()
386 memcpy(skb_put(skb, count), bcs->hw.tiger.rcvbuf, count); in got_frame()
393 printframe(bcs->cs, bcs->hw.tiger.rcvbuf, count, "rec"); in got_frame()
402 u_int *pend = bcs->hw.tiger.rec + NETJET_DMA_RXSIZE - 1; in read_raw()
403 register u_char state = bcs->hw.tiger.r_state; in read_raw()
404 register u_char r_one = bcs->hw.tiger.r_one; in read_raw()
405 register u_char r_val = bcs->hw.tiger.r_val; in read_raw()
406 register u_int bitcnt = bcs->hw.tiger.r_bitcnt; in read_raw()
423 p = bcs->hw.tiger.rec; in read_raw()
426 bcs->hw.tiger.r_tot++; in read_raw()
440 bcs->hw.tiger.r_tot, i, j, val); in read_raw()
455 bcs->hw.tiger.r_tot, i, j, val); in read_raw()
486 bcs->hw.tiger.r_fcs = PPP_INITFCS; in read_raw()
487 bcs->hw.tiger.rcvbuf[0] = r_val; in read_raw()
488 bcs->hw.tiger.r_fcs = PPP_FCS(bcs->hw.tiger.r_fcs, r_val); in read_raw()
491 bcs->hw.tiger.r_tot, i, j, r_val, val, in read_raw()
492 bcs->cs->hw.njet.irqstat0); in read_raw()
513 bcs->hw.tiger.r_err++; in read_raw()
520 i, j, bcs->hw.tiger.r_fcs, bcs->cs->hw.njet.irqstat0); in read_raw()
521 if (bcs->hw.tiger.r_fcs == PPP_GOODFCS) { in read_raw()
526 printframe(bcs->cs, bcs->hw.tiger.rcvbuf, in read_raw()
528 bcs->hw.tiger.r_err++; in read_raw()
554 bcs->hw.tiger.r_err++; in read_raw()
559 bcs->hw.tiger.rcvbuf[(bitcnt >> 3) - 1] = r_val; in read_raw()
560 bcs->hw.tiger.r_fcs = in read_raw()
561 PPP_FCS(bcs->hw.tiger.r_fcs, r_val); in read_raw()
567 bcs->hw.tiger.r_tot++; in read_raw()
569 bcs->hw.tiger.r_state = state; in read_raw()
570 bcs->hw.tiger.r_one = r_one; in read_raw()
571 bcs->hw.tiger.r_val = r_val; in read_raw()
572 bcs->hw.tiger.r_bitcnt = bitcnt; in read_raw()
579 if ((cs->hw.njet.irqstat0 & cs->hw.njet.last_is0) & NETJET_IRQM0_READ) { in read_tiger()
581 cs->hw.njet.irqstat0, cs->hw.njet.last_is0); in read_tiger()
590 cs->hw.njet.last_is0 &= ~NETJET_IRQM0_READ; in read_tiger()
591 cs->hw.njet.last_is0 |= (cs->hw.njet.irqstat0 & NETJET_IRQM0_READ); in read_tiger()
593 if (cs->hw.njet.irqstat0 & NETJET_IRQM0_READ_1) in read_tiger()
594 p = cs->bcs[0].hw.tiger.rec + NETJET_DMA_RXSIZE - 1; in read_tiger()
596 p = cs->bcs[0].hw.tiger.rec + cnt - 1; in read_tiger()
602 cs->hw.njet.irqstat0 &= ~NETJET_IRQM0_READ; in read_tiger()
631 write_raw(bcs, bcs->hw.tiger.sendp, bcs->hw.tiger.free); in netjet_fill_dma()
633 p = bus_to_virt(inl(bcs->cs->hw.njet.base + NETJET_DMA_READ_ADR)); in netjet_fill_dma()
634 sp = bcs->hw.tiger.sendp; in netjet_fill_dma()
635 if (p == bcs->hw.tiger.s_end) in netjet_fill_dma()
636 p = bcs->hw.tiger.send - 1; in netjet_fill_dma()
637 if (sp == bcs->hw.tiger.s_end) in netjet_fill_dma()
638 sp = bcs->hw.tiger.send - 1; in netjet_fill_dma()
641 write_raw(bcs, bcs->hw.tiger.sendp, bcs->hw.tiger.free); in netjet_fill_dma()
645 if (p > bcs->hw.tiger.s_end) in netjet_fill_dma()
646 p = bcs->hw.tiger.send; in netjet_fill_dma()
649 if (p > bcs->hw.tiger.s_end) in netjet_fill_dma()
650 p = bcs->hw.tiger.send; in netjet_fill_dma()
651 write_raw(bcs, p, bcs->hw.tiger.free - cnt); in netjet_fill_dma()
654 p = bus_to_virt(inl(bcs->cs->hw.njet.base + NETJET_DMA_READ_ADR)); in netjet_fill_dma()
655 cnt = bcs->hw.tiger.s_end - p; in netjet_fill_dma()
657 p = bcs->hw.tiger.send + 1; in netjet_fill_dma()
681 if (bcs->hw.tiger.sendcnt > cnt) { in write_raw()
683 bcs->hw.tiger.sendcnt -= cnt; in write_raw()
685 s_cnt = bcs->hw.tiger.sendcnt; in write_raw()
686 bcs->hw.tiger.sendcnt = 0; in write_raw()
693 val = bcs->channel ? ((bcs->hw.tiger.sp[i] << 8) & 0xff00) : in write_raw()
694 (bcs->hw.tiger.sp[i]); in write_raw()
697 if (p > bcs->hw.tiger.s_end) in write_raw()
698 p = bcs->hw.tiger.send; in write_raw()
700 bcs->hw.tiger.s_tot += s_cnt; in write_raw()
704 bcs->hw.tiger.sendcnt, bcs->cs->hw.njet.irqstat0); in write_raw()
706 printframe(bcs->cs, bcs->hw.tiger.sp, s_cnt, "snd"); in write_raw()
707 bcs->hw.tiger.sp += s_cnt; in write_raw()
708 bcs->hw.tiger.sendp = p; in write_raw()
709 if (!bcs->hw.tiger.sendcnt) { in write_raw()
725 bcs->hw.tiger.free = cnt - s_cnt; in write_raw()
726 if (bcs->hw.tiger.free > (NETJET_DMA_TXSIZE / 2)) in write_raw()
739 if (p > bcs->hw.tiger.s_end) in write_raw()
740 p = bcs->hw.tiger.send; in write_raw()
753 bcs->hw.tiger.free += cnt; in write_raw()
767 if ((cs->hw.njet.irqstat0 & cs->hw.njet.last_is0) & NETJET_IRQM0_WRITE) { in write_tiger()
769 cs->hw.njet.irqstat0, cs->hw.njet.last_is0); in write_tiger()
778 cs->hw.njet.last_is0 &= ~NETJET_IRQM0_WRITE; in write_tiger()
779 cs->hw.njet.last_is0 |= (cs->hw.njet.irqstat0 & NETJET_IRQM0_WRITE); in write_tiger()
781 if (cs->hw.njet.irqstat0 & NETJET_IRQM0_WRITE_1) in write_tiger()
782 p = cs->bcs[0].hw.tiger.send + NETJET_DMA_TXSIZE - 1; in write_tiger()
784 p = cs->bcs[0].hw.tiger.send + cnt - 1; in write_tiger()
789 cs->hw.njet.irqstat0 &= ~NETJET_IRQM0_WRITE; in write_tiger()
858 kfree(bcs->hw.tiger.rcvbuf); in close_tigerstate()
859 bcs->hw.tiger.rcvbuf = NULL; in close_tigerstate()
860 kfree(bcs->hw.tiger.sendbuf); in close_tigerstate()
861 bcs->hw.tiger.sendbuf = NULL; in close_tigerstate()
876 if (!(bcs->hw.tiger.rcvbuf = kmalloc(HSCX_BUFMAX, GFP_ATOMIC))) { in open_tigerstate()
881 if (!(bcs->hw.tiger.sendbuf = kmalloc(RAW_BUFMAX, GFP_ATOMIC))) { in open_tigerstate()
890 bcs->hw.tiger.sendcnt = 0; in open_tigerstate()
915 if (!(cs->bcs[0].hw.tiger.send = kmalloc(NETJET_DMA_TXSIZE * sizeof(unsigned int), in inittiger()
921 cs->bcs[0].hw.tiger.s_irq = cs->bcs[0].hw.tiger.send + NETJET_DMA_TXSIZE / 2 - 1; in inittiger()
922 cs->bcs[0].hw.tiger.s_end = cs->bcs[0].hw.tiger.send + NETJET_DMA_TXSIZE - 1; in inittiger()
923 cs->bcs[1].hw.tiger.send = cs->bcs[0].hw.tiger.send; in inittiger()
924 cs->bcs[1].hw.tiger.s_irq = cs->bcs[0].hw.tiger.s_irq; in inittiger()
925 cs->bcs[1].hw.tiger.s_end = cs->bcs[0].hw.tiger.s_end; in inittiger()
927 memset(cs->bcs[0].hw.tiger.send, 0xff, NETJET_DMA_TXSIZE * sizeof(unsigned int)); in inittiger()
928 debugl1(cs, "tiger: send buf %p - %p", cs->bcs[0].hw.tiger.send, in inittiger()
929 cs->bcs[0].hw.tiger.send + NETJET_DMA_TXSIZE - 1); in inittiger()
930 outl(virt_to_bus(cs->bcs[0].hw.tiger.send), in inittiger()
931 cs->hw.njet.base + NETJET_DMA_READ_START); in inittiger()
932 outl(virt_to_bus(cs->bcs[0].hw.tiger.s_irq), in inittiger()
933 cs->hw.njet.base + NETJET_DMA_READ_IRQ); in inittiger()
934 outl(virt_to_bus(cs->bcs[0].hw.tiger.s_end), in inittiger()
935 cs->hw.njet.base + NETJET_DMA_READ_END); in inittiger()
936 if (!(cs->bcs[0].hw.tiger.rec = kmalloc(NETJET_DMA_RXSIZE * sizeof(unsigned int), in inittiger()
942 debugl1(cs, "tiger: rec buf %p - %p", cs->bcs[0].hw.tiger.rec, in inittiger()
943 cs->bcs[0].hw.tiger.rec + NETJET_DMA_RXSIZE - 1); in inittiger()
944 cs->bcs[1].hw.tiger.rec = cs->bcs[0].hw.tiger.rec; in inittiger()
945 memset(cs->bcs[0].hw.tiger.rec, 0xff, NETJET_DMA_RXSIZE * sizeof(unsigned int)); in inittiger()
946 outl(virt_to_bus(cs->bcs[0].hw.tiger.rec), in inittiger()
947 cs->hw.njet.base + NETJET_DMA_WRITE_START); in inittiger()
948 outl(virt_to_bus(cs->bcs[0].hw.tiger.rec + NETJET_DMA_RXSIZE / 2 - 1), in inittiger()
949 cs->hw.njet.base + NETJET_DMA_WRITE_IRQ); in inittiger()
950 outl(virt_to_bus(cs->bcs[0].hw.tiger.rec + NETJET_DMA_RXSIZE - 1), in inittiger()
951 cs->hw.njet.base + NETJET_DMA_WRITE_END); in inittiger()
953 inl(cs->hw.njet.base + NETJET_DMA_WRITE_ADR), in inittiger()
954 inl(cs->hw.njet.base + NETJET_DMA_READ_ADR), in inittiger()
955 bytein(cs->hw.njet.base + NETJET_PULSE_CNT)); in inittiger()
956 cs->hw.njet.last_is0 = 0; in inittiger()
966 kfree(cs->bcs[0].hw.tiger.send); in releasetiger()
967 cs->bcs[0].hw.tiger.send = NULL; in releasetiger()
968 cs->bcs[1].hw.tiger.send = NULL; in releasetiger()
969 kfree(cs->bcs[0].hw.tiger.rec); in releasetiger()
970 cs->bcs[0].hw.tiger.rec = NULL; in releasetiger()
971 cs->bcs[1].hw.tiger.rec = NULL; in releasetiger()
977 byteout(cs->hw.njet.base + NETJET_IRQMASK0, 0); in release_io_netjet()
978 byteout(cs->hw.njet.base + NETJET_IRQMASK1, 0); in release_io_netjet()
980 release_region(cs->hw.njet.base, 256); in release_io_netjet()