Exemplo n.º 1
0
int
virtqueue_postpone_intr(struct virtqueue *vq)
{
	uint16_t ndesc, avail_idx;

	/*
	 * Request the next interrupt be postponed until at least half
	 * of the available descriptors have been consumed.
	 */
	avail_idx = vq->vq_ring.avail->idx;
	ndesc = (uint16_t)(avail_idx - vq->vq_used_cons_idx) / 2;

	return (vq_ring_enable_interrupt(vq, ndesc));
}
Exemplo n.º 2
0
/**
 * virtqueue_enable_cb  - Enables callback generation
 *
 * @param vq            - Pointer to VirtIO queue control block
 *
 * @return              - Function status
 */
int virtqueue_enable_cb(struct virtqueue *vq)
{

	return (vq_ring_enable_interrupt(vq, 0));
}