Displaying 6 results from an estimated 6 matches for "nvme_init_sq_eventfd".
Did you mean:
nvme_init_cq_eventfd
2015 Nov 19
2
[PATCH -qemu] nvme: support Google vendor extension
On 18/11/2015 06:47, Ming Lin wrote:
> @@ -726,7 +798,11 @@ static void nvme_process_db(NvmeCtrl *n, hwaddr addr, int val)
> }
>
> start_sqs = nvme_cq_full(cq) ? 1 : 0;
> - cq->head = new_head;
> + /* When the mapped pointer memory area is setup, we don't rely on
> + * the MMIO written values to update the head pointer. */
>
2015 Nov 19
2
[PATCH -qemu] nvme: support Google vendor extension
On 18/11/2015 06:47, Ming Lin wrote:
> @@ -726,7 +798,11 @@ static void nvme_process_db(NvmeCtrl *n, hwaddr addr, int val)
> }
>
> start_sqs = nvme_cq_full(cq) ? 1 : 0;
> - cq->head = new_head;
> + /* When the mapped pointer memory area is setup, we don't rely on
> + * the MMIO written values to update the head pointer. */
>
2015 Nov 20
0
[PATCH -qemu] nvme: support Google vendor extension
...r);
+ memory_region_add_eventfd(&n->iomem,
+ 0x1000 + offset, 4, true, cq->cqid*2+1, &cq->notifier);
+}
+
+static void nvme_sq_notifier(EventNotifier *e)
+{
+ NvmeSQueue *sq =
+ container_of(e, NvmeSQueue, notifier);
+
+ nvme_process_sq(sq);
+}
+
+static void nvme_init_sq_eventfd(NvmeSQueue *sq)
+{
+ NvmeCtrl *n = sq->ctrl;
+ uint16_t offset = sq->sqid * 2 * NVME_CAP_DSTRD(n->bar.cap);
+
+ event_notifier_init(&sq->notifier, 0);
+ event_notifier_set_handler(&sq->notifier, nvme_sq_notifier);
+ memory_region_add_eventfd(&n->iomem,
+...
2015 Nov 20
2
[PATCH -qemu] nvme: support Google vendor extension
...otifier);
should be 0x1000 + offset, 4, false, 0, &cq->notifier
> +}
> +
> +static void nvme_sq_notifier(EventNotifier *e)
> +{
> + NvmeSQueue *sq =
> + container_of(e, NvmeSQueue, notifier);
> +
> + nvme_process_sq(sq);
> +}
> +
> +static void nvme_init_sq_eventfd(NvmeSQueue *sq)
> +{
> + NvmeCtrl *n = sq->ctrl;
> + uint16_t offset = sq->sqid * 2 * NVME_CAP_DSTRD(n->bar.cap);
> +
> + event_notifier_init(&sq->notifier, 0);
> + event_notifier_set_handler(&sq->notifier, nvme_sq_notifier);
> + memory_reg...
2015 Nov 20
2
[PATCH -qemu] nvme: support Google vendor extension
...otifier);
should be 0x1000 + offset, 4, false, 0, &cq->notifier
> +}
> +
> +static void nvme_sq_notifier(EventNotifier *e)
> +{
> + NvmeSQueue *sq =
> + container_of(e, NvmeSQueue, notifier);
> +
> + nvme_process_sq(sq);
> +}
> +
> +static void nvme_init_sq_eventfd(NvmeSQueue *sq)
> +{
> + NvmeCtrl *n = sq->ctrl;
> + uint16_t offset = sq->sqid * 2 * NVME_CAP_DSTRD(n->bar.cap);
> +
> + event_notifier_init(&sq->notifier, 0);
> + event_notifier_set_handler(&sq->notifier, nvme_sq_notifier);
> + memory_reg...
2015 Nov 20
0
[PATCH -qemu] nvme: support Google vendor extension
...gt;notifier
>
> > +}
> > +
> > +static void nvme_sq_notifier(EventNotifier *e)
> > +{
> > + NvmeSQueue *sq =
> > + container_of(e, NvmeSQueue, notifier);
> > +
> > + nvme_process_sq(sq);
> > +}
> > +
> > +static void nvme_init_sq_eventfd(NvmeSQueue *sq)
> > +{
> > + NvmeCtrl *n = sq->ctrl;
> > + uint16_t offset = sq->sqid * 2 * NVME_CAP_DSTRD(n->bar.cap);
> > +
> > + event_notifier_init(&sq->notifier, 0);
> > + event_notifier_set_handler(&sq->notifier, nvme_sq_n...