linux/drivers/net/ethernet/aquantia/atlantic/hw_atl2/hw_atl2_utils_fw.c

// SPDX-License-Identifier: GPL-2.0-only
/* Atlantic Network Driver
 * Copyright (C) 2020 Marvell International Ltd.
 */

#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)

/* This should never be used on non atomic fields,
 * treat any > u32 read as non atomic.
 */
#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 =;