Lines Matching refs:hdlcrx

118 	while (s->hdlcrx.rx_state && num >= 8) {  in hdlc_rx_add_bytes()
119 if (s->hdlcrx.len >= sizeof(s->hdlcrx.buffer)) { in hdlc_rx_add_bytes()
120 s->hdlcrx.rx_state = 0; in hdlc_rx_add_bytes()
123 *s->hdlcrx.bp++ = bits >> (32-num); in hdlc_rx_add_bytes()
124 s->hdlcrx.len++; in hdlc_rx_add_bytes()
137 if (s->hdlcrx.len < 4) in hdlc_rx_flag()
139 if (!check_crc_ccitt(s->hdlcrx.buffer, s->hdlcrx.len)) in hdlc_rx_flag()
141 pkt_len = s->hdlcrx.len - 2 + 1; /* KISS kludge */ in hdlc_rx_flag()
149 memcpy(cp, s->hdlcrx.buffer, pkt_len - 1); in hdlc_rx_flag()
162 if (test_and_set_bit(0, &s->hdlcrx.in_hdlc_rx)) in hdlcdrv_receiver()
165 while (!hdlcdrv_hbuf_empty(&s->hdlcrx.hbuf)) { in hdlcdrv_receiver()
166 word = hdlcdrv_hbuf_get(&s->hdlcrx.hbuf); in hdlcdrv_receiver()
171 s->hdlcrx.bitstream >>= 16; in hdlcdrv_receiver()
172 s->hdlcrx.bitstream |= word << 16; in hdlcdrv_receiver()
173 s->hdlcrx.bitbuf >>= 16; in hdlcdrv_receiver()
174 s->hdlcrx.bitbuf |= word << 16; in hdlcdrv_receiver()
175 s->hdlcrx.numbits += 16; in hdlcdrv_receiver()
181 if ((s->hdlcrx.bitstream & mask1) == mask1) in hdlcdrv_receiver()
182 s->hdlcrx.rx_state = 0; /* abort received */ in hdlcdrv_receiver()
183 else if ((s->hdlcrx.bitstream & mask2) == mask3) { in hdlcdrv_receiver()
185 if (s->hdlcrx.rx_state) { in hdlcdrv_receiver()
186 hdlc_rx_add_bytes(s, s->hdlcrx.bitbuf in hdlcdrv_receiver()
188 s->hdlcrx.numbits in hdlcdrv_receiver()
192 s->hdlcrx.len = 0; in hdlcdrv_receiver()
193 s->hdlcrx.bp = s->hdlcrx.buffer; in hdlcdrv_receiver()
194 s->hdlcrx.rx_state = 1; in hdlcdrv_receiver()
195 s->hdlcrx.numbits = i; in hdlcdrv_receiver()
196 } else if ((s->hdlcrx.bitstream & mask4) == mask5) { in hdlcdrv_receiver()
198 s->hdlcrx.numbits--; in hdlcdrv_receiver()
199 s->hdlcrx.bitbuf = (s->hdlcrx.bitbuf & (~mask6)) | in hdlcdrv_receiver()
200 ((s->hdlcrx.bitbuf & mask6) << 1); in hdlcdrv_receiver()
203 s->hdlcrx.numbits -= hdlc_rx_add_bytes(s, s->hdlcrx.bitbuf, in hdlcdrv_receiver()
204 s->hdlcrx.numbits); in hdlcdrv_receiver()
206 clear_bit(0, &s->hdlcrx.in_hdlc_rx); in hdlcdrv_receiver()
372 if (s->hdlcrx.dcd) { in hdlcdrv_arbitrate()
444 s->hdlcrx.hbuf.rd = s->hdlcrx.hbuf.wr = 0; in hdlcdrv_open()
445 s->hdlcrx.in_hdlc_rx = 0; in hdlcdrv_open()
446 s->hdlcrx.rx_state = 0; in hdlcdrv_open()
548 bi.data.cs.dcd = s->hdlcrx.dcd; in hdlcdrv_ioctl()
558 bi.data.ocs.dcd = s->hdlcrx.dcd; in hdlcdrv_ioctl()
640 spin_lock_init(&s->hdlcrx.hbuf.lock); in hdlcdrv_setup()
641 s->hdlcrx.hbuf.rd = s->hdlcrx.hbuf.wr = 0; in hdlcdrv_setup()
642 s->hdlcrx.in_hdlc_rx = 0; in hdlcdrv_setup()
643 s->hdlcrx.rx_state = 0; in hdlcdrv_setup()