Deleted Added
full compact
ethernet-spi.c (210311) ethernet-spi.c (231987)
1/*************************************************************************
2Copyright (c) 2003-2007 Cavium Networks (support@cavium.com). All rights
3reserved.
4
5
6Redistribution and use in source and binary forms, with or without
7modification, are permitted provided that the following conditions are
8met:

--- 14 unchanged lines hidden (view full) ---

23This 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.
24
25TO THE MAXIMUM EXTENT PERMITTED BY LAW, THE SOFTWARE IS PROVIDED "AS IS"
26AND 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.
27
28*************************************************************************/
29
30#include <sys/cdefs.h>
1/*************************************************************************
2Copyright (c) 2003-2007 Cavium Networks (support@cavium.com). All rights
3reserved.
4
5
6Redistribution and use in source and binary forms, with or without
7modification, are permitted provided that the following conditions are
8met:

--- 14 unchanged lines hidden (view full) ---

23This 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.
24
25TO THE MAXIMUM EXTENT PERMITTED BY LAW, THE SOFTWARE IS PROVIDED "AS IS"
26AND 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.
27
28*************************************************************************/
29
30#include <sys/cdefs.h>
31__FBSDID("$FreeBSD: head/sys/mips/cavium/octe/ethernet-spi.c 210311 2010-07-20 19:25:11Z jmallett $");
31__FBSDID("$FreeBSD: head/sys/mips/cavium/octe/ethernet-spi.c 231987 2012-02-22 01:30:25Z gonzo $");
32
33#include <sys/param.h>
34#include <sys/systm.h>
35#include <sys/bus.h>
36#include <sys/endian.h>
37#include <sys/kernel.h>
38#include <sys/mbuf.h>
39#include <sys/rman.h>

--- 244 unchanged lines hidden (view full) ---

284 }
285 }
286 number_spi_ports++;
287
288 if ((priv->port == 0) || (priv->port == 16)) {
289 cvm_oct_spi_enable_error_reporting(INTERFACE(priv->port));
290 priv->poll = cvm_oct_spi_poll;
291 }
32
33#include <sys/param.h>
34#include <sys/systm.h>
35#include <sys/bus.h>
36#include <sys/endian.h>
37#include <sys/kernel.h>
38#include <sys/mbuf.h>
39#include <sys/rman.h>

--- 244 unchanged lines hidden (view full) ---

284 }
285 }
286 number_spi_ports++;
287
288 if ((priv->port == 0) || (priv->port == 16)) {
289 cvm_oct_spi_enable_error_reporting(INTERFACE(priv->port));
290 priv->poll = cvm_oct_spi_poll;
291 }
292 cvm_oct_common_init(ifp);
292 if (cvm_oct_common_init(ifp) != 0)
293 return ENXIO;
293 return 0;
294}
295
296void cvm_oct_spi_uninit(struct ifnet *ifp)
297{
298 int interface;
299
300 cvm_oct_common_uninit(ifp);
301 number_spi_ports--;
302 if (number_spi_ports == 0) {
303 for (interface = 0; interface < 2; interface++) {
304 cvmx_write_csr(CVMX_SPXX_INT_MSK(interface), 0);
305 cvmx_write_csr(CVMX_STXX_INT_MSK(interface), 0);
306 }
307 panic("%s: IRQ release not yet implemented.", __func__);
308 }
309}
294 return 0;
295}
296
297void cvm_oct_spi_uninit(struct ifnet *ifp)
298{
299 int interface;
300
301 cvm_oct_common_uninit(ifp);
302 number_spi_ports--;
303 if (number_spi_ports == 0) {
304 for (interface = 0; interface < 2; interface++) {
305 cvmx_write_csr(CVMX_SPXX_INT_MSK(interface), 0);
306 cvmx_write_csr(CVMX_STXX_INT_MSK(interface), 0);
307 }
308 panic("%s: IRQ release not yet implemented.", __func__);
309 }
310}