Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
cvmx-helper.h
Go to the documentation of this file.
1 /***********************license start***************
2  * Author: Cavium Networks
3  *
4  * Contact: [email protected]
5  * This file is part of the OCTEON SDK
6  *
7  * Copyright (c) 2003-2008 Cavium Networks
8  *
9  * This file is free software; you can redistribute it and/or modify
10  * it under the terms of the GNU General Public License, Version 2, as
11  * published by the Free Software Foundation.
12  *
13  * This file is distributed in the hope that it will be useful, but
14  * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
15  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
16  * NONINFRINGEMENT. See the GNU General Public License for more
17  * details.
18  *
19  * You should have received a copy of the GNU General Public License
20  * along with this file; if not, write to the Free Software
21  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
22  * or visit http://www.gnu.org/licenses/.
23  *
24  * This file may also be available under a different license from Cavium.
25  * Contact Cavium Networks for more information
26  ***********************license end**************************************/
27 
28 /*
29  *
30  * Helper functions for common, but complicated tasks.
31  *
32  */
33 
34 #ifndef __CVMX_HELPER_H__
35 #define __CVMX_HELPER_H__
36 
37 #include <asm/octeon/cvmx-config.h>
38 #include <asm/octeon/cvmx-fpa.h>
39 #include <asm/octeon/cvmx-wqe.h>
40 
41 typedef enum {
53 
54 typedef union {
56  struct {
57  uint64_t reserved_20_63:44;
59  uint64_t full_duplex:1;
61  } s;
63 
72 
80 extern void (*cvmx_override_pko_queue_priority) (int pko_port,
81  uint64_t priorities[16]);
82 
91 extern void (*cvmx_override_ipd_port_setup) (int ipd_port);
92 
104 
115 
122 
134 
143 extern int cvmx_helper_get_number_of_interfaces(void);
144 
156  interface);
157 
168 
179 extern cvmx_helper_link_info_t cvmx_helper_link_get(int ipd_port);
180 
193 extern int cvmx_helper_link_set(int ipd_port,
194  cvmx_helper_link_info_t link_info);
195 
207 extern int cvmx_helper_interface_probe(int interface);
209 
223 extern int cvmx_helper_configure_loopback(int ipd_port, int enable_internal,
224  int enable_external);
225 
226 #endif /* __CVMX_HELPER_H__ */