New upstream version 18.11-rc1
[deb_dpdk.git] / drivers / net / atlantic / hw_atl / hw_atl_b0.h
1 /* SPDX-License-Identifier: (BSD-3-Clause OR GPL-2.0) */
2 /* Copyright (C) 2014-2017 aQuantia Corporation. */
3
4 /* File hw_atl_b0.h: Declaration of abstract interface for Atlantic hardware
5  * specific functions.
6  */
7
8 #ifndef HW_ATL_B0_H
9 #define HW_ATL_B0_H
10
11 int hw_atl_b0_hw_reset(struct aq_hw_s *self);
12 int hw_atl_b0_hw_init(struct aq_hw_s *self, u8 *mac_addr);
13
14 int hw_atl_b0_hw_ring_tx_init(struct aq_hw_s *self, uint64_t base_addr,
15                 int index, int size, int cpu, int vec);
16 int hw_atl_b0_hw_ring_rx_init(struct aq_hw_s *self, uint64_t base_addr,
17                 int index, int size, int buff_size, int cpu, int vec);
18
19 int hw_atl_b0_hw_start(struct aq_hw_s *self);
20
21 int hw_atl_b0_hw_ring_rx_start(struct aq_hw_s *self, int index);
22 int hw_atl_b0_hw_ring_tx_start(struct aq_hw_s *self, int index);
23
24
25 int hw_atl_b0_hw_ring_tx_stop(struct aq_hw_s *self, int index);
26 int hw_atl_b0_hw_ring_rx_stop(struct aq_hw_s *self, int index);
27
28
29 int hw_atl_b0_hw_tx_ring_tail_update(struct aq_hw_s *self, int tail, int index);
30
31 int hw_atl_b0_hw_rss_hash_set(struct aq_hw_s *self,
32                                      struct aq_rss_parameters *rss_params);
33 int hw_atl_b0_hw_rss_set(struct aq_hw_s *self,
34                                 struct aq_rss_parameters *rss_params);
35
36 int hw_atl_b0_hw_irq_enable(struct aq_hw_s *self, u64 mask);
37 int hw_atl_b0_hw_irq_disable(struct aq_hw_s *self, u64 mask);
38 int hw_atl_b0_hw_irq_read(struct aq_hw_s *self, u64 *mask);
39
40 #endif /* HW_ATL_B0_H */