static void vubr_queue_set_started(VuDev *dev, int qidx, bool started) { VuVirtq *vq = vu_get_queue(dev, qidx); if (qidx % 2 == 1) { vu_set_queue_handler(dev, vq, started ? vubr_handle_tx : NULL); } }
static void vubr_queue_set_started(VuDev *dev, int qidx, bool started) { VubrDev *vubr = container_of(dev, VubrDev, vudev); VuVirtq *vq = vu_get_queue(dev, qidx); if (started && vubr->notifier.fd >= 0) { vu_set_queue_host_notifier(dev, vq, vubr->notifier.fd, getpagesize(), qidx * getpagesize()); } if (qidx % 2 == 1) { vu_set_queue_handler(dev, vq, started ? vubr_handle_tx : NULL); } }