Lines Matching defs:txq
409 struct enet_queue* txq;
410 txq = calloc(1, sizeof(struct enet_queue));
411 txq->size = TX_RING_SIZE;
420 txq->d = (enet_t *) malloc(sizeof(enet_t));
421 assert(txq->d);
422 enet_initialize(txq->d, (void *) vaddr);
424 txq->align = 0x3f;
427 size_t tot_size = (txq->size)*sizeof(enet_bufdesc_t);
428 err = frame_alloc(&(txq->desc_mem.mem), tot_size, (size_t *)&(txq->desc_mem.size));
434 err = vspace_map_one_frame_attr((void**) &(txq->desc_mem.vbase), tot_size,
435 txq->desc_mem.mem, VREGION_FLAGS_READ_WRITE_NOCACHE,
438 cap_destroy(txq->desc_mem.mem);
444 err = frame_identify(txq->desc_mem.mem, &id);
449 txq->desc_mem.devaddr = id.base;
450 txq->ring = (void*) txq->desc_mem.vbase;
451 assert(txq->ring);
452 assert((txq->desc_mem.devaddr & txq->align) == 0);
455 enet_tdsr_wr(txq->d, txq->desc_mem.devaddr);
457 memset(txq->ring, 0, txq->size*sizeof(enet_bufdesc_t));
459 txq->ring_bufs = calloc(txq->size, sizeof(struct devq_buf));
460 assert(txq->ring_bufs);
462 ENET_DEBUG("TX %p ring init to default values \n", txq->ring);
466 for (int i = 0; i < txq->size; i++) {
467 desc = txq->ring[i];
474 desc = txq->ring[txq->size - 1];
479 txq->head = 0;
480 txq->tail = 0;
482 err = devq_init(&txq->q, false);
488 txq->q.f.reg = enet_register;
489 txq->q.f.enq = enet_tx_enqueue;
490 txq->q.f.deq = enet_tx_dequeue;
492 *q = txq;