summaryrefslogtreecommitdiff
path: root/sys/dev/pci/if_em_hw.h
diff options
context:
space:
mode:
authorHenric Jungheim <henric@cvs.openbsd.org>2004-04-18 04:15:02 +0000
committerHenric Jungheim <henric@cvs.openbsd.org>2004-04-18 04:15:02 +0000
commita52be11a68b224fc7f4cc1012ca2452dff524ae1 (patch)
tree1cf6114918e879ec6a4f09390839ce9b5bc5817c /sys/dev/pci/if_em_hw.h
parent8a4790a3b22005bef51373e7baebcd29da1853f4 (diff)
Sync with FreeBSD's "em".
Diffstat (limited to 'sys/dev/pci/if_em_hw.h')
-rw-r--r--sys/dev/pci/if_em_hw.h23
1 files changed, 17 insertions, 6 deletions
diff --git a/sys/dev/pci/if_em_hw.h b/sys/dev/pci/if_em_hw.h
index 50ded77426b..579199e2eb1 100644
--- a/sys/dev/pci/if_em_hw.h
+++ b/sys/dev/pci/if_em_hw.h
@@ -31,8 +31,8 @@
*******************************************************************************/
-/*$FreeBSD: if_em_hw.h,v 1.12 2003/11/14 18:02:25 pdeuskar Exp $*/
-/* $OpenBSD: if_em_hw.h,v 1.4 2003/12/09 23:37:04 henning Exp $ */
+/*$FreeBSD: if_em_hw.h,v 1.13 2004/02/10 21:31:09 pdeuskar Exp $*/
+/* $OpenBSD: if_em_hw.h,v 1.5 2004/04/18 04:15:00 henric Exp $ */
/* if_em_hw.h
* Structures, enums, and macros for the MAC
*/
@@ -40,8 +40,13 @@
#ifndef _EM_HW_H_
#define _EM_HW_H_
+#define NO_VERSION_CONTROL
+
#include <dev/pci/if_em_osdep.h>
+#ifndef NO_VERSION_CONTROL
+#ident "@(#)$RCSfile: if_em_hw.h,v $$Revision: 1.5 $$Date: 2004/04/18 04:15:00 $"
+#endif
/* Forward declarations of structures used by the shared code */
struct em_hw;
@@ -298,7 +303,7 @@ int32_t em_read_mac_addr(struct em_hw * hw);
/* Filters (multicast, vlan, receive) */
void em_init_rx_addrs(struct em_hw *hw);
-void em_mc_addr_list_update(struct em_hw *hw, uint8_t * mc_addr_list, uint32_t mc_addr_count, uint32_t pad);
+void em_mc_addr_list_update(struct em_hw *hw, uint8_t * mc_addr_list, uint32_t mc_addr_count, uint32_t pad, uint32_t rar_used_count);
uint32_t em_hash_mc_addr(struct em_hw *hw, uint8_t * mc_addr);
void em_mta_set(struct em_hw *hw, uint32_t hash_value);
void em_rar_set(struct em_hw *hw, uint8_t * mc_addr, uint32_t rar_index);
@@ -324,9 +329,13 @@ void em_pci_clear_mwi(struct em_hw *hw);
void em_read_pci_cfg(struct em_hw *hw, uint32_t reg, uint16_t * value);
void em_write_pci_cfg(struct em_hw *hw, uint32_t reg, uint16_t * value);
/* Port I/O is only supported on 82544 and newer */
-uint32_t em_io_read(struct em_hw *hw, uint32_t port);
+#ifdef __FreeBSD__
+uint32_t em_io_read(struct em_hw *hw, unsigned long port);
+#endif /* __FreeBSD__ */
uint32_t em_read_reg_io(struct em_hw *hw, uint32_t offset);
-void em_io_write(struct em_hw *hw, uint32_t port, uint32_t value);
+#ifdef __FreeBSD__
+void em_io_write(struct em_hw *hw, unsigned long port, uint32_t value);
+#endif /* __FreeBSD__ */
void em_write_reg_io(struct em_hw *hw, uint32_t offset, uint32_t value);
int32_t em_config_dsp_after_link_change(struct em_hw *hw, boolean_t link_up);
int32_t em_set_d3_lplu_state(struct em_hw *hw, boolean_t active);
@@ -985,7 +994,7 @@ struct em_hw {
em_ms_type master_slave;
em_ms_type original_master_slave;
em_ffe_config ffe_config_state;
- uint32_t io_base;
+ unsigned long io_base;
uint32_t phy_id;
uint32_t phy_revision;
uint32_t phy_addr;
@@ -1028,6 +1037,7 @@ struct em_hw {
boolean_t speed_downgraded;
em_dsp_config dsp_config_state;
boolean_t get_link_status;
+ boolean_t serdes_link_down;
boolean_t tbi_compatibility_en;
boolean_t tbi_compatibility_on;
boolean_t phy_reset_disable;
@@ -1317,6 +1327,7 @@ struct em_hw {
#define E1000_RCTL_DPF 0x00400000 /* discard pause frames */
#define E1000_RCTL_PMCF 0x00800000 /* pass MAC control frames */
#define E1000_RCTL_BSEX 0x02000000 /* Buffer size extension */
+#define E1000_RCTL_SECRC 0x04000000 /* Strip Ethernet CRC */
/* Receive Descriptor */
#define E1000_RDT_DELAY 0x0000ffff /* Delay timer (1=1024us) */