Messages in this thread | | | Date | Thu, 14 Nov 2013 22:59:58 -0800 | Subject | Re: [PATCH] PCI: Init NumVFs register to zero in sriov_init() | From | Yinghai Lu <> |
| |
On Wed, Nov 13, 2013 at 5:57 PM, Ethan Zhao <ethan.kernel@gmail.com> wrote: > On Wed, Nov 6, 2013 at 10:49 PM, ethan.zhao <ethan.kernel@gmail.com> wrote: >> Though no specification about NumVFs register initial value after POST, to void the confusion >> lspci output as following before VF was enabled, we should clear the NumVFs value left by BIOS >> to zero:
Does BIOS need to clear it?
>> >> $lspci -vvv -s 03:00.0 >> Ethernet controller: Intel Corporation 82599EB 10-Gigabit SFI/SFP+ Network Connection (rev 01) >> ~ >> Capabilities: [160 v1] Single Root I/O Virtualization (SR-IOV) >> IOVCap: Migration-, Interrupt Message Number: 000 >> IOVCtl: Enable+ Migration- Interrupt- MSE+ ARIHierarchy+ >> IOVSta: Migration- >> Initial VFs: 64, Total VFs: 64, Number of VFs: 64, Function Dependency Link: 00 >> ^dazed ! >> ~
just display problem?
>> Signed-off-by: ethan.zhao <ethan.kernel@gmail.com> >> --- >> drivers/pci/iov.c | 2 ++ >> 1 file changed, 2 insertions(+) >> >> diff --git a/drivers/pci/iov.c b/drivers/pci/iov.c >> index de8ffac..a4941ad 100644 >> --- a/drivers/pci/iov.c >> +++ b/drivers/pci/iov.c >> @@ -439,6 +439,8 @@ static int sriov_init(struct pci_dev *dev, int pos) >> >> found: >> pci_write_config_word(dev, pos + PCI_SRIOV_CTRL, ctrl); >> + /* VF Enable is cleared, so we could init the NumVFs register to 0 */ >> + pci_write_config_word(dev, pos + PCI_SRIOV_NUM_VF, 0); >> pci_read_config_word(dev, pos + PCI_SRIOV_VF_OFFSET, &offset); >> pci_read_config_word(dev, pos + PCI_SRIOV_VF_STRIDE, &stride); >> if (!offset || (total > 1 && !stride))
Thanks
Yinghai
| |