X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fxenvirt%2Fvirtqueue.h;h=350eae3ec714eb3b8f74c3b770c188d52293f85e;hb=adce1f86f8d25fc10e9ac32fd59fa0bedce608ad;hp=eff620862367aca41fa2caf3dc5d8c1c6a64c87e;hpb=6d71d3b6ee0b6668e991c0296e55f3f41f8b88f2;p=dpdk.git diff --git a/drivers/net/xenvirt/virtqueue.h b/drivers/net/xenvirt/virtqueue.h index eff6208623..350eae3ec7 100644 --- a/drivers/net/xenvirt/virtqueue.h +++ b/drivers/net/xenvirt/virtqueue.h @@ -50,13 +50,6 @@ struct rte_mbuf; /* The alignment to use between consumer and producer parts of vring. */ #define VIRTIO_PCI_VRING_ALIGN 4096 -/* - * Address translatio is between gva<->hva, - * rather than gpa<->hva in virito spec. - */ -#define RTE_MBUF_DATA_DMA_ADDR(mb) \ - rte_pktmbuf_mtod(mb, uint64_t) - enum { VTNET_RQ = 0, VTNET_TQ = 1, VTNET_CQ = 2 }; /** @@ -133,7 +126,7 @@ struct rte_mbuf * virtqueue_detatch_unused(struct virtqueue *vq); static inline int __attribute__((always_inline)) virtqueue_full(const struct virtqueue *vq) { - return (vq->vq_free_cnt == 0); + return vq->vq_free_cnt == 0; } #define VIRTQUEUE_NUSED(vq) ((uint16_t)((vq)->vq_ring.used->idx - (vq)->vq_used_cons_idx)) @@ -151,7 +144,7 @@ vq_ring_update_avail(struct virtqueue *vq, uint16_t desc_idx) */ avail_idx = (uint16_t)(vq->vq_ring.avail->idx & (vq->vq_nentries - 1)); vq->vq_ring.avail->ring[avail_idx] = desc_idx; - rte_compiler_barrier(); /* wmb , for IA memory model barrier is enough*/ + rte_smp_wmb(); vq->vq_ring.avail->idx++; } @@ -198,7 +191,7 @@ virtqueue_enqueue_recv_refill(struct virtqueue *rxvq, struct rte_mbuf *cookie) dxp->ndescs = needed; start_dp[head_idx].addr = - (uint64_t) ((uint64_t)cookie->buf_addr + RTE_PKTMBUF_HEADROOM - sizeof(struct virtio_net_hdr)); + (uint64_t) ((uintptr_t)cookie->buf_addr + RTE_PKTMBUF_HEADROOM - sizeof(struct virtio_net_hdr)); start_dp[head_idx].len = cookie->buf_len - RTE_PKTMBUF_HEADROOM + sizeof(struct virtio_net_hdr); start_dp[head_idx].flags = VRING_DESC_F_WRITE; rxvq->vq_desc_head_idx = start_dp[head_idx].next; @@ -238,7 +231,7 @@ virtqueue_enqueue_xmit(struct virtqueue *txvq, struct rte_mbuf *cookie) start_dp[idx].flags = VRING_DESC_F_NEXT; start_dp[idx].addr = (uintptr_t)NULL; idx = start_dp[idx].next; - start_dp[idx].addr = RTE_MBUF_DATA_DMA_ADDR(cookie); + start_dp[idx].addr = (uint64_t)rte_pktmbuf_mtod(cookie, uintptr_t); start_dp[idx].len = cookie->data_len; start_dp[idx].flags = 0; idx = start_dp[idx].next;