17#define ICE_BAR_SIZE 0x800000
69#define ICE_QRX_CTRL 0x120000
72#define ICE_QRX_CONTEXT(x) ( 0x280000 + ( 0x2000 * (x) ) )
75#define ICE_QRX_TAIL 0x290000
78#define ICE_QTX_COMM_DBELL 0x2c0000
81#define ICE_GLCOMM_QTX_CNTX_DATA(x) ( 0x2d2d40 + ( 0x4 * (x) ) )
84#define ICE_GLCOMM_QTX_CNTX_CTL 0x2d2dc8
85#define ICE_GLCOMM_QTX_CNTX_CTL_CMD(x) ( (x) << 16 )
86#define ICE_GLCOMM_QTX_CNTX_CTL_CMD_READ \
87 ICE_GLCOMM_QTX_CNTX_CTL_CMD ( 0 )
88#define ICE_GLCOMM_QTX_CNTX_CTL_EXEC 0x00080000UL
91#define ICE_GLCOMM_QTX_CNTX_STAT 0x2d2dcc
92#define ICE_GLCOMM_QTX_CNTX_BUSY 0x00000001UL
95#define ICE_QRX_FLXP_CNTXT 0x480000
96#define ICE_QRX_FLXP_CNTXT_RXDID_IDX(x) ( (x) << 0 )
97#define ICE_QRX_FLXP_CNTXT_RXDID_IDX_LEGACY_32 \
98 ICE_QRX_FLXP_CNTXT_RXDID_IDX ( 1 )
99#define ICE_QRX_FLXP_CNTXT_RXDID_PRIO(x) ( (x) << 8 )
100#define ICE_QRX_FLXP_CNTXT_RXDID_PRIO_MAX \
101 ICE_QRX_FLXP_CNTXT_RXDID_PRIO ( 7 )
157#define ICE_ADMIN_MAC_READ_TYPE_LAN 0
200#define ICE_ADMIN_SWITCH_TYPE_MASK 0xc000
203#define ICE_ADMIN_SWITCH_TYPE_VSI 0x8000
212#define ICE_ADMIN_ADD_RULES 0x02a0
248#define ICE_ADMIN_RULES_RECIPE_PROMISC 0x0003
251#define ICE_ADMIN_RULES_ACTION_VALID 0x00020000UL
254#define ICE_ADMIN_RULES_ACTION_VSI(x) ( (x) << 4 )
257#define ICE_ADMIN_SCHEDULE 0x0400
270#define ICE_SCHEDULE_GENERIC 0x01
273#define ICE_SCHEDULE_COMMIT 0x02
276#define ICE_SCHEDULE_EXCESS 0x04
279#define ICE_SCHEDULE_WEIGHT 0x0004
350#define ICE_ADMIN_ADD_TXQ 0x0c30
381#define ICE_TXQ_BASE_PORT( addr, port ) \
382 ( ( (addr) >> 7 ) | ( ( ( uint64_t ) (port) ) << 57 ) )
385#define ICE_TXQ_PF_TYPE( pf ) ( ( (pf) << 1 ) | ( 0x2 << 14 ) )
388#define ICE_TXQ_LEN( count ) ( (count) >> 1 )
391#define ICE_TXQ_FL_TSO 0x0001
394#define ICE_TXQ_FL_LEGACY 0x1000
397#define ICE_ADMIN_DISABLE_TXQ 0x0c31
414#define ICE_TXQ_FL_FLUSH 0x08
417#define ICE_TXQ_TIMEOUT 0xc8
540#define ICE_PFFUNC_RID 0x09e880
541#define ICE_PFFUNC_RID_FUNC_NUM(x) \
542 ( ( (x) >> 0 ) & 0x7 )
545#define ICE_PFGEN_PORTNUM 0x1d2400
546#define ICE_PFGEN_PORTNUM_PORT_NUM(x) \
547 ( ( (x) >> 0 ) & 0x7 )
550#define ICE_QINT_TQCTL 0x140000
551#define ICE_QINT_TQCTL_ITR_INDX(x) ( (x) << 11 )
552#define ICE_QINT_TQCTL_ITR_INDX_NONE \
553 ICE_QINT_TQCTL_ITR_INDX ( 0x3 )
554#define ICE_QINT_TQCTL_CAUSE_ENA 0x40000000UL
557#define ICE_QINT_RQCTL 0x150000
558#define ICE_QINT_RQCTL_ITR_INDX(x) ( (x) << 11 )
559#define ICE_QINT_RQCTL_ITR_INDX_NONE \
560 ICE_QINT_RQCTL_ITR_INDX ( 0x3 )
561#define ICE_QINT_RQCTL_CAUSE_ENA 0x40000000UL
564#define ICE_GLINT_DYN_CTL 0x160000
struct golan_inbox_hdr hdr
Message header.
unsigned long long uint64_t
#define FILE_LICENCE(_licence)
Declare a particular licence as applying to a file.
#define FILE_SECBOOT(_status)
Declare a file's UEFI Secure Boot permission status.
static union ice_admin_buffer * ice_admin_command_buffer(struct intelxl_nic *intelxl)
Get next admin command queue data buffer.
struct ice_admin_descriptor * ice_admin_command_descriptor(struct intelxl_nic *intelxl)
Get next admin command queue descriptor.
union intelxl_admin_buffer * intelxl_admin_command_buffer(struct intelxl_nic *intelxl)
Get next admin command queue data buffer.
struct intelxl_admin_descriptor * intelxl_admin_command_descriptor(struct intelxl_nic *intelxl)
Get next admin command queue descriptor.
Intel 40 Gigabit Ethernet network card driver.
#define INTELXL_ADMIN_BUFFER_SIZE
Maximum size of a data buffer.
#define container_of(ptr, type, field)
Get containing structure.
An Ethernet link-layer header.
Admin queue Add Transmit Queues data buffer.
struct ice_schedule_tx sched
Scheduler configuration.
uint32_t parent
Parent TEID.
struct ice_context_tx ctx
Transmit queue context.
uint8_t reserved_a[3]
Reserved.
uint16_t id
Transmit queue ID.
uint8_t reserved_b[2]
Reserved.
uint8_t count
Number of queues.
Admin queue Add Transmit Queues command parameters.
uint8_t reserved[7]
Reserved.
uint8_t count
Number of queue groups.
Admin queue Restart Autonegotiation command parameters.
uint8_t reserved_a[2]
Reserved.
uint8_t reserved_b[13]
Reserved.
union ice_admin_params params
Parameters.
uint8_t reserved[4]
Reserved.
uint16_t ret
Return value.
struct intelxl_admin_descriptor xl
Original 40 Gigabit Ethernet descriptor.
uint32_t cookie
Opaque cookie.
Admin queue Disable Transmit Queues data buffer.
uint16_t id
Transmit queue ID.
uint8_t count
Number of queues.
uint8_t reserved
Reserved.
uint32_t parent
Parent TEID.
Admin queue Disable Transmit Queues command parameters.
uint8_t count
Number of queue groups.
uint8_t reserved_b[4]
Reserved.
uint8_t reserved_a
Reserved.
Admin queue Get Link Status data buffer.
uint8_t conflict
Topology conflicts.
uint8_t reserved_b[20]
Reserved.
uint8_t status
Link status.
uint8_t error
Configuration errors.
uint16_t speed
Link speed.
uint8_t reserved_a[7]
Reserved.
Admin queue Get Link Status command parameters.
uint8_t reserved_b[13]
Reserved.
uint8_t port
Logical port number.
uint8_t notify
Link status notification.
uint8_t reserved_a
Reserved.
uint8_t type
Address type.
uint8_t mac[ETH_ALEN]
MAC address.
Admin queue Manage MAC Address Read data buffer.
struct ice_admin_mac_read_address mac[4]
MAC addresses.
Admin queue Manage MAC Address Read command parameters.
uint8_t reserved_b[11]
Reserved.
uint8_t count
Number of addresses in response.
uint8_t reserved_a[3]
Reserved.
uint8_t valid
Valid addresses.
Admin queue Manage MAC Address Write command parameters.
uint8_t reserved_a[1]
Reserved.
uint8_t reserved_b[8]
Reserved.
uint8_t mac[ETH_ALEN]
MAC address.
Admin queue Add Switch Rules data buffer.
struct ethhdr eth
Ethernet header.
uint16_t index
Lookup table index.
uint16_t recipe
Receipt ID.
uint16_t len
Header length.
uint16_t status
Return status.
uint16_t port
Source port.
Admin queue Add Switch Rules command parameters.
uint16_t count
Number of rules.
uint8_t reserved[6]
Reserved.
Admin queue Query Default Scheduling Tree Topology branch.
uint8_t reserved_b[2]
Reserved.
uint16_t count
Number of nodes.
struct ice_admin_schedule_node node[0]
Nodes.
uint8_t reserved_a[4]
Reserved.
Admin queue Query Default Scheduling Tree Topology node.
struct ice_schedule_tx config
Scheduler configuration.
uint32_t parent
Parent TEID.
Admin queue Query Default Scheduling Tree Topology command parameters.
uint8_t reserved_b[6]
Reserved.
uint8_t branches
Total branches.
uint8_t reserved_a
Reserved.
Admin queue Get Switch Configuration data buffer.
struct ice_admin_switch_config cfg[1]
Switch configuration.
Switching element configuration.
uint16_t uplink
Uplink switching element ID.
uint16_t func
PF/VF number.
uint16_t seid
Switching element ID and flags.
Admin queue Get Switch Configuration command parameters.
uint8_t reserved_a[2]
Reserved.
uint8_t reserved[4]
Reserved.
uint16_t next
Starting switching element identifier.
uint64_t address
Data buffer address.
Admin queue Get Version command parameters.
struct ice_admin_version firmware
Firmware version.
struct ice_admin_version api
API version.
uint32_t build
Firmware build ID.
Admin queue version number.
uint8_t minor
Minor version number.
uint8_t major
Major version number.
uint8_t patch
Patch level.
uint8_t branch
Branch identifier.
uint16_t len
Queue length.
uint8_t reserved_c[5]
Reserved.
uint8_t reserved_d[3]
Reserved.
uint16_t pf_type
PF number and queue type.
uint64_t base_port
Base address.
Transmit scheduler configuration.
uint16_t commit_id
Committed bandwidth profile ID.
uint16_t commit_weight
Committeed bandwidth weight.
uint16_t reserved
Reserved.
uint16_t excess_id
Excess bandwidth profile ID.
uint16_t shared
Shared rate limit profile ID.
uint16_t excess_weight
Excess bandwidth weight.
uint8_t sections
Valid sections.
Admin queue data buffer command parameters.
An Intel 40 Gigabit network card.
struct ice_admin_link_buffer link
Get Link Status data buffer.
union intelxl_admin_buffer xl
Original 40 Gigabit Ethernet data buffer.
struct ice_admin_switch_buffer sw
Get Switch Configuration data buffer.
struct ice_admin_mac_read_buffer mac_read
Manage MAC Address Read data buffer.
struct ice_admin_add_txq_buffer add_txq
Add Transmit Queue data buffer.
struct ice_admin_disable_txq_buffer disable_txq
Disable Transmit Queue data buffer.
struct ice_admin_rules_buffer rules
Add Switch Rules data buffer.
union ice_admin_schedule_buffer sched
Query Default Scheduling Tree Topology data buffer.
Admin queue command parameters.
struct ice_admin_autoneg_params autoneg
Restart Autonegotiation command parameters.
struct ice_admin_add_txq_params add_txq
Add Transmit Queue command parameters.
struct ice_admin_disable_txq_params disable_txq
Disable Transmit Queue command parameters.
struct ice_admin_version_params version
Get Version command parameters.
struct ice_admin_schedule_params sched
Query Default Scheduling Tree Topology command parameters.
struct ice_admin_mac_read_params mac_read
Manage MAC Address Read command parameters.
struct ice_admin_rules_params rules
Add Switch Rules command parameters.
struct intelxl_admin_buffer_params buffer
Additional data buffer command parameters.
struct ice_admin_mac_write_params mac_write
Manage MAC Address Write command parameters.
struct ice_admin_link_params link
Get Link Status command parameters.
struct ice_admin_switch_params sw
Get Switch Configuration command parameters.
Admin queue Query Default Scheduling Tree Topology data buffer.
uint8_t pad[INTELXL_ADMIN_BUFFER_SIZE]
Padding.
struct ice_admin_schedule_branch branch[0]
Branches.