#include "../aq_hw.h"
#include "../aq_hw_utils.h"
#include "../aq_ring.h"
#include "../aq_nic.h"
#include "../aq_phy.h"
#include "hw_atl_b0.h"
#include "hw_atl_utils.h"
#include "hw_atl_llh.h"
#include "hw_atl_b0_internal.h"
#include "hw_atl_llh_internal.h"
#define DEFAULT_B0_BOARD_BASIC_CAPABILITIES …
const struct aq_hw_caps_s hw_atl_b0_caps_aqc100 = …;
const struct aq_hw_caps_s hw_atl_b0_caps_aqc107 = …;
const struct aq_hw_caps_s hw_atl_b0_caps_aqc108 = …;
const struct aq_hw_caps_s hw_atl_b0_caps_aqc109 = …;
const struct aq_hw_caps_s hw_atl_b0_caps_aqc111 = …;
const struct aq_hw_caps_s hw_atl_b0_caps_aqc112 = …;
static int hw_atl_b0_hw_reset(struct aq_hw_s *self)
{ … }
int hw_atl_b0_set_fc(struct aq_hw_s *self, u32 fc, u32 tc)
{ … }
static int hw_atl_b0_tc_ptp_set(struct aq_hw_s *self)
{ … }
static int hw_atl_b0_hw_qos_set(struct aq_hw_s *self)
{ … }
int hw_atl_b0_hw_rss_hash_set(struct aq_hw_s *self,
struct aq_rss_parameters *rss_params)
{ … }
static int hw_atl_b0_hw_rss_set(struct aq_hw_s *self,
struct aq_rss_parameters *rss_params)
{ … }
int hw_atl_b0_hw_offload_set(struct aq_hw_s *self,
struct aq_nic_cfg_s *aq_nic_cfg)
{ … }
static int hw_atl_b0_hw_init_tx_tc_rate_limit(struct aq_hw_s *self)
{ … }
static int hw_atl_b0_hw_init_tx_path(struct aq_hw_s *self)
{ … }
void hw_atl_b0_hw_init_rx_rss_ctrl1(struct aq_hw_s *self)
{ … }
static int hw_atl_b0_hw_init_rx_path(struct aq_hw_s *self)
{ … }
int hw_atl_b0_hw_mac_addr_set(struct aq_hw_s *self, const u8 *mac_addr)
{ … }
static int hw_atl_b0_hw_init(struct aq_hw_s *self, const u8 *mac_addr)
{ … }
int hw_atl_b0_hw_ring_tx_start(struct aq_hw_s *self, struct aq_ring_s *ring)
{ … }
int hw_atl_b0_hw_ring_rx_start(struct aq_hw_s *self, struct aq_ring_s *ring)
{ … }
int hw_atl_b0_hw_start(struct aq_hw_s *self)
{ … }
static int hw_atl_b0_hw_tx_ring_tail_update(struct aq_hw_s *self,
struct aq_ring_s *ring)
{ … }
int hw_atl_b0_hw_ring_tx_xmit(struct aq_hw_s *self, struct aq_ring_s *ring,
unsigned int frags)
{ … }
int hw_atl_b0_hw_ring_rx_init(struct aq_hw_s *self, struct aq_ring_s *aq_ring,
struct aq_ring_param_s *aq_ring_param)
{ … }
int hw_atl_b0_hw_ring_tx_init(struct aq_hw_s *self, struct aq_ring_s *aq_ring,
struct aq_ring_param_s *aq_ring_param)
{ … }
int hw_atl_b0_hw_ring_rx_fill(struct aq_hw_s *self, struct aq_ring_s *ring,
unsigned int sw_tail_old)
{ … }
static int hw_atl_b0_hw_ring_hwts_rx_fill(struct aq_hw_s *self,
struct aq_ring_s *ring)
{ … }
static int hw_atl_b0_hw_ring_hwts_rx_receive(struct aq_hw_s *self,
struct aq_ring_s *ring)
{ … }
int hw_atl_b0_hw_ring_tx_head_update(struct aq_hw_s *self,
struct aq_ring_s *ring)
{ … }
int hw_atl_b0_hw_ring_rx_receive(struct aq_hw_s *self, struct aq_ring_s *ring)
{ … }
int hw_atl_b0_hw_irq_enable(struct aq_hw_s *self, u64 mask)
{ … }
int hw_atl_b0_hw_irq_disable(struct aq_hw_s *self, u64 mask)
{ … }
int hw_atl_b0_hw_irq_read(struct aq_hw_s *self, u64 *mask)
{ … }
#define IS_FILTER_ENABLED …
int hw_atl_b0_hw_packet_filter_set(struct aq_hw_s *self,
unsigned int packet_filter)
{ … }
#undef IS_FILTER_ENABLED
static int hw_atl_b0_hw_multicast_list_set(struct aq_hw_s *self,
u8 ar_mac
[AQ_HW_MULTICAST_ADDRESS_MAX]
[ETH_ALEN],
u32 count)
{ … }
static int hw_atl_b0_hw_interrupt_moderation_set(struct aq_hw_s *self)
{ … }
static int hw_atl_b0_hw_stop(struct aq_hw_s *self)
{ … }
int hw_atl_b0_hw_ring_tx_stop(struct aq_hw_s *self, struct aq_ring_s *ring)
{ … }
int hw_atl_b0_hw_ring_rx_stop(struct aq_hw_s *self, struct aq_ring_s *ring)
{ … }
#define get_ptp_ts_val_u64(self, indx) …
static void hw_atl_b0_get_ptp_ts(struct aq_hw_s *self, u64 *stamp)
{ … }
static void hw_atl_b0_adj_params_get(u64 freq, s64 adj, u32 *ns, u32 *fns)
{ … }
static void
hw_atl_b0_mac_adj_param_calc(struct hw_fw_request_ptp_adj_freq *ptp_adj_freq,
u64 phyfreq, u64 macfreq)
{ … }
static int hw_atl_b0_adj_sys_clock(struct aq_hw_s *self, s64 delta)
{ … }
static int hw_atl_b0_set_sys_clock(struct aq_hw_s *self, u64 time, u64 ts)
{ … }
static int hw_atl_b0_ts_to_sys_clock(struct aq_hw_s *self, u64 ts, u64 *time)
{ … }
static int hw_atl_b0_adj_clock_freq(struct aq_hw_s *self, s32 ppb)
{ … }
static int hw_atl_b0_gpio_pulse(struct aq_hw_s *self, u32 index,
u64 start, u32 period)
{ … }
static int hw_atl_b0_extts_gpio_enable(struct aq_hw_s *self, u32 index,
u32 enable)
{ … }
static int hw_atl_b0_get_sync_ts(struct aq_hw_s *self, u64 *ts)
{ … }
static u16 hw_atl_b0_rx_extract_ts(struct aq_hw_s *self, u8 *p,
unsigned int len, u64 *timestamp)
{ … }
static int hw_atl_b0_extract_hwts(struct aq_hw_s *self, u8 *p, unsigned int len,
u64 *timestamp)
{ … }
static int hw_atl_b0_hw_fl3l4_clear(struct aq_hw_s *self,
struct aq_rx_filter_l3l4 *data)
{ … }
static int hw_atl_b0_hw_fl3l4_set(struct aq_hw_s *self,
struct aq_rx_filter_l3l4 *data)
{ … }
static int hw_atl_b0_hw_fl2_set(struct aq_hw_s *self,
struct aq_rx_filter_l2 *data)
{ … }
static int hw_atl_b0_hw_fl2_clear(struct aq_hw_s *self,
struct aq_rx_filter_l2 *data)
{ … }
static int hw_atl_b0_hw_vlan_set(struct aq_hw_s *self,
struct aq_rx_filter_vlan *aq_vlans)
{ … }
static int hw_atl_b0_hw_vlan_ctrl(struct aq_hw_s *self, bool enable)
{ … }
int hw_atl_b0_set_loopback(struct aq_hw_s *self, u32 mode, bool enable)
{ … }
static u32 hw_atl_b0_ts_ready_and_latch_high_get(struct aq_hw_s *self)
{ … }
static int hw_atl_b0_get_mac_temp(struct aq_hw_s *self, u32 *temp)
{ … }
const struct aq_hw_ops hw_atl_ops_b0 = …;