Lines Matching full:pi

60 xgbe_print_pkt_info(struct xgbe_prv_data *pdata, if_pkt_info_t pi)  in xgbe_print_pkt_info()  argument
64 axgbe_printf(1, "pi len: %d qsidx: %d nsegs: %d ndescs: %d flags: %x pidx: %d\n", in xgbe_print_pkt_info()
65pi->ipi_len, pi->ipi_qsidx, pi->ipi_nsegs, pi->ipi_ndescs, pi->ipi_flags, pi->ipi_pidx); in xgbe_print_pkt_info()
66 axgbe_printf(1, "pi new_pidx: %d csum_flags: %x mflags: %x vtag: %d\n", in xgbe_print_pkt_info()
67 pi->ipi_new_pidx, pi->ipi_csum_flags, pi->ipi_mflags, pi->ipi_vtag); in xgbe_print_pkt_info()
68 axgbe_printf(1, "pi etype: %d ehdrlen: %d ip_hlen: %d ipproto: %d\n", in xgbe_print_pkt_info()
69 pi->ipi_etype, pi->ipi_ehdrlen, pi->ipi_ip_hlen, pi->ipi_ipproto); in xgbe_print_pkt_info()
70 axgbe_printf(1, "pi tcp_hlen: %d tcp_hflags: %x tcp_seq: %d tso_segsz %d\n", in xgbe_print_pkt_info()
71 pi->ipi_tcp_hlen, pi->ipi_tcp_hflags, pi->ipi_tcp_seq, pi->ipi_tso_segsz); in xgbe_print_pkt_info()
76 if_pkt_info_t pi) in axgbe_ctx_desc_setup() argument
86 pi->ipi_tso_segsz, ring->tx.cur_mss, ring->cur); in axgbe_ctx_desc_setup()
89 pi->ipi_vtag, ring->tx.cur_vlan_ctag); in axgbe_ctx_desc_setup()
91 if ((pi->ipi_csum_flags & CSUM_TSO) && in axgbe_ctx_desc_setup()
92 (pi->ipi_tso_segsz != ring->tx.cur_mss)) { in axgbe_ctx_desc_setup()
99 MSS, pi->ipi_tso_segsz); in axgbe_ctx_desc_setup()
102 ring->tx.cur_mss = pi->ipi_tso_segsz; in axgbe_ctx_desc_setup()
106 if (pi->ipi_vtag && (pi->ipi_vtag != ring->tx.cur_vlan_ctag)) { in axgbe_ctx_desc_setup()
114 VT, pi->ipi_vtag); in axgbe_ctx_desc_setup()
116 ring->tx.cur_vlan_ctag = pi->ipi_vtag; in axgbe_ctx_desc_setup()
124 axgbe_calculate_tx_parms(struct xgbe_prv_data *pdata, if_pkt_info_t pi, in axgbe_calculate_tx_parms() argument
132 hlen = pi->ipi_ehdrlen + pi->ipi_ip_hlen + pi->ipi_tcp_hlen; in axgbe_calculate_tx_parms()
133 if (pi->ipi_csum_flags & CSUM_TSO) { in axgbe_calculate_tx_parms()
135 tcp_payload_len = pi->ipi_len - hlen; in axgbe_calculate_tx_parms()
137 __func__, pi->ipi_len, pi->ipi_ehdrlen, pi->ipi_ip_hlen, in axgbe_calculate_tx_parms()
138 pi->ipi_tcp_hlen); in axgbe_calculate_tx_parms()
141 if (pi->ipi_vtag) in axgbe_calculate_tx_parms()
157 bytes = pi->ipi_len; in axgbe_calculate_tx_parms()
170 axgbe_isc_txd_encap(void *arg, if_pkt_info_t pi) in axgbe_isc_txd_encap() argument
183 xgbe_print_pkt_info(pdata, pi); in axgbe_isc_txd_encap()
185 channel = pdata->channel[pi->ipi_qsidx]; in axgbe_isc_txd_encap()
191 __func__, pi->ipi_qsidx, ring->cur, ring->dirty); in axgbe_isc_txd_encap()
193 MPASS(pi->ipi_len != 0); in axgbe_isc_txd_encap()
194 if (__predict_false(pi->ipi_len == 0)) { in axgbe_isc_txd_encap()
199 MPASS(ring->cur == pi->ipi_pidx); in axgbe_isc_txd_encap()
200 if (__predict_false(ring->cur != pi->ipi_pidx)) { in axgbe_isc_txd_encap()
202 ring->cur, pi->ipi_pidx); in axgbe_isc_txd_encap()
216 hlen = axgbe_calculate_tx_parms(pdata, pi, packet); in axgbe_isc_txd_encap()
218 __func__, pi->ipi_len, packet->tx_packets, packet->tx_bytes, hlen); in axgbe_isc_txd_encap()
231 if (axgbe_ctx_desc_setup(pdata, ring, pi)) in axgbe_isc_txd_encap()
239 lower_32_bits(pi->ipi_segs[cur_seg].ds_addr), in axgbe_isc_txd_encap()
240 upper_32_bits(pi->ipi_segs[cur_seg].ds_addr), in axgbe_isc_txd_encap()
241 (int)pi->ipi_segs[cur_seg].ds_len, pi->ipi_len); in axgbe_isc_txd_encap()
244 rdesc->desc0 = cpu_to_le32(lower_32_bits(pi->ipi_segs[cur_seg].ds_addr)); in axgbe_isc_txd_encap()
245 rdesc->desc1 = cpu_to_le32(upper_32_bits(pi->ipi_segs[cur_seg].ds_addr)); in axgbe_isc_txd_encap()
249 hlen = pi->ipi_segs[cur_seg].ds_len; in axgbe_isc_txd_encap()
253 if (pi->ipi_vtag) { in axgbe_isc_txd_encap()
273 if (pi->ipi_csum_flags & CSUM_TSO) { in axgbe_isc_txd_encap()
277 tcp_payload_len = pi->ipi_len - hlen; in axgbe_isc_txd_encap()
284 pi->ipi_tcp_hlen/4); in axgbe_isc_txd_encap()
287 pi->ipi_tcp_hlen/4); in axgbe_isc_txd_encap()
293 if (pi->ipi_csum_flags) in axgbe_isc_txd_encap()
297 XGMAC_SET_BITS_LE(rdesc->desc3, TX_NORMAL_DESC3, FL, pi->ipi_len); in axgbe_isc_txd_encap()
302 for (cur_seg = 0 ; cur_seg < pi->ipi_nsegs ; cur_seg++) { in axgbe_isc_txd_encap()
306 datalen = pi->ipi_segs[cur_seg].ds_len - hlen; in axgbe_isc_txd_encap()
309 datalen = pi->ipi_segs[cur_seg].ds_len; in axgbe_isc_txd_encap()
319 cpu_to_le32(lower_32_bits(pi->ipi_segs[cur_seg].ds_addr + offset)); in axgbe_isc_txd_encap()
321 cpu_to_le32(upper_32_bits(pi->ipi_segs[cur_seg].ds_addr + offset)); in axgbe_isc_txd_encap()
333 if (pi->ipi_csum_flags) in axgbe_isc_txd_encap()
338 lower_32_bits(pi->ipi_segs[cur_seg].ds_addr), in axgbe_isc_txd_encap()
339 upper_32_bits(pi->ipi_segs[cur_seg].ds_addr), in axgbe_isc_txd_encap()
340 (int)pi->ipi_segs[cur_seg].ds_len, pi->ipi_len); in axgbe_isc_txd_encap()
360 ring->cur = pi->ipi_new_pidx = (cur & (ring->rdesc_count - 1)); in axgbe_isc_txd_encap()