Messages in this thread | | | Subject | Re: [PATCH V3 1/6] vDPA/ifcvf: get_vendor_id returns a device specific vendor id | From | Zhu Lingshan <> | Date | Thu, 11 Mar 2021 12:21:45 +0800 |
| |
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! > > >> static u32 ifcvf_vdpa_get_vq_align(struct vdpa_device *vdpa_dev) >
| |