Re: linux-next problems

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



+ Stephen

Thanks, Tomi.

On Thu, Jan 12, 2012 at 5:38 PM, Tomi Valkeinen <tomi.valkeinen@xxxxxx> wrote:
> I was trying to compile linux-next for OMAP, but it doesn't compile with
> the default configs.
...
> drivers/remoteproc/remoteproc_rpmsg.c:100:6: error: too few arguments to function 'vring_new_virtqueue'

This is due to a recent change in virtio.

Stephen, I guess this won't be relevant for more than a few days, but
can you please take this patch below to linux-next ?
(alternatively feel free just to squash this to the merge commit.
whatever is easiest for you.)

Thanks!
Ohad.

>From 305aefa86e84a161f2535e4302eaf8b2338eeff8 Mon Sep 17 00:00:00 2001
From: Ohad Ben-Cohen <ohad@xxxxxxxxxx>
Date: Thu, 12 Jan 2012 09:26:57 +0200
Subject: [PATCH] remoteproc: don't use virtio's weak barriers

When creating a virtqueue for rpmsg, tell virtio we're not interested
in "weak" smp barriers, since we're talking to a real device.

On ARM, this means using a DSB instead of a DMB, which is needed
for platforms that kick the remote processor using some kind of
a mailbox device mapped to Device memory (otherwise the kick can
jump ahead and wake the remote processor before it has observed
the changes to the vrings).

Signed-off-by: Ohad Ben-Cohen <ohad@xxxxxxxxxx>
---
 drivers/remoteproc/remoteproc_rpmsg.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/drivers/remoteproc/remoteproc_rpmsg.c
b/drivers/remoteproc/remoteproc_rpmsg.c
index f30be4c..4f73e81 100644
--- a/drivers/remoteproc/remoteproc_rpmsg.c
+++ b/drivers/remoteproc/remoteproc_rpmsg.c
@@ -96,7 +96,11 @@ static struct virtqueue *rp_find_vq(struct
virtio_device *vdev,

 	dev_dbg(rproc->dev, "vring%d: va %p qsz %d\n", id, addr, len);

-	vq = vring_new_virtqueue(len, AMP_VRING_ALIGN, vdev, addr,
+	/*
+	 * Create the new vq, and tell virtio we're not interested in
+	 * the 'weak' smp barriers, since we're talking with a real device.
+	 */
+	vq = vring_new_virtqueue(len, AMP_VRING_ALIGN, vdev, false, addr,
 					rproc_virtio_notify, callback, name);
 	if (!vq) {
 		dev_err(rproc->dev, "vring_new_virtqueue %s failed\n", name);
-- 
1.7.5.4
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux