Messages in this thread | | | Subject | Re: [PATCH V3 1/6] vDPA/ifcvf: get_vendor_id returns a device specific vendor id | From | Jason Wang <> | Date | Thu, 11 Mar 2021 14:13:20 +0800 |
| |
On 2021/3/11 12:21 下午, Zhu Lingshan wrote: > > > On 3/11/2021 11:23 AM, Jason Wang wrote: >> >> On 2021/3/10 5:00 下午, Zhu Lingshan wrote: >>> In this commit, ifcvf_get_vendor_id() will return >>> a device specific vendor id of the probed pci device >>> than a hard code. >>> >>> Signed-off-by: Zhu Lingshan <lingshan.zhu@intel.com> >>> --- >>> drivers/vdpa/ifcvf/ifcvf_main.c | 5 ++++- >>> 1 file changed, 4 insertions(+), 1 deletion(-) >>> >>> diff --git a/drivers/vdpa/ifcvf/ifcvf_main.c >>> b/drivers/vdpa/ifcvf/ifcvf_main.c >>> index fa1af301cf55..e501ee07de17 100644 >>> --- a/drivers/vdpa/ifcvf/ifcvf_main.c >>> +++ b/drivers/vdpa/ifcvf/ifcvf_main.c >>> @@ -324,7 +324,10 @@ static u32 ifcvf_vdpa_get_device_id(struct >>> vdpa_device *vdpa_dev) >>> static u32 ifcvf_vdpa_get_vendor_id(struct vdpa_device *vdpa_dev) >>> { >>> - return IFCVF_SUBSYS_VENDOR_ID; >>> + struct ifcvf_adapter *adapter = vdpa_to_adapter(vdpa_dev); >>> + struct pci_dev *pdev = adapter->pdev; >>> + >>> + return pdev->subsystem_vendor; >>> } >> >> >> While at this, I wonder if we can do something similar in >> get_device_id() if it could be simple deduced from some simple math >> from the pci device id? >> >> Thanks > Hi Jason, > > IMHO, this implementation is just some memory read ops, I think other > implementations may not save many cpu cycles, an if cost at least > three cpu cycles. > > Thanks!
Well, I meant whehter you can deduce virtio device id from pdev->subsystem_device.
Thanks
>> >> >>> static u32 ifcvf_vdpa_get_vq_align(struct vdpa_device *vdpa_dev) >> >
| |