X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fqede%2Fqede_if.h;h=c5ae3fb2e62b796dc9e06c4370f13d92da75e0e3;hb=8bccf4774c3007726b45b73318732ea29dc435ce;hp=42560d5711236dea347e0075c40536eeb255e6c4;hpb=652ee28ab02d7e97f1a181d18dcb8f1119f3fd9f;p=dpdk.git diff --git a/drivers/net/qede/qede_if.h b/drivers/net/qede/qede_if.h index 42560d5711..c5ae3fb2e6 100644 --- a/drivers/net/qede/qede_if.h +++ b/drivers/net/qede/qede_if.h @@ -1,9 +1,7 @@ -/* - * Copyright (c) 2016 QLogic Corporation. +/* SPDX-License-Identifier: BSD-3-Clause + * Copyright (c) 2016 - 2018 Cavium Inc. * All rights reserved. - * www.qlogic.com - * - * See LICENSE.qede_pmd for copyright and licensing details. + * www.cavium.com */ #ifndef _QEDE_IF_H @@ -19,7 +17,7 @@ enum ecore_int_mode; struct qed_dev_info { uint8_t num_hwfns; - uint8_t hw_mac[ETHER_ADDR_LEN]; + uint8_t hw_mac[RTE_ETHER_ADDR_LEN]; bool is_mf_default; /* FW version */ @@ -40,12 +38,22 @@ struct qed_dev_info { #define QED_MFW_VERSION_3_OFFSET 24 uint32_t flash_size; - uint8_t mf_mode; + bool b_arfs_capable; + bool b_inter_pf_switch; bool tx_switching; u16 mtu; bool smart_an; + /* MBI version */ + uint32_t mbi_version; +#define QED_MBI_VERSION_0_MASK 0x000000FF +#define QED_MBI_VERSION_0_OFFSET 0 +#define QED_MBI_VERSION_1_MASK 0x0000FF00 +#define QED_MBI_VERSION_1_OFFSET 8 +#define QED_MBI_VERSION_2_MASK 0x00FF0000 +#define QED_MBI_VERSION_2_OFFSET 16 + /* Out param for qede */ bool vxlan_enable; bool gre_enable; @@ -60,7 +68,7 @@ struct qed_dev_eth_info { uint8_t num_queues; uint8_t num_tc; - struct ether_addr port_mac; + struct rte_ether_addr port_mac; uint16_t num_vlan_filters; uint32_t num_mac_filters; @@ -83,6 +91,7 @@ struct qed_link_params { #define QED_LINK_OVERRIDE_SPEED_ADV_SPEEDS (1 << 1) #define QED_LINK_OVERRIDE_SPEED_FORCED_SPEED (1 << 2) #define QED_LINK_OVERRIDE_PAUSE_CONFIG (1 << 3) +#define QED_LINK_OVERRIDE_EEE_CONFIG (1 << 5) uint32_t override_flags; bool autoneg; uint32_t adv_speeds; @@ -91,6 +100,7 @@ struct qed_link_params { #define QED_LINK_PAUSE_RX_ENABLE (1 << 1) #define QED_LINK_PAUSE_TX_ENABLE (1 << 2) uint32_t pause_config; + struct ecore_link_eee_params eee; }; struct qed_link_output { @@ -101,9 +111,15 @@ struct qed_link_output { uint32_t speed; /* In Mb/s */ uint32_t adv_speed; /* Speed mask */ uint8_t duplex; /* In DUPLEX defs */ - uint8_t port; /* In PORT defs */ + uint16_t port; /* In PORT defs */ bool autoneg; uint32_t pause_config; + + /* EEE - capability & param */ + bool eee_supported; + bool eee_active; + u8 sup_caps; + struct ecore_link_eee_params eee; }; struct qed_slowpath_params { @@ -173,6 +189,51 @@ struct qed_common_ops { uint32_t dp_module, uint8_t dp_level); int (*send_drv_state)(struct ecore_dev *edev, bool active); + + /* ############### DEBUG *************************/ + + int (*dbg_grc)(struct ecore_dev *edev, + void *buffer, + u32 *num_dumped_bytes); + int (*dbg_grc_size)(struct ecore_dev *edev); + + int (*dbg_idle_chk)(struct ecore_dev *edev, + void *buffer, + u32 *num_dumped_bytes); + int (*dbg_idle_chk_size)(struct ecore_dev *edev); + + int (*dbg_reg_fifo)(struct ecore_dev *edev, + void *buffer, + u32 *num_dumped_bytes); + int (*dbg_reg_fifo_size)(struct ecore_dev *edev); + + int (*dbg_mcp_trace)(struct ecore_dev *edev, + void *buffer, + u32 *num_dumped_bytes); + int (*dbg_mcp_trace_size)(struct ecore_dev *edev); + + int (*dbg_protection_override)(struct ecore_dev *edev, void *buffer, + u32 *num_dumped_bytes); + int (*dbg_protection_override_size)(struct ecore_dev *edev); + + int (*dbg_igu_fifo_size)(struct ecore_dev *edev); + int (*dbg_igu_fifo)(struct ecore_dev *edev, void *buffer, + u32 *num_dumped_bytes); + + int (*dbg_fw_asserts)(struct ecore_dev *edev, void *buffer, + u32 *num_dumped_bytes); + + int (*dbg_fw_asserts_size)(struct ecore_dev *edev); + + int (*dbg_ilt)(struct ecore_dev *edev, void *buffer, + u32 *num_dumped_bytes); + + int (*dbg_ilt_size)(struct ecore_dev *edev); + + u8 (*dbg_get_debug_engine)(struct ecore_dev *edev); + void (*dbg_set_debug_engine)(struct ecore_dev *edev, + int engine_number); + }; /* Externs */