Lines Matching refs:hdlcrx

131 	while (s->hdlcrx.rx_state && num >= 8) {  in hdlc_rx_add_bytes()
132 if (s->hdlcrx.len >= sizeof(s->hdlcrx.buffer)) { in hdlc_rx_add_bytes()
133 s->hdlcrx.rx_state = 0; in hdlc_rx_add_bytes()
136 *s->hdlcrx.bp++ = bits >> (32-num); in hdlc_rx_add_bytes()
137 s->hdlcrx.len++; in hdlc_rx_add_bytes()
150 if (s->hdlcrx.len < 4) in hdlc_rx_flag()
152 if (!check_crc_ccitt(s->hdlcrx.buffer, s->hdlcrx.len)) in hdlc_rx_flag()
154 pkt_len = s->hdlcrx.len - 2 + 1; /* KISS kludge */ in hdlc_rx_flag()
162 memcpy(cp, s->hdlcrx.buffer, pkt_len - 1); in hdlc_rx_flag()
175 if (test_and_set_bit(0, &s->hdlcrx.in_hdlc_rx)) in hdlcdrv_receiver()
178 while (!hdlcdrv_hbuf_empty(&s->hdlcrx.hbuf)) { in hdlcdrv_receiver()
179 word = hdlcdrv_hbuf_get(&s->hdlcrx.hbuf); in hdlcdrv_receiver()
184 s->hdlcrx.bitstream >>= 16; in hdlcdrv_receiver()
185 s->hdlcrx.bitstream |= word << 16; in hdlcdrv_receiver()
186 s->hdlcrx.bitbuf >>= 16; in hdlcdrv_receiver()
187 s->hdlcrx.bitbuf |= word << 16; in hdlcdrv_receiver()
188 s->hdlcrx.numbits += 16; in hdlcdrv_receiver()
194 if ((s->hdlcrx.bitstream & mask1) == mask1) in hdlcdrv_receiver()
195 s->hdlcrx.rx_state = 0; /* abort received */ in hdlcdrv_receiver()
196 else if ((s->hdlcrx.bitstream & mask2) == mask3) { in hdlcdrv_receiver()
198 if (s->hdlcrx.rx_state) { in hdlcdrv_receiver()
199 hdlc_rx_add_bytes(s, s->hdlcrx.bitbuf in hdlcdrv_receiver()
201 s->hdlcrx.numbits in hdlcdrv_receiver()
205 s->hdlcrx.len = 0; in hdlcdrv_receiver()
206 s->hdlcrx.bp = s->hdlcrx.buffer; in hdlcdrv_receiver()
207 s->hdlcrx.rx_state = 1; in hdlcdrv_receiver()
208 s->hdlcrx.numbits = i; in hdlcdrv_receiver()
209 } else if ((s->hdlcrx.bitstream & mask4) == mask5) { in hdlcdrv_receiver()
211 s->hdlcrx.numbits--; in hdlcdrv_receiver()
212 s->hdlcrx.bitbuf = (s->hdlcrx.bitbuf & (~mask6)) | in hdlcdrv_receiver()
213 ((s->hdlcrx.bitbuf & mask6) << 1); in hdlcdrv_receiver()
216 s->hdlcrx.numbits -= hdlc_rx_add_bytes(s, s->hdlcrx.bitbuf, in hdlcdrv_receiver()
217 s->hdlcrx.numbits); in hdlcdrv_receiver()
219 clear_bit(0, &s->hdlcrx.in_hdlc_rx); in hdlcdrv_receiver()
385 if (s->hdlcrx.dcd) { in hdlcdrv_arbitrate()
455 s->hdlcrx.hbuf.rd = s->hdlcrx.hbuf.wr = 0; in hdlcdrv_open()
456 s->hdlcrx.in_hdlc_rx = 0; in hdlcdrv_open()
457 s->hdlcrx.rx_state = 0; in hdlcdrv_open()
560 bi.data.cs.dcd = s->hdlcrx.dcd; in hdlcdrv_ioctl()
570 bi.data.ocs.dcd = s->hdlcrx.dcd; in hdlcdrv_ioctl()
650 spin_lock_init(&s->hdlcrx.hbuf.lock); in hdlcdrv_setup()
651 s->hdlcrx.hbuf.rd = s->hdlcrx.hbuf.wr = 0; in hdlcdrv_setup()
652 s->hdlcrx.in_hdlc_rx = 0; in hdlcdrv_setup()
653 s->hdlcrx.rx_state = 0; in hdlcdrv_setup()