| 2515 | } |
| 2516 | |
| 2517 | static inline void |
| 2518 | grinder_pcache_populate(struct rte_sched_subport *subport, |
| 2519 | uint32_t pos, uint32_t bmp_pos, uint64_t bmp_slab) |
| 2520 | { |
| 2521 | struct rte_sched_grinder *grinder = subport->grinder + pos; |
| 2522 | uint16_t w[4]; |
| 2523 | |
| 2524 | grinder->pcache_w = 0; |
| 2525 | grinder->pcache_r = 0; |
| 2526 | |
| 2527 | w[0] = (uint16_t) bmp_slab; |
| 2528 | w[1] = (uint16_t) (bmp_slab >> 16); |
| 2529 | w[2] = (uint16_t) (bmp_slab >> 32); |
| 2530 | w[3] = (uint16_t) (bmp_slab >> 48); |
| 2531 | |
| 2532 | grinder->pcache_qmask[grinder->pcache_w] = w[0]; |
| 2533 | grinder->pcache_qindex[grinder->pcache_w] = bmp_pos; |
| 2534 | grinder->pcache_w += (w[0] != 0); |
| 2535 | |
| 2536 | grinder->pcache_qmask[grinder->pcache_w] = w[1]; |
| 2537 | grinder->pcache_qindex[grinder->pcache_w] = bmp_pos + 16; |
| 2538 | grinder->pcache_w += (w[1] != 0); |
| 2539 | |
| 2540 | grinder->pcache_qmask[grinder->pcache_w] = w[2]; |
| 2541 | grinder->pcache_qindex[grinder->pcache_w] = bmp_pos + 32; |
| 2542 | grinder->pcache_w += (w[2] != 0); |
| 2543 | |
| 2544 | grinder->pcache_qmask[grinder->pcache_w] = w[3]; |
| 2545 | grinder->pcache_qindex[grinder->pcache_w] = bmp_pos + 48; |
| 2546 | grinder->pcache_w += (w[3] != 0); |
| 2547 | } |
| 2548 | |
| 2549 | static inline void |
| 2550 | grinder_tccache_populate(struct rte_sched_subport *subport, |