Re: [PATCH 5/6] vdpa: introduce virtio pci driver

From: Michael S. Tsirkin
Date: Mon Jun 08 2020 - 02:32:54 EST


On Mon, Jun 08, 2020 at 11:32:31AM +0800, Jason Wang wrote:
>
> On 2020/6/7 äå9:51, Michael S. Tsirkin wrote:
> > On Fri, Jun 05, 2020 at 04:54:17PM +0800, Jason Wang wrote:
> > > On 2020/6/2 äå3:08, Jason Wang wrote:
> > > > > > +static const struct pci_device_id vp_vdpa_id_table[] = {
> > > > > > +ÂÂÂ { PCI_DEVICE(PCI_VENDOR_ID_REDHAT_QUMRANET, PCI_ANY_ID) },
> > > > > > +ÂÂÂ { 0 }
> > > > > > +};
> > > > > This looks like it'll create a mess with either virtio pci
> > > > > or vdpa being loaded at random. Maybe just don't specify
> > > > > any IDs for now. Down the road we could get a
> > > > > distinct vendor ID or a range of device IDs for this.
> > > >
> > > > Right, will do.
> > > >
> > > > Thanks
> > >
> > > Rethink about this. If we don't specify any ID, the binding won't work.
> > We can bind manually. It's not really for production anyway, so
> > not a big deal imho.
>
>
> I think you mean doing it via "new_id", right.

I really meant driver_override. This is what people have been using
with pci-stub for years now.

>
> >
> > > How about using a dedicated subsystem vendor id for this?
> > >
> > > Thanks
> > If virtio vendor id is used then standard driver is expected
> > to bind, right? Maybe use a dedicated vendor id?
>
>
> I meant something like:
>
> static const struct pci_device_id vp_vdpa_id_table[] = {
> ÂÂÂ { PCI_DEVICE_SUB(PCI_VENDOR_ID_REDHAT_QUMRANET, PCI_ANY_ID,
> VP_TEST_VENDOR_ID, VP_TEST_DEVICE_ID) },
> ÂÂÂ { 0 }
> };
>
> Thanks
>

Then regular virtio will still bind to it. It has

drivers/virtio/virtio_pci_common.c: { PCI_DEVICE(PCI_VENDOR_ID_REDHAT_QUMRANET, PCI_ANY_ID) },


--
MST