linux/drivers/net/ethernet/amazon/ena/ena_eth_io_defs.h

/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */
/*
 * Copyright 2015-2020 Amazon.com, Inc. or its affiliates. All rights reserved.
 */
#ifndef _ENA_ETH_IO_H_
#define _ENA_ETH_IO_H_

enum ena_eth_io_l3_proto_index {};

enum ena_eth_io_l4_proto_index {};

struct ena_eth_io_tx_desc {};

struct ena_eth_io_tx_meta_desc {};

struct ena_eth_io_tx_cdesc {};

struct ena_eth_io_rx_desc {};

/* 4-word format Note: all ethernet parsing information are valid only when
 * last=1
 */
struct ena_eth_io_rx_cdesc_base {};

/* 8-word format */
struct ena_eth_io_rx_cdesc_ext {};

struct ena_eth_io_intr_reg {};

struct ena_eth_io_numa_node_cfg_reg {};

/* tx_desc */
#define ENA_ETH_IO_TX_DESC_LENGTH_MASK
#define ENA_ETH_IO_TX_DESC_REQ_ID_HI_SHIFT
#define ENA_ETH_IO_TX_DESC_REQ_ID_HI_MASK
#define ENA_ETH_IO_TX_DESC_META_DESC_SHIFT
#define ENA_ETH_IO_TX_DESC_META_DESC_MASK
#define ENA_ETH_IO_TX_DESC_PHASE_SHIFT
#define ENA_ETH_IO_TX_DESC_PHASE_MASK
#define ENA_ETH_IO_TX_DESC_FIRST_SHIFT
#define ENA_ETH_IO_TX_DESC_FIRST_MASK
#define ENA_ETH_IO_TX_DESC_LAST_SHIFT
#define ENA_ETH_IO_TX_DESC_LAST_MASK
#define ENA_ETH_IO_TX_DESC_COMP_REQ_SHIFT
#define ENA_ETH_IO_TX_DESC_COMP_REQ_MASK
#define ENA_ETH_IO_TX_DESC_L3_PROTO_IDX_MASK
#define ENA_ETH_IO_TX_DESC_DF_SHIFT
#define ENA_ETH_IO_TX_DESC_DF_MASK
#define ENA_ETH_IO_TX_DESC_TSO_EN_SHIFT
#define ENA_ETH_IO_TX_DESC_TSO_EN_MASK
#define ENA_ETH_IO_TX_DESC_L4_PROTO_IDX_SHIFT
#define ENA_ETH_IO_TX_DESC_L4_PROTO_IDX_MASK
#define ENA_ETH_IO_TX_DESC_L3_CSUM_EN_SHIFT
#define ENA_ETH_IO_TX_DESC_L3_CSUM_EN_MASK
#define ENA_ETH_IO_TX_DESC_L4_CSUM_EN_SHIFT
#define ENA_ETH_IO_TX_DESC_L4_CSUM_EN_MASK
#define ENA_ETH_IO_TX_DESC_ETHERNET_FCS_DIS_SHIFT
#define ENA_ETH_IO_TX_DESC_ETHERNET_FCS_DIS_MASK
#define ENA_ETH_IO_TX_DESC_L4_CSUM_PARTIAL_SHIFT
#define ENA_ETH_IO_TX_DESC_L4_CSUM_PARTIAL_MASK
#define ENA_ETH_IO_TX_DESC_REQ_ID_LO_SHIFT
#define ENA_ETH_IO_TX_DESC_REQ_ID_LO_MASK
#define ENA_ETH_IO_TX_DESC_ADDR_HI_MASK
#define ENA_ETH_IO_TX_DESC_HEADER_LENGTH_SHIFT
#define ENA_ETH_IO_TX_DESC_HEADER_LENGTH_MASK

/* tx_meta_desc */
#define ENA_ETH_IO_TX_META_DESC_REQ_ID_LO_MASK
#define ENA_ETH_IO_TX_META_DESC_EXT_VALID_SHIFT
#define ENA_ETH_IO_TX_META_DESC_EXT_VALID_MASK
#define ENA_ETH_IO_TX_META_DESC_MSS_HI_SHIFT
#define ENA_ETH_IO_TX_META_DESC_MSS_HI_MASK
#define ENA_ETH_IO_TX_META_DESC_ETH_META_TYPE_SHIFT
#define ENA_ETH_IO_TX_META_DESC_ETH_META_TYPE_MASK
#define ENA_ETH_IO_TX_META_DESC_META_STORE_SHIFT
#define ENA_ETH_IO_TX_META_DESC_META_STORE_MASK
#define ENA_ETH_IO_TX_META_DESC_META_DESC_SHIFT
#define ENA_ETH_IO_TX_META_DESC_META_DESC_MASK
#define ENA_ETH_IO_TX_META_DESC_PHASE_SHIFT
#define ENA_ETH_IO_TX_META_DESC_PHASE_MASK
#define ENA_ETH_IO_TX_META_DESC_FIRST_SHIFT
#define ENA_ETH_IO_TX_META_DESC_FIRST_MASK
#define ENA_ETH_IO_TX_META_DESC_LAST_SHIFT
#define ENA_ETH_IO_TX_META_DESC_LAST_MASK
#define ENA_ETH_IO_TX_META_DESC_COMP_REQ_SHIFT
#define ENA_ETH_IO_TX_META_DESC_COMP_REQ_MASK
#define ENA_ETH_IO_TX_META_DESC_REQ_ID_HI_MASK
#define ENA_ETH_IO_TX_META_DESC_L3_HDR_LEN_MASK
#define ENA_ETH_IO_TX_META_DESC_L3_HDR_OFF_SHIFT
#define ENA_ETH_IO_TX_META_DESC_L3_HDR_OFF_MASK
#define ENA_ETH_IO_TX_META_DESC_L4_HDR_LEN_IN_WORDS_SHIFT
#define ENA_ETH_IO_TX_META_DESC_L4_HDR_LEN_IN_WORDS_MASK
#define ENA_ETH_IO_TX_META_DESC_MSS_LO_SHIFT
#define ENA_ETH_IO_TX_META_DESC_MSS_LO_MASK

