Lines Matching refs:soft
95 struct arc_rfc1201 *soft = &pkt->soft.rfc1201; in type_trans() local
110 switch (soft->proto) { in type_trans()
140 struct arc_rfc1201 *soft = &pkthdr->soft.rfc1201; in rx() local
151 if (soft->split_flag == 0xFF) { /* Exception Packet */ in rx()
164 soft, sizeof(pkt->soft)); in rx()
166 if (!soft->split_flag) { /* not split */ in rx()
168 soft->split_flag); in rx()
172 in->sequence, soft->split_flag, soft->sequence); in rx()
173 lp->rfc1201.aborted_seq = soft->sequence; in rx()
179 in->sequence = soft->sequence; in rx()
191 soft = &pkt->soft.rfc1201; in rx()
195 if (length > sizeof(pkt->soft)) in rx()
196 lp->hw.copy_from_card(dev, bufnum, ofs + sizeof(pkt->soft), in rx()
197 pkt->soft.raw + sizeof(pkt->soft), in rx()
198 length - sizeof(pkt->soft)); in rx()
205 if (soft->proto == ARC_P_ARP) { in rx()
206 struct arphdr *arp = (struct arphdr *) soft->payload; in rx()
252 soft->split_flag, in->sequence); in rx()
254 if (in->skb && in->sequence != soft->sequence) { in rx()
256 saddr, in->sequence, soft->sequence, in rx()
257 soft->split_flag); in rx()
264 if (soft->split_flag & 1) { /* first packet in split */ in rx()
266 soft->split_flag); in rx()
270 in->sequence, soft->split_flag, in rx()
271 soft->sequence); in rx()
276 in->sequence = soft->sequence; in rx()
277 in->numpackets = ((unsigned) soft->split_flag >> 1) + 2; in rx()
282 soft->split_flag); in rx()
283 lp->rfc1201.aborted_seq = soft->sequence; in rx()
292 lp->rfc1201.aborted_seq = soft->sequence; in rx()
298 soft = &pkt->soft.rfc1201; in rx()
303 soft->split_flag = 0; /* end result won't be split */ in rx()
305 int packetnum = ((unsigned) soft->split_flag >> 1) + 1; in rx()
312 if (lp->rfc1201.aborted_seq != soft->sequence) { in rx()
315 soft->split_flag, soft->sequence, in rx()
327 soft->split_flag); in rx()
335 in->sequence, soft->split_flag, soft->sequence); in rx()
336 lp->rfc1201.aborted_seq = soft->sequence; in rx()
345 soft = &pkt->soft.rfc1201; in rx()
380 struct arc_rfc1201 *soft = &pkt->soft.rfc1201; in build_header() local
385 soft->proto = ARC_P_IP; in build_header()
388 soft->proto = ARC_P_IPV6; in build_header()
391 soft->proto = ARC_P_ARP; in build_header()
394 soft->proto = ARC_P_RARP; in build_header()
399 soft->proto = ARC_P_IPX; in build_header()
402 soft->proto = ARC_P_ATALK; in build_header()
421 soft->sequence = htons(lp->rfc1201.sequence++); in build_header()
422 soft->split_flag = 0; /* split packets are done elsewhere */ in build_header()
442 struct arc_rfc1201 *soft, int softlen, int bufnum) in load_pkt() argument
455 excsoft.proto = soft->proto; in load_pkt()
468 lp->hw.copy_to_card(dev, bufnum, ofs, soft, softlen); in load_pkt()
486 pkt->soft.rfc1201.split_flag = 0; in prepare_tx()
499 pkt->soft.rfc1201.sequence); in prepare_tx()
504 load_pkt(dev, &pkt->hard, &pkt->soft.rfc1201, length, bufnum); in prepare_tx()
515 struct arc_rfc1201 *soft = &out->pkt->soft.rfc1201, *newsoft; in continue_tx() local
521 out->segnum, out->numsegs, soft->sequence); in continue_tx()
525 (out->pkt->soft.raw + out->length - out->dataleft); in continue_tx()
531 newsoft->proto = soft->proto; in continue_tx()
532 newsoft->sequence = soft->sequence; in continue_tx()