Deleted Added
full compact
if_bge.c (260045) if_bge.c (267363)
1/*-
2 * Copyright (c) 2001 Wind River Systems
3 * Copyright (c) 1997, 1998, 1999, 2001
4 * Bill Paul <wpaul@windriver.com>. All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:

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

27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
31 * THE POSSIBILITY OF SUCH DAMAGE.
32 */
33
34#include <sys/cdefs.h>
1/*-
2 * Copyright (c) 2001 Wind River Systems
3 * Copyright (c) 1997, 1998, 1999, 2001
4 * Bill Paul <wpaul@windriver.com>. All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:

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

27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
31 * THE POSSIBILITY OF SUCH DAMAGE.
32 */
33
34#include <sys/cdefs.h>
35__FBSDID("$FreeBSD: head/sys/dev/bge/if_bge.c 260045 2013-12-29 17:43:37Z marius $");
35__FBSDID("$FreeBSD: head/sys/dev/bge/if_bge.c 267363 2014-06-11 14:53:58Z jhb $");
36
37/*
38 * Broadcom BCM57xx(x)/BCM590x NetXtreme and NetLink family Ethernet driver
39 *
40 * The Broadcom BCM5700 is based on technology originally developed by
41 * Alteon Networks as part of the Tigon I and Tigon II Gigabit Ethernet
42 * MAC chips. The BCM5700, sometimes referred to as the Tigon III, has
43 * two on-board MIPS R4000 CPUs and can have as much as 16MB of external

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

2812 if (sc->bge_cdata.bge_rx_mtag)
2813 bus_dma_tag_destroy(sc->bge_cdata.bge_rx_mtag);
2814 if (sc->bge_cdata.bge_mtag_jumbo)
2815 bus_dma_tag_destroy(sc->bge_cdata.bge_mtag_jumbo);
2816 if (sc->bge_cdata.bge_tx_mtag)
2817 bus_dma_tag_destroy(sc->bge_cdata.bge_tx_mtag);
2818
2819 /* Destroy standard RX ring. */
36
37/*
38 * Broadcom BCM57xx(x)/BCM590x NetXtreme and NetLink family Ethernet driver
39 *
40 * The Broadcom BCM5700 is based on technology originally developed by
41 * Alteon Networks as part of the Tigon I and Tigon II Gigabit Ethernet
42 * MAC chips. The BCM5700, sometimes referred to as the Tigon III, has
43 * two on-board MIPS R4000 CPUs and can have as much as 16MB of external

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

2812 if (sc->bge_cdata.bge_rx_mtag)
2813 bus_dma_tag_destroy(sc->bge_cdata.bge_rx_mtag);
2814 if (sc->bge_cdata.bge_mtag_jumbo)
2815 bus_dma_tag_destroy(sc->bge_cdata.bge_mtag_jumbo);
2816 if (sc->bge_cdata.bge_tx_mtag)
2817 bus_dma_tag_destroy(sc->bge_cdata.bge_tx_mtag);
2818
2819 /* Destroy standard RX ring. */
2820 if (sc->bge_cdata.bge_rx_std_ring_map)
2820 if (sc->bge_ldata.bge_rx_std_ring_paddr)
2821 bus_dmamap_unload(sc->bge_cdata.bge_rx_std_ring_tag,
2822 sc->bge_cdata.bge_rx_std_ring_map);
2821 bus_dmamap_unload(sc->bge_cdata.bge_rx_std_ring_tag,
2822 sc->bge_cdata.bge_rx_std_ring_map);
2823 if (sc->bge_cdata.bge_rx_std_ring_map && sc->bge_ldata.bge_rx_std_ring)
2823 if (sc->bge_ldata.bge_rx_std_ring)
2824 bus_dmamem_free(sc->bge_cdata.bge_rx_std_ring_tag,
2825 sc->bge_ldata.bge_rx_std_ring,
2826 sc->bge_cdata.bge_rx_std_ring_map);
2827
2828 if (sc->bge_cdata.bge_rx_std_ring_tag)
2829 bus_dma_tag_destroy(sc->bge_cdata.bge_rx_std_ring_tag);
2830
2831 /* Destroy jumbo RX ring. */
2824 bus_dmamem_free(sc->bge_cdata.bge_rx_std_ring_tag,
2825 sc->bge_ldata.bge_rx_std_ring,
2826 sc->bge_cdata.bge_rx_std_ring_map);
2827
2828 if (sc->bge_cdata.bge_rx_std_ring_tag)
2829 bus_dma_tag_destroy(sc->bge_cdata.bge_rx_std_ring_tag);
2830
2831 /* Destroy jumbo RX ring. */
2832 if (sc->bge_cdata.bge_rx_jumbo_ring_map)
2832 if (sc->bge_ldata.bge_rx_jumbo_ring_paddr)
2833 bus_dmamap_unload(sc->bge_cdata.bge_rx_jumbo_ring_tag,
2834 sc->bge_cdata.bge_rx_jumbo_ring_map);
2835
2833 bus_dmamap_unload(sc->bge_cdata.bge_rx_jumbo_ring_tag,
2834 sc->bge_cdata.bge_rx_jumbo_ring_map);
2835
2836 if (sc->bge_cdata.bge_rx_jumbo_ring_map &&
2837 sc->bge_ldata.bge_rx_jumbo_ring)
2836 if (sc->bge_ldata.bge_rx_jumbo_ring)
2838 bus_dmamem_free(sc->bge_cdata.bge_rx_jumbo_ring_tag,
2839 sc->bge_ldata.bge_rx_jumbo_ring,
2840 sc->bge_cdata.bge_rx_jumbo_ring_map);
2841
2842 if (sc->bge_cdata.bge_rx_jumbo_ring_tag)
2843 bus_dma_tag_destroy(sc->bge_cdata.bge_rx_jumbo_ring_tag);
2844
2845 /* Destroy RX return ring. */
2837 bus_dmamem_free(sc->bge_cdata.bge_rx_jumbo_ring_tag,
2838 sc->bge_ldata.bge_rx_jumbo_ring,
2839 sc->bge_cdata.bge_rx_jumbo_ring_map);
2840
2841 if (sc->bge_cdata.bge_rx_jumbo_ring_tag)
2842 bus_dma_tag_destroy(sc->bge_cdata.bge_rx_jumbo_ring_tag);
2843
2844 /* Destroy RX return ring. */
2846 if (sc->bge_cdata.bge_rx_return_ring_map)
2845 if (sc->bge_ldata.bge_rx_return_ring_paddr)
2847 bus_dmamap_unload(sc->bge_cdata.bge_rx_return_ring_tag,
2848 sc->bge_cdata.bge_rx_return_ring_map);
2849
2846 bus_dmamap_unload(sc->bge_cdata.bge_rx_return_ring_tag,
2847 sc->bge_cdata.bge_rx_return_ring_map);
2848
2850 if (sc->bge_cdata.bge_rx_return_ring_map &&
2851 sc->bge_ldata.bge_rx_return_ring)
2849 if (sc->bge_ldata.bge_rx_return_ring)
2852 bus_dmamem_free(sc->bge_cdata.bge_rx_return_ring_tag,
2853 sc->bge_ldata.bge_rx_return_ring,
2854 sc->bge_cdata.bge_rx_return_ring_map);
2855
2856 if (sc->bge_cdata.bge_rx_return_ring_tag)
2857 bus_dma_tag_destroy(sc->bge_cdata.bge_rx_return_ring_tag);
2858
2859 /* Destroy TX ring. */
2850 bus_dmamem_free(sc->bge_cdata.bge_rx_return_ring_tag,
2851 sc->bge_ldata.bge_rx_return_ring,
2852 sc->bge_cdata.bge_rx_return_ring_map);
2853
2854 if (sc->bge_cdata.bge_rx_return_ring_tag)
2855 bus_dma_tag_destroy(sc->bge_cdata.bge_rx_return_ring_tag);
2856
2857 /* Destroy TX ring. */
2860 if (sc->bge_cdata.bge_tx_ring_map)
2858 if (sc->bge_ldata.bge_tx_ring_paddr)
2861 bus_dmamap_unload(sc->bge_cdata.bge_tx_ring_tag,
2862 sc->bge_cdata.bge_tx_ring_map);
2863
2859 bus_dmamap_unload(sc->bge_cdata.bge_tx_ring_tag,
2860 sc->bge_cdata.bge_tx_ring_map);
2861
2864 if (sc->bge_cdata.bge_tx_ring_map && sc->bge_ldata.bge_tx_ring)
2862 if (sc->bge_ldata.bge_tx_ring)
2865 bus_dmamem_free(sc->bge_cdata.bge_tx_ring_tag,
2866 sc->bge_ldata.bge_tx_ring,
2867 sc->bge_cdata.bge_tx_ring_map);
2868
2869 if (sc->bge_cdata.bge_tx_ring_tag)
2870 bus_dma_tag_destroy(sc->bge_cdata.bge_tx_ring_tag);
2871
2872 /* Destroy status block. */
2863 bus_dmamem_free(sc->bge_cdata.bge_tx_ring_tag,
2864 sc->bge_ldata.bge_tx_ring,
2865 sc->bge_cdata.bge_tx_ring_map);
2866
2867 if (sc->bge_cdata.bge_tx_ring_tag)
2868 bus_dma_tag_destroy(sc->bge_cdata.bge_tx_ring_tag);
2869
2870 /* Destroy status block. */
2873 if (sc->bge_cdata.bge_status_map)
2871 if (sc->bge_ldata.bge_status_block_paddr)
2874 bus_dmamap_unload(sc->bge_cdata.bge_status_tag,
2875 sc->bge_cdata.bge_status_map);
2876
2872 bus_dmamap_unload(sc->bge_cdata.bge_status_tag,
2873 sc->bge_cdata.bge_status_map);
2874
2877 if (sc->bge_cdata.bge_status_map && sc->bge_ldata.bge_status_block)
2875 if (sc->bge_ldata.bge_status_block)
2878 bus_dmamem_free(sc->bge_cdata.bge_status_tag,
2879 sc->bge_ldata.bge_status_block,
2880 sc->bge_cdata.bge_status_map);
2881
2882 if (sc->bge_cdata.bge_status_tag)
2883 bus_dma_tag_destroy(sc->bge_cdata.bge_status_tag);
2884
2885 /* Destroy statistics block. */
2876 bus_dmamem_free(sc->bge_cdata.bge_status_tag,
2877 sc->bge_ldata.bge_status_block,
2878 sc->bge_cdata.bge_status_map);
2879
2880 if (sc->bge_cdata.bge_status_tag)
2881 bus_dma_tag_destroy(sc->bge_cdata.bge_status_tag);
2882
2883 /* Destroy statistics block. */
2886 if (sc->bge_cdata.bge_stats_map)
2884 if (sc->bge_ldata.bge_stats_paddr)
2887 bus_dmamap_unload(sc->bge_cdata.bge_stats_tag,
2888 sc->bge_cdata.bge_stats_map);
2889
2885 bus_dmamap_unload(sc->bge_cdata.bge_stats_tag,
2886 sc->bge_cdata.bge_stats_map);
2887
2890 if (sc->bge_cdata.bge_stats_map && sc->bge_ldata.bge_stats)
2888 if (sc->bge_ldata.bge_stats)
2891 bus_dmamem_free(sc->bge_cdata.bge_stats_tag,
2892 sc->bge_ldata.bge_stats,
2893 sc->bge_cdata.bge_stats_map);
2894
2895 if (sc->bge_cdata.bge_stats_tag)
2896 bus_dma_tag_destroy(sc->bge_cdata.bge_stats_tag);
2897
2898 if (sc->bge_cdata.bge_buffer_tag)

--- 3878 unchanged lines hidden ---
2889 bus_dmamem_free(sc->bge_cdata.bge_stats_tag,
2890 sc->bge_ldata.bge_stats,
2891 sc->bge_cdata.bge_stats_map);
2892
2893 if (sc->bge_cdata.bge_stats_tag)
2894 bus_dma_tag_destroy(sc->bge_cdata.bge_stats_tag);
2895
2896 if (sc->bge_cdata.bge_buffer_tag)

--- 3878 unchanged lines hidden ---