/linux-4.4.14/arch/tile/gxio/ |
H A D | mpipe.c | 392 int gxio_mpipe_equeue_init(gxio_mpipe_equeue_t *equeue, gxio_mpipe_equeue_init() argument 410 memset(equeue, 0, sizeof(*equeue)); gxio_mpipe_equeue_init() 418 __gxio_dma_queue_init(&equeue->dma_queue, gxio_mpipe_equeue_init() 421 equeue->edescs = mem; gxio_mpipe_equeue_init() 422 equeue->mask_num_entries = num_entries - 1; gxio_mpipe_equeue_init() 423 equeue->log2_num_entries = __builtin_ctz(num_entries); gxio_mpipe_equeue_init() 424 equeue->context = context; gxio_mpipe_equeue_init() 425 equeue->ering = ering; gxio_mpipe_equeue_init() 426 equeue->channel = channel; gxio_mpipe_equeue_init()
|
/linux-4.4.14/drivers/net/ethernet/tile/ |
H A D | tilegx.c | 65 /* Number of entries in each equeue. */ 68 /* Total header bytes per equeue slot. Must be big enough for 2 bytes 169 /* The "equeue". */ 170 gxio_mpipe_equeue_t *equeue; member in struct:tile_net_egress 709 static int tile_net_free_comps(gxio_mpipe_equeue_t *equeue, tile_net_free_comps() argument 717 if (!gxio_mpipe_equeue_is_complete(equeue, comp->when, tile_net_free_comps() 731 static void add_comp(gxio_mpipe_equeue_t *equeue, add_comp() argument 803 tile_net_free_comps(egress->equeue, comps, -1, true); tile_net_handle_egress_timer() 1370 gxio_mpipe_equeue_t *equeue; tile_net_init_egress() local 1379 if (md->egress_for_echannel[echannel].equeue != NULL) tile_net_init_egress() 1405 /* Allocate memory for the "equeue". */ tile_net_init_egress() 1406 equeue_order = get_order(sizeof(*equeue)); tile_net_init_egress() 1410 "Could not alloc %zd bytes for equeue info.\n", tile_net_init_egress() 1414 equeue = pfn_to_kaddr(page_to_pfn(equeue_page)); tile_net_init_egress() 1427 /* Initialize the equeue. */ tile_net_init_egress() 1428 rc = gxio_mpipe_equeue_init(equeue, &md->context, ering, echannel, tile_net_init_egress() 1441 if (gxio_mpipe_equeue_set_snf_size(equeue, 10368) < 0) { tile_net_init_egress() 1449 md->egress_for_echannel[echannel].equeue = equeue; tile_net_init_egress() 1643 gxio_mpipe_equeue_t *equeue, tile_net_equeue_try_reserve() 1648 tile_net_free_comps(equeue, comps, 32, false) != 0) { tile_net_equeue_try_reserve() 1651 s64 slot = gxio_mpipe_equeue_try_reserve(equeue, num_edescs); tile_net_equeue_try_reserve() 1655 /* Freeing some completions gives the equeue time to drain. */ tile_net_equeue_try_reserve() 1656 tile_net_free_comps(equeue, comps, TILE_NET_MAX_COMPS, false); tile_net_equeue_try_reserve() 1658 slot = gxio_mpipe_equeue_try_reserve(equeue, num_edescs); tile_net_equeue_try_reserve() 1830 static void tso_egress(struct net_device *dev, gxio_mpipe_equeue_t *equeue, tso_egress() argument 1870 gxio_mpipe_equeue_put_at(equeue, edesc_head, slot); tso_egress() 1898 gxio_mpipe_equeue_put_at(equeue, edesc_body, slot); tso_egress() 1939 gxio_mpipe_equeue_t *equeue = egress->equeue; tile_net_tx_tso() local 1951 equeue, num_edescs); tile_net_tx_tso() 1961 tso_egress(dev, equeue, skb, egress->headers, slot); tile_net_tx_tso() 1964 add_comp(equeue, comps, slot + num_edescs - 1, skb); tile_net_tx_tso() 2006 gxio_mpipe_equeue_t *equeue = egress->equeue; tile_net_tx() local 2049 equeue, num_edescs); tile_net_tx() 2056 gxio_mpipe_equeue_put_at(equeue, edescs[i], slot++); tile_net_tx() 2062 add_comp(equeue, comps, slot - 1, skb); tile_net_tx() 1640 tile_net_equeue_try_reserve(struct net_device *dev, int tx_queue_idx, struct tile_net_comps *comps, gxio_mpipe_equeue_t *equeue, int num_edescs) tile_net_equeue_try_reserve() argument
|
/linux-4.4.14/arch/tile/include/gxio/ |
H A D | mpipe.h | 1082 * performed on a shared equeue, by ensuring that the edescs for all 1339 /* Initialize an "equeue". 1344 * @param equeue An egress queue to be initialized. 1358 extern int gxio_mpipe_equeue_init(gxio_mpipe_equeue_t *equeue, 1373 * @param equeue An egress queue initialized via gxio_mpipe_equeue_init(). 1377 static inline int64_t gxio_mpipe_equeue_reserve(gxio_mpipe_equeue_t *equeue, gxio_mpipe_equeue_reserve() argument 1380 return __gxio_dma_queue_reserve_aux(&equeue->dma_queue, num, true); gxio_mpipe_equeue_reserve() 1391 * @param equeue An egress queue initialized via gxio_mpipe_equeue_init(). 1396 *equeue, unsigned int num) gxio_mpipe_equeue_try_reserve() 1398 return __gxio_dma_queue_reserve_aux(&equeue->dma_queue, num, false); gxio_mpipe_equeue_try_reserve() 1409 * @param equeue An egress queue initialized via gxio_mpipe_equeue_init(). 1414 *equeue, unsigned int num) gxio_mpipe_equeue_reserve_fast() 1416 return __gxio_dma_queue_reserve(&equeue->dma_queue, num, true, false); gxio_mpipe_equeue_reserve_fast() 1427 * @param equeue An egress queue initialized via gxio_mpipe_equeue_init(). 1432 *equeue, gxio_mpipe_equeue_try_reserve_fast() 1435 return __gxio_dma_queue_reserve(&equeue->dma_queue, num, false, false); gxio_mpipe_equeue_try_reserve_fast() 1443 static inline void gxio_mpipe_equeue_put_at_aux(gxio_mpipe_equeue_t *equeue, gxio_mpipe_equeue_put_at_aux() argument 1447 unsigned long edma_slot = slot & equeue->mask_num_entries; gxio_mpipe_equeue_put_at_aux() 1448 gxio_mpipe_edesc_t *edesc_p = &equeue->edescs[edma_slot]; gxio_mpipe_equeue_put_at_aux() 1454 ew[0] |= !((slot >> equeue->log2_num_entries) & 1); gxio_mpipe_equeue_put_at_aux() 1465 /* Post an edesc to a given slot in an equeue. 1481 * slots in the equeue, but this is NOT recommended. 1483 * @param equeue An egress queue initialized via gxio_mpipe_equeue_init(). 1487 static inline void gxio_mpipe_equeue_put_at(gxio_mpipe_equeue_t *equeue, gxio_mpipe_equeue_put_at() argument 1491 gxio_mpipe_equeue_put_at_aux(equeue, edesc.words, slot); gxio_mpipe_equeue_put_at() 1494 /* Post an edesc to the next slot in an equeue. 1499 * @param equeue An egress queue initialized via gxio_mpipe_equeue_init(). 1503 static inline int gxio_mpipe_equeue_put(gxio_mpipe_equeue_t *equeue, gxio_mpipe_equeue_put() argument 1506 int64_t slot = gxio_mpipe_equeue_reserve_fast(equeue, 1); gxio_mpipe_equeue_put() 1510 gxio_mpipe_equeue_put_at(equeue, edesc, slot); gxio_mpipe_equeue_put() 1526 * @param equeue An egress queue initialized via gxio_mpipe_equeue_init(). 1528 static inline void gxio_mpipe_equeue_flush(gxio_mpipe_equeue_t *equeue) gxio_mpipe_equeue_flush() argument 1534 __gxio_mmio_write(equeue->dma_queue.post_region_addr, val.word); gxio_mpipe_equeue_flush() 1543 * @param equeue An egress queue initialized via gxio_mpipe_equeue_init(). 1550 static inline int gxio_mpipe_equeue_is_complete(gxio_mpipe_equeue_t *equeue, gxio_mpipe_equeue_is_complete() argument 1554 return __gxio_dma_queue_is_complete(&equeue->dma_queue, gxio_mpipe_equeue_is_complete() 1558 /* Set the snf (store and forward) size for an equeue. 1560 * The snf size for an equeue defaults to 1536, and encodes the size 1575 * on the equeue. 1577 * @param equeue An egress queue initialized via gxio_mpipe_equeue_init(). 1581 static inline int gxio_mpipe_equeue_set_snf_size(gxio_mpipe_equeue_t *equeue, gxio_mpipe_equeue_set_snf_size() argument 1585 return gxio_mpipe_config_edma_ring_blks(equeue->context, equeue->ering, gxio_mpipe_equeue_set_snf_size() 1395 gxio_mpipe_equeue_try_reserve(gxio_mpipe_equeue_t *equeue, unsigned int num) gxio_mpipe_equeue_try_reserve() argument 1413 gxio_mpipe_equeue_reserve_fast(gxio_mpipe_equeue_t *equeue, unsigned int num) gxio_mpipe_equeue_reserve_fast() argument 1431 gxio_mpipe_equeue_try_reserve_fast(gxio_mpipe_equeue_t *equeue, unsigned int num) gxio_mpipe_equeue_try_reserve_fast() argument
|
/linux-4.4.14/drivers/s390/cio/ |
H A D | qdio.h | 294 struct ciw equeue; member in struct:qdio_irq
|
H A D | qdio_setup.c | 499 irq_ptr->equeue = *ciw; qdio_setup_irq()
|
H A D | qdio_main.c | 1359 irq_ptr->ccw.cmd_code = irq_ptr->equeue.cmd; qdio_establish() 1361 irq_ptr->ccw.count = irq_ptr->equeue.count; qdio_establish()
|
/linux-4.4.14/drivers/staging/lustre/lnet/lnet/ |
H A D | lib-eq.c | 181 CDEBUG(D_NET, "Event equeue (%d: %d) busy on destroy.\n", LNetEQFree()
|