[Intel-gfx] [RFC PATCH 2/2] mdev: introduce device specific ops

2019-09-12 Thread Jason Wang
ops). This allows the future drivers like virtio-mdev to implement its own device specific ops. Signed-off-by: Jason Wang --- drivers/gpu/drm/i915/gvt/kvmgt.c | 14 +++--- drivers/s390/cio/vfio_ccw_ops.c | 14 +++--- drivers/s390/crypto/vfio_ap_ops.c | 10 +++-- drivers/vfio/mdev/vfio_mdev.c

[Intel-gfx] [RFC PATCH 1/2] mdev: device id support

2019-09-12 Thread Jason Wang
. So this patch add id_table to mdev_driver and id for mdev parent, and implement the match method for mdev bus. [1] https://lkml.org/lkml/2019/9/10/135 Signed-off-by: Jason Wang --- drivers/gpu/drm/i915/gvt/kvmgt.c | 2 +- drivers/s390/cio/vfio_ccw_ops.c | 2 +- drivers/s390/crypto/vfio_ap_

[Intel-gfx] [RFC PATCH 0/2] Mdev: support mutiple kinds of devices

2019-09-12 Thread Jason Wang
move vfio callbacks there Sent for early reivew, compile test only! Thanks [1] https://lkml.org/lkml/2019/9/10/135 Jason Wang (2): mdev: device id support mdev: introduce device specific ops drivers/gpu/drm/i915/gvt/kvmgt.c | 16 --- drivers/s390/cio/vfio_ccw_ops.c | 16

Re: [Intel-gfx] [RFC PATCH 1/2] mdev: device id support

2019-09-17 Thread Jason Wang
On 2019/9/17 下午3:55, Tian, Kevin wrote: From: Jason Wang Sent: Thursday, September 12, 2019 5:40 PM Mdev bus only support vfio driver right now, so it doesn't implement match method. But in the future, we may add drivers other than vfio, one example is virtio-mdev[1] driver. This means we

Re: [Intel-gfx] [RFC PATCH 2/2] mdev: introduce device specific ops

2019-09-17 Thread Jason Wang
On 2019/9/17 下午4:09, Tian, Kevin wrote: From: Jason Wang Sent: Thursday, September 12, 2019 5:40 PM Currently, except for the crate and remove. The rest fields of mdev_parent_ops is just designed for vfio-mdev driver and may not help for kernel mdev driver. So follow the device id support by

Re: [Intel-gfx] [RFC PATCH 1/2] mdev: device id support

2019-09-17 Thread Jason Wang
On 2019/9/17 下午8:07, Cornelia Huck wrote: On Thu, 12 Sep 2019 17:40:11 +0800 Jason Wang wrote: Mdev bus only support vfio driver right now, so it doesn't implement match method. But in the future, we may add drivers other than vfio, one example is virtio-mdev[1] driver. This means we ne

Re: [Intel-gfx] [RFC PATCH 2/2] mdev: introduce device specific ops

2019-09-17 Thread Jason Wang
On 2019/9/17 下午8:42, Cornelia Huck wrote: On Thu, 12 Sep 2019 17:40:12 +0800 Jason Wang wrote: Currently, except for the crate and remove. The rest fields of mdev_parent_ops is just designed for vfio-mdev driver and may not help for kernel mdev driver. So follow the device id support by

Re: [Intel-gfx] [RFC PATCH 2/2] mdev: introduce device specific ops

2019-09-17 Thread Jason Wang
On 2019/9/18 上午10:57, Tian, Kevin wrote: From: Jason Wang [mailto:jasow...@redhat.com] Sent: Tuesday, September 17, 2019 6:17 PM On 2019/9/17 下午4:09, Tian, Kevin wrote: From: Jason Wang Sent: Thursday, September 12, 2019 5:40 PM Currently, except for the crate and remove. The rest fields of

[Intel-gfx] [RFC PATCH V2 0/6] mdev based hardware virtio offloading support

2019-09-20 Thread Jason Wang
part of UAPI any more - use GFP_ATOMIC in mvnet sample device and other tweaks - set_vring_base/get_vring_base support for mvnet device Jason Wang (6): mdev: class id support mdev: introduce device specific ops mdev: introduce virtio device and its device ops virtio: introudce a mdev

[Intel-gfx] [RFC PATCH V2 1/6] mdev: class id support

2019-09-20 Thread Jason Wang
ectly. So this patch add id_table to mdev_driver and id for mdev parent, and implement the match method for mdev bus. Signed-off-by: Jason Wang --- Documentation/driver-api/vfio-mediated-device.rst | 7 +-- drivers/gpu/drm/i915/gvt/kvmgt.c | 2 +- drivers/s390/cio/vfio_ccw_

[Intel-gfx] [RFC PATCH V2 2/6] mdev: introduce device specific ops

2019-09-20 Thread Jason Wang
ops). This allows the future drivers like virtio-mdev to implement its own device specific ops. Signed-off-by: Jason Wang --- .../driver-api/vfio-mediated-device.rst | 4 +- drivers/gpu/drm/i915/gvt/kvmgt.c | 15 +++--- drivers/s390/cio/vfio_ccw_ops.c | 15

[Intel-gfx] [RFC PATCH V2 3/6] mdev: introduce virtio device and its device ops

2019-09-20 Thread Jason Wang
This patch implements basic support for mdev driver that support virtio transport for kernel driver. Signed-off-by: Jason Wang --- drivers/vfio/mdev/mdev_core.c | 7 ++ include/linux/mdev.h | 3 + include/linux/virtio_mdev.h | 141 ++ 3 files

[Intel-gfx] [RFC PATCH V2 4/6] virtio: introudce a mdev based transport

2019-09-20 Thread Jason Wang
device with mdev based config ops. This means, unlike the exist hardware transport, this is a software transport between mdev driver and mdev device. The transport was implemented through device specific ops which is a part of mdev_parent_ops now. Signed-off-by: Jason Wang --- drivers/vfio/mdev

[Intel-gfx] [RFC PATCH V2 6/6] docs: Sample driver to demonstrate how to implement virtio-mdev framework

2019-09-20 Thread Jason Wang
more work for userspace VFIO based vhost-mdev driver to work. E.g through notifier, it will be addressed in the future. Signed-off-by: Jason Wang --- samples/Kconfig| 7 + samples/vfio-mdev/Makefile | 1 + samples/vfio-mdev/mvnet.c | 688 + 3

[Intel-gfx] [RFC PATCH V2 5/6] vringh: fix copy direction of vringh_iov_push_kern()

2019-09-20 Thread Jason Wang
We want to copy from iov to buf, so the direction was wrong. Signed-off-by: Jason Wang --- drivers/vhost/vringh.c | 8 +++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/vhost/vringh.c b/drivers/vhost/vringh.c index 08ad0d1f0476..a0a2d74967ef 100644 --- a/drivers

Re: [Intel-gfx] [RFC PATCH V2 0/6] mdev based hardware virtio offloading support

2019-09-22 Thread Jason Wang
On 2019/9/20 下午4:20, Jason Wang wrote: Hi all: There are hardware that can do virtio datapath offloading while having its own control path. This path tries to implement a mdev based unified API to support using kernel virtio driver to drive those devices. This is done by introducing a new mdev

[Intel-gfx] [PATCH 0/6] mdev based hardware virtio offloading support

2019-09-23 Thread Jason Wang
- use device_ops to implement the transport API, then it's not a part of UAPI any more - use GFP_ATOMIC in mvnet sample device and other tweaks - set_vring_base/get_vring_base support for mvnet device Jason Wang (6): mdev: class id support mdev: introduce device specific ops mdev: in

[Intel-gfx] [PATCH 1/6] mdev: class id support

2019-09-23 Thread Jason Wang
ectly. So this patch adds id_table to mdev_driver and class_id for mdev parent with the match method for mdev bus. Signed-off-by: Jason Wang --- Documentation/driver-api/vfio-mediated-device.rst | 7 +-- drivers/gpu/drm/i915/gvt/kvmgt.c | 2 +- drivers/s390/cio/vfio_ccw_

[Intel-gfx] [PATCH 2/6] mdev: introduce device specific ops

2019-09-23 Thread Jason Wang
ops (e.g vfio ops). This allows the future drivers like virtio-mdev to implement its own device specific ops. Signed-off-by: Jason Wang --- .../driver-api/vfio-mediated-device.rst | 4 +- MAINTAINERS | 1 + drivers/gpu/drm/i915/gvt/kvmgt.c

[Intel-gfx] [PATCH 3/6] mdev: introduce virtio device and its device ops

2019-09-23 Thread Jason Wang
This patch implements basic support for mdev driver that supports virtio transport for kernel virtio driver. Signed-off-by: Jason Wang --- drivers/vfio/mdev/mdev_core.c | 7 ++ include/linux/mdev.h | 4 + include/linux/virtio_mdev.h | 144 ++ 3

[Intel-gfx] [PATCH 4/6] virtio: introduce a mdev based transport

2019-09-23 Thread Jason Wang
device with mdev based config ops. This means it is a software transport between mdev driver and mdev device. The transport was implemented through device specific opswhich is a part of mdev_parent_ops now. Signed-off-by: Jason Wang --- MAINTAINERS | 1 + drivers/vfio/mdev

[Intel-gfx] [PATCH 6/6] docs: sample driver to demonstrate how to implement virtio-mdev framework

2019-09-23 Thread Jason Wang
'virtio' type is supported right now. I plan to add 'vhost' type on top which requires some virtual IOMMU in this sample driver. Signed-off-by: Jason Wang --- MAINTAINERS| 1 + samples/Kconfig| 7 + samples/vfio-mdev/Makefile | 1 + sampl

[Intel-gfx] [PATCH 5/6] vringh: fix copy direction of vringh_iov_push_kern()

2019-09-23 Thread Jason Wang
We want to copy from iov to buf, so the direction was wrong. Signed-off-by: Jason Wang --- drivers/vhost/vringh.c | 8 +++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/vhost/vringh.c b/drivers/vhost/vringh.c index 08ad0d1f0476..a0a2d74967ef 100644 --- a/drivers

Re: [Intel-gfx] [PATCH 1/6] mdev: class id support

2019-09-24 Thread Jason Wang
On 2019/9/24 上午12:05, Alex Williamson wrote: > On Mon, 23 Sep 2019 21:03:26 +0800 > Jason Wang wrote: > >> Mdev bus only supports vfio driver right now, so it doesn't implement >> match method. But in the future, we may add drivers other than vfio, >> one exampl

Re: [Intel-gfx] [PATCH 1/6] mdev: class id support

2019-09-24 Thread Jason Wang
On 2019/9/24 上午4:58, Parav Pandit wrote: > Hi Jason, > >> -Original Message----- >> From: Jason Wang >> Sent: Monday, September 23, 2019 8:03 AM >> To: k...@vger.kernel.org; linux-s...@vger.kernel.org; linux- >> ker...@vger.kernel.org; dri-de..

Re: [Intel-gfx] [PATCH 1/6] mdev: class id support

2019-09-24 Thread Jason Wang
On 2019/9/24 上午5:02, Parav Pandit wrote: > Hi Jason, > > >> -Original Message- >> From: Jason Wang >> Sent: Monday, September 23, 2019 8:03 AM >> To: k...@vger.kernel.org; linux-s...@vger.kernel.org; linux- >> ker...@vger.kernel.org; dri-d

Re: [Intel-gfx] [PATCH 2/6] mdev: introduce device specific ops

2019-09-24 Thread Jason Wang
-20190920] >> [if your patch is applied to the wrong git tree, please drop us a note to >> help >> improve the system. BTW, we also suggest to use '--base' option to specify >> the >> base tree in git format-patch, please see >> https://stackoverflow.

Re: [Intel-gfx] [PATCH 2/6] mdev: introduce device specific ops

2019-09-24 Thread Jason Wang
On 2019/9/24 上午6:59, Parav Pandit wrote: > >> -Original Message- >> From: Jason Wang >> Sent: Monday, September 23, 2019 8:03 AM >> To: k...@vger.kernel.org; linux-s...@vger.kernel.org; linux- >> ker...@vger.kernel.org; dri-de...@l

Re: [Intel-gfx] [PATCH 4/6] virtio: introduce a mdev based transport

2019-09-24 Thread Jason Wang
On 2019/9/24 上午6:28, Parav Pandit wrote: > >> -Original Message- >> From: Jason Wang >> Sent: Monday, September 23, 2019 8:03 AM >> To: k...@vger.kernel.org; linux-s...@vger.kernel.org; linux- >> ker...@vger.kernel.org; dri-de...@l

[Intel-gfx] [PATCH V2 1/8] vringh: fix copy direction of vringh_iov_push_kern()

2019-09-24 Thread Jason Wang
We want to copy from iov to buf, so the direction was wrong. Signed-off-by: Jason Wang --- drivers/vhost/vringh.c | 8 +++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/vhost/vringh.c b/drivers/vhost/vringh.c index 08ad0d1f0476..a0a2d74967ef 100644 --- a/drivers

[Intel-gfx] [PATCH V2 0/8] mdev based hardware virtio offloading support

2019-09-24 Thread Jason Wang
(device_ops) - split device_ops into seperate headers - drop the mdev_set_dma_ops() - use device_ops to implement the transport API, then it's not a part of UAPI any more - use GFP_ATOMIC in mvnet sample device and other tweaks - set_vring_base/get_vring_base support for mvnet device Jason Wan

[Intel-gfx] [PATCH V2 2/8] mdev: class id support

2019-09-24 Thread Jason Wang
ectly. So this patch adds id_table to mdev_driver and class_id for mdev parent with the match method for mdev bus. Signed-off-by: Jason Wang --- Documentation/driver-api/vfio-mediated-device.rst | 3 +++ drivers/gpu/drm/i915/gvt/kvmgt.c | 1 + drivers/s390/cio/vfio_ccw_

[Intel-gfx] [PATCH V2 3/8] mdev: bus uevent support

2019-09-24 Thread Jason Wang
This patch adds bus uevent support for mdev bus in order to allow cooperation with userspace. Signed-off-by: Jason Wang --- drivers/vfio/mdev/mdev_driver.c | 8 1 file changed, 8 insertions(+) diff --git a/drivers/vfio/mdev/mdev_driver.c b/drivers/vfio/mdev/mdev_driver.c index

[Intel-gfx] [PATCH V2 4/8] modpost: add support for mdev class id

2019-09-24 Thread Jason Wang
Add support to parse mdev class id table. Signed-off-by: Jason Wang --- drivers/vfio/mdev/vfio_mdev.c | 2 ++ scripts/mod/devicetable-offsets.c | 3 +++ scripts/mod/file2alias.c | 10 ++ 3 files changed, 15 insertions(+) diff --git a/drivers/vfio/mdev/vfio_mdev.c b

[Intel-gfx] [PATCH V2 5/8] mdev: introduce device specific ops

2019-09-24 Thread Jason Wang
be used by vfio-mdev and virtio-mdev. Signed-off-by: Jason Wang --- .../driver-api/vfio-mediated-device.rst | 4 +- MAINTAINERS | 1 + drivers/gpu/drm/i915/gvt/kvmgt.c | 17 +++--- drivers/s390/cio/vfio_ccw_ops.c | 17

[Intel-gfx] [PATCH V2 6/8] mdev: introduce virtio device and its device ops

2019-09-24 Thread Jason Wang
This patch implements basic support for mdev driver that supports virtio transport for kernel virtio driver. Signed-off-by: Jason Wang --- include/linux/mdev.h| 2 + include/linux/virtio_mdev.h | 145 2 files changed, 147 insertions(+) create mode

[Intel-gfx] [PATCH V2 7/8] virtio: introduce a mdev based transport

2019-09-24 Thread Jason Wang
device with mdev based config ops. This means it is a software transport between mdev driver and mdev device. The transport was implemented through device specific opswhich is a part of mdev_parent_ops now. Signed-off-by: Jason Wang --- drivers/virtio/Kconfig | 7 + drivers/virtio

[Intel-gfx] [PATCH V2 8/8] docs: sample driver to demonstrate how to implement virtio-mdev framework

2019-09-24 Thread Jason Wang
'virtio' type is supported right now. I plan to add 'vhost' type on top which requires some virtual IOMMU implemented in this sample driver. Signed-off-by: Jason Wang --- MAINTAINERS| 1 + samples/Kconfig| 7 + samples/vfio-mdev/Makefile | 1

Re: [Intel-gfx] [PATCH 5/6] vringh: fix copy direction of vringh_iov_push_kern()

2019-09-25 Thread Jason Wang
On 2019/9/24 下午10:04, Alex Williamson wrote: > On Mon, 23 Sep 2019 12:00:41 -0400 > "Michael S. Tsirkin" wrote: > >> On Mon, Sep 23, 2019 at 09:45:59AM -0600, Alex Williamson wrote: >>> On Mon, 23 Sep 2019 21:03:30 +0800 >>> Jason Wang wrote: >>

Re: [Intel-gfx] [PATCH V2 2/8] mdev: class id support

2019-09-25 Thread Jason Wang
On 2019/9/25 上午7:06, Alex Williamson wrote: > On Tue, 24 Sep 2019 21:53:26 +0800 > Jason Wang wrote: > >> Mdev bus only supports vfio driver right now, so it doesn't implement >> match method. But in the future, we may add drivers other than vfio, >> the first d

Re: [Intel-gfx] [PATCH V2 5/8] mdev: introduce device specific ops

2019-09-25 Thread Jason Wang
On 2019/9/25 上午7:06, Alex Williamson wrote: > On Tue, 24 Sep 2019 21:53:29 +0800 > Jason Wang wrote: > >> Currently, except for the create and remove, the rest of >> mdev_parent_ops is designed for vfio-mdev driver only and may not help >> for kernel mdev driver. With

Re: [Intel-gfx] [PATCH V2 6/8] mdev: introduce virtio device and its device ops

2019-09-25 Thread Jason Wang
On 2019/9/25 上午7:06, Alex Williamson wrote: > On Tue, 24 Sep 2019 21:53:30 +0800 > Jason Wang wrote: > >> This patch implements basic support for mdev driver that supports >> virtio transport for kernel virtio driver. >> >> Signed-off-by: Jason Wang >> --

Re: [Intel-gfx] [PATCH V2 2/8] mdev: class id support

2019-09-25 Thread Jason Wang
On 2019/9/25 下午4:28, Tian, Kevin wrote: >> From: Jason Wang >> Sent: Tuesday, September 24, 2019 9:53 PM >> >> Mdev bus only supports vfio driver right now, so it doesn't implement >> match method. But in the future, we may add drivers other than vfio, >&

Re: [Intel-gfx] [PATCH V2 0/8] mdev based hardware virtio offloading support

2019-09-25 Thread Jason Wang
On 2019/9/25 下午4:24, Tian, Kevin wrote: >> From: Jason Wang [mailto:jasow...@redhat.com] >> Sent: Tuesday, September 24, 2019 9:53 PM >> >> Hi all: >> >> There are hardware that can do virtio datapath offloading while having >> its own control path.

Re: [Intel-gfx] [PATCH V2 6/8] mdev: introduce virtio device and its device ops

2019-09-25 Thread Jason Wang
On 2019/9/25 下午5:09, Tian, Kevin wrote: From: Jason Wang [mailto:jasow...@redhat.com] Sent: Tuesday, September 24, 2019 9:54 PM This patch implements basic support for mdev driver that supports virtio transport for kernel virtio driver. Signed-off-by: Jason Wang --- include/linux/mdev.h

[Intel-gfx] [PATCH] drm/i915/selftests: Fix comment typo

2022-07-20 Thread Jason Wang
The double `wait' is duplicated in line 974, remove one. Signed-off-by: Jason Wang --- drivers/gpu/drm/i915/selftests/i915_request.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/selftests/i915_request.c b/drivers/gpu/drm/i915/selftests/i915_requ

[Intel-gfx] [PATCH] drm/i915/gt: Remove unneeded semicolon

2022-07-20 Thread Jason Wang
The semicolon after a code block end symbol `}' is unneeded, remove it. Signed-off-by: Jason Wang --- drivers/gpu/drm/i915/gt/intel_migrate.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/gt/intel_migrate.c b/drivers/gpu/drm/i915/gt/intel_migr

[Intel-gfx] [PATCH] drm/i915/selftests: Fix comment typo

2022-07-20 Thread Jason Wang
Fix the double `wait' typo in comment. Signed-off-by: Jason Wang --- drivers/gpu/drm/i915/selftests/i915_request.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/selftests/i915_request.c b/drivers/gpu/drm/i915/selftests/i915_request.c

[Intel-gfx] [PATCH] drm/i915/gt: Remove unneeded semicolon

2022-07-20 Thread Jason Wang
The semicolon after the `}' in line 648 is unneeded. Signed-off-by: Jason Wang --- drivers/gpu/drm/i915/gt/intel_migrate.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/gt/intel_migrate.c b/drivers/gpu/drm/i915/gt/intel_migrate.c index 2c35324

Re: [Intel-gfx] [PATCH V2 6/8] mdev: introduce virtio device and its device ops

2019-09-25 Thread Jason Wang
On 2019/9/25 下午9:21, Michael S. Tsirkin wrote: On Wed, Sep 25, 2019 at 08:45:21PM +0800, Jason Wang wrote: On 2019/9/25 下午5:09, Tian, Kevin wrote: From: Jason Wang [mailto:jasow...@redhat.com] Sent: Tuesday, September 24, 2019 9:54 PM This patch implements basic support for mdev driver that

Re: [Intel-gfx] [PATCH V2 6/8] mdev: introduce virtio device and its device ops

2019-09-26 Thread Jason Wang
On 2019/9/26 上午8:48, Tian, Kevin wrote: +}; I'm not sure how stable above ops are. It's the kernel internal API, so there's no strict requirement for this. We will export a version value for userspace for compatibility. Does it make sense if defining just two callbacks here, e.g. vq_ctrl an

Re: [Intel-gfx] [PATCH V2 6/8] mdev: introduce virtio device and its device ops

2019-09-26 Thread Jason Wang
On 2019/9/26 下午4:21, Michael S. Tsirkin wrote: On Thu, Sep 26, 2019 at 12:04:46PM +0800, Jason Wang wrote: I'm not sure how stable above ops are. It's the kernel internal API, so there's no strict requirement for this. We will export a version value for userspace for compat

Re: [Intel-gfx] [PATCH V2 5/8] mdev: introduce device specific ops

2019-09-27 Thread Jason Wang
On 2019/9/25 下午10:11, Rob Miller wrote: > >     mdev_set_class_id(mdev, MDEV_ID_VFIO); > > +   mdev_set_dev_ops(mdev, &intel_vfio_vgpu_dev_ops); > > This seems rather unrefined.  We're registering interdependent data in > separate calls.  All drivers need to make both of these calls.  I'm not >

Re: [Intel-gfx] [PATCH V2 6/8] mdev: introduce virtio device and its device ops

2019-09-27 Thread Jason Wang
On 2019/9/25 上午7:06, Alex Williamson wrote: On Tue, 24 Sep 2019 21:53:30 +0800 Jason Wang wrote: This patch implements basic support for mdev driver that supports virtio transport for kernel virtio driver. Signed-off-by: Jason Wang --- include/linux/mdev.h| 2 + include/linux

Re: [Intel-gfx] [PATCH V2 6/8] mdev: introduce virtio device and its device ops

2019-10-09 Thread Jason Wang
On 2019/10/1 上午5:36, Alex Williamson wrote: On Fri, 27 Sep 2019 16:25:13 + Parav Pandit wrote: Hi Alex, -Original Message- From: Alex Williamson Sent: Tuesday, September 24, 2019 6:07 PM To: Jason Wang Cc: k...@vger.kernel.org; linux-s...@vger.kernel.org; linux- ker

Re: [Intel-gfx] [PATCH V2 6/8] mdev: introduce virtio device and its device ops

2019-10-10 Thread Jason Wang
On 2019/9/25 上午7:06, Alex Williamson wrote: On Tue, 24 Sep 2019 21:53:30 +0800 Jason Wang wrote: This patch implements basic support for mdev driver that supports virtio transport for kernel virtio driver. Signed-off-by: Jason Wang --- include/linux/mdev.h| 2 + include/linux

[Intel-gfx] [PATCH V3 0/7] mdev based hardware virtio offloading support

2019-10-11 Thread Jason Wang
ice_ops to implement the transport API, then it's not a part of UAPI any more - use GFP_ATOMIC in mvnet sample device and other tweaks - set_vring_base/get_vring_base support for mvnet device Jason Wang (7): mdev: class id support mdev: bus uevent support modpost: add support for mdev c

[Intel-gfx] [PATCH V3 1/7] mdev: class id support

2019-10-11 Thread Jason Wang
ectly. So this patch adds id_table to mdev_driver and class_id for mdev device with the match method for mdev bus. Signed-off-by: Jason Wang --- Documentation/driver-api/vfio-mediated-device.rst | 7 ++- drivers/gpu/drm/i915/gvt/kvmgt.c | 1 + drivers/s390/cio/vfio_ccw_

[Intel-gfx] [PATCH V3 2/7] mdev: bus uevent support

2019-10-11 Thread Jason Wang
This patch adds bus uevent support for mdev bus in order to allow cooperation with userspace. Signed-off-by: Jason Wang --- drivers/vfio/mdev/mdev_driver.c | 8 1 file changed, 8 insertions(+) diff --git a/drivers/vfio/mdev/mdev_driver.c b/drivers/vfio/mdev/mdev_driver.c index

[Intel-gfx] [PATCH V3 3/7] modpost: add support for mdev class id

2019-10-11 Thread Jason Wang
Add support to parse mdev class id table. Signed-off-by: Jason Wang --- drivers/vfio/mdev/vfio_mdev.c | 2 ++ scripts/mod/devicetable-offsets.c | 3 +++ scripts/mod/file2alias.c | 10 ++ 3 files changed, 15 insertions(+) diff --git a/drivers/vfio/mdev/vfio_mdev.c b

[Intel-gfx] [PATCH V3 5/7] mdev: introduce virtio device and its device ops

2019-10-11 Thread Jason Wang
This patch implements basic support for mdev driver that supports virtio transport for kernel virtio driver. Signed-off-by: Jason Wang --- include/linux/mdev.h| 1 + include/linux/virtio_mdev.h | 148 2 files changed, 149 insertions(+) create mode

[Intel-gfx] [PATCH V3 4/7] mdev: introduce device specific ops

2019-10-11 Thread Jason Wang
be used by vfio-mdev and virtio-mdev. Signed-off-by: Jason Wang --- .../driver-api/vfio-mediated-device.rst | 22 +--- MAINTAINERS | 1 + drivers/gpu/drm/i915/gvt/kvmgt.c | 18 --- drivers/s390/cio/vfio_ccw_ops.c | 18

[Intel-gfx] [PATCH V3 6/7] virtio: introduce a mdev based transport

2019-10-11 Thread Jason Wang
device with mdev based config ops. This means it is a software transport between mdev driver and mdev device. The transport was implemented through device specific opswhich is a part of mdev_parent_ops now. Signed-off-by: Jason Wang --- drivers/virtio/Kconfig | 7 + drivers/virtio

[Intel-gfx] [PATCH V3 7/7] docs: sample driver to demonstrate how to implement virtio-mdev framework

2019-10-11 Thread Jason Wang
'virtio' type is supported right now. I plan to add 'vhost' type on top which requires some virtual IOMMU implemented in this sample driver. Signed-off-by: Jason Wang --- MAINTAINERS| 1 + samples/Kconfig| 7 + samples/vfio-mdev/Makefile | 1

Re: [Intel-gfx] [PATCH V3 5/7] mdev: introduce virtio device and its device ops

2019-10-14 Thread Jason Wang
On 2019/10/15 上午1:23, Stefan Hajnoczi wrote: On Fri, Oct 11, 2019 at 04:15:55PM +0800, Jason Wang wrote: + * @set_vq_cb: Set the interrut calback function for s/interrut/interrupt/ s/calback/callback/ Fixed. Thanks ___ Intel

Re: [Intel-gfx] [PATCH V3 6/7] virtio: introduce a mdev based transport

2019-10-14 Thread Jason Wang
On 2019/10/15 上午1:39, Stefan Hajnoczi wrote: On Fri, Oct 11, 2019 at 04:15:56PM +0800, Jason Wang wrote: +struct virtio_mdev_device { + struct virtio_device vdev; + struct mdev_device *mdev; + unsigned long version; + + struct virtqueue **vqs; + /* The lock to

Re: [Intel-gfx] [PATCH V3 0/7] mdev based hardware virtio offloading support

2019-10-14 Thread Jason Wang
On 2019/10/15 上午1:49, Stefan Hajnoczi wrote: On Fri, Oct 11, 2019 at 04:15:50PM +0800, Jason Wang wrote: There are hardware that can do virtio datapath offloading while having its own control path. This path tries to implement a mdev based unified API to support using kernel virtio driver to

Re: [Intel-gfx] [PATCH V3 1/7] mdev: class id support

2019-10-15 Thread Jason Wang
On 2019/10/15 下午6:26, Cornelia Huck wrote: On Fri, 11 Oct 2019 16:15:51 +0800 Jason Wang wrote: Mdev bus only supports vfio driver right now, so it doesn't implement match method. But in the future, we may add drivers other than vfio, the first driver could be virtio-mdev. This means we

Re: [Intel-gfx] [PATCH V3 2/7] mdev: bus uevent support

2019-10-15 Thread Jason Wang
On 2019/10/15 下午6:27, Cornelia Huck wrote: On Fri, 11 Oct 2019 16:15:52 +0800 Jason Wang wrote: This patch adds bus uevent support for mdev bus in order to allow cooperation with userspace. Signed-off-by: Jason Wang --- drivers/vfio/mdev/mdev_driver.c | 8 1 file changed, 8

Re: [Intel-gfx] [PATCH V3 4/7] mdev: introduce device specific ops

2019-10-15 Thread Jason Wang
On 2019/10/15 下午6:41, Cornelia Huck wrote: On Fri, 11 Oct 2019 16:15:54 +0800 Jason Wang wrote: Currently, except for the create and remove, the rest of mdev_parent_ops is designed for vfio-mdev driver only and may not help for kernel mdev driver. With the help of class id, this patch

Re: [Intel-gfx] [PATCH V3 1/7] mdev: class id support

2019-10-15 Thread Jason Wang
On 2019/10/16 上午12:38, Alex Williamson wrote: On Fri, 11 Oct 2019 16:15:51 +0800 Jason Wang wrote: diff --git a/drivers/vfio/mdev/mdev_core.c b/drivers/vfio/mdev/mdev_core.c index b558d4cfd082..724e9b9841d8 100644 --- a/drivers/vfio/mdev/mdev_core.c +++ b/drivers/vfio/mdev/mdev_core.c

Re: [Intel-gfx] [PATCH V3 1/7] mdev: class id support

2019-10-16 Thread Jason Wang
On 2019/10/16 下午12:57, Parav Pandit wrote: -Original Message- From: Jason Wang Sent: Friday, October 11, 2019 3:16 AM To: k...@vger.kernel.org; linux-s...@vger.kernel.org; linux- ker...@vger.kernel.org; dri-de...@lists.freedesktop.org; intel- g...@lists.freedesktop.org; intel-gvt

Re: [Intel-gfx] [PATCH V3 0/7] mdev based hardware virtio offloading support

2019-10-16 Thread Jason Wang
On 2019/10/15 下午10:37, Stefan Hajnoczi wrote: On Tue, Oct 15, 2019 at 11:37:17AM +0800, Jason Wang wrote: On 2019/10/15 上午1:49, Stefan Hajnoczi wrote: On Fri, Oct 11, 2019 at 04:15:50PM +0800, Jason Wang wrote: There are hardware that can do virtio datapath offloading while having its own

Re: [Intel-gfx] [PATCH V3 1/7] mdev: class id support

2019-10-17 Thread Jason Wang
On 2019/10/16 下午12:57, Parav Pandit wrote: +static struct mdev_class_id id_table[] = { static const + { MDEV_ID_VFIO }, I guess you don't need extra braces for each entry. Since this enum represents MDEV class id, it better to name it as MDEV_CLASS_ID_VFIO. (Similar to PCI_VENDOR_ID,

Re: [Intel-gfx] [PATCH V3 4/7] mdev: introduce device specific ops

2019-10-17 Thread Jason Wang
On 2019/10/17 上午12:53, Alex Williamson wrote: On Wed, 16 Oct 2019 15:31:25 + Parav Pandit wrote: -Original Message- From: Cornelia Huck Sent: Wednesday, October 16, 2019 3:53 AM To: Parav Pandit Cc: Alex Williamson ; Jason Wang ; k...@vger.kernel.org; linux-s...@vger.kernel.org

Re: [Intel-gfx] [PATCH V3 4/7] mdev: introduce device specific ops

2019-10-17 Thread Jason Wang
On 2019/10/17 下午4:45, Cornelia Huck wrote: On Thu, 17 Oct 2019 16:30:43 +0800 Jason Wang wrote: On 2019/10/17 上午12:53, Alex Williamson wrote: Yet another suggestion: have the class id derive from the function you use to set up the ops. void mdev_set_vfio_ops(struct mdev_device *mdev, const

[Intel-gfx] [PATCH V4 0/6] mdev based hardware virtio offloading support

2019-10-17 Thread Jason Wang
lement the transport API, then it's not a part of UAPI any more - use GFP_ATOMIC in mvnet sample device and other tweaks - set_vring_base/get_vring_base support for mvnet device Jason Wang (6): mdev: class id support modpost: add support for mdev class id mdev: introduce device specific

[Intel-gfx] [PATCH V4 1/6] mdev: class id support

2019-10-17 Thread Jason Wang
ectly. So this patch adds id_table to mdev_driver and class_id for mdev device with the match method for mdev bus. Signed-off-by: Jason Wang --- .../driver-api/vfio-mediated-device.rst | 7 +- drivers/gpu/drm/i915/gvt/kvmgt.c | 1 + drivers/s390/cio/vfio_ccw_

[Intel-gfx] [PATCH V4 3/6] mdev: introduce device specific ops

2019-10-17 Thread Jason Wang
be used by vfio-mdev and virtio-mdev. Signed-off-by: Jason Wang --- .../driver-api/vfio-mediated-device.rst | 25 + MAINTAINERS | 1 + drivers/gpu/drm/i915/gvt/kvmgt.c | 18 --- drivers/s390/cio/vfio_ccw_ops.c | 18

[Intel-gfx] [PATCH V4 2/6] modpost: add support for mdev class id

2019-10-17 Thread Jason Wang
Add support to parse mdev class id table. Signed-off-by: Jason Wang --- drivers/vfio/mdev/vfio_mdev.c | 2 ++ scripts/mod/devicetable-offsets.c | 3 +++ scripts/mod/file2alias.c | 10 ++ 3 files changed, 15 insertions(+) diff --git a/drivers/vfio/mdev/vfio_mdev.c b

[Intel-gfx] [PATCH V4 5/6] virtio: introduce a mdev based transport

2019-10-17 Thread Jason Wang
device with mdev based config ops. This means it is a software transport between mdev driver and mdev device. The transport was implemented through device specific ops which is a part of mdev_parent_ops now. Signed-off-by: Jason Wang --- drivers/virtio/Kconfig | 7 + drivers/virtio

[Intel-gfx] [PATCH V4 4/6] mdev: introduce virtio device and its device ops

2019-10-17 Thread Jason Wang
This patch implements basic support for mdev driver that supports virtio transport for kernel virtio driver. Signed-off-by: Jason Wang --- drivers/vfio/mdev/mdev_core.c | 12 +++ include/linux/mdev.h | 4 + include/linux/virtio_mdev.h | 151 ++ 3

[Intel-gfx] [PATCH V4 6/6] docs: sample driver to demonstrate how to implement virtio-mdev framework

2019-10-17 Thread Jason Wang
'virtio' type is supported right now. I plan to add 'vhost' type on top which requires some virtual IOMMU implemented in this sample driver. Signed-off-by: Jason Wang --- MAINTAINERS| 1 + samples/Kconfig| 7 + samples/vfio-mdev/Makefile | 1

[Intel-gfx] [PATCH V12 0/6] mdev based hardware virtio offloading support

2019-11-17 Thread Jason Wang
e device_ops to implement the transport API, then it's not a part of UAPI any more - use GFP_ATOMIC in mvnet sample device and other tweaks - set_vring_base/get_vring_base support for mvnet device Jason Wang (6): mdev: make mdev bus agnostic mdev: split out VFIO bus specific parent ops

[Intel-gfx] [PATCH V12 2/6] mdev: split out VFIO bus specific parent ops

2019-11-17 Thread Jason Wang
place the VFIO specific callbacks there like: struct mdev_vfio { struct mdev_device mdev; const struct mdev_vfio_ops *ops; }; Helpers for setting and getting the ops were introduced to support mdev vfio device to set ops and vfio mdev driver to use the ops. Signed-off-by: Jason Wang

[Intel-gfx] [PATCH V12 1/6] mdev: make mdev bus agnostic

2019-11-17 Thread Jason Wang
mdev_vfio module - require to specify the type of bus when registering mdev device and mdev driver With those modifications mdev become a generic module that could be used by multiple types of virtual buses and devices. Signed-off-by: Jason Wang --- .../driver-api/vfio-mediated-device.rst

[Intel-gfx] [PATCH V12 3/6] mdev: move to drivers/

2019-11-17 Thread Jason Wang
Mdev now is nothing VFIO specific, let's move it to upper directory. Signed-off-by: Jason Wang --- MAINTAINERS | 7 +-- drivers/Kconfig | 2 ++ drivers/Makefile | 1 + drivers/mdev/Kc

[Intel-gfx] [PATCH V12 6/6] docs: sample driver to demonstrate how to implement virtio-mdev framework

2019-11-17 Thread Jason Wang
'virtio' type is supported right now. I plan to add 'vhost' type on top which requires some virtual IOMMU implemented in this sample driver. Signed-off-by: Jason Wang --- MAINTAINERS| 1 + samples/Kconfig| 10 + sample

[Intel-gfx] [PATCH V12 5/6] virtio: introduce a mdev based transport

2019-11-17 Thread Jason Wang
device with mdev based config ops. This means it is a software transport between mdev driver and mdev device. The transport was implemented through bus_ops of mdev parent. Signed-off-by: Jason Wang --- drivers/virtio/Kconfig | 13 ++ drivers/virtio/Makefile | 1 + drivers/virtio

[Intel-gfx] [PATCH V12 4/6] mdev: introduce mediated virtio bus

2019-11-17 Thread Jason Wang
This patch implements a mediated virtio bus over mdev framework. This will be used by the future virtio-mdev and vhost-mdev on top to allow driver from either userspace or kernel to control the device which is capable of offloading virtio datapath. Signed-off-by: Jason Wang --- MAINTAINERS

Re: [Intel-gfx] [PATCH V12 0/6] mdev based hardware virtio offloading support

2019-11-18 Thread Jason Wang
On 2019/11/18 下午2:16, Jason Wang wrote: Hi all: There are hardwares that can do virtio datapath offloading while having its own control path. This path tries to implement a mdev based unified API to support using kernel virtio driver to drive those devices. This is done by introducing a new

Re: [Intel-gfx] [PATCH V12 5/6] virtio: introduce a mdev based transport

2019-11-18 Thread Jason Wang
On 2019/11/18 下午6:44, Michael S. Tsirkin wrote: +static const struct mdev_virtio_class_id virtio_id_table[] = { + { MDEV_VIRTIO_CLASS_ID_VIRTIO }, + { 0 }, +}; + Do we still need the class ID? It's a virtio mdev bus, do we need a virtio class as well? If we want to have auto matc

[Intel-gfx] [PATCH V13 0/6] mdev based hardware virtio offloading support

2019-11-18 Thread Jason Wang
eperate headers - drop the mdev_set_dma_ops() - use device_ops to implement the transport API, then it's not a part of UAPI any more - use GFP_ATOMIC in mvnet sample device and other tweaks - set_vring_base/get_vring_base support for mvnet device Jason Wang (6): mdev: make mdev bus agn

[Intel-gfx] [PATCH V13 1/6] mdev: make mdev bus agnostic

2019-11-18 Thread Jason Wang
mdev_vfio module - require to specify the type of bus when registering mdev device and mdev driver With those modifications mdev become a generic module that could be used by multiple types of virtual buses and devices. Signed-off-by: Jason Wang --- .../driver-api/vfio-mediated-device.rst

[Intel-gfx] [PATCH V13 2/6] mdev: split out VFIO bus specific parent ops

2019-11-18 Thread Jason Wang
place the VFIO specific callbacks there like: struct mdev_vfio { struct mdev_device mdev; const struct mdev_vfio_ops *ops; }; Helpers for setting and getting the ops were introduced to support mdev vfio device to set ops and vfio mdev driver to use the ops. Signed-off-by: Jason Wang

[Intel-gfx] [PATCH V13 3/6] mdev: move to drivers/

2019-11-18 Thread Jason Wang
Mdev now is nothing VFIO specific, let's move it to upper directory. Signed-off-by: Jason Wang --- MAINTAINERS | 7 +-- drivers/Kconfig | 2 ++ drivers/Makefile | 1 + drivers/mdev/Kc

[Intel-gfx] [PATCH V13 4/6] mdev: introduce mediated virtio bus

2019-11-18 Thread Jason Wang
This patch implements a mediated virtio bus over mdev framework. This will be used by the future virtio-mdev and vhost-mdev on top to allow driver from either userspace or kernel to control the device which is capable of offloading virtio datapath. Signed-off-by: Jason Wang --- MAINTAINERS

[Intel-gfx] [PATCH V13 5/6] virtio: introduce a mdev based transport

2019-11-18 Thread Jason Wang
device with mdev based config ops. This means it is a software transport between mdev driver and mdev device. The transport was implemented through bus_ops of mdev parent. Signed-off-by: Jason Wang --- drivers/virtio/Kconfig | 13 ++ drivers/virtio/Makefile | 1 + drivers/virtio

[Intel-gfx] [PATCH V13 6/6] docs: sample driver to demonstrate how to implement virtio-mdev framework

2019-11-18 Thread Jason Wang
'virtio' type is supported right now. I plan to add 'vhost' type on top which requires some virtual IOMMU implemented in this sample driver. Signed-off-by: Jason Wang --- MAINTAINERS| 1 + samples/Kconfig| 10 + sample

Re: [Intel-gfx] [PATCH V13 4/6] mdev: introduce mediated virtio bus

2019-11-18 Thread Jason Wang
On 2019/11/18 下午9:41, Jason Gunthorpe wrote: On Mon, Nov 18, 2019 at 06:59:21PM +0800, Jason Wang wrote: +struct bus_type mdev_virtio_bus_type; + +struct mdev_virtio_device { + struct mdev_device mdev; + const struct mdev_virtio_ops *ops; + u16 class_id; +}; This seems to

  1   2   >