linux/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_a0.c

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

/* File hw_atl_a0.c: Definition of Atlantic hardware specific functions. */

#include "../aq_hw.h"
#include "../aq_hw_utils.h"
#include "../aq_ring.h"
#include "../aq_nic.h"
#include "hw_atl_a0.h"
#include "hw_atl_utils.h"
#include "hw_atl_llh.h"
#include "hw_atl_a0_internal.h"

#define DEFAULT_A0_BOARD_BASIC_CAPABILITIES

const struct aq_hw_caps_s hw_atl_a0_caps_aqc100 =;

const struct aq_hw_caps_s hw_atl_a0_caps_aqc107 =;

const struct aq_hw_caps_s hw_atl_a0_caps_aqc108 =;

const struct aq_hw_caps_s hw_atl_a0_caps_aqc109 =;

static int hw_atl_a0_hw_reset(struct aq_hw_s *self)
{}

static int hw_atl_a0_hw_qos_set(struct aq_hw_s *self)
{}

static int hw_atl_a0_hw_rss_hash_set(struct aq_hw_s *self,
				     struct aq_rss_parameters *rss_params)
{}

static int hw_atl_a0_hw_rss_set(struct aq_hw_s *self,
				struct aq_rss_parameters *rss_params)
{}

static int hw_atl_a0_hw_offload_set(struct aq_hw_s *self,
				    struct aq_nic_cfg_s *aq_nic_cfg)
{}

static int hw_atl_a0_hw_init_tx_path(struct aq_hw_s *self)
{}

static int hw_atl_a0_hw_init_rx_path(struct aq_hw_s *self)
{}

static int hw_atl_a0_hw_mac_addr_set(struct aq_hw_s *self, const u8 *mac_addr)
{}

static int hw_atl_a0_hw_init(struct aq_hw_s *self, const u8 *mac_addr)
{}

static int hw_atl_a0_hw_ring_tx_start(struct aq_hw_s *self,
				      struct aq_ring_s *ring)
{}

static int hw_atl_a0_hw_ring_rx_start(struct aq_hw_s *self,
				      struct aq_ring_s *ring)
{}

static int hw_atl_a0_hw_start(struct aq_hw_s *self)
{}

static int hw_atl_a0_hw_tx_ring_tail_update(struct aq_hw_s *self,
					    struct aq_ring_s *ring)
{}

static int hw_atl_a0_hw_ring_tx_xmit(struct aq_hw_s *self,
				     struct aq_ring_s *ring,
				     unsigned int frags)
{}

static int hw_atl_a0_hw_ring_rx_init(struct aq_hw_s *self,
				     struct aq_ring_s *aq_ring,
				     struct aq_ring_param_s *aq_ring_param)
{}

static int hw_atl_a0_hw_ring_tx_init(struct aq_hw_s *self,
				     struct aq_ring_s *aq_ring,
				     struct aq_ring_param_s *aq_ring_param)
{}

static int hw_atl_a0_hw_ring_rx_fill(struct aq_hw_s *self,
				     struct aq_ring_s *ring,
				     unsigned int sw_tail_old)
{}

static int hw_atl_a0_hw_ring_tx_head_update(struct aq_hw_s *self,
					    struct aq_ring_s *ring)
{}

static int hw_atl_a0_hw_ring_rx_receive(struct aq_hw_s *self,
					struct aq_ring_s *ring)
{}

static int hw_atl_a0_hw_irq_enable(struct aq_hw_s *self, u64 mask)
{}

static int hw_atl_a0_hw_irq_disable(struct aq_hw_s *self, u64 mask)
{}

static int hw_atl_a0_hw_irq_read(struct aq_hw_s *self, u64 *mask)
{}

#define IS_FILTER_ENABLED

static int hw_atl_a0_hw_packet_filter_set(struct aq_hw_s *self,
					  unsigned int packet_filter)
{}

#undef IS_FILTER_ENABLED

static int hw_atl_a0_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_a0_hw_interrupt_moderation_set(struct aq_hw_s *self)
{}

static int hw_atl_a0_hw_stop(struct aq_hw_s *self)
{}

static int hw_atl_a0_hw_ring_tx_stop(struct aq_hw_s *self,
				     struct aq_ring_s *ring)
{}

static int hw_atl_a0_hw_ring_rx_stop(struct aq_hw_s *self,
				     struct aq_ring_s *ring)
{}

static int hw_atl_a0_hw_fl3l4_clear(struct aq_hw_s *self,
				    struct aq_rx_filter_l3l4 *data)
{}

static int hw_atl_a0_hw_fl3l4_set(struct aq_hw_s *self,
				  struct aq_rx_filter_l3l4 *data)
{}

const struct aq_hw_ops hw_atl_ops_a0 =;