virtio_ring.c (7a53e17accce9d310d2e522dfc701d8da7ccfa65) virtio_ring.c (5c669c4a4c6aa0489848093c93b8029f5c5c75ec)
1// SPDX-License-Identifier: GPL-2.0-or-later
2/* Virtio ring implementation.
3 *
4 * Copyright 2007 Rusty Russell IBM Corporation
5 */
6#include <linux/virtio.h>
7#include <linux/virtio_ring.h>
8#include <linux/virtio_config.h>

--- 2412 unchanged lines hidden (view full) ---

2421}
2422EXPORT_SYMBOL_GPL(virtqueue_detach_unused_buf);
2423
2424static inline bool more_used(const struct vring_virtqueue *vq)
2425{
2426 return vq->packed_ring ? more_used_packed(vq) : more_used_split(vq);
2427}
2428
1// SPDX-License-Identifier: GPL-2.0-or-later
2/* Virtio ring implementation.
3 *
4 * Copyright 2007 Rusty Russell IBM Corporation
5 */
6#include <linux/virtio.h>
7#include <linux/virtio_ring.h>
8#include <linux/virtio_config.h>

--- 2412 unchanged lines hidden (view full) ---

2421}
2422EXPORT_SYMBOL_GPL(virtqueue_detach_unused_buf);
2423
2424static inline bool more_used(const struct vring_virtqueue *vq)
2425{
2426 return vq->packed_ring ? more_used_packed(vq) : more_used_split(vq);
2427}
2428
2429/**
2430 * vring_interrupt - notify a virtqueue on an interrupt
2431 * @irq: the IRQ number (ignored)
2432 * @_vq: the struct virtqueue to notify
2433 *
2434 * Calls the callback function of @_vq to process the virtqueue
2435 * notification.
2436 */
2429irqreturn_t vring_interrupt(int irq, void *_vq)
2430{
2431 struct vring_virtqueue *vq = to_vvq(_vq);
2432
2433 if (!more_used(vq)) {
2434 pr_debug("virtqueue interrupt with no work for %p\n", vq);
2435 return IRQ_NONE;
2436 }

--- 414 unchanged lines hidden ---
2437irqreturn_t vring_interrupt(int irq, void *_vq)
2438{
2439 struct vring_virtqueue *vq = to_vvq(_vq);
2440
2441 if (!more_used(vq)) {
2442 pr_debug("virtqueue interrupt with no work for %p\n", vq);
2443 return IRQ_NONE;
2444 }

--- 414 unchanged lines hidden ---