Commit 34c20624 authored by Olof Johansson's avatar Olof Johansson Committed by David S. Miller

pasemi_mac: Convert to new dma library

pasemi_mac: Convert to new dma library

Convert the pasemi_mac driver to the new platform global DMA manaagement
library. This also does a couple of other minor cleanups w.r.t. channel
management.
Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
parent 8ee9d857
This diff is collapsed.
...@@ -27,23 +27,18 @@ ...@@ -27,23 +27,18 @@
#include <linux/phy.h> #include <linux/phy.h>
struct pasemi_mac_txring { struct pasemi_mac_txring {
struct pasemi_dmachan chan; /* Must be first */
spinlock_t lock; spinlock_t lock;
u64 *status; /* Ptr to cacheable status area */
u64 *ring;
dma_addr_t dma;
unsigned int size; unsigned int size;
unsigned int next_to_fill; unsigned int next_to_fill;
unsigned int next_to_clean; unsigned int next_to_clean;
struct pasemi_mac_buffer *ring_info; struct pasemi_mac_buffer *ring_info;
int chan;
struct pasemi_mac *mac; /* Needed in intr handler */ struct pasemi_mac *mac; /* Needed in intr handler */
}; };
struct pasemi_mac_rxring { struct pasemi_mac_rxring {
struct pasemi_dmachan chan; /* Must be first */
spinlock_t lock; spinlock_t lock;
u64 *status; /* Ptr to cacheable status area */
u64 *ring; /* RX channel descriptor ring */
dma_addr_t dma;
u64 *buffers; /* RX interface buffer ring */ u64 *buffers; /* RX interface buffer ring */
dma_addr_t buf_dma; dma_addr_t buf_dma;
unsigned int size; unsigned int size;
...@@ -55,9 +50,6 @@ struct pasemi_mac_rxring { ...@@ -55,9 +50,6 @@ struct pasemi_mac_rxring {
struct pasemi_mac { struct pasemi_mac {
struct net_device *netdev; struct net_device *netdev;
void __iomem *regs;
void __iomem *dma_regs;
void __iomem *iob_regs;
struct pci_dev *pdev; struct pci_dev *pdev;
struct pci_dev *dma_pdev; struct pci_dev *dma_pdev;
struct pci_dev *iob_pdev; struct pci_dev *iob_pdev;
...@@ -67,8 +59,6 @@ struct pasemi_mac { ...@@ -67,8 +59,6 @@ struct pasemi_mac {
u8 type; u8 type;
#define MAC_TYPE_GMAC 1 #define MAC_TYPE_GMAC 1
#define MAC_TYPE_XAUI 2 #define MAC_TYPE_XAUI 2
u32 dma_txch;
u32 dma_rxch;
u32 dma_if; u32 dma_if;
u8 mac_addr[6]; u8 mac_addr[6];
...@@ -77,8 +67,6 @@ struct pasemi_mac { ...@@ -77,8 +67,6 @@ struct pasemi_mac {
struct pasemi_mac_txring *tx; struct pasemi_mac_txring *tx;
struct pasemi_mac_rxring *rx; struct pasemi_mac_rxring *rx;
unsigned int tx_irq;
unsigned int rx_irq;
char tx_irq_name[10]; /* "eth%d tx" */ char tx_irq_name[10]; /* "eth%d tx" */
char rx_irq_name[10]; /* "eth%d rx" */ char rx_irq_name[10]; /* "eth%d rx" */
int link; int link;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment