Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a49e6f58 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull virtio/vhost fixes from Michael S. Tsirkin:
 "Last minute fixes:

   - ARM DMA fix revert

   - vhost endian-ness fix

   - MAINTAINERS: email address change for Amit"

* tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
  MAINTAINERS: update email address for Amit Shah
  vhost: fix initialization for vq->is_le
  Revert "vring: Force use of DMA API for ARM-based systems with legacy devices"
parents e9f7f17d 79134d11
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -13065,7 +13065,7 @@ F: drivers/input/serio/userio.c
F:	include/uapi/linux/userio.h

VIRTIO CONSOLE DRIVER
M:	Amit Shah <amit.shah@redhat.com>
M:	Amit Shah <amit@kernel.org>
L:	virtualization@lists.linux-foundation.org
S:	Maintained
F:	drivers/char/virtio_console.c
+4 −6
Original line number Diff line number Diff line
@@ -130,14 +130,14 @@ static long vhost_get_vring_endian(struct vhost_virtqueue *vq, u32 idx,

static void vhost_init_is_le(struct vhost_virtqueue *vq)
{
	if (vhost_has_feature(vq, VIRTIO_F_VERSION_1))
		vq->is_le = true;
	vq->is_le = vhost_has_feature(vq, VIRTIO_F_VERSION_1)
		|| virtio_legacy_is_little_endian();
}
#endif /* CONFIG_VHOST_CROSS_ENDIAN_LEGACY */

static void vhost_reset_is_le(struct vhost_virtqueue *vq)
{
	vq->is_le = virtio_legacy_is_little_endian();
	vhost_init_is_le(vq);
}

struct vhost_flush_struct {
@@ -1714,10 +1714,8 @@ int vhost_vq_init_access(struct vhost_virtqueue *vq)
	int r;
	bool is_le = vq->is_le;

	if (!vq->private_data) {
		vhost_reset_is_le(vq);
	if (!vq->private_data)
		return 0;
	}

	vhost_init_is_le(vq);

+0 −7
Original line number Diff line number Diff line
@@ -159,13 +159,6 @@ static bool vring_use_dma_api(struct virtio_device *vdev)
	if (xen_domain())
		return true;

	/*
	 * On ARM-based machines, the DMA ops will do the right thing,
	 * so always use them with legacy devices.
	 */
	if (IS_ENABLED(CONFIG_ARM) || IS_ENABLED(CONFIG_ARM64))
		return !virtio_has_feature(vdev, VIRTIO_F_VERSION_1);

	return false;
}