/* tx_cdesc */
#define ENA_ETH_IO_TX_CDESC_PHASE_MASK

/* rx_desc */
#define ENA_ETH_IO_RX_DESC_PHASE_MASK
#define ENA_ETH_IO_RX_DESC_FIRST_SHIFT
#define ENA_ETH_IO_RX_DESC_FIRST_MASK
#define ENA_ETH_IO_RX_DESC_LAST_SHIFT
#define ENA_ETH_IO_RX_DESC_LAST_MASK
#define ENA_ETH_IO_RX_DESC_COMP_REQ_SHIFT
#define ENA_ETH_IO_RX_DESC_COMP_REQ_MASK

/* rx_cdesc_base */
#define ENA_ETH_IO_RX_CDESC_BASE_L3_PROTO_IDX_MASK
#define ENA_ETH_IO_RX_CDESC_BASE_SRC_VLAN_CNT_SHIFT
#define ENA_ETH_IO_RX_CDESC_BASE_SRC_VLAN_CNT_MASK
#define ENA_ETH_IO_RX_CDESC_BASE_L4_PROTO_IDX_SHIFT
#define ENA_ETH_IO_RX_CDESC_BASE_L4_PROTO_IDX_MASK
#define ENA_ETH_IO_RX_CDESC_BASE_L3_CSUM_ERR_SHIFT
#define ENA_ETH_IO_RX_CDESC_BASE_L3_CSUM_ERR_MASK
#define ENA_ETH_IO_RX_CDESC_BASE_L4_CSUM_ERR_SHIFT
#define ENA_ETH_IO_RX_CDESC_BASE_L4_CSUM_ERR_MASK
#define ENA_ETH_IO_RX_CDESC_BASE_IPV4_FRAG_SHIFT
#define ENA_ETH_IO_RX_CDESC_BASE_IPV4_FRAG_MASK
#define ENA_ETH_IO_RX_CDESC_BASE_L4_CSUM_CHECKED_SHIFT
#define ENA_ETH_IO_RX_CDESC_BASE_L4_CSUM_CHECKED_MASK
#define ENA_ETH_IO_RX_CDESC_BASE_PHASE_SHIFT
#define ENA_ETH_IO_RX_CDESC_BASE_PHASE_MASK
#define ENA_ETH_IO_RX_CDESC_BASE_L3_CSUM2_SHIFT
#define ENA_ETH_IO_RX_CDESC_BASE_L3_CSUM2_MASK
#define ENA_ETH_IO_RX_CDESC_BASE_FIRST_SHIFT
#define ENA_ETH_IO_RX_CDESC_BASE_FIRST_MASK
#define ENA_ETH_IO_RX_CDESC_BASE_LAST_SHIFT
#define ENA_ETH_IO_RX_CDESC_BASE_LAST_MASK
#define ENA_ETH_IO_RX_CDESC_BASE_BUFFER_SHIFT
#define ENA_ETH_IO_RX_CDESC_BASE_BUFFER_MASK

/* intr_reg */
#define ENA_ETH_IO_INTR_REG_RX_INTR_DELAY_MASK
#define ENA_ETH_IO_INTR_REG_TX_INTR_DELAY_SHIFT
#define ENA_ETH_IO_INTR_REG_TX_INTR_DELAY_MASK
#define ENA_ETH_IO_INTR_REG_INTR_UNMASK_SHIFT
#define ENA_ETH_IO_INTR_REG_INTR_UNMASK_MASK

/* numa_node_cfg_reg */
#define ENA_ETH_IO_NUMA_NODE_CFG_REG_NUMA_MASK
#define ENA_ETH_IO_NUMA_NODE_CFG_REG_ENABLED_SHIFT
#define ENA_ETH_IO_NUMA_NODE_CFG_REG_ENABLED_MASK

#endif /* _ENA_ETH_IO_H_ */