Displaying 20 results from an estimated 62 matches for "rproc_vdev".
2013 Jan 18
0
[RFC] remoteproc: Add support for host-side (reversed) vrings
...ingh);
+ else
+ return vring_interrupt(0, rvring->vq);
}
EXPORT_SYMBOL(rproc_vq_interrupt);
@@ -149,14 +153,21 @@ static int rproc_virtio_find_vqs(struct virtio_device *vdev, unsigned nvqs,
const char *names[])
{
struct rproc *rproc = vdev_to_rproc(vdev);
- int i, ret;
+ struct rproc_vdev *rvdev = vdev_to_rvdev(vdev);
+ int rng, id, ret, nrings = ARRAY_SIZE(rvdev->vring);
+
+ for (id = 0, rng = 0; rng < nrings; ++rng) {
+ struct rproc_vring *rvring = &rvdev->vring[rng];
+ /* Skip the host side rings */
+ if (rvring->vringh)
+ continue;
- for (i = 0; i < nvq...
2013 Jan 18
0
[RFC] remoteproc: Add support for host-side (reversed) vrings
...ingh);
+ else
+ return vring_interrupt(0, rvring->vq);
}
EXPORT_SYMBOL(rproc_vq_interrupt);
@@ -149,14 +153,21 @@ static int rproc_virtio_find_vqs(struct virtio_device *vdev, unsigned nvqs,
const char *names[])
{
struct rproc *rproc = vdev_to_rproc(vdev);
- int i, ret;
+ struct rproc_vdev *rvdev = vdev_to_rvdev(vdev);
+ int rng, id, ret, nrings = ARRAY_SIZE(rvdev->vring);
+
+ for (id = 0, rng = 0; rng < nrings; ++rng) {
+ struct rproc_vring *rvring = &rvdev->vring[rng];
+ /* Skip the host side rings */
+ if (rvring->vringh)
+ continue;
- for (i = 0; i < nvq...
2017 Dec 20
1
[PATCH v4 4/4] virtio_remoteproc: don't kfree device on register failure
...(-)
>
> diff --git a/drivers/remoteproc/remoteproc_virtio.c b/drivers/remoteproc/remoteproc_virtio.c
> index 2946348..1073ea3 100644
> --- a/drivers/remoteproc/remoteproc_virtio.c
> +++ b/drivers/remoteproc/remoteproc_virtio.c
> @@ -304,7 +304,7 @@ int rproc_add_virtio_dev(struct rproc_vdev *rvdev, int id)
> {
> struct rproc *rproc = rvdev->rproc;
> struct device *dev = &rproc->dev;
> - struct virtio_device *vdev = &rvdev->vdev;
> + struct virtio_device *vdev = &rvdev->vdev, *reg_dev = NULL;
> int ret;
>
> vdev->id.device =...
2013 Apr 09
1
[PATCHv2 virtio-next] remoteproc: Add support for host virtio rings (vringh)
...dev->gfeatures = vdev->features[0];
}
+/* Helper function that creates and initializes the host virtio ring */
+static struct vringh *rproc_create_new_vringh(struct rproc_vring *rvring,
+ unsigned int index,
+ vrh_callback_t callback)
+{
+ struct rproc_vringh *rvrh = NULL;
+ struct rproc_vdev *rvdev = rvring->rvdev;
+ int err;
+
+ rvrh = kzalloc(sizeof(*rvrh), GFP_KERNEL);
+ err = -ENOMEM;
+ if (!rvrh)
+ goto err;
+
+ /* initialize the host virtio ring */
+ rvrh->vringh_cb = callback;
+ rvrh->vrh.notify = rproc_virtio_vringh_notify;
+ memset(rvring->va, 0, vring_size(rvring...
2013 Apr 09
1
[PATCHv2 virtio-next] remoteproc: Add support for host virtio rings (vringh)
...dev->gfeatures = vdev->features[0];
}
+/* Helper function that creates and initializes the host virtio ring */
+static struct vringh *rproc_create_new_vringh(struct rproc_vring *rvring,
+ unsigned int index,
+ vrh_callback_t callback)
+{
+ struct rproc_vringh *rvrh = NULL;
+ struct rproc_vdev *rvdev = rvring->rvdev;
+ int err;
+
+ rvrh = kzalloc(sizeof(*rvrh), GFP_KERNEL);
+ err = -ENOMEM;
+ if (!rvrh)
+ goto err;
+
+ /* initialize the host virtio ring */
+ rvrh->vringh_cb = callback;
+ rvrh->vrh.notify = rproc_virtio_vringh_notify;
+ memset(rvring->va, 0, vring_size(rvring...
2017 Mar 29
0
[vhost:linux-next 6/19] drivers//remoteproc/remoteproc_virtio.c:106:7: error: too few arguments to function 'vring_new_virtqueue'
...c/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 160 static u8 rproc_virtio_get_status(struct virtio_device *vdev)
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 161 {
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Br?ndeland 2013-02-21 162 struct rproc_vdev *rvdev = vdev_to_rvdev(vdev);
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Br?ndeland 2013-02-21 163 struct fw_rsc_vdev *rsc;
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Br?ndeland 2013-02-21 164
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Br?ndeland 2013...
2017 Mar 29
0
[vhost:linux-next 6/19] drivers//remoteproc/remoteproc_virtio.c:106:7: error: too few arguments to function 'vring_new_virtqueue'
...c/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 160 static u8 rproc_virtio_get_status(struct virtio_device *vdev)
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 161 {
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Br?ndeland 2013-02-21 162 struct rproc_vdev *rvdev = vdev_to_rvdev(vdev);
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Br?ndeland 2013-02-21 163 struct fw_rsc_vdev *rsc;
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Br?ndeland 2013-02-21 164
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Br?ndeland 2013...
2017 Mar 29
0
[vhost:linux-next 6/19] drivers/remoteproc/remoteproc_virtio.c:107:27: error: passing argument 8 of 'vring_new_virtqueue' from incompatible pointer type
...c/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 160 static u8 rproc_virtio_get_status(struct virtio_device *vdev)
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 161 {
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Br?ndeland 2013-02-21 162 struct rproc_vdev *rvdev = vdev_to_rvdev(vdev);
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Br?ndeland 2013-02-21 163 struct fw_rsc_vdev *rsc;
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Br?ndeland 2013-02-21 164
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Br?ndeland 2013...
2017 Mar 29
0
[vhost:linux-next 6/19] drivers/remoteproc/remoteproc_virtio.c:107:27: error: passing argument 8 of 'vring_new_virtqueue' from incompatible pointer type
...c/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 160 static u8 rproc_virtio_get_status(struct virtio_device *vdev)
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 161 {
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Br?ndeland 2013-02-21 162 struct rproc_vdev *rvdev = vdev_to_rvdev(vdev);
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Br?ndeland 2013-02-21 163 struct fw_rsc_vdev *rsc;
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Br?ndeland 2013-02-21 164
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Br?ndeland 2013...
2013 Mar 15
2
[PATCH 0/2] remoteproc : support for host virtio
From: Erwan Yvin <erwan.yvin at stericsson.com>
This driver depends on Rusty's new host virtio ring implementation,
so this patch-set is based on the vringh branch in Rusty's git.
with the vringh wrapper patch on top. They do not apply cleanly on top of the
remoteproc virtio config patches from Sjur, but it merges fine.
CAIF will use this new host virtio ring implementation.
Ido,
2013 Mar 15
2
[PATCH 0/2] remoteproc : support for host virtio
From: Erwan Yvin <erwan.yvin at stericsson.com>
This driver depends on Rusty's new host virtio ring implementation,
so this patch-set is based on the vringh branch in Rusty's git.
with the vringh wrapper patch on top. They do not apply cleanly on top of the
remoteproc virtio config patches from Sjur, but it merges fine.
CAIF will use this new host virtio ring implementation.
Ido,
2017 Dec 20
0
[PATCH v4 4/4] virtio_remoteproc: don't kfree device on register failure
...11 insertions(+), 2 deletions(-)
diff --git a/drivers/remoteproc/remoteproc_virtio.c b/drivers/remoteproc/remoteproc_virtio.c
index 2946348..1073ea3 100644
--- a/drivers/remoteproc/remoteproc_virtio.c
+++ b/drivers/remoteproc/remoteproc_virtio.c
@@ -304,7 +304,7 @@ int rproc_add_virtio_dev(struct rproc_vdev *rvdev, int id)
{
struct rproc *rproc = rvdev->rproc;
struct device *dev = &rproc->dev;
- struct virtio_device *vdev = &rvdev->vdev;
+ struct virtio_device *vdev = &rvdev->vdev, *reg_dev = NULL;
int ret;
vdev->id.device = id,
@@ -326,15 +326,24 @@ int rproc_add...
2017 Dec 21
2
[PATCH v5 4/4] virtio_remoteproc: correct put_device virtio_device.dev
...ed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/remoteproc/remoteproc_virtio.c b/drivers/remoteproc/remoteproc_virtio.c
index 2946348..b0633fd 100644
--- a/drivers/remoteproc/remoteproc_virtio.c
+++ b/drivers/remoteproc/remoteproc_virtio.c
@@ -327,7 +327,7 @@ int rproc_add_virtio_dev(struct rproc_vdev *rvdev, int id)
ret = register_virtio_device(vdev);
if (ret) {
- put_device(&rproc->dev);
+ put_device(&vdev->dev);
dev_err(dev, "failed to register vdev: %d\n", ret);
goto out;
}
--
2.9.4
2013 Feb 12
3
[PATCHv2 vringh 0/3] Introduce CAIF Virtio driver
From: Sjur Br?ndeland <sjur.brandeland at stericsson.com>
This driver depends on Rusty's new host virtio ring implementation,
so this patch-set is based on the vringh branch in Rusty's git.
Changes since V1:
- Use the new iov helper functions, and simplify iov handling.
However this triggers compile warnings, as it takes struct iov
while kernel api uses struct kiov
- Introduced
2017 Dec 11
6
[PATCH 0/3] fix cleanup for fail to register_virtio_device
This series fix the cleanup for the caller of register_virtio_device,
the main work is use put_device instead of kfree.
weiping zhang (3):
virtio_pci: use put_device instead of kfree
virtio: use put_device instead of kfree
virtio: put reference count of virtio_device.dev
drivers/misc/mic/vop/vop_main.c | 16 +++++++++-------
drivers/remoteproc/remoteproc_virtio.c | 2 +-
2013 Feb 12
3
[PATCHv2 vringh 0/3] Introduce CAIF Virtio driver
From: Sjur Br?ndeland <sjur.brandeland at stericsson.com>
This driver depends on Rusty's new host virtio ring implementation,
so this patch-set is based on the vringh branch in Rusty's git.
Changes since V1:
- Use the new iov helper functions, and simplify iov handling.
However this triggers compile warnings, as it takes struct iov
while kernel api uses struct kiov
- Introduced
2017 Dec 11
6
[PATCH 0/3] fix cleanup for fail to register_virtio_device
This series fix the cleanup for the caller of register_virtio_device,
the main work is use put_device instead of kfree.
weiping zhang (3):
virtio_pci: use put_device instead of kfree
virtio: use put_device instead of kfree
virtio: put reference count of virtio_device.dev
drivers/misc/mic/vop/vop_main.c | 16 +++++++++-------
drivers/remoteproc/remoteproc_virtio.c | 2 +-
2013 Feb 10
3
[PATCH vringh 0/2] Introduce CAIF Virtio driver
From: Sjur Br?ndeland <sjur.brandeland at stericsson.com>
This patch-set introduces the CAIF Virtio Link layer driver.
This driver depends on Rusty's new host virtio ring implementation,
so this patch-set is based on the vringh branch in Rusty's git.
Regards,
Sjur
cc: Rusty Russell <rusty at rustcorp.com.au>
cc: Ohad Ben-Cohen <ohad at wizery.com>
cc: David S. Miller
2013 Feb 10
3
[PATCH vringh 0/2] Introduce CAIF Virtio driver
From: Sjur Br?ndeland <sjur.brandeland at stericsson.com>
This patch-set introduces the CAIF Virtio Link layer driver.
This driver depends on Rusty's new host virtio ring implementation,
so this patch-set is based on the vringh branch in Rusty's git.
Regards,
Sjur
cc: Rusty Russell <rusty at rustcorp.com.au>
cc: Ohad Ben-Cohen <ohad at wizery.com>
cc: David S. Miller
2017 Dec 20
8
[PATCH v4 0/4] use put_device to cleanup resource
Hi,
The main change is split device_register into 2 sperate calls:
device_initalize() and device_add, and then the caller can use
put_device safety when fail to register_virtio_device.
v3->v4:
* split device_register into device_initialize and devicea_add that
the caller can always use put_device when fail to register virtio
device.
v2->v3:
* virtio: add new helper do get