Loading drivers/net/ni52.c +17 −15 Original line number Original line Diff line number Diff line Loading @@ -135,9 +135,9 @@ static int fifo = 0x8; /* don't change */ #define ni_enaint() { outb(0, dev->base_addr + NI52_INTENA); } #define ni_enaint() { outb(0, dev->base_addr + NI52_INTENA); } #define make32(ptr16) (p->memtop + (short) (ptr16)) #define make32(ptr16) (p->memtop + (short) (ptr16)) #define make24(ptr32) ((unsigned long)(ptr32)) - p->base #define make24(ptr32) ((char __iomem *)(ptr32)) - p->base #define make16(ptr32) ((unsigned short) ((unsigned long)(ptr32)\ #define make16(ptr32) ((unsigned short) ((char __iomem *)(ptr32)\ - (unsigned long) p->memtop)) - p->memtop)) /******************* how to calculate the buffers ***************************** /******************* how to calculate the buffers ***************************** Loading Loading @@ -189,7 +189,8 @@ static void ni52_rnr_int(struct net_device *dev); struct priv { struct priv { struct net_device_stats stats; struct net_device_stats stats; unsigned long base; char __iomem *base; char __iomem *mapped; char __iomem *memtop; char __iomem *memtop; spinlock_t spinlock; spinlock_t spinlock; int reset; int reset; Loading Loading @@ -304,8 +305,9 @@ static int check586(struct net_device *dev, unsigned size) char __iomem *iscp_addrs[2]; char __iomem *iscp_addrs[2]; int i; int i; p->base = (unsigned long) isa_bus_to_virt(where) + size - 0x01000000; p->mapped = (char __iomem *)isa_bus_to_virt(where); p->memtop = (char __iomem *)isa_bus_to_virt(where) + size; p->base = p->mapped + size - 0x01000000; p->memtop = p->mapped + size; p->scp = (struct scp_struct __iomem *)(p->base + SCP_DEFAULT_ADDRESS); p->scp = (struct scp_struct __iomem *)(p->base + SCP_DEFAULT_ADDRESS); memset_io(p->scp, 0, sizeof(struct scp_struct)); memset_io(p->scp, 0, sizeof(struct scp_struct)); for (i = 0; i < sizeof(struct scp_struct); i++) for (i = 0; i < sizeof(struct scp_struct); i++) Loading @@ -316,7 +318,7 @@ static int check586(struct net_device *dev, unsigned size) if (readb(&p->scp->sysbus) != SYSBUSVAL) if (readb(&p->scp->sysbus) != SYSBUSVAL) return 0; return 0; iscp_addrs[0] = (char __iomem *)isa_bus_to_virt(where); iscp_addrs[0] = p->mapped; iscp_addrs[1] = (char __iomem *)p->scp - sizeof(struct iscp_struct); iscp_addrs[1] = (char __iomem *)p->scp - sizeof(struct iscp_struct); for (i = 0; i < 2; i++) { for (i = 0; i < 2; i++) { Loading Loading @@ -436,6 +438,7 @@ struct net_device * __init ni52_probe(int unit) static int __init ni52_probe1(struct net_device *dev, int ioaddr) static int __init ni52_probe1(struct net_device *dev, int ioaddr) { { int i, size, retval; int i, size, retval; struct priv *priv = dev->priv; dev->base_addr = ioaddr; dev->base_addr = ioaddr; dev->irq = irq; dev->irq = irq; Loading Loading @@ -517,19 +520,18 @@ static int __init ni52_probe1(struct net_device *dev, int ioaddr) dev->mem_end = dev->mem_start + size; dev->mem_end = dev->mem_start + size; #endif #endif memset((char *)dev->priv, 0, sizeof(struct priv)); memset(priv, 0, sizeof(struct priv)); ((struct priv *)(dev->priv))->memtop = priv->mapped = (char __iomem *)isa_bus_to_virt(dev->mem_start); (char __iomem *)isa_bus_to_virt(dev->mem_start) + size; priv->memtop = priv->mapped + size; ((struct priv *)(dev->priv))->base = (unsigned long) priv->base = priv->mapped + size - 0x01000000; isa_bus_to_virt(dev->mem_start) + size - 0x01000000; alloc586(dev); alloc586(dev); /* set number of receive-buffs according to memsize */ /* set number of receive-buffs according to memsize */ if (size == 0x2000) if (size == 0x2000) ((struct priv *) dev->priv)->num_recv_buffs = NUM_RECV_BUFFS_8; priv->num_recv_buffs = NUM_RECV_BUFFS_8; else else ((struct priv *) dev->priv)->num_recv_buffs = NUM_RECV_BUFFS_16; priv->num_recv_buffs = NUM_RECV_BUFFS_16; printk(KERN_DEBUG "Memaddr: 0x%lx, Memsize: %d, ", printk(KERN_DEBUG "Memaddr: 0x%lx, Memsize: %d, ", dev->mem_start, size); dev->mem_start, size); Loading Loading @@ -959,7 +961,7 @@ static void ni52_rcv_int(struct net_device *dev) if (skb != NULL) { if (skb != NULL) { skb_reserve(skb, 2); skb_reserve(skb, 2); skb_put(skb, totlen); skb_put(skb, totlen); skb_copy_to_linear_data(skb, (char *)p->base + (unsigned long) rbd->buffer, totlen); skb_copy_to_linear_data(skb, p->base + (unsigned long) rbd->buffer, totlen); skb->protocol = eth_type_trans(skb, dev); skb->protocol = eth_type_trans(skb, dev); netif_rx(skb); netif_rx(skb); dev->last_rx = jiffies; dev->last_rx = jiffies; Loading Loading
drivers/net/ni52.c +17 −15 Original line number Original line Diff line number Diff line Loading @@ -135,9 +135,9 @@ static int fifo = 0x8; /* don't change */ #define ni_enaint() { outb(0, dev->base_addr + NI52_INTENA); } #define ni_enaint() { outb(0, dev->base_addr + NI52_INTENA); } #define make32(ptr16) (p->memtop + (short) (ptr16)) #define make32(ptr16) (p->memtop + (short) (ptr16)) #define make24(ptr32) ((unsigned long)(ptr32)) - p->base #define make24(ptr32) ((char __iomem *)(ptr32)) - p->base #define make16(ptr32) ((unsigned short) ((unsigned long)(ptr32)\ #define make16(ptr32) ((unsigned short) ((char __iomem *)(ptr32)\ - (unsigned long) p->memtop)) - p->memtop)) /******************* how to calculate the buffers ***************************** /******************* how to calculate the buffers ***************************** Loading Loading @@ -189,7 +189,8 @@ static void ni52_rnr_int(struct net_device *dev); struct priv { struct priv { struct net_device_stats stats; struct net_device_stats stats; unsigned long base; char __iomem *base; char __iomem *mapped; char __iomem *memtop; char __iomem *memtop; spinlock_t spinlock; spinlock_t spinlock; int reset; int reset; Loading Loading @@ -304,8 +305,9 @@ static int check586(struct net_device *dev, unsigned size) char __iomem *iscp_addrs[2]; char __iomem *iscp_addrs[2]; int i; int i; p->base = (unsigned long) isa_bus_to_virt(where) + size - 0x01000000; p->mapped = (char __iomem *)isa_bus_to_virt(where); p->memtop = (char __iomem *)isa_bus_to_virt(where) + size; p->base = p->mapped + size - 0x01000000; p->memtop = p->mapped + size; p->scp = (struct scp_struct __iomem *)(p->base + SCP_DEFAULT_ADDRESS); p->scp = (struct scp_struct __iomem *)(p->base + SCP_DEFAULT_ADDRESS); memset_io(p->scp, 0, sizeof(struct scp_struct)); memset_io(p->scp, 0, sizeof(struct scp_struct)); for (i = 0; i < sizeof(struct scp_struct); i++) for (i = 0; i < sizeof(struct scp_struct); i++) Loading @@ -316,7 +318,7 @@ static int check586(struct net_device *dev, unsigned size) if (readb(&p->scp->sysbus) != SYSBUSVAL) if (readb(&p->scp->sysbus) != SYSBUSVAL) return 0; return 0; iscp_addrs[0] = (char __iomem *)isa_bus_to_virt(where); iscp_addrs[0] = p->mapped; iscp_addrs[1] = (char __iomem *)p->scp - sizeof(struct iscp_struct); iscp_addrs[1] = (char __iomem *)p->scp - sizeof(struct iscp_struct); for (i = 0; i < 2; i++) { for (i = 0; i < 2; i++) { Loading Loading @@ -436,6 +438,7 @@ struct net_device * __init ni52_probe(int unit) static int __init ni52_probe1(struct net_device *dev, int ioaddr) static int __init ni52_probe1(struct net_device *dev, int ioaddr) { { int i, size, retval; int i, size, retval; struct priv *priv = dev->priv; dev->base_addr = ioaddr; dev->base_addr = ioaddr; dev->irq = irq; dev->irq = irq; Loading Loading @@ -517,19 +520,18 @@ static int __init ni52_probe1(struct net_device *dev, int ioaddr) dev->mem_end = dev->mem_start + size; dev->mem_end = dev->mem_start + size; #endif #endif memset((char *)dev->priv, 0, sizeof(struct priv)); memset(priv, 0, sizeof(struct priv)); ((struct priv *)(dev->priv))->memtop = priv->mapped = (char __iomem *)isa_bus_to_virt(dev->mem_start); (char __iomem *)isa_bus_to_virt(dev->mem_start) + size; priv->memtop = priv->mapped + size; ((struct priv *)(dev->priv))->base = (unsigned long) priv->base = priv->mapped + size - 0x01000000; isa_bus_to_virt(dev->mem_start) + size - 0x01000000; alloc586(dev); alloc586(dev); /* set number of receive-buffs according to memsize */ /* set number of receive-buffs according to memsize */ if (size == 0x2000) if (size == 0x2000) ((struct priv *) dev->priv)->num_recv_buffs = NUM_RECV_BUFFS_8; priv->num_recv_buffs = NUM_RECV_BUFFS_8; else else ((struct priv *) dev->priv)->num_recv_buffs = NUM_RECV_BUFFS_16; priv->num_recv_buffs = NUM_RECV_BUFFS_16; printk(KERN_DEBUG "Memaddr: 0x%lx, Memsize: %d, ", printk(KERN_DEBUG "Memaddr: 0x%lx, Memsize: %d, ", dev->mem_start, size); dev->mem_start, size); Loading Loading @@ -959,7 +961,7 @@ static void ni52_rcv_int(struct net_device *dev) if (skb != NULL) { if (skb != NULL) { skb_reserve(skb, 2); skb_reserve(skb, 2); skb_put(skb, totlen); skb_put(skb, totlen); skb_copy_to_linear_data(skb, (char *)p->base + (unsigned long) rbd->buffer, totlen); skb_copy_to_linear_data(skb, p->base + (unsigned long) rbd->buffer, totlen); skb->protocol = eth_type_trans(skb, dev); skb->protocol = eth_type_trans(skb, dev); netif_rx(skb); netif_rx(skb); dev->last_rx = jiffies; dev->last_rx = jiffies; Loading