For each dmadev instance, perform some basic copy tests to validate that
functionality.

Signed-off-by: Bruce Richardson <bruce.richard...@intel.com>
---
<snip>
+static inline void
+await_hw(int dev_id, uint16_t vchan)
+{
+       int idle = rte_dmadev_vchan_idle(dev_id, vchan);
+       if (idle < 0) {
+               /* for drivers that don't support this op, just sleep for 25 
microseconds */
+               usleep(25);
+               return;
+       }
+
+       /* for those that do, *max* end time is one second from now, but all 
should be faster */
+       const uint64_t end_cycles = rte_get_timer_cycles() + rte_get_timer_hz();
+       while (!idle && rte_get_timer_cycles() < end_cycles) {
+               rte_pause();
+               idle = rte_dmadev_vchan_idle(dev_id, vchan);
+       }
+}

The new DMA IOAT driver works fine with this function and will not be affected by an increase in timeout time as suggested by Jerin.

Reviewed-by: Conor Walsh <conor.wa...@intel.com>

Reply via email to