mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 19:21:31 -04:00
Lots of virtio work which wasn't quite ready for last merge window. Plus
I dived into lguest again, reworking the pagetable code so we can move the switcher page: our fixmaps sometimes take more than 2MB now... Cheers, Rusty. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) iQIcBAABAgAGBQJRga7lAAoJENkgDmzRrbjx/yIQAKpqIBtxOJeYH3SY+Uoe7Cfp toNYcpJEldvb0UcWN8M2cSZpHoxl1SUoq9djwcM29tcKa7EZAjHaGtb/Q1qMTDgv +B3WAfiGU2pmXFxLAkbrlLNGnysy24JspqJQ5hcYV84EiBxQdZp+nCYgOphd+GMK ww16vo9ya8jFjzt3GeRp/Heb3vEzV4Cp6BC3i0m8A3WNpEpbRb66pqXNk5o8ggJO SxQOKSXmUM+0m+jKSul5xn3e2Ls2LOrZZ8/DIHA+gW66N4Zab7n2/j1Q9VRxb4lh FqnR7KwgBX8OCh9IsBDqQYS7MohvMYge6eUdLtFrq84jvMleMEhrC8q9v2tucFUb 5t18CLwvyK7Gdg6UCKiZ7YSPcuURAILO16al9bh5IseeBDsuX+43VsvQoBmFn9k6 cLOVTZ6BlOmahK5PyRYFSvLa9Rxzr/05Mr7oYq9UgshD9io78dnqczFYIORF53rW zD7C4HuTZfYJFfNd0wAJ0RfVXnf8QvDlMdo7zPC26DSXNWqj8OexCY0qqSWUB+2F vcfJP6NkV4fZB8aawWIFUVwc64yqtt2uPVLa7ATZWqk16PgKrchGewmw3tiEwOgu 1l7xgffTRRUIJsqaCZoXdgw3yezcKRjuUBcOxL09lDAAhc+NxWNvzZBsKp66DwDk yZQKn0OdXnuf0CeEOfFf =1tYL -----END PGP SIGNATURE----- Merge tag 'virtio-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux Pull virtio & lguest updates from Rusty Russell: "Lots of virtio work which wasn't quite ready for last merge window. Plus I dived into lguest again, reworking the pagetable code so we can move the switcher page: our fixmaps sometimes take more than 2MB now..." Ugh. Annoying conflicts with the tcm_vhost -> vhost_scsi rename. Hopefully correctly resolved. * tag 'virtio-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux: (57 commits) caif_virtio: Remove bouncing email addresses lguest: improve code readability in lg_cpu_start. virtio-net: fill only rx queues which are being used lguest: map Switcher below fixmap. lguest: cache last cpu we ran on. lguest: map Switcher text whenever we allocate a new pagetable. lguest: don't share Switcher PTE pages between guests. lguest: expost switcher_pages array (as lg_switcher_pages). lguest: extract shadow PTE walking / allocating. lguest: make check_gpte et. al return bool. lguest: assume Switcher text is a single page. lguest: rename switcher_page to switcher_pages. lguest: remove RESERVE_MEM constant. lguest: check vaddr not pgd for Switcher protection. lguest: prepare to make SWITCHER_ADDR a variable. virtio: console: replace EMFILE with EBUSY for already-open port virtio-scsi: reset virtqueue affinity when doing cpu hotplug virtio-scsi: introduce multiqueue support virtio-scsi: push vq lock/unlock into virtscsi_vq_done virtio-scsi: pass struct virtio_scsi to virtqueue completion function ...
This commit is contained in:
commit
736a2dd257
60 changed files with 4481 additions and 4074 deletions
|
|
@ -757,14 +757,14 @@ int rpmsg_send_offchannel_raw(struct rpmsg_channel *rpdev, u32 src, u32 dst,
|
|||
mutex_lock(&vrp->tx_lock);
|
||||
|
||||
/* add message to the remote processor's virtqueue */
|
||||
err = virtqueue_add_buf(vrp->svq, &sg, 1, 0, msg, GFP_KERNEL);
|
||||
err = virtqueue_add_outbuf(vrp->svq, &sg, 1, msg, GFP_KERNEL);
|
||||
if (err) {
|
||||
/*
|
||||
* need to reclaim the buffer here, otherwise it's lost
|
||||
* (memory won't leak, but rpmsg won't use it again for TX).
|
||||
* this will wait for a buffer management overhaul.
|
||||
*/
|
||||
dev_err(dev, "virtqueue_add_buf failed: %d\n", err);
|
||||
dev_err(dev, "virtqueue_add_outbuf failed: %d\n", err);
|
||||
goto out;
|
||||
}
|
||||
|
||||
|
|
@ -839,7 +839,7 @@ static void rpmsg_recv_done(struct virtqueue *rvq)
|
|||
sg_init_one(&sg, msg, RPMSG_BUF_SIZE);
|
||||
|
||||
/* add the buffer back to the remote processor's virtqueue */
|
||||
err = virtqueue_add_buf(vrp->rvq, &sg, 0, 1, msg, GFP_KERNEL);
|
||||
err = virtqueue_add_inbuf(vrp->rvq, &sg, 1, msg, GFP_KERNEL);
|
||||
if (err < 0) {
|
||||
dev_err(dev, "failed to add a virtqueue buffer: %d\n", err);
|
||||
return;
|
||||
|
|
@ -972,7 +972,7 @@ static int rpmsg_probe(struct virtio_device *vdev)
|
|||
|
||||
sg_init_one(&sg, cpu_addr, RPMSG_BUF_SIZE);
|
||||
|
||||
err = virtqueue_add_buf(vrp->rvq, &sg, 0, 1, cpu_addr,
|
||||
err = virtqueue_add_inbuf(vrp->rvq, &sg, 1, cpu_addr,
|
||||
GFP_KERNEL);
|
||||
WARN_ON(err); /* sanity check; this can't really happen */
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue