ethernet-common.h revision 215974
1219820Sjeff/*************************************************************************
2219820SjeffCopyright (c) 2003-2007  Cavium Networks (support@cavium.com). All rights
3219820Sjeffreserved.
4219820Sjeff
5219820Sjeff
6219820SjeffRedistribution and use in source and binary forms, with or without
7219820Sjeffmodification, are permitted provided that the following conditions are
8219820Sjeffmet:
9219820Sjeff
10219820Sjeff    * Redistributions of source code must retain the above copyright
11219820Sjeff      notice, this list of conditions and the following disclaimer.
12219820Sjeff
13219820Sjeff    * Redistributions in binary form must reproduce the above
14219820Sjeff      copyright notice, this list of conditions and the following
15219820Sjeff      disclaimer in the documentation and/or other materials provided
16219820Sjeff      with the distribution.
17219820Sjeff
18219820Sjeff    * Neither the name of Cavium Networks nor the names of
19219820Sjeff      its contributors may be used to endorse or promote products
20219820Sjeff      derived from this software without specific prior written
21219820Sjeff      permission.
22219820Sjeff
23219820SjeffThis Software, including technical data, may be subject to U.S. export  control laws, including the U.S. Export Administration Act and its  associated regulations, and may be subject to export or import  regulations in other countries.
24219820Sjeff
25219820SjeffTO THE MAXIMUM EXTENT PERMITTED BY LAW, THE SOFTWARE IS PROVIDED "AS IS"
26219820SjeffAND WITH ALL FAULTS AND CAVIUM  NETWORKS MAKES NO PROMISES, REPRESENTATIONS OR WARRANTIES, EITHER EXPRESS, IMPLIED, STATUTORY, OR OTHERWISE, WITH RESPECT TO THE SOFTWARE, INCLUDING ITS CONDITION, ITS CONFORMITY TO ANY REPRESENTATION OR DESCRIPTION, OR THE EXISTENCE OF ANY LATENT OR PATENT DEFECTS, AND CAVIUM SPECIFICALLY DISCLAIMS ALL IMPLIED (IF ANY) WARRANTIES OF TITLE, MERCHANTABILITY, NONINFRINGEMENT, FITNESS FOR A PARTICULAR PURPOSE, LACK OF VIRUSES, ACCURACY OR COMPLETENESS, QUIET ENJOYMENT, QUIET POSSESSION OR CORRESPONDENCE TO DESCRIPTION. THE ENTIRE  RISK ARISING OUT OF USE OR PERFORMANCE OF THE SOFTWARE LIES WITH YOU.
27219820Sjeff
28219820Sjeff*************************************************************************/
29219820Sjeff/* $FreeBSD: head/sys/mips/cavium/octe/ethernet-common.h 215974 2010-11-28 05:57:24Z jmallett $ */
30219820Sjeff
31219820Sjeffint cvm_oct_common_open(struct ifnet *ifp);
32219820Sjeffint cvm_oct_common_stop(struct ifnet *ifp);
33219820Sjeffvoid cvm_oct_common_poll(struct ifnet *ifp);
34219820Sjeffint cvm_oct_common_init(struct ifnet *ifp);
35219820Sjeffvoid cvm_oct_common_uninit(struct ifnet *ifp);
36219820Sjeff
37219820Sjeffint cvm_oct_common_change_mtu(struct ifnet *ifp, int new_mtu);
38219820Sjeffvoid cvm_oct_common_set_multicast_list(struct ifnet *ifp);
39219820Sjeffvoid cvm_oct_common_set_mac_address(struct ifnet *ifp, const void *);
40219820Sjeff
41219820Sjeffint cvm_oct_init_module(device_t);
42219820Sjeffvoid cvm_oct_cleanup_module(void);
43219820Sjeff
44219820Sjeff/*
45219820Sjeff * XXX/juli
46219820Sjeff * These belong elsewhere but we can't stomach the nested extern.
47219820Sjeff */
48219820Sjeffint cvm_oct_rgmii_init(struct ifnet *ifp);
49219820Sjeffvoid cvm_oct_rgmii_uninit(struct ifnet *ifp);
50219820Sjeffint cvm_oct_sgmii_init(struct ifnet *ifp);
51219820Sjeffvoid cvm_oct_sgmii_uninit(struct ifnet *ifp);
52219820Sjeffint cvm_oct_spi_init(struct ifnet *ifp);
53219820Sjeffvoid cvm_oct_spi_uninit(struct ifnet *ifp);
54219820Sjeffint cvm_oct_xaui_init(struct ifnet *ifp);
55219820Sjeffvoid cvm_oct_xaui_uninit(struct ifnet *ifp);
56219820Sjeff