]>
Commit | Line | Data |
---|---|---|
9f95a23c TL |
1 | /* SPDX-License-Identifier: BSD-3-Clause |
2 | * Copyright (c) 2016 - 2018 Cavium Inc. | |
7c673cae | 3 | * All rights reserved. |
9f95a23c | 4 | * www.cavium.com |
7c673cae FG |
5 | */ |
6 | ||
7 | #ifndef __ECORE_DCBX_H__ | |
8 | #define __ECORE_DCBX_H__ | |
9 | ||
10 | #include "ecore.h" | |
11 | #include "ecore_mcp.h" | |
12 | #include "mcp_public.h" | |
13 | #include "reg_addr.h" | |
14 | #include "ecore_hw.h" | |
15 | #include "ecore_hsi_common.h" | |
16 | #include "ecore_dcbx_api.h" | |
17 | ||
9f95a23c TL |
18 | #define ECORE_DCBX_DSCP_DISABLED 0XFF |
19 | ||
7c673cae FG |
20 | struct ecore_dcbx_info { |
21 | struct lldp_status_params_s lldp_remote[LLDP_MAX_LLDP_AGENTS]; | |
22 | struct lldp_config_params_s lldp_local[LLDP_MAX_LLDP_AGENTS]; | |
23 | struct dcbx_local_params local_admin; | |
24 | struct ecore_dcbx_results results; | |
25 | struct dcb_dscp_map dscp_map; | |
26 | bool dscp_nig_update; | |
27 | struct dcbx_mib operational; | |
28 | struct dcbx_mib remote; | |
29 | struct ecore_dcbx_set set; | |
30 | struct ecore_dcbx_get get; | |
31 | u8 dcbx_cap; | |
11fdf7f2 | 32 | u16 iwarp_port; |
7c673cae FG |
33 | }; |
34 | ||
35 | struct ecore_dcbx_mib_meta_data { | |
36 | struct lldp_config_params_s *lldp_local; | |
37 | struct lldp_status_params_s *lldp_remote; | |
9f95a23c | 38 | struct lldp_received_tlvs_s *lldp_tlvs; |
7c673cae FG |
39 | struct dcbx_local_params *local_admin; |
40 | struct dcb_dscp_map *dscp_map; | |
41 | struct dcbx_mib *mib; | |
42 | osal_size_t size; | |
43 | u32 addr; | |
44 | }; | |
45 | ||
46 | /* ECORE local interface routines */ | |
47 | enum _ecore_status_t | |
48 | ecore_dcbx_mib_update_event(struct ecore_hwfn *, struct ecore_ptt *, | |
49 | enum ecore_mib_read_type); | |
50 | ||
7c673cae | 51 | enum _ecore_status_t ecore_dcbx_info_alloc(struct ecore_hwfn *p_hwfn); |
9f95a23c | 52 | void ecore_dcbx_info_free(struct ecore_hwfn *p_hwfn); |
7c673cae FG |
53 | void ecore_dcbx_set_pf_update_params(struct ecore_dcbx_results *p_src, |
54 | struct pf_update_ramrod_data *p_dest); | |
55 | ||
9f95a23c TL |
56 | /* Returns TOS value for a given priority */ |
57 | u8 ecore_dcbx_get_dscp_value(struct ecore_hwfn *p_hwfn, u8 pri); | |
58 | ||
59 | enum _ecore_status_t | |
60 | ecore_lldp_mib_update_event(struct ecore_hwfn *p_hwfn, struct ecore_ptt *p_ptt); | |
61 | ||
7c673cae | 62 | #endif /* __ECORE_DCBX_H__ */ |