2.6.x net driver updates
Subsystems (3)
PATCH 1/1 2.6.x net driver updates
iomem annotations from viro, tun/tap fixes, multicast fixes.
Please do a
bk pull bk://gkernel.bkbits.net/net-drivers-2.6
This will update the following files:
drivers/net/Kconfig | 1 drivers/net/atp.c | 2 drivers/net/bmac.c | 68 +++++++++--------- drivers/net/hamachi.c | 81 +++++++++++----------- drivers/net/myri_sbus.c | 10 +- drivers/net/s2io.c | 104 ++++++++++++++-------------- drivers/net/s2io.h | 15 +--- drivers/net/tulip/tulip_core.c | 2 drivers/net/tulip/winbond-840.c | 2 drivers/net/tun.c | 145 ++++++++++++++++++++++++++++++++++------ include/linux/if_tun.h | 2 11 files changed, 271 insertions(+), 161 deletions(-)
through these ChangeSets:
Alexander Viro:
o s2io iomem annotations and cleanups
o bmac iomem annotations
o hamachi iomem annotations
o miri_sbus iomem annotations
Maksim Krasnyanskiy:
o [TUN] Add a missing dependency on enabling the crc32 libraries
o Use random_ether_addr() to generate TAP MAC address
o TUN/TAP driver packet queuing fixes and improvements
Roger Luethi:
o mc_filter on big-endian arch
drivers/net/Kconfig +1 -0
@@ -84,6 +84,7 @@ config TUN tristate "Universal TUN/TAP device driver support" depends on NETDEVICES + select CRC32 ---help--- TUN/TAP provides packet reception and transmission for user space programs. It can be viewed as a simple Point-to-Point or Ethernet
drivers/net/atp.c +1 -1
@@ -909,7 +909,7 @@ i++, mclist = mclist->next) {int filterbit =ether_crc_le (ETH_ALEN , mclist->dmi_addr) &0x3f ; - mc_filter[filterbit >>5 ] |=cpu_to_le32 (1 << (filterbit &31 )); + mc_filter[filterbit >>5 ] |=1 << (filterbit &31 ); } new_mode = CMR2h_Normal; }
drivers/net/bmac.c +33 -35
191 lines not on this page · raw message
drivers/net/hamachi.c +43 -38
256 lines not on this page · raw message
drivers/net/myri_sbus.c +5 -5
@@ -118,7 +118,7 @@static inline void bang_the_chip (struct myri_eth *mp) { -struct myri_shmem *shmem = mp->shmem; +struct myri_shmem __iomem *shmem = mp->shmem;void __iomem *cregs = mp->cregs;sbus_writel (1 , &shmem->send);
@@ -127,9 +127,9 @@static int myri_do_handshake (struct myri_eth *mp) { -struct myri_shmem *shmem = mp->shmem; +struct myri_shmem __iomem *shmem = mp->shmem;void __iomem *cregs = mp->cregs; -struct myri_channel *chan = &shmem->channel; +struct myri_channel __iomem *chan = &shmem->channel;int tick =0 ;DET (("myri_do_handshake: " ));
@@ -427,7 +427,7 @@u32 csum =sbus_readl (&rxdack->csum);int len =sbus_readl (&rxdack->myri_scatters[0 ].len);int index =sbus_readl (&rxdack->ctx); -struct myri_rxd __iomem *rxd = &rq->myri_rxd[rq->tail]; +struct myri_rxd __iomem *rxd = &rq->myri_rxd[sbus_readl (&rq->tail)];struct sk_buff *skb = mp->rx_skbs[index];/* Ack it. */
@@ -546,7 +546,7 @@struct net_device *dev = (struct net_device *) dev_id;struct myri_eth *mp = (struct myri_eth *) dev->priv;void __iomem *lregs = mp->lregs; -struct myri_channel *chan = &mp->shmem->channel; +struct myri_channel __iomem *chan = &mp->shmem->channel;unsigned long flags;u32 status;int handled =0 ;
drivers/net/s2io.c +52 -52
389 lines not on this page · raw message
drivers/net/s2io.h +7 -8
@@ -583,7 +583,7 @@/* tx side stuff */ /* logical pointer of start of each Tx FIFO */ -TxFIFO_element_t *tx_FIFO_start[MAX_TX_FIFOS ]; +TxFIFO_element_t __iomem *tx_FIFO_start[MAX_TX_FIFOS ];/* Current offset within tx_FIFO_start, where driver would write new Tx frame*/ tx_curr_put_info_t tx_curr_put_info[MAX_TX_FIFOS ];
@@ -623,8 +623,8 @@macaddr_t pre_mac_addr[MAX_MAC_SUPPORTED ];struct net_device_stats stats; -caddr_t bar0; -caddr_t bar1; +void __iomem *bar0; +void __iomem *bar1;struct config_param config;mac_info_t mac_control;int high_dma_flag;
@@ -736,10 +736,9 @@/* OS related system calls */ #ifndef readq -static inline u64 readq (void *addr) +static inline u64 readq (void __iomem *addr) { -u64 ret =0 ; - ret =readl (addr +4 ); +u64 ret =readl (addr +4 ); ret <<=32 ; ret |=readl (addr);
@@ -748,7 +747,7 @@#endif #ifndef writeq -static inline void writeq (u64 val,void *addr) +static inline void writeq (u64 val,void __iomem *addr) {writel ((u32) (val), addr);writel ((u32) (val >>32 ), (addr +4 ));
@@ -762,7 +761,7 @@*/ #define UF 1#define LF 2 -static inline void SPECIAL_REG_WRITE (u64 val,void *addr,int order) +static inline void SPECIAL_REG_WRITE (u64 val,void __iomem *addr,int order) {if (order ==LF ) {writel ((u32) (val), addr);
drivers/net/tulip/tulip_core.c +1 -1
@@ -1051,7 +1051,7 @@else filterbit =ether_crc (ETH_ALEN , mclist->dmi_addr) >>26 ; filterbit &=0x3f ; - mc_filter[filterbit >>5 ] |=cpu_to_le32 (1 << (filterbit &31 )); + mc_filter[filterbit >>5 ] |=1 << (filterbit &31 );if (tulip_debug >2 ) { printk(KERN_INFO "%s: Added filter for %2.2x:%2.2x:%2.2x:" "%2.2x:%2.2x:%2.2x %8.8x bit %d.\n", dev->name,
drivers/net/tulip/winbond-840.c +1 -1
@@ -1410,7 +1410,7 @@ i++, mclist = mclist->next) {int filterbit = (ether_crc (ETH_ALEN , mclist->dmi_addr) >>26 ) ^0x3F ; filterbit &=0x3f ; - mc_filter[filterbit >>5 ] |=cpu_to_le32 (1 << (filterbit &31 )); + mc_filter[filterbit >>5 ] |=1 << (filterbit &31 ); } rx_mode = AcceptBroadcast | AcceptMulticast | AcceptMyPhys; }
drivers/net/tun.c +126 -19
220 lines not on this page · raw message
include/linux/if_tun.h +1 -1
@@ -58,7 +58,7 @@#endif /* __KERNEL__ */ /* Read queue size */ -#define TUN_READQ_SIZE 10 +#define TUN_READQ_SIZE 500/* TUN device flags */ #define TUN_TUN_DEV 0x0001