⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 e1000_hw.h

📁 DELL755 Intel 网卡驱动
💻 H
📖 第 1 页 / 共 2 页
字号:
	u64 ecol;	u64 mcc;	u64 latecol;	u64 colc;	u64 dc;	u64 tncrs;	u64 sec;	u64 cexterr;	u64 rlec;	u64 xonrxc;	u64 xontxc;	u64 xoffrxc;	u64 xofftxc;	u64 fcruc;	u64 prc64;	u64 prc127;	u64 prc255;	u64 prc511;	u64 prc1023;	u64 prc1522;	u64 gprc;	u64 bprc;	u64 mprc;	u64 gptc;	u64 gorc;	u64 gotc;	u64 rnbc;	u64 ruc;	u64 rfc;	u64 roc;	u64 rjc;	u64 mgprc;	u64 mgpdc;	u64 mgptc;	u64 tor;	u64 tot;	u64 tpr;	u64 tpt;	u64 ptc64;	u64 ptc127;	u64 ptc255;	u64 ptc511;	u64 ptc1023;	u64 ptc1522;	u64 mptc;	u64 bptc;	u64 tsctc;	u64 tsctfc;	u64 iac;	u64 icrxptc;	u64 icrxatc;	u64 ictxptc;	u64 ictxatc;	u64 ictxqec;	u64 ictxqmtc;	u64 icrxdmtc;	u64 icrxoc;	u64 cbtmpc;	u64 htdpmc;	u64 cbrdpc;	u64 cbrmpc;	u64 rpthc;	u64 hgptc;	u64 htcbdpc;	u64 hgorc;	u64 hgotc;	u64 lenerrs;	u64 scvpc;	u64 hrmpc;};struct e1000_phy_stats {	u32 idle_errors;	u32 receive_errors;};struct e1000_host_mng_dhcp_cookie {	u32 signature;	u8  status;	u8  reserved0;	u16 vlan_id;	u32 reserved1;	u16 reserved2;	u8  reserved3;	u8  checksum;};/* Host Interface "Rev 1" */struct e1000_host_command_header {	u8 command_id;	u8 command_length;	u8 command_options;	u8 checksum;};#define E1000_HI_MAX_DATA_LENGTH     252struct e1000_host_command_info {	struct e1000_host_command_header command_header;	u8 command_data[E1000_HI_MAX_DATA_LENGTH];};/* Host Interface "Rev 2" */struct e1000_host_mng_command_header {	u8  command_id;	u8  checksum;	u16 reserved1;	u16 reserved2;	u16 command_length;};#define E1000_HI_MAX_MNG_DATA_LENGTH 0x6F8struct e1000_host_mng_command_info {	struct e1000_host_mng_command_header command_header;	u8 command_data[E1000_HI_MAX_MNG_DATA_LENGTH];};#include "e1000_mac.h"#include "e1000_phy.h"#include "e1000_nvm.h"#include "e1000_manage.h"struct e1000_mac_operations {	/* Function pointers for the MAC. */	s32  (*init_params)(struct e1000_hw *);	s32  (*blink_led)(struct e1000_hw *);	s32  (*check_for_link)(struct e1000_hw *);	bool (*check_mng_mode)(struct e1000_hw *hw);	s32  (*cleanup_led)(struct e1000_hw *);	void (*clear_hw_cntrs)(struct e1000_hw *);	void (*clear_vfta)(struct e1000_hw *);	s32  (*get_bus_info)(struct e1000_hw *);	s32  (*get_link_up_info)(struct e1000_hw *, u16 *, u16 *);	s32  (*led_on)(struct e1000_hw *);	s32  (*led_off)(struct e1000_hw *);	void (*update_mc_addr_list)(struct e1000_hw *, u8 *, u32, u32,	                            u32);	void (*remove_device)(struct e1000_hw *);	s32  (*reset_hw)(struct e1000_hw *);	s32  (*init_hw)(struct e1000_hw *);	s32  (*setup_link)(struct e1000_hw *);	s32  (*setup_physical_interface)(struct e1000_hw *);	s32  (*setup_led)(struct e1000_hw *);	void (*write_vfta)(struct e1000_hw *, u32, u32);	void (*mta_set)(struct e1000_hw *, u32);	void (*config_collision_dist)(struct e1000_hw*);	void (*rar_set)(struct e1000_hw*, u8*, u32);	s32  (*read_mac_addr)(struct e1000_hw*);	s32  (*validate_mdi_setting)(struct e1000_hw*);	s32  (*mng_host_if_write)(struct e1000_hw*, u8*, u16, u16, u8*);	s32  (*mng_write_cmd_header)(struct e1000_hw *hw,                      struct e1000_host_mng_command_header*);	s32  (*mng_enable_host_if)(struct e1000_hw*);	s32  (*wait_autoneg)(struct e1000_hw*);};struct e1000_phy_operations {	s32  (*init_params)(struct e1000_hw *);	s32  (*acquire)(struct e1000_hw *);	s32  (*check_polarity)(struct e1000_hw *);	s32  (*check_reset_block)(struct e1000_hw *);	s32  (*commit)(struct e1000_hw *);	s32  (*force_speed_duplex)(struct e1000_hw *);	s32  (*get_cfg_done)(struct e1000_hw *hw);	s32  (*get_cable_length)(struct e1000_hw *);	s32  (*get_info)(struct e1000_hw *);	s32  (*read_reg)(struct e1000_hw *, u32, u16 *);	void (*release)(struct e1000_hw *);	s32  (*reset)(struct e1000_hw *);	s32  (*set_d0_lplu_state)(struct e1000_hw *, bool);	s32  (*set_d3_lplu_state)(struct e1000_hw *, bool);	s32  (*write_reg)(struct e1000_hw *, u32, u16);	void (*power_up)(struct e1000_hw *);	void (*power_down)(struct e1000_hw *);};struct e1000_nvm_operations {	s32  (*init_params)(struct e1000_hw *);	s32  (*acquire)(struct e1000_hw *);	s32  (*read)(struct e1000_hw *, u16, u16, u16 *);	void (*release)(struct e1000_hw *);	void (*reload)(struct e1000_hw *);	s32  (*update)(struct e1000_hw *);	s32  (*valid_led_default)(struct e1000_hw *, u16 *);	s32  (*validate)(struct e1000_hw *);	s32  (*write)(struct e1000_hw *, u16, u16, u16 *);};struct e1000_mac_info {	struct e1000_mac_operations ops;	u8 addr[6];	u8 perm_addr[6];	e1000_mac_type type;	u32 collision_delta;	u32 ledctl_default;	u32 ledctl_mode1;	u32 ledctl_mode2;	u32 mc_filter_type;	u32 tx_packet_delta;	u32 txcw;	u16 current_ifs_val;	u16 ifs_max_val;	u16 ifs_min_val;	u16 ifs_ratio;	u16 ifs_step_size;	u16 mta_reg_count;	u16 rar_entry_count;	u8  forced_speed_duplex;	bool adaptive_ifs;	bool arc_subsystem_valid;	bool asf_firmware_present;	bool autoneg;	bool autoneg_failed;	bool disable_av;	bool disable_hw_init_bits;	bool get_link_status;	bool ifs_params_forced;	bool in_ifs_mode;	bool report_tx_early;	bool serdes_has_link;	bool tx_pkt_filtering;};struct e1000_phy_info {	struct e1000_phy_operations ops;	e1000_phy_type type;	e1000_1000t_rx_status local_rx;	e1000_1000t_rx_status remote_rx;	e1000_ms_type ms_type;	e1000_ms_type original_ms_type;	e1000_rev_polarity cable_polarity;	e1000_smart_speed smart_speed;	u32 addr;	u32 id;	u32 reset_delay_us; /* in usec */	u32 revision;	e1000_media_type media_type;	u16 autoneg_advertised;	u16 autoneg_mask;	u16 cable_length;	u16 max_cable_length;	u16 min_cable_length;	u8 mdix;	bool disable_polarity_correction;	bool is_mdix;	bool polarity_correction;	bool reset_disable;	bool speed_downgraded;	bool autoneg_wait_to_complete;};struct e1000_nvm_info {	struct e1000_nvm_operations ops;	e1000_nvm_type type;	e1000_nvm_override override;	u32 flash_bank_size;	u32 flash_base_addr;	u32 semaphore_delay;	u16 word_size;	u16 delay_usec;	u16 address_bits;	u16 opcode_bits;	u16 page_size;};struct e1000_bus_info {	e1000_bus_type type;	e1000_bus_speed speed;	e1000_bus_width width;	u32 snoop;	u16 func;	u16 pci_cmd_word;};struct e1000_fc_info {	u32 high_water;     /* Flow control high-water mark */	u32 low_water;      /* Flow control low-water mark */	u16 pause_time;     /* Flow control pause timer */	bool send_xon;      /* Flow control send XON */	bool strict_ieee;   /* Strict IEEE mode */	e1000_fc_type type; /* Type of flow control */	e1000_fc_type original_type;};struct e1000_hw {	void *back;	void *dev_spec;	u8 __iomem *hw_addr;	u8 __iomem *flash_address;	unsigned long io_base;	struct e1000_mac_info  mac;	struct e1000_fc_info   fc;	struct e1000_phy_info  phy;	struct e1000_nvm_info  nvm;	struct e1000_bus_info  bus;	struct e1000_host_mng_dhcp_cookie mng_cookie;	u32 dev_spec_size;	u16 device_id;	u16 subsystem_vendor_id;	u16 subsystem_device_id;	u16 vendor_id;	u8  revision_id;};#include "e1000_82571.h"#include "e1000_80003es2lan.h"#include "e1000_ich8lan.h"/* These functions must be implemented by drivers */s32  e1000_alloc_zeroed_dev_spec_struct(struct e1000_hw *hw, u32 size);s32  e1000_read_pcie_cap_reg(struct e1000_hw *hw, u32 reg, u16 *value);void e1000_free_dev_spec_struct(struct e1000_hw *hw);void e1000_read_pci_cfg(struct e1000_hw *hw, u32 reg, u16 *value);#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -