7906661eda
This is hw_atl logic layer derived from linux atlantic driver. It contains RX/TX hardware initialization sequences, various hw configuration. Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com> Signed-off-by: Pavel Belous <pavel.belous@aquantia.com>
41 lines
1.4 KiB
C
41 lines
1.4 KiB
C
/* SPDX-License-Identifier: (BSD-3-Clause OR GPL-2.0) */
|
|
/* Copyright (C) 2014-2017 aQuantia Corporation. */
|
|
|
|
/* File hw_atl_b0.h: Declaration of abstract interface for Atlantic hardware
|
|
* specific functions.
|
|
*/
|
|
|
|
#ifndef HW_ATL_B0_H
|
|
#define HW_ATL_B0_H
|
|
|
|
int hw_atl_b0_hw_reset(struct aq_hw_s *self);
|
|
int hw_atl_b0_hw_init(struct aq_hw_s *self, u8 *mac_addr);
|
|
|
|
int hw_atl_b0_hw_ring_tx_init(struct aq_hw_s *self, uint64_t base_addr,
|
|
int index, int size, int cpu, int vec);
|
|
int hw_atl_b0_hw_ring_rx_init(struct aq_hw_s *self, uint64_t base_addr,
|
|
int index, int size, int buff_size, int cpu, int vec);
|
|
|
|
int hw_atl_b0_hw_start(struct aq_hw_s *self);
|
|
|
|
int hw_atl_b0_hw_ring_rx_start(struct aq_hw_s *self, int index);
|
|
int hw_atl_b0_hw_ring_tx_start(struct aq_hw_s *self, int index);
|
|
|
|
|
|
int hw_atl_b0_hw_ring_tx_stop(struct aq_hw_s *self, int index);
|
|
int hw_atl_b0_hw_ring_rx_stop(struct aq_hw_s *self, int index);
|
|
|
|
|
|
int hw_atl_b0_hw_tx_ring_tail_update(struct aq_hw_s *self, int tail, int index);
|
|
|
|
int hw_atl_b0_hw_rss_hash_set(struct aq_hw_s *self,
|
|
struct aq_rss_parameters *rss_params);
|
|
int hw_atl_b0_hw_rss_set(struct aq_hw_s *self,
|
|
struct aq_rss_parameters *rss_params);
|
|
|
|
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);
|
|
|
|
#endif /* HW_ATL_B0_H */
|