diff options
Diffstat (limited to 'drivers/net/sis900.c')
-rw-r--r-- | drivers/net/sis900.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/drivers/net/sis900.c b/drivers/net/sis900.c index 3107aed0fb51..23b713c700b3 100644 --- a/drivers/net/sis900.c +++ b/drivers/net/sis900.c | |||
@@ -66,6 +66,7 @@ | |||
66 | #include <linux/ethtool.h> | 66 | #include <linux/ethtool.h> |
67 | #include <linux/crc32.h> | 67 | #include <linux/crc32.h> |
68 | #include <linux/bitops.h> | 68 | #include <linux/bitops.h> |
69 | #include <linux/dma-mapping.h> | ||
69 | 70 | ||
70 | #include <asm/processor.h> /* Processor type for cache alignment. */ | 71 | #include <asm/processor.h> /* Processor type for cache alignment. */ |
71 | #include <asm/io.h> | 72 | #include <asm/io.h> |
@@ -93,8 +94,6 @@ static int sis900_debug = -1; /* Use SIS900_DEF_MSG as value */ | |||
93 | 94 | ||
94 | /* Time in jiffies before concluding the transmitter is hung. */ | 95 | /* Time in jiffies before concluding the transmitter is hung. */ |
95 | #define TX_TIMEOUT (4*HZ) | 96 | #define TX_TIMEOUT (4*HZ) |
96 | /* SiS 900 is capable of 32 bits BM DMA */ | ||
97 | #define SIS900_DMA_MASK 0xffffffff | ||
98 | 97 | ||
99 | enum { | 98 | enum { |
100 | SIS_900 = 0, | 99 | SIS_900 = 0, |
@@ -414,7 +413,7 @@ static int __devinit sis900_probe(struct pci_dev *pci_dev, | |||
414 | ret = pci_enable_device(pci_dev); | 413 | ret = pci_enable_device(pci_dev); |
415 | if(ret) return ret; | 414 | if(ret) return ret; |
416 | 415 | ||
417 | i = pci_set_dma_mask(pci_dev, SIS900_DMA_MASK); | 416 | i = pci_set_dma_mask(pci_dev, DMA_32BIT_MASK); |
418 | if(i){ | 417 | if(i){ |
419 | printk(KERN_ERR "sis900.c: architecture does not support" | 418 | printk(KERN_ERR "sis900.c: architecture does not support" |
420 | "32bit PCI busmaster DMA\n"); | 419 | "32bit PCI busmaster DMA\n"); |
@@ -1155,7 +1154,7 @@ sis900_init_rx_ring(struct net_device *net_dev) | |||
1155 | sis_priv->rx_skbuff[i] = skb; | 1154 | sis_priv->rx_skbuff[i] = skb; |
1156 | sis_priv->rx_ring[i].cmdsts = RX_BUF_SIZE; | 1155 | sis_priv->rx_ring[i].cmdsts = RX_BUF_SIZE; |
1157 | sis_priv->rx_ring[i].bufptr = pci_map_single(sis_priv->pci_dev, | 1156 | sis_priv->rx_ring[i].bufptr = pci_map_single(sis_priv->pci_dev, |
1158 | skb->tail, RX_BUF_SIZE, PCI_DMA_FROMDEVICE); | 1157 | skb->data, RX_BUF_SIZE, PCI_DMA_FROMDEVICE); |
1159 | } | 1158 | } |
1160 | sis_priv->dirty_rx = (unsigned int) (i - NUM_RX_DESC); | 1159 | sis_priv->dirty_rx = (unsigned int) (i - NUM_RX_DESC); |
1161 | 1160 | ||
@@ -1777,7 +1776,7 @@ static int sis900_rx(struct net_device *net_dev) | |||
1777 | sis_priv->rx_skbuff[entry] = skb; | 1776 | sis_priv->rx_skbuff[entry] = skb; |
1778 | sis_priv->rx_ring[entry].cmdsts = RX_BUF_SIZE; | 1777 | sis_priv->rx_ring[entry].cmdsts = RX_BUF_SIZE; |
1779 | sis_priv->rx_ring[entry].bufptr = | 1778 | sis_priv->rx_ring[entry].bufptr = |
1780 | pci_map_single(sis_priv->pci_dev, skb->tail, | 1779 | pci_map_single(sis_priv->pci_dev, skb->data, |
1781 | RX_BUF_SIZE, PCI_DMA_FROMDEVICE); | 1780 | RX_BUF_SIZE, PCI_DMA_FROMDEVICE); |
1782 | sis_priv->dirty_rx++; | 1781 | sis_priv->dirty_rx++; |
1783 | } | 1782 | } |
@@ -1810,7 +1809,7 @@ static int sis900_rx(struct net_device *net_dev) | |||
1810 | sis_priv->rx_skbuff[entry] = skb; | 1809 | sis_priv->rx_skbuff[entry] = skb; |
1811 | sis_priv->rx_ring[entry].cmdsts = RX_BUF_SIZE; | 1810 | sis_priv->rx_ring[entry].cmdsts = RX_BUF_SIZE; |
1812 | sis_priv->rx_ring[entry].bufptr = | 1811 | sis_priv->rx_ring[entry].bufptr = |
1813 | pci_map_single(sis_priv->pci_dev, skb->tail, | 1812 | pci_map_single(sis_priv->pci_dev, skb->data, |
1814 | RX_BUF_SIZE, PCI_DMA_FROMDEVICE); | 1813 | RX_BUF_SIZE, PCI_DMA_FROMDEVICE); |
1815 | } | 1814 | } |
1816 | } | 1815 | } |