Commit a49e6f58 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost

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
...@@ -13065,7 +13065,7 @@ F: drivers/input/serio/userio.c ...@@ -13065,7 +13065,7 @@ F: drivers/input/serio/userio.c
F: include/uapi/linux/userio.h F: include/uapi/linux/userio.h
VIRTIO CONSOLE DRIVER VIRTIO CONSOLE DRIVER
M: Amit Shah <amit.shah@redhat.com> M: Amit Shah <amit@kernel.org>
L: virtualization@lists.linux-foundation.org L: virtualization@lists.linux-foundation.org
S: Maintained S: Maintained
F: drivers/char/virtio_console.c F: drivers/char/virtio_console.c
......
...@@ -130,14 +130,14 @@ static long vhost_get_vring_endian(struct vhost_virtqueue *vq, u32 idx, ...@@ -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) static void vhost_init_is_le(struct vhost_virtqueue *vq)
{ {
if (vhost_has_feature(vq, VIRTIO_F_VERSION_1)) vq->is_le = vhost_has_feature(vq, VIRTIO_F_VERSION_1)
vq->is_le = true; || virtio_legacy_is_little_endian();
} }
#endif /* CONFIG_VHOST_CROSS_ENDIAN_LEGACY */ #endif /* CONFIG_VHOST_CROSS_ENDIAN_LEGACY */
static void vhost_reset_is_le(struct vhost_virtqueue *vq) 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 { struct vhost_flush_struct {
...@@ -1714,10 +1714,8 @@ int vhost_vq_init_access(struct vhost_virtqueue *vq) ...@@ -1714,10 +1714,8 @@ int vhost_vq_init_access(struct vhost_virtqueue *vq)
int r; int r;
bool is_le = vq->is_le; bool is_le = vq->is_le;
if (!vq->private_data) { if (!vq->private_data)
vhost_reset_is_le(vq);
return 0; return 0;
}
vhost_init_is_le(vq); vhost_init_is_le(vq);
......
...@@ -159,13 +159,6 @@ static bool vring_use_dma_api(struct virtio_device *vdev) ...@@ -159,13 +159,6 @@ static bool vring_use_dma_api(struct virtio_device *vdev)
if (xen_domain()) if (xen_domain())
return true; 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; return false;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment