dri-devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Jason Gunthorpe <jgg@mellanox.com>
To: Jason Wang <jasowang@redhat.com>
Cc: "rdunlap@infradead.org" <rdunlap@infradead.org>,
	"jakub.kicinski@netronome.com" <jakub.kicinski@netronome.com>,
	"christophe.de.dinechin@gmail.com"
	<christophe.de.dinechin@gmail.com>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
	"mst@redhat.com" <mst@redhat.com>,
	"airlied@linux.ie" <airlied@linux.ie>,
	"heiko.carstens@de.ibm.com" <heiko.carstens@de.ibm.com>,
	"dri-devel@lists.freedesktop.org"
	<dri-devel@lists.freedesktop.org>,
	"oberpar@linux.ibm.com" <oberpar@linux.ibm.com>,
	"kwankhede@nvidia.com" <kwankhede@nvidia.com>,
	"rob.miller@broadcom.com" <rob.miller@broadcom.com>,
	"linux-s390@vger.kernel.org" <linux-s390@vger.kernel.org>,
	"sebott@linux.ibm.com" <sebott@linux.ibm.com>,
	"lulu@redhat.com" <lulu@redhat.com>,
	"eperezma@redhat.com" <eperezma@redhat.com>,
	"pasic@linux.ibm.com" <pasic@linux.ibm.com>,
	"borntraeger@de.ibm.com" <borntraeger@de.ibm.com>,
	haotian.wang@sifiv
Subject: Re: [PATCH V13 4/6] mdev: introduce mediated virtio bus
Date: Mon, 18 Nov 2019 13:41:00 +0000	[thread overview]
Message-ID: <20191118134056.GJ3873@mellanox.com> (raw)
In-Reply-To: <20191118105923.7991-5-jasowang@redhat.com>

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 share nothing with mdev (ie mdev-vfio), why is it on the
same bus?

We went over this recently with Greg and he seemed pretty clear on
this..

> +struct mdev_virtio_ops {
> +	/* Virtqueue ops */
> +	int (*set_vq_address)(struct mdev_device *mdev,
> +			      u16 idx, u64 desc_area, u64 driver_area,
> +			      u64 device_area);
> +	void (*set_vq_num)(struct mdev_device *mdev, u16 idx, u32 num);
> +	void (*kick_vq)(struct mdev_device *mdev, u16 idx);
> +	void (*set_vq_cb)(struct mdev_device *mdev, u16 idx,
> +			  struct virtio_mdev_callback *cb);
> +	void (*set_vq_ready)(struct mdev_device *mdev, u16 idx, bool ready);
> +	bool (*get_vq_ready)(struct mdev_device *mdev, u16 idx);
> +	int (*set_vq_state)(struct mdev_device *mdev, u16 idx, u64 state);
> +	u64 (*get_vq_state)(struct mdev_device *mdev, u16 idx);
> +
> +	/* Device ops */
> +	u16 (*get_vq_align)(struct mdev_device *mdev);
> +	u64 (*get_features)(struct mdev_device *mdev);
> +	int (*set_features)(struct mdev_device *mdev, u64 features);
> +	void (*set_config_cb)(struct mdev_device *mdev,
> +			      struct virtio_mdev_callback *cb);
> +	u16 (*get_vq_num_max)(struct mdev_device *mdev);
> +	u32 (*get_device_id)(struct mdev_device *mdev);
> +	u32 (*get_vendor_id)(struct mdev_device *mdev);
> +	u8 (*get_status)(struct mdev_device *mdev);
> +	void (*set_status)(struct mdev_device *mdev, u8 status);
> +	void (*get_config)(struct mdev_device *mdev, unsigned int offset,
> +			   void *buf, unsigned int len);
> +	void (*set_config)(struct mdev_device *mdev, unsigned int offset,
> +			   const void *buf, unsigned int len);
> +	u32 (*get_generation)(struct mdev_device *mdev);
> +};

Why aren't all of these 'struct mdev_device_virtio *' ?

Jason
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

WARNING: multiple messages have this Message-ID (diff)
From: Jason Gunthorpe <jgg@mellanox.com>
To: Jason Wang <jasowang@redhat.com>
Cc: "rdunlap@infradead.org" <rdunlap@infradead.org>,
	"jakub.kicinski@netronome.com" <jakub.kicinski@netronome.com>,
	"christophe.de.dinechin@gmail.com"
	<christophe.de.dinechin@gmail.com>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
	"mst@redhat.com" <mst@redhat.com>,
	"airlied@linux.ie" <airlied@linux.ie>,
	"heiko.carstens@de.ibm.com" <heiko.carstens@de.ibm.com>,
	"kevin.tian@intel.com" <kevin.tian@intel.com>,
	"dri-devel@lists.freedesktop.org"
	<dri-devel@lists.freedesktop.org>,
	"oberpar@linux.ibm.com" <oberpar@linux.ibm.com>,
	"kwankhede@nvidia.com" <kwankhede@nvidia.com>,
	"rob.miller@broadcom.com" <rob.miller@broadcom.com>,
	"linux-s390@vger.kernel.org" <linux-s390@vger.kernel.org>,
	"sebott@linux.ibm.com" <sebott@linux.ibm.com>,
	"lulu@redhat.com" <lulu@redhat.com>,
	"eperezma@redhat.com" <eperezma@redhat.com>,
	"pasic@linux.ibm.com" <pasic@linux.ibm.com>,
	"borntraeger@de.ibm.com" <borntraeger@de.ibm.com>,
	"haotian.wang@sifive.com" <haotian.wang@sifive.com>,
	"jeffrey.t.kirsher@intel.com" <jeffrey.t.kirsher@intel.com>,
	"cunming.liang@intel.com" <cunming.liang@intel.com>,
	"zhi.a.wang@intel.com" <zhi.a.wang@intel.com>,
	"farman@linux.ibm.com" <farman@linux.ibm.com>,
	Parav Pandit <parav@mellanox.com>,
	"gor@linux.ibm.com" <gor@linux.ibm.com>,
	"intel-gfx@lists.freedesktop.org"
	<intel-gfx@lists.freedesktop.org>,
	"alex.williamson@redhat.com" <alex.williamson@redhat.com>,
	"xiao.w.wang@intel.com" <xiao.w.wang@intel.com>,
	"freude@linux.ibm.com" <freude@linux.ibm.com>,
	"stefanha@redhat.com" <stefanha@redhat.com>,
	"zhihong.wang@intel.com" <zhihong.wang@intel.com>,
	"rodrigo.vivi@intel.com" <rodrigo.vivi@intel.com>,
	"intel-gvt-dev@lists.freedesktop.org"
	<intel-gvt-dev@lists.freedesktop.org>,
	"hch@infradead.org" <hch@infradead.org>,
	"akrowiak@linux.ibm.com" <akrowiak@linux.ibm.com>,
	"aadam@redhat.com" <aadam@redhat.com>,
	Jiri Pirko <jiri@mellanox.com>,
	"tiwei.bie@intel.com" <tiwei.bie@intel.com>,
	"gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>,
	"cohuck@redhat.com" <cohuck@redhat.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"maxime.coquelin@redhat.com" <maxime.coquelin@redhat.com>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	"lingshan.zhu@intel.com" <lingshan.zhu@intel.com>
Subject: Re: [PATCH V13 4/6] mdev: introduce mediated virtio bus
Date: Mon, 18 Nov 2019 13:41:00 +0000	[thread overview]
Message-ID: <20191118134056.GJ3873@mellanox.com> (raw)
Message-ID: <20191118134100.fL2vTX2lYdO43o5MTSYkQjDBLqbkEDHWIPQHH32pONk@z> (raw)
In-Reply-To: <20191118105923.7991-5-jasowang@redhat.com>

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 share nothing with mdev (ie mdev-vfio), why is it on the
same bus?

We went over this recently with Greg and he seemed pretty clear on
this..

> +struct mdev_virtio_ops {
> +	/* Virtqueue ops */
> +	int (*set_vq_address)(struct mdev_device *mdev,
> +			      u16 idx, u64 desc_area, u64 driver_area,
> +			      u64 device_area);
> +	void (*set_vq_num)(struct mdev_device *mdev, u16 idx, u32 num);
> +	void (*kick_vq)(struct mdev_device *mdev, u16 idx);
> +	void (*set_vq_cb)(struct mdev_device *mdev, u16 idx,
> +			  struct virtio_mdev_callback *cb);
> +	void (*set_vq_ready)(struct mdev_device *mdev, u16 idx, bool ready);
> +	bool (*get_vq_ready)(struct mdev_device *mdev, u16 idx);
> +	int (*set_vq_state)(struct mdev_device *mdev, u16 idx, u64 state);
> +	u64 (*get_vq_state)(struct mdev_device *mdev, u16 idx);
> +
> +	/* Device ops */
> +	u16 (*get_vq_align)(struct mdev_device *mdev);
> +	u64 (*get_features)(struct mdev_device *mdev);
> +	int (*set_features)(struct mdev_device *mdev, u64 features);
> +	void (*set_config_cb)(struct mdev_device *mdev,
> +			      struct virtio_mdev_callback *cb);
> +	u16 (*get_vq_num_max)(struct mdev_device *mdev);
> +	u32 (*get_device_id)(struct mdev_device *mdev);
> +	u32 (*get_vendor_id)(struct mdev_device *mdev);
> +	u8 (*get_status)(struct mdev_device *mdev);
> +	void (*set_status)(struct mdev_device *mdev, u8 status);
> +	void (*get_config)(struct mdev_device *mdev, unsigned int offset,
> +			   void *buf, unsigned int len);
> +	void (*set_config)(struct mdev_device *mdev, unsigned int offset,
> +			   const void *buf, unsigned int len);
> +	u32 (*get_generation)(struct mdev_device *mdev);
> +};

