summaryrefslogtreecommitdiffstats
path: root/src/drivers/net/intel.h
diff options
context:
space:
mode:
authorVishvananda Ishaya2017-03-09 14:54:13 +0100
committerMichael Brown2017-03-09 14:56:22 +0100
commit1d049002622da6a5a9cc98c42fd4dd27dc741b96 (patch)
treef5ef75498ab111610a6ed1a759d272053ba0786d /src/drivers/net/intel.h
parent[scsi] Avoid duplicate calls to scsicmd_close() (diff)
downloadipxe-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.h4
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,