[PATCH] PPC64 iSeries virtual ethernet fix

From: Stephen Rothwell
Date: Tue Apr 20 2004 - 23:45:24 EST


Hi Andrew,

This is the patch I said would be needed due to other patches that were
applied in parallel with the inclusion of the iSeries virtual ethernet
driver.

Please apply to your tree and send to Linus.

This patch is realtive to 2.6.6-rc2.
--
Cheers,
Stephen Rothwell sfr@xxxxxxxxxxxxxxxx
http://www.canb.auug.org.au/~sfr/

diff -ruN 2.6.6-rc2/drivers/net/iseries_veth.c 2.6.6-rc2.veth.1/drivers/net/iseries_veth.c
--- 2.6.6-rc2/drivers/net/iseries_veth.c 2004-04-21 13:26:12.000000000 +1000
+++ 2.6.6-rc2.veth.1/drivers/net/iseries_veth.c 2004-04-21 14:35:45.000000000 +1000
@@ -61,7 +61,6 @@
#include <linux/types.h>
#include <linux/errno.h>
#include <linux/ioport.h>
-#include <linux/pci.h>
#include <linux/kernel.h>
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
@@ -78,10 +77,11 @@
#include <asm/iSeries/HvTypes.h>
#include <asm/iSeries/HvLpEvent.h>
#include <asm/iommu.h>
+#include <asm/vio.h>

#include "iseries_veth.h"

-extern struct pci_dev *iSeries_veth_dev;
+extern struct vio_dev *iSeries_veth_dev;

MODULE_AUTHOR("Kyle Lucke <klucke@xxxxxxxxxx>");
MODULE_DESCRIPTION("iSeries Virtual ethernet driver");
@@ -895,10 +895,10 @@
}

dma_length = skb->len;
- dma_address = pci_map_single(iSeries_veth_dev, skb->data,
- dma_length, PCI_DMA_TODEVICE);
+ dma_address = vio_map_single(iSeries_veth_dev, skb->data,
+ dma_length, DMA_TO_DEVICE);

- if (pci_dma_mapping_error(dma_address))
+ if (dma_mapping_error(dma_address))
goto recycle_and_drop;

/* Is it really necessary to check the length and address
@@ -1016,8 +1016,8 @@
dma_address = msg->data.addr[0];
dma_length = msg->data.len[0];

- pci_unmap_single(iSeries_veth_dev, dma_address, dma_length,
- PCI_DMA_TODEVICE);
+ vio_unmap_single(iSeries_veth_dev, dma_address, dma_length,
+ DMA_TO_DEVICE);

if (msg->skb) {
dev_kfree_skb_any(msg->skb);

Attachment: pgp00000.pgp
Description: PGP signature