| 289 | } |
| 290 | |
| 291 | static int bnxt_agg_bufs_valid(struct bnxt_cp_ring_info *cpr, |
| 292 | uint8_t agg_bufs, uint32_t raw_cp_cons) |
| 293 | { |
| 294 | uint16_t last_cp_cons; |
| 295 | struct rx_pkt_cmpl *agg_cmpl; |
| 296 | |
| 297 | raw_cp_cons = ADV_RAW_CMP(raw_cp_cons, agg_bufs); |
| 298 | last_cp_cons = RING_CMP(cpr->cp_ring_struct, raw_cp_cons); |
| 299 | agg_cmpl = (struct rx_pkt_cmpl *)&cpr->cp_desc_ring[last_cp_cons]; |
| 300 | return bnxt_cpr_cmp_valid(agg_cmpl, raw_cp_cons, |
| 301 | cpr->cp_ring_struct->ring_size); |
| 302 | } |
| 303 | |
| 304 | /* TPA consume agg buffer out of order, allocate connected data only */ |
| 305 | static int bnxt_prod_ag_mbuf(struct bnxt_rx_queue *rxq) |
no test coverage detected