diff options
author | Michael Brown <mcb30@ipxe.org> | 2021-02-13 18:55:39 +0000 |
---|---|---|
committer | Michael Brown <mcb30@ipxe.org> | 2021-02-13 19:08:45 +0000 |
commit | 0049243367e50ccfbc66611716ec3b96b6ab95b5 (patch) | |
tree | f9de127991187dd1a154984d5e1114571cb9b176 /src/drivers/net/ena.h | |
parent | c160fb259378e5f08190db39b5bf4f697f892e7c (diff) | |
download | ipxe-0049243367e50ccfbc66611716ec3b96b6ab95b5.tar.gz |
[ena] Switch to two-phase reset mechanism
The Linux and FreeBSD drivers for the (totally undocumented) ENA
adapters use a two-phase reset mechanism: first set ENA_CTRL.RESET and
wait for this to be reflected in ENA_STAT.RESET, then clear
ENA_CTRL.RESET and again wait for it to be reflected in
ENA_STAT.RESET.
The iPXE driver currently assumes a self-clearing reset mechanism,
which appeared to work at the time that the driver was created but
seems no longer to function, at least on the t3.nano and t3a.nano
instance types found in eu-west-1.
Switch to a simplified version of the two-phase reset mechanism as
used by Linux and FreeBSD.
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/drivers/net/ena.h')
-rw-r--r-- | src/drivers/net/ena.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/drivers/net/ena.h b/src/drivers/net/ena.h index 0496fc6bd..676c5b878 100644 --- a/src/drivers/net/ena.h +++ b/src/drivers/net/ena.h @@ -66,7 +66,7 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); /** Device status register */ #define ENA_STAT 0x58 -#define ENA_STAT_READY 0x00000001UL /**< Ready */ +#define ENA_STAT_RESET 0x00000008UL /**< Reset in progress */ /** Admin queue entry header */ struct ena_aq_header { |