diff options
author | Vishvananda Ishaya | 2017-03-09 14:54:13 +0100 |
---|---|---|
committer | Michael Brown | 2017-03-09 14:56:22 +0100 |
commit | 1d049002622da6a5a9cc98c42fd4dd27dc741b96 (patch) | |
tree | f5ef75498ab111610a6ed1a759d272053ba0786d /src/drivers/net/intel.h | |
parent | [scsi] Avoid duplicate calls to scsicmd_close() (diff) | |
download | ipxe-1d049002622da6a5a9cc98c42fd4dd27dc741b96.tar.gz ipxe-1d049002622da6a5a9cc98c42fd4dd27dc741b96.tar.xz ipxe-1d049002622da6a5a9cc98c42fd4dd27dc741b96.zip |
[intel] Reset all virtual function settings
Some VF data is not cleared with reset, so make sure to return all the
settings to default before configuring the VF.
This fixes an issue where network packets would fail to be received if
the VF was previously used by the linux ixgbevf driver.
Modified-by: Michael Brown <mcb30@ipxe.org>
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/drivers/net/intel.h')
-rw-r--r-- | src/drivers/net/intel.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/drivers/net/intel.h b/src/drivers/net/intel.h index 16a72a11..630eaf84 100644 --- a/src/drivers/net/intel.h +++ b/src/drivers/net/intel.h @@ -185,6 +185,9 @@ struct intel_descriptor { #define INTEL_xDCTL 0x28 #define INTEL_xDCTL_ENABLE 0x02000000UL /**< Queue enable */ +/** Maximum time to wait for queue disable, in milliseconds */ +#define INTEL_DISABLE_MAX_WAIT_MS 100 + /** Receive Address Low */ #define INTEL_RAL0 0x05400UL @@ -330,6 +333,7 @@ extern void intel_describe_tx_adv ( struct intel_descriptor *tx, physaddr_t addr, size_t len ); extern void intel_describe_rx ( struct intel_descriptor *rx, physaddr_t addr, size_t len ); +extern void intel_reset_ring ( struct intel_nic *intel, unsigned int reg ); extern int intel_create_ring ( struct intel_nic *intel, struct intel_ring *ring ); extern void intel_destroy_ring ( struct intel_nic *intel, |