Why aren't all of these 'struct mdev_device_virtio *' ?

Jason
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

  reply	other threads:[~2019-11-18 13:41 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-18 10:59 [PATCH V13 0/6] mdev based hardware virtio offloading support Jason Wang
2019-11-18 10:59 ` [PATCH V13 1/6] mdev: make mdev bus agnostic Jason Wang
2019-11-19  3:08   ` Randy Dunlap
2019-11-19  3:08     ` Randy Dunlap
2019-11-18 10:59 ` [PATCH V13 2/6] mdev: split out VFIO bus specific parent ops Jason Wang
2019-11-18 10:59   ` Jason Wang
2019-11-18 10:59 ` [PATCH V13 3/6] mdev: move to drivers/ Jason Wang
2019-11-18 10:59   ` Jason Wang
2019-11-19  3:11   ` Randy Dunlap
2019-11-19  3:11     ` Randy Dunlap
2019-11-18 10:59 ` [PATCH V13 4/6] mdev: introduce mediated virtio bus Jason Wang
2019-11-18 13:41   ` Jason Gunthorpe [this message]
2019-11-18 13:41     ` Jason Gunthorpe
2019-11-18 20:27     ` Michael S. Tsirkin
2019-11-18 20:27       ` Michael S. Tsirkin
2019-11-18 20:28       ` Jason Gunthorpe
2019-11-18 20:28         ` Jason Gunthorpe
2019-11-19  2:41         ` Jason Wang
2019-11-19  2:41           ` Jason Wang
2019-11-19 12:38           ` Jason Gunthorpe
2019-11-19 14:02             ` Jason Wang
2019-11-19 14:02               ` Jason Wang
2019-11-19 14:14               ` Jason Gunthorpe
2019-11-20  2:14                 ` Jason Wang
2019-11-20  2:14                   ` Jason Wang
2019-11-20 13:49                   ` Jason Gunthorpe
2019-11-20 13:49                     ` Jason Gunthorpe
2019-11-21  3:05                     ` Jason Wang
2019-11-21  3:05                       ` Jason Wang
2019-11-26 12:07                   ` Rob Miller
2019-11-26 12:07                     ` Rob Miller
2019-11-19  2:40     ` Jason Wang
2019-11-19  2:40       ` Jason Wang
2019-11-19  3:13   ` Randy Dunlap
2019-11-19  3:13     ` Randy Dunlap
2019-11-18 10:59 ` [PATCH V13 5/6] virtio: introduce a mdev based transport Jason Wang
2019-11-18 10:59   ` Jason Wang
2019-11-18 10:59 ` [PATCH V13 6/6] docs: sample driver to demonstrate how to implement virtio-mdev framework Jason Wang
2019-11-18 10:59   ` Jason Wang
2019-11-18 15:17   ` Greg KH
2019-11-18 15:17     ` Greg KH
2019-11-19  3:03     ` Jason Wang
2019-11-19  3:03       ` Jason Wang
2019-11-19 12:40       ` Jason Gunthorpe
2019-11-19 14:07         ` Jason Wang
2019-11-19 14:07           ` Jason Wang
2019-11-19 16:39           ` Jason Gunthorpe
2019-11-18 15:45   ` Cornelia Huck
2019-11-18 15:45     ` Cornelia Huck
2019-11-19  3:04     ` Jason Wang
2019-11-19  3:04       ` Jason Wang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191118134056.GJ3873@mellanox.com \
    --to=jgg@mellanox.com \
    --cc=airlied@linux.ie \
    --cc=borntraeger@de.ibm.com \
    --cc=christophe.de.dinechin@gmail.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=eperezma@redhat.com \
    --cc=haotian.wang@sifiv \
    --cc=heiko.carstens@de.ibm.com \
    --cc=jakub.kicinski@netronome.com \
    --cc=jasowang@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=kwankhede@nvidia.com \
    --cc=linux-s390@vger.kernel.org \
    --cc=lulu@redhat.com \
    --cc=mst@redhat.com \
    --cc=oberpar@linux.ibm.com \
    --cc=pasic@linux.ibm.com \
    --cc=rdunlap@infradead.org \
    --cc=rob.miller@broadcom.com \
    --cc=sebott@linux.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox