]>
Commit | Line | Data |
---|---|---|
8b230ed8 RM |
1 | /* |
2 | * Linux network driver for Brocade Converged Network Adapter. | |
3 | * | |
4 | * This program is free software; you can redistribute it and/or modify it | |
5 | * under the terms of the GNU General Public License (GPL) Version 2 as | |
6 | * published by the Free Software Foundation | |
7 | * | |
8 | * This program is distributed in the hope that it will be useful, but | |
9 | * WITHOUT ANY WARRANTY; without even the implied warranty of | |
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
11 | * General Public License for more details. | |
12 | */ | |
13 | /* | |
14 | * Copyright (c) 2005-2010 Brocade Communications Systems, Inc. | |
15 | * All rights reserved | |
16 | * www.brocade.com | |
17 | */ | |
18 | ||
19 | #ifndef __BFA_CEE_H__ | |
20 | #define __BFA_CEE_H__ | |
21 | ||
22 | #include "bfa_defs_cna.h" | |
23 | #include "bfa_ioc.h" | |
24 | ||
25 | typedef void (*bfa_cee_get_attr_cbfn_t) (void *dev, enum bfa_status status); | |
26 | typedef void (*bfa_cee_get_stats_cbfn_t) (void *dev, enum bfa_status status); | |
27 | typedef void (*bfa_cee_reset_stats_cbfn_t) (void *dev, enum bfa_status status); | |
28 | typedef void (*bfa_cee_hbfail_cbfn_t) (void *dev, enum bfa_status status); | |
29 | ||
30 | struct bfa_cee_cbfn { | |
31 | bfa_cee_get_attr_cbfn_t get_attr_cbfn; | |
32 | void *get_attr_cbarg; | |
33 | bfa_cee_get_stats_cbfn_t get_stats_cbfn; | |
34 | void *get_stats_cbarg; | |
35 | bfa_cee_reset_stats_cbfn_t reset_stats_cbfn; | |
36 | void *reset_stats_cbarg; | |
37 | }; | |
38 | ||
39 | struct bfa_cee { | |
40 | void *dev; | |
41 | bool get_attr_pending; | |
42 | bool get_stats_pending; | |
43 | bool reset_stats_pending; | |
44 | enum bfa_status get_attr_status; | |
45 | enum bfa_status get_stats_status; | |
46 | enum bfa_status reset_stats_status; | |
47 | struct bfa_cee_cbfn cbfn; | |
48 | struct bfa_ioc_hbfail_notify hbfail; | |
49 | struct bfa_cee_attr *attr; | |
50 | struct bfa_cee_stats *stats; | |
51 | struct bfa_dma attr_dma; | |
52 | struct bfa_dma stats_dma; | |
53 | struct bfa_ioc *ioc; | |
54 | struct bfa_mbox_cmd get_cfg_mb; | |
55 | struct bfa_mbox_cmd get_stats_mb; | |
56 | struct bfa_mbox_cmd reset_stats_mb; | |
57 | }; | |
58 | ||
8a891429 RM |
59 | u32 bfa_nw_cee_meminfo(void); |
60 | void bfa_nw_cee_mem_claim(struct bfa_cee *cee, u8 *dma_kva, | |
8b230ed8 | 61 | u64 dma_pa); |
8a891429 | 62 | void bfa_nw_cee_attach(struct bfa_cee *cee, struct bfa_ioc *ioc, void *dev); |
8b230ed8 RM |
63 | |
64 | #endif /* __BFA_CEE_H__ */ |