1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
2 | /**************************************************************************** |
3 | * Driver for Solarflare network controllers and boards |
4 | * Copyright 2018 Solarflare Communications Inc. |
5 | * |
6 | * This program is free software; you can redistribute it and/or modify it |
7 | * under the terms of the GNU General Public License version 2 as published |
8 | * by the Free Software Foundation, incorporated herein by reference. |
9 | */ |
10 | |
11 | #ifndef EFX_CHANNELS_H |
12 | #define EFX_CHANNELS_H |
13 | |
14 | extern unsigned int efx_interrupt_mode; |
15 | extern unsigned int ; |
16 | |
17 | int efx_probe_interrupts(struct efx_nic *efx); |
18 | void efx_remove_interrupts(struct efx_nic *efx); |
19 | int efx_soft_enable_interrupts(struct efx_nic *efx); |
20 | void efx_soft_disable_interrupts(struct efx_nic *efx); |
21 | int efx_enable_interrupts(struct efx_nic *efx); |
22 | void efx_disable_interrupts(struct efx_nic *efx); |
23 | |
24 | void efx_set_interrupt_affinity(struct efx_nic *efx); |
25 | void efx_clear_interrupt_affinity(struct efx_nic *efx); |
26 | |
27 | int efx_probe_eventq(struct efx_channel *channel); |
28 | int efx_init_eventq(struct efx_channel *channel); |
29 | void efx_start_eventq(struct efx_channel *channel); |
30 | void efx_stop_eventq(struct efx_channel *channel); |
31 | void efx_fini_eventq(struct efx_channel *channel); |
32 | void efx_remove_eventq(struct efx_channel *channel); |
33 | |
34 | int efx_realloc_channels(struct efx_nic *efx, u32 rxq_entries, u32 txq_entries); |
35 | void efx_set_channel_names(struct efx_nic *efx); |
36 | int efx_init_channels(struct efx_nic *efx); |
37 | int efx_probe_channels(struct efx_nic *efx); |
38 | int efx_set_channels(struct efx_nic *efx); |
39 | void efx_remove_channel(struct efx_channel *channel); |
40 | void efx_remove_channels(struct efx_nic *efx); |
41 | void efx_fini_channels(struct efx_nic *efx); |
42 | struct efx_channel *efx_copy_channel(const struct efx_channel *old_channel); |
43 | void efx_start_channels(struct efx_nic *efx); |
44 | void efx_stop_channels(struct efx_nic *efx); |
45 | |
46 | void efx_init_napi_channel(struct efx_channel *channel); |
47 | void efx_init_napi(struct efx_nic *efx); |
48 | void efx_fini_napi_channel(struct efx_channel *channel); |
49 | void efx_fini_napi(struct efx_nic *efx); |
50 | |
51 | void efx_channel_dummy_op_void(struct efx_channel *channel); |
52 | |
53 | #endif |
54 | |