#include <linux/iopoll.h>
#include "aq_hw.h"
#include "aq_hw_utils.h"
#include "aq_nic.h"
#include "hw_atl/hw_atl_llh.h"
#include "hw_atl2_utils.h"
#include "hw_atl2_llh.h"
#include "hw_atl2_internal.h"
#define AQ_A2_FW_READ_TRY_MAX …
#define hw_atl2_shared_buffer_write(HW, ITEM, VARIABLE) …
#define hw_atl2_shared_buffer_get(HW, ITEM, VARIABLE) …
#define hw_atl2_shared_buffer_read(HW, ITEM, VARIABLE) …
#define hw_atl2_shared_buffer_read_safe(HW, ITEM, DATA) …
static int hw_atl2_shared_buffer_read_block(struct aq_hw_s *self,
u32 offset, u32 dwords, void *data)
{ … }
static inline int hw_atl2_shared_buffer_finish_ack(struct aq_hw_s *self)
{ … }
static int aq_a2_fw_init(struct aq_hw_s *self)
{ … }
static int aq_a2_fw_deinit(struct aq_hw_s *self)
{ … }
static void a2_link_speed_mask2fw(u32 speed,
struct link_options_s *link_options)
{ … }
static u32 a2_fw_dev_to_eee_mask(struct device_link_caps_s *device_link_caps)
{ … }
static u32 a2_fw_lkp_to_mask(struct lkp_link_caps_s *lkp_link_caps)
{ … }
static int aq_a2_fw_set_link_speed(struct aq_hw_s *self, u32 speed)
{ … }
static void aq_a2_fw_set_mpi_flow_control(struct aq_hw_s *self,
struct link_options_s *link_options)
{ … }
static void aq_a2_fw_upd_eee_rate_bits(struct aq_hw_s *self,
struct link_options_s *link_options,
u32 eee_speeds)
{ … }
static int aq_a2_fw_set_state(struct aq_hw_s *self,
enum hal_atl_utils_fw_state_e state)
{ … }
static int aq_a2_fw_update_link_status(struct aq_hw_s *self)
{ … }
static int aq_a2_fw_get_mac_permanent(struct aq_hw_s *self, u8 *mac)
{ … }
static void aq_a2_fill_a0_stats(struct aq_hw_s *self,
struct statistics_s *stats)
{ … }
static void aq_a2_fill_b0_stats(struct aq_hw_s *self,
struct statistics_s *stats)
{ … }
static int aq_a2_fw_update_stats(struct aq_hw_s *self)
{ … }
static int aq_a2_fw_get_phy_temp(struct aq_hw_s *self, int *temp)
{ … }
static int aq_a2_fw_get_mac_temp(struct aq_hw_s *self, int *temp)
{ … }
static int aq_a2_fw_set_eee_rate(struct aq_hw_s *self, u32 speed)
{ … }
static int aq_a2_fw_get_eee_rate(struct aq_hw_s *self, u32 *rate,
u32 *supported_rates)
{ … }
static int aq_a2_fw_renegotiate(struct aq_hw_s *self)
{ … }
static int aq_a2_fw_set_flow_control(struct aq_hw_s *self)
{ … }
static u32 aq_a2_fw_get_flow_control(struct aq_hw_s *self, u32 *fcmode)
{ … }
static int aq_a2_fw_set_phyloopback(struct aq_hw_s *self, u32 mode, bool enable)
{ … }
u32 hw_atl2_utils_get_fw_version(struct aq_hw_s *self)
{ … }
int hw_atl2_utils_get_action_resolve_table_caps(struct aq_hw_s *self,
u8 *base_index, u8 *count)
{ … }
static int aq_a2_fw_set_downshift(struct aq_hw_s *self, u32 counter)
{ … }
const struct aq_fw_ops aq_a2_fw_ops = …;