Loading drivers/net/chelsio/common.h +2 −14 Original line number Diff line number Diff line Loading @@ -91,24 +91,12 @@ typedef struct adapter adapter_t; struct t1_rx_mode { struct net_device *dev; u32 idx; struct dev_mc_list *list; }; #define t1_rx_mode_promisc(rm) (rm->dev->flags & IFF_PROMISC) #define t1_rx_mode_allmulti(rm) (rm->dev->flags & IFF_ALLMULTI) #define t1_rx_mode_mc_cnt(rm) (netdev_mc_count(rm->dev)) static inline u8 *t1_get_next_mcaddr(struct t1_rx_mode *rm) { u8 *addr = NULL; if (rm->idx++ < t1_rx_mode_mc_cnt(rm)) { addr = rm->list->dmi_addr; rm->list = rm->list->next; } return addr; } #define t1_get_netdev(rm) (rm->dev) #define MAX_NPORTS 4 #define PORT_MASK ((1 << MAX_NPORTS) - 1) Loading drivers/net/chelsio/cxgb2.c +0 −2 Original line number Diff line number Diff line Loading @@ -125,8 +125,6 @@ static void t1_set_rxmode(struct net_device *dev) struct t1_rx_mode rm; rm.dev = dev; rm.idx = 0; rm.list = dev->mc_list; mac->ops->set_rx_mode(mac, &rm); } Loading drivers/net/chelsio/pm3393.c +3 −3 Original line number Diff line number Diff line Loading @@ -375,12 +375,12 @@ static int pm3393_set_rx_mode(struct cmac *cmac, struct t1_rx_mode *rm) rx_mode |= SUNI1x10GEXP_BITMSK_RXXG_MHASH_EN; } else if (t1_rx_mode_mc_cnt(rm)) { /* Accept one or more multicast(s). */ u8 *addr; struct dev_mc_list *dmi; int bit; u16 mc_filter[4] = { 0, }; while ((addr = t1_get_next_mcaddr(rm))) { bit = (ether_crc(ETH_ALEN, addr) >> 23) & 0x3f; /* bit[23:28] */ netdev_for_each_mc_addr(dmi, t1_get_netdev(rm)) { bit = (ether_crc(ETH_ALEN, dmi->dmi_addr) >> 23) & 0x3f; /* bit[23:28] */ mc_filter[bit >> 4] |= 1 << (bit & 0xf); } pmwrite(cmac, SUNI1x10GEXP_REG_RXXG_MULTICAST_HASH_LOW, mc_filter[0]); Loading Loading
drivers/net/chelsio/common.h +2 −14 Original line number Diff line number Diff line Loading @@ -91,24 +91,12 @@ typedef struct adapter adapter_t; struct t1_rx_mode { struct net_device *dev; u32 idx; struct dev_mc_list *list; }; #define t1_rx_mode_promisc(rm) (rm->dev->flags & IFF_PROMISC) #define t1_rx_mode_allmulti(rm) (rm->dev->flags & IFF_ALLMULTI) #define t1_rx_mode_mc_cnt(rm) (netdev_mc_count(rm->dev)) static inline u8 *t1_get_next_mcaddr(struct t1_rx_mode *rm) { u8 *addr = NULL; if (rm->idx++ < t1_rx_mode_mc_cnt(rm)) { addr = rm->list->dmi_addr; rm->list = rm->list->next; } return addr; } #define t1_get_netdev(rm) (rm->dev) #define MAX_NPORTS 4 #define PORT_MASK ((1 << MAX_NPORTS) - 1) Loading
drivers/net/chelsio/cxgb2.c +0 −2 Original line number Diff line number Diff line Loading @@ -125,8 +125,6 @@ static void t1_set_rxmode(struct net_device *dev) struct t1_rx_mode rm; rm.dev = dev; rm.idx = 0; rm.list = dev->mc_list; mac->ops->set_rx_mode(mac, &rm); } Loading
drivers/net/chelsio/pm3393.c +3 −3 Original line number Diff line number Diff line Loading @@ -375,12 +375,12 @@ static int pm3393_set_rx_mode(struct cmac *cmac, struct t1_rx_mode *rm) rx_mode |= SUNI1x10GEXP_BITMSK_RXXG_MHASH_EN; } else if (t1_rx_mode_mc_cnt(rm)) { /* Accept one or more multicast(s). */ u8 *addr; struct dev_mc_list *dmi; int bit; u16 mc_filter[4] = { 0, }; while ((addr = t1_get_next_mcaddr(rm))) { bit = (ether_crc(ETH_ALEN, addr) >> 23) & 0x3f; /* bit[23:28] */ netdev_for_each_mc_addr(dmi, t1_get_netdev(rm)) { bit = (ether_crc(ETH_ALEN, dmi->dmi_addr) >> 23) & 0x3f; /* bit[23:28] */ mc_filter[bit >> 4] |= 1 << (bit & 0xf); } pmwrite(cmac, SUNI1x10GEXP_REG_RXXG_MULTICAST_HASH_LOW, mc_filter[0]); Loading