Skip to content

Commit

Permalink
Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/gi…
Browse files Browse the repository at this point in the history
…t/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"
  • Loading branch information
torvalds committed Feb 3, 2017
2 parents e9f7f17 + 79134d1 commit a49e6f5
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 14 deletions.
2 changes: 1 addition & 1 deletion MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -13065,7 +13065,7 @@ F: drivers/input/serio/userio.c
F: include/uapi/linux/userio.h

VIRTIO CONSOLE DRIVER
M: Amit Shah <amit[email protected]>
M: Amit Shah <amit@kernel.org>
L: [email protected]
S: Maintained
F: drivers/char/virtio_console.c
Expand Down
10 changes: 4 additions & 6 deletions drivers/vhost/vhost.c
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down Expand Up @@ -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);

Expand Down
7 changes: 0 additions & 7 deletions drivers/virtio/virtio_ring.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}

Expand Down

0 comments on commit a49e6f5

Please sign in to comment.