diff options
Diffstat (limited to 'drivers/net/ethernet/sun')
| -rw-r--r-- | drivers/net/ethernet/sun/sunbmac.c | 5 | ||||
| -rw-r--r-- | drivers/net/ethernet/sun/sunbmac.h | 2 | ||||
| -rw-r--r-- | drivers/net/ethernet/sun/sunqe.c | 11 | ||||
| -rw-r--r-- | drivers/net/ethernet/sun/sunqe.h | 4 | 
4 files changed, 12 insertions, 10 deletions
| diff --git a/drivers/net/ethernet/sun/sunbmac.c b/drivers/net/ethernet/sun/sunbmac.c index aa4f9d2d8fa9..02f452730d52 100644 --- a/drivers/net/ethernet/sun/sunbmac.c +++ b/drivers/net/ethernet/sun/sunbmac.c @@ -623,6 +623,7 @@ static int bigmac_init_hw(struct bigmac *bp, int from_irq)  	void __iomem *gregs        = bp->gregs;  	void __iomem *cregs        = bp->creg;  	void __iomem *bregs        = bp->bregs; +	__u32 bblk_dvma = (__u32)bp->bblock_dvma;  	unsigned char *e = &bp->dev->dev_addr[0];  	/* Latch current counters into statistics. */ @@ -671,9 +672,9 @@ static int bigmac_init_hw(struct bigmac *bp, int from_irq)  		    bregs + BMAC_XIFCFG);  	/* Tell the QEC where the ring descriptors are. */ -	sbus_writel(bp->bblock_dvma + bib_offset(be_rxd, 0), +	sbus_writel(bblk_dvma + bib_offset(be_rxd, 0),  		    cregs + CREG_RXDS); -	sbus_writel(bp->bblock_dvma + bib_offset(be_txd, 0), +	sbus_writel(bblk_dvma + bib_offset(be_txd, 0),  		    cregs + CREG_TXDS);  	/* Setup the FIFO pointers into QEC local memory. */ diff --git a/drivers/net/ethernet/sun/sunbmac.h b/drivers/net/ethernet/sun/sunbmac.h index 06dd21707353..532fc56830cf 100644 --- a/drivers/net/ethernet/sun/sunbmac.h +++ b/drivers/net/ethernet/sun/sunbmac.h @@ -291,7 +291,7 @@ struct bigmac {  	void __iomem	*bregs;	/* BigMAC Registers                   */  	void __iomem	*tregs;	/* BigMAC Transceiver                 */  	struct bmac_init_block	*bmac_block;	/* RX and TX descriptors */ -	__u32			 bblock_dvma;	/* RX and TX descriptors */ +	dma_addr_t		bblock_dvma;	/* RX and TX descriptors */  	spinlock_t		lock; diff --git a/drivers/net/ethernet/sun/sunqe.c b/drivers/net/ethernet/sun/sunqe.c index 9b825780b3be..9582948145c1 100644 --- a/drivers/net/ethernet/sun/sunqe.c +++ b/drivers/net/ethernet/sun/sunqe.c @@ -124,7 +124,7 @@ static void qe_init_rings(struct sunqe *qep)  {  	struct qe_init_block *qb = qep->qe_block;  	struct sunqe_buffers *qbufs = qep->buffers; -	__u32 qbufs_dvma = qep->buffers_dvma; +	__u32 qbufs_dvma = (__u32)qep->buffers_dvma;  	int i;  	qep->rx_new = qep->rx_old = qep->tx_new = qep->tx_old = 0; @@ -144,6 +144,7 @@ static int qe_init(struct sunqe *qep, int from_irq)  	void __iomem *mregs = qep->mregs;  	void __iomem *gregs = qecp->gregs;  	unsigned char *e = &qep->dev->dev_addr[0]; +	__u32 qblk_dvma = (__u32)qep->qblock_dvma;  	u32 tmp;  	int i; @@ -152,8 +153,8 @@ static int qe_init(struct sunqe *qep, int from_irq)  		return -EAGAIN;  	/* Setup initial rx/tx init block pointers. */ -	sbus_writel(qep->qblock_dvma + qib_offset(qe_rxd, 0), cregs + CREG_RXDS); -	sbus_writel(qep->qblock_dvma + qib_offset(qe_txd, 0), cregs + CREG_TXDS); +	sbus_writel(qblk_dvma + qib_offset(qe_rxd, 0), cregs + CREG_RXDS); +	sbus_writel(qblk_dvma + qib_offset(qe_txd, 0), cregs + CREG_TXDS);  	/* Enable/mask the various irq's. */  	sbus_writel(0, cregs + CREG_RIMASK); @@ -413,7 +414,7 @@ static void qe_rx(struct sunqe *qep)  	struct net_device *dev = qep->dev;  	struct qe_rxd *this;  	struct sunqe_buffers *qbufs = qep->buffers; -	__u32 qbufs_dvma = qep->buffers_dvma; +	__u32 qbufs_dvma = (__u32)qep->buffers_dvma;  	int elem = qep->rx_new;  	u32 flags; @@ -572,7 +573,7 @@ static int qe_start_xmit(struct sk_buff *skb, struct net_device *dev)  {  	struct sunqe *qep = netdev_priv(dev);  	struct sunqe_buffers *qbufs = qep->buffers; -	__u32 txbuf_dvma, qbufs_dvma = qep->buffers_dvma; +	__u32 txbuf_dvma, qbufs_dvma = (__u32)qep->buffers_dvma;  	unsigned char *txbuf;  	int len, entry; diff --git a/drivers/net/ethernet/sun/sunqe.h b/drivers/net/ethernet/sun/sunqe.h index 581781b6b2fa..ae190b77431b 100644 --- a/drivers/net/ethernet/sun/sunqe.h +++ b/drivers/net/ethernet/sun/sunqe.h @@ -334,12 +334,12 @@ struct sunqe {  	void __iomem			*qcregs;		/* QEC per-channel Registers   */  	void __iomem			*mregs;		/* Per-channel MACE Registers  */  	struct qe_init_block      	*qe_block;	/* RX and TX descriptors       */ -	__u32                      	qblock_dvma;	/* RX and TX descriptors       */ +	dma_addr_t			qblock_dvma;	/* RX and TX descriptors       */  	spinlock_t			lock;		/* Protects txfull state       */  	int                        	rx_new, rx_old;	/* RX ring extents	       */  	int			   	tx_new, tx_old;	/* TX ring extents	       */  	struct sunqe_buffers		*buffers;	/* CPU visible address.        */ -	__u32				buffers_dvma;	/* DVMA visible address.       */ +	dma_addr_t			buffers_dvma;	/* DVMA visible address.       */  	struct sunqec			*parent;  	u8				mconfig;	/* Base MACE mconfig value     */  	struct platform_device		*op;		/* QE's OF device struct       */ |