aboutsummaryrefslogtreecommitdiff
path: root/include/efi_api.h
diff options
context:
space:
mode:
authorHeinrich Schuchardt <xypron.glpk@gmx.de>2017-10-05 16:36:02 +0200
committerAlexander Graf <agraf@suse.de>2017-10-09 07:00:34 +0200
commit891b3d9051690d0ba39da4eda1d15773ebfee2b6 (patch)
treec985e4277d6e5be0303e97a90af61f59cd741454 /include/efi_api.h
parente5c21603fce2e6143f7312211eaed47c16510ea3 (diff)
downloadu-boot-891b3d9051690d0ba39da4eda1d15773ebfee2b6.zip
u-boot-891b3d9051690d0ba39da4eda1d15773ebfee2b6.tar.gz
u-boot-891b3d9051690d0ba39da4eda1d15773ebfee2b6.tar.bz2
efi_loader: fix efi_net_get_status
The returned interrupt status was wrong. As out transmit buffer is empty we need to always set EFI_SIMPLE_NETWORK_TRANSMIT_INTERRUPT. When we have received a packet we need to set EFI_SIMPLE_NETWORK_RECEIVE_INTERRUPT. Furthermore we should call efi_timer_check() to handle events. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'include/efi_api.h')
-rw-r--r--include/efi_api.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/efi_api.h b/include/efi_api.h
index 2f31464..1f349db 100644
--- a/include/efi_api.h
+++ b/include/efi_api.h
@@ -600,6 +600,12 @@ struct efi_simple_network_mode {
#define EFI_SIMPLE_NETWORK_RECEIVE_PROMISCUOUS 0x08
#define EFI_SIMPLE_NETWORK_RECEIVE_PROMISCUOUS_MULTICAST 0x10
+/* interrupt status bit mask */
+#define EFI_SIMPLE_NETWORK_RECEIVE_INTERRUPT 0x01
+#define EFI_SIMPLE_NETWORK_TRANSMIT_INTERRUPT 0x02
+#define EFI_SIMPLE_NETWORK_COMMAND_INTERRUPT 0x04
+#define EFI_SIMPLE_NETWORK_SOFTWARE_INTERRUPT 0x08
+
/* revision of the simple network protocol */
#define EFI_SIMPLE_NETWORK_PROTOCOL_REVISION 0x00010000