if_alc.c (257176) | if_alc.c (267363) |
---|---|
1/*- 2 * Copyright (c) 2009, Pyun YongHyeon <yongari@FreeBSD.org> 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 14 unchanged lines hidden (view full) --- 23 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 * SUCH DAMAGE. 26 */ 27 28/* Driver for Atheros AR813x/AR815x PCIe Ethernet. */ 29 30#include <sys/cdefs.h> | 1/*- 2 * Copyright (c) 2009, Pyun YongHyeon <yongari@FreeBSD.org> 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 14 unchanged lines hidden (view full) --- 23 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 * SUCH DAMAGE. 26 */ 27 28/* Driver for Atheros AR813x/AR815x PCIe Ethernet. */ 29 30#include <sys/cdefs.h> |
31__FBSDID("$FreeBSD: head/sys/dev/alc/if_alc.c 257176 2013-10-26 17:58:36Z glebius $"); | 31__FBSDID("$FreeBSD: head/sys/dev/alc/if_alc.c 267363 2014-06-11 14:53:58Z jhb $"); |
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/lock.h> 39#include <sys/malloc.h> --- 1690 unchanged lines hidden (view full) --- 1730 sc->alc_cdata.alc_rx_sparemap); 1731 sc->alc_cdata.alc_rx_sparemap = NULL; 1732 } 1733 bus_dma_tag_destroy(sc->alc_cdata.alc_rx_tag); 1734 sc->alc_cdata.alc_rx_tag = NULL; 1735 } 1736 /* Tx descriptor ring. */ 1737 if (sc->alc_cdata.alc_tx_ring_tag != NULL) { | 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/lock.h> 39#include <sys/malloc.h> --- 1690 unchanged lines hidden (view full) --- 1730 sc->alc_cdata.alc_rx_sparemap); 1731 sc->alc_cdata.alc_rx_sparemap = NULL; 1732 } 1733 bus_dma_tag_destroy(sc->alc_cdata.alc_rx_tag); 1734 sc->alc_cdata.alc_rx_tag = NULL; 1735 } 1736 /* Tx descriptor ring. */ 1737 if (sc->alc_cdata.alc_tx_ring_tag != NULL) { |
1738 if (sc->alc_cdata.alc_tx_ring_map != NULL) | 1738 if (sc->alc_rdata.alc_tx_ring_paddr != 0) |
1739 bus_dmamap_unload(sc->alc_cdata.alc_tx_ring_tag, 1740 sc->alc_cdata.alc_tx_ring_map); | 1739 bus_dmamap_unload(sc->alc_cdata.alc_tx_ring_tag, 1740 sc->alc_cdata.alc_tx_ring_map); |
1741 if (sc->alc_cdata.alc_tx_ring_map != NULL && 1742 sc->alc_rdata.alc_tx_ring != NULL) | 1741 if (sc->alc_rdata.alc_tx_ring != NULL) |
1743 bus_dmamem_free(sc->alc_cdata.alc_tx_ring_tag, 1744 sc->alc_rdata.alc_tx_ring, 1745 sc->alc_cdata.alc_tx_ring_map); | 1742 bus_dmamem_free(sc->alc_cdata.alc_tx_ring_tag, 1743 sc->alc_rdata.alc_tx_ring, 1744 sc->alc_cdata.alc_tx_ring_map); |
1745 sc->alc_rdata.alc_tx_ring_paddr = 0; |
|
1746 sc->alc_rdata.alc_tx_ring = NULL; | 1746 sc->alc_rdata.alc_tx_ring = NULL; |
1747 sc->alc_cdata.alc_tx_ring_map = NULL; | |
1748 bus_dma_tag_destroy(sc->alc_cdata.alc_tx_ring_tag); 1749 sc->alc_cdata.alc_tx_ring_tag = NULL; 1750 } 1751 /* Rx ring. */ 1752 if (sc->alc_cdata.alc_rx_ring_tag != NULL) { | 1747 bus_dma_tag_destroy(sc->alc_cdata.alc_tx_ring_tag); 1748 sc->alc_cdata.alc_tx_ring_tag = NULL; 1749 } 1750 /* Rx ring. */ 1751 if (sc->alc_cdata.alc_rx_ring_tag != NULL) { |
1753 if (sc->alc_cdata.alc_rx_ring_map != NULL) | 1752 if (sc->alc_rdata.alc_rx_ring_paddr != 0) |
1754 bus_dmamap_unload(sc->alc_cdata.alc_rx_ring_tag, 1755 sc->alc_cdata.alc_rx_ring_map); | 1753 bus_dmamap_unload(sc->alc_cdata.alc_rx_ring_tag, 1754 sc->alc_cdata.alc_rx_ring_map); |
1756 if (sc->alc_cdata.alc_rx_ring_map != NULL && 1757 sc->alc_rdata.alc_rx_ring != NULL) | 1755 if (sc->alc_rdata.alc_rx_ring != NULL) |
1758 bus_dmamem_free(sc->alc_cdata.alc_rx_ring_tag, 1759 sc->alc_rdata.alc_rx_ring, 1760 sc->alc_cdata.alc_rx_ring_map); | 1756 bus_dmamem_free(sc->alc_cdata.alc_rx_ring_tag, 1757 sc->alc_rdata.alc_rx_ring, 1758 sc->alc_cdata.alc_rx_ring_map); |
1759 sc->alc_rdata.alc_rx_ring_paddr = 0; |
|
1761 sc->alc_rdata.alc_rx_ring = NULL; | 1760 sc->alc_rdata.alc_rx_ring = NULL; |
1762 sc->alc_cdata.alc_rx_ring_map = NULL; | |
1763 bus_dma_tag_destroy(sc->alc_cdata.alc_rx_ring_tag); 1764 sc->alc_cdata.alc_rx_ring_tag = NULL; 1765 } 1766 /* Rx return ring. */ 1767 if (sc->alc_cdata.alc_rr_ring_tag != NULL) { | 1761 bus_dma_tag_destroy(sc->alc_cdata.alc_rx_ring_tag); 1762 sc->alc_cdata.alc_rx_ring_tag = NULL; 1763 } 1764 /* Rx return ring. */ 1765 if (sc->alc_cdata.alc_rr_ring_tag != NULL) { |
1768 if (sc->alc_cdata.alc_rr_ring_map != NULL) | 1766 if (sc->alc_rdata.alc_rr_ring_paddr != 0) |
1769 bus_dmamap_unload(sc->alc_cdata.alc_rr_ring_tag, 1770 sc->alc_cdata.alc_rr_ring_map); | 1767 bus_dmamap_unload(sc->alc_cdata.alc_rr_ring_tag, 1768 sc->alc_cdata.alc_rr_ring_map); |
1771 if (sc->alc_cdata.alc_rr_ring_map != NULL && 1772 sc->alc_rdata.alc_rr_ring != NULL) | 1769 if (sc->alc_rdata.alc_rr_ring != NULL) |
1773 bus_dmamem_free(sc->alc_cdata.alc_rr_ring_tag, 1774 sc->alc_rdata.alc_rr_ring, 1775 sc->alc_cdata.alc_rr_ring_map); | 1770 bus_dmamem_free(sc->alc_cdata.alc_rr_ring_tag, 1771 sc->alc_rdata.alc_rr_ring, 1772 sc->alc_cdata.alc_rr_ring_map); |
1773 sc->alc_rdata.alc_rr_ring_paddr = 0; |
|
1776 sc->alc_rdata.alc_rr_ring = NULL; | 1774 sc->alc_rdata.alc_rr_ring = NULL; |
1777 sc->alc_cdata.alc_rr_ring_map = NULL; | |
1778 bus_dma_tag_destroy(sc->alc_cdata.alc_rr_ring_tag); 1779 sc->alc_cdata.alc_rr_ring_tag = NULL; 1780 } 1781 /* CMB block */ 1782 if (sc->alc_cdata.alc_cmb_tag != NULL) { | 1775 bus_dma_tag_destroy(sc->alc_cdata.alc_rr_ring_tag); 1776 sc->alc_cdata.alc_rr_ring_tag = NULL; 1777 } 1778 /* CMB block */ 1779 if (sc->alc_cdata.alc_cmb_tag != NULL) { |
1783 if (sc->alc_cdata.alc_cmb_map != NULL) | 1780 if (sc->alc_rdata.alc_cmb_paddr != 0) |
1784 bus_dmamap_unload(sc->alc_cdata.alc_cmb_tag, 1785 sc->alc_cdata.alc_cmb_map); | 1781 bus_dmamap_unload(sc->alc_cdata.alc_cmb_tag, 1782 sc->alc_cdata.alc_cmb_map); |
1786 if (sc->alc_cdata.alc_cmb_map != NULL && 1787 sc->alc_rdata.alc_cmb != NULL) | 1783 if (sc->alc_rdata.alc_cmb != NULL) |
1788 bus_dmamem_free(sc->alc_cdata.alc_cmb_tag, 1789 sc->alc_rdata.alc_cmb, | 1784 bus_dmamem_free(sc->alc_cdata.alc_cmb_tag, 1785 sc->alc_rdata.alc_cmb, |
1790 sc->alc_cdata.alc_cmb_map); | 1786 sc->alc_cdata.alc_cmb_map); 1787 sc->alc_rdata.alc_cmb_paddr = 0; |
1791 sc->alc_rdata.alc_cmb = NULL; | 1788 sc->alc_rdata.alc_cmb = NULL; |
1792 sc->alc_cdata.alc_cmb_map = NULL; | |
1793 bus_dma_tag_destroy(sc->alc_cdata.alc_cmb_tag); 1794 sc->alc_cdata.alc_cmb_tag = NULL; 1795 } 1796 /* SMB block */ 1797 if (sc->alc_cdata.alc_smb_tag != NULL) { | 1789 bus_dma_tag_destroy(sc->alc_cdata.alc_cmb_tag); 1790 sc->alc_cdata.alc_cmb_tag = NULL; 1791 } 1792 /* SMB block */ 1793 if (sc->alc_cdata.alc_smb_tag != NULL) { |
1798 if (sc->alc_cdata.alc_smb_map != NULL) | 1794 if (sc->alc_rdata.alc_smb_paddr != 0) |
1799 bus_dmamap_unload(sc->alc_cdata.alc_smb_tag, 1800 sc->alc_cdata.alc_smb_map); | 1795 bus_dmamap_unload(sc->alc_cdata.alc_smb_tag, 1796 sc->alc_cdata.alc_smb_map); |
1801 if (sc->alc_cdata.alc_smb_map != NULL && 1802 sc->alc_rdata.alc_smb != NULL) | 1797 if (sc->alc_rdata.alc_smb != NULL) |
1803 bus_dmamem_free(sc->alc_cdata.alc_smb_tag, 1804 sc->alc_rdata.alc_smb, 1805 sc->alc_cdata.alc_smb_map); | 1798 bus_dmamem_free(sc->alc_cdata.alc_smb_tag, 1799 sc->alc_rdata.alc_smb, 1800 sc->alc_cdata.alc_smb_map); |
1801 sc->alc_rdata.alc_smb_paddr = 0; |
|
1806 sc->alc_rdata.alc_smb = NULL; | 1802 sc->alc_rdata.alc_smb = NULL; |
1807 sc->alc_cdata.alc_smb_map = NULL; | |
1808 bus_dma_tag_destroy(sc->alc_cdata.alc_smb_tag); 1809 sc->alc_cdata.alc_smb_tag = NULL; 1810 } 1811 if (sc->alc_cdata.alc_buffer_tag != NULL) { 1812 bus_dma_tag_destroy(sc->alc_cdata.alc_buffer_tag); 1813 sc->alc_cdata.alc_buffer_tag = NULL; 1814 } 1815 if (sc->alc_cdata.alc_parent_tag != NULL) { --- 1965 unchanged lines hidden --- | 1803 bus_dma_tag_destroy(sc->alc_cdata.alc_smb_tag); 1804 sc->alc_cdata.alc_smb_tag = NULL; 1805 } 1806 if (sc->alc_cdata.alc_buffer_tag != NULL) { 1807 bus_dma_tag_destroy(sc->alc_cdata.alc_buffer_tag); 1808 sc->alc_cdata.alc_buffer_tag = NULL; 1809 } 1810 if (sc->alc_cdata.alc_parent_tag != NULL) { --- 1965 unchanged lines hidden --- |