rxq->descs = vlib_physmem_alloc_aligned (vm, am->physmem_region, &error,
rxq->size * sizeof (avf_rx_desc_t),
2 * CLIB_CACHE_LINE_BYTES);
- memset (rxq->descs, 0, rxq->size * sizeof (avf_rx_desc_t));
+ memset ((void *) rxq->descs, 0, rxq->size * sizeof (avf_rx_desc_t));
vec_validate_aligned (rxq->bufs, rxq->size, CLIB_CACHE_LINE_BYTES);
rxq->qrx_tail = ad->bar0 + AVF_QRX_TAIL (qid);
if (n_alloc == 0)
return clib_error_return (0, "buffer allocation error");
- rxq->n_bufs = n_alloc;
+ rxq->n_enqueued = n_alloc;
avf_rx_desc_t *d = rxq->descs;
for (i = 0; i < n_alloc; i++)
{
pa = avf_dma_addr (vm, ad, ad->atq);
avf_reg_write (ad, AVF_ATQT, 0); /* Tail */
avf_reg_write (ad, AVF_ATQH, 0); /* Head */
- avf_reg_write (ad, AVF_ATQLEN, AVF_MBOX_LEN | (1 << 31)); /* len & ena */
+ avf_reg_write (ad, AVF_ATQLEN, AVF_MBOX_LEN | (1ULL << 31)); /* len & ena */
avf_reg_write (ad, AVF_ATQBAL, (u32) pa); /* Base Address Low */
avf_reg_write (ad, AVF_ATQBAH, (u32) (pa >> 32)); /* Base Address High */
avf_reg_write (ad, AVF_ARQH, 0); /* Head */
avf_reg_write (ad, AVF_ARQT, 0); /* Head */
- avf_reg_write (ad, AVF_ARQLEN, AVF_MBOX_LEN | (1 << 31)); /* len & ena */
+ avf_reg_write (ad, AVF_ARQLEN, AVF_MBOX_LEN | (1ULL << 31)); /* len & ena */
avf_reg_write (ad, AVF_ARQBAL, (u32) pa); /* Base Address Low */
avf_reg_write (ad, AVF_ARQBAH, (u32) (pa >> 32)); /* Base Address High */
avf_reg_write (ad, AVF_ARQT, AVF_MBOX_LEN - 1); /* Tail */
avf_rxq_t *q = vec_elt_at_index (ad->rxqs, i);
rxq->ring_len = q->size;
rxq->databuffer_size = VLIB_BUFFER_DEFAULT_FREE_LIST_BYTES;
- rxq->dma_ring_addr = avf_dma_addr (vm, ad, q->descs);
+ rxq->dma_ring_addr = avf_dma_addr (vm, ad, (void *) q->descs);
avf_reg_write (ad, AVF_QRX_TAIL (i), q->size - 1);
}
{
txq->queue_id = i;
txq->ring_len = q->size;
- txq->dma_ring_addr = avf_dma_addr (vm, ad, q->descs);
+ txq->dma_ring_addr = avf_dma_addr (vm, ad, (void *) q->descs);
}
}
qs.rx_queues = rx;
qs.tx_queues = tx;
avf_rxq_t *rxq = vec_elt_at_index (ad->rxqs, 0);
- avf_reg_write (ad, AVF_QRX_TAIL (0), rxq->n_bufs);
+ avf_reg_write (ad, AVF_QRX_TAIL (0), rxq->n_enqueued);
return avf_send_to_pf (vm, ad, VIRTCHNL_OP_ENABLE_QUEUES, &qs,
sizeof (virtchnl_queue_select_t), 0, 0);
}
ASSERT (ad->error == 0);
r = avf_get_u32 (ad->bar0, AVF_ARQLEN);
- if ((r & 0xf0000000) != (1 << 31))
+ if ((r & 0xf0000000) != (1ULL << 31))
{
ad->error = clib_error_return (0, "arq not enabled, arqlen = 0x%x", r);
goto error;
}
r = avf_get_u32 (ad->bar0, AVF_ATQLEN);
- if ((r & 0xf0000000) != (1 << 31))
+ if ((r & 0xf0000000) != (1ULL << 31))
{
ad->error = clib_error_return (0, "atq not enabled, atqlen = 0x%x", r);
goto error;
vec_foreach_index (i, ad->rxqs)
{
avf_rxq_t *rxq = vec_elt_at_index (ad->rxqs, i);
- vlib_physmem_free (vm, am->physmem_region, rxq->descs);
- if (rxq->n_bufs)
+ vlib_physmem_free (vm, am->physmem_region, (void *) rxq->descs);
+ if (rxq->n_enqueued)
vlib_buffer_free_from_ring (vm, rxq->bufs, rxq->next, rxq->size,
- rxq->n_bufs);
+ rxq->n_enqueued);
vec_free (rxq->bufs);
}
/* *INDENT-ON* */
vec_foreach_index (i, ad->txqs)
{
avf_txq_t *txq = vec_elt_at_index (ad->txqs, i);
- vlib_physmem_free (vm, am->physmem_region, txq->descs);
- if (txq->n_bufs)
+ vlib_physmem_free (vm, am->physmem_region, (void *) txq->descs);
+ if (txq->n_enqueued)
{
- u16 first = (txq->next - txq->n_bufs) & (txq->size -1);
+ u16 first = (txq->next - txq->n_enqueued) & (txq->size -1);
vlib_buffer_free_from_ring (vm, txq->bufs, first, txq->size,
- txq->n_bufs);
+ txq->n_enqueued);
}
vec_free (txq->bufs);
}
u32 s0, s1, s2, s3;
avf_rx_desc_t *d[4];
- n_refill = rxq->size - 1 - rxq->n_bufs;
+ n_refill = rxq->size - 1 - rxq->n_enqueued;
if (PREDICT_TRUE (n_refill <= AVF_INPUT_REFILL_TRESHOLD))
return;
return;
}
- rxq->n_bufs += n_alloc;
+ rxq->n_enqueued += n_alloc;
while (n_alloc >= 4)
{
if (rxq->next + 11 < rxq->size)
{
int stride = 8;
- CLIB_PREFETCH (rxq->descs + (rxq->next + stride),
+ CLIB_PREFETCH ((void *) (rxq->descs + (rxq->next + stride)),
CLIB_CACHE_LINE_BYTES, LOAD);
- CLIB_PREFETCH (rxq->descs + (rxq->next + stride + 1),
+ CLIB_PREFETCH ((void *) (rxq->descs + (rxq->next + stride + 1)),
CLIB_CACHE_LINE_BYTES, LOAD);
- CLIB_PREFETCH (rxq->descs + (rxq->next + stride + 2),
+ CLIB_PREFETCH ((void *) (rxq->descs + (rxq->next + stride + 2)),
CLIB_CACHE_LINE_BYTES, LOAD);
- CLIB_PREFETCH (rxq->descs + (rxq->next + stride + 3),
+ CLIB_PREFETCH ((void *) (rxq->descs + (rxq->next + stride + 3)),
CLIB_CACHE_LINE_BYTES, LOAD);
}
rxq->next = (rxq->next + 4) & mask;
d = rxq->descs + rxq->next;
n_rxv += 4;
- rxq->n_bufs -= 4;
+ rxq->n_enqueued -= 4;
bi += 4;
continue;
one_by_one:
#endif
- CLIB_PREFETCH (rxq->descs + ((rxq->next + 8) & mask),
+ CLIB_PREFETCH ((void *) (rxq->descs + ((rxq->next + 8) & mask)),
CLIB_CACHE_LINE_BYTES, LOAD);
if ((d->qword[1] & AVF_RX_DESC_STATUS_DD) == 0)
break;
rxve = ptd->rx_vector + n_rxv;
bi[0] = rxq->bufs[rxq->next];
- rxve->status = avf_get_u64_bits (d, 8, 18, 0);
- rxve->error = avf_get_u64_bits (d, 8, 26, 19);
- rxve->ptype = avf_get_u64_bits (d, 8, 37, 30);
- rxve->length = avf_get_u64_bits (d, 8, 63, 38);
+ rxve->status = avf_get_u64_bits ((void *) d, 8, 18, 0);
+ rxve->error = avf_get_u64_bits ((void *) d, 8, 26, 19);
+ rxve->ptype = avf_get_u64_bits ((void *) d, 8, 37, 30);
+ rxve->length = avf_get_u64_bits ((void *) d, 8, 63, 38);
maybe_error |= rxve->error;
/* deal with chained buffers */
rxq->next = (rxq->next + 1) & mask;
d = rxq->descs + rxq->next;
n_rxv++;
- rxq->n_bufs--;
+ rxq->n_enqueued--;
bi++;
}