* [net-next-2.6 PATCH] ixgbe: convert to use netdev_for_each_mc_addr
@ 2010-02-23 19:05 Jiri Pirko
2010-02-24 9:30 ` Jeff Kirsher
0 siblings, 1 reply; 4+ messages in thread
From: Jiri Pirko @ 2010-02-23 19:05 UTC (permalink / raw)
To: netdev; +Cc: davem
Signed-off-by: Jiri Pirko <jpirko@redhat.com>
---
drivers/net/ixgbe/ixgbe_common.c | 16 +++++++---------
drivers/net/ixgbe/ixgbe_common.h | 5 ++---
drivers/net/ixgbe/ixgbe_main.c | 24 ++----------------------
drivers/net/ixgbe/ixgbe_type.h | 3 +--
4 files changed, 12 insertions(+), 36 deletions(-)
diff --git a/drivers/net/ixgbe/ixgbe_common.c b/drivers/net/ixgbe/ixgbe_common.c
index eb49020..4d1c3a4 100644
--- a/drivers/net/ixgbe/ixgbe_common.c
+++ b/drivers/net/ixgbe/ixgbe_common.c
@@ -1484,26 +1484,24 @@ static void ixgbe_set_mta(struct ixgbe_hw *hw, u8 *mc_addr)
/**
* ixgbe_update_mc_addr_list_generic - Updates MAC list of multicast addresses
* @hw: pointer to hardware structure
- * @mc_addr_list: the list of new multicast addresses
- * @mc_addr_count: number of addresses
- * @next: iterator function to walk the multicast address list
+ * @netdev: pointer to net device structure
*
* The given list replaces any existing list. Clears the MC addrs from receive
* address registers and the multicast table. Uses unused receive address
* registers for the first multicast addresses, and hashes the rest into the
* multicast table.
**/
-s32 ixgbe_update_mc_addr_list_generic(struct ixgbe_hw *hw, u8 *mc_addr_list,
- u32 mc_addr_count, ixgbe_mc_addr_itr next)
+s32 ixgbe_update_mc_addr_list_generic(struct ixgbe_hw *hw,
+ struct net_device *netdev)
{
+ struct dev_addr_list *dmi;
u32 i;
- u32 vmdq;
/*
* Set the new number of MC addresses that we are being requested to
* use.
*/
- hw->addr_ctrl.num_mc_addrs = mc_addr_count;
+ hw->addr_ctrl.num_mc_addrs = netdev_mc_count(netdev);
hw->addr_ctrl.mta_in_use = 0;
/* Clear the MTA */
@@ -1512,9 +1510,9 @@ s32 ixgbe_update_mc_addr_list_generic(struct ixgbe_hw *hw, u8 *mc_addr_list,
IXGBE_WRITE_REG(hw, IXGBE_MTA(i), 0);
/* Add the new addresses */
- for (i = 0; i < mc_addr_count; i++) {
+ netdev_for_each_mc_addr(dmi, netdev) {
hw_dbg(hw, " Adding the multicast addresses:\n");
- ixgbe_set_mta(hw, next(hw, &mc_addr_list, &vmdq));
+ ixgbe_set_mta(hw, dmi->dmi_addr);
}
/* Enable mta */
diff --git a/drivers/net/ixgbe/ixgbe_common.h b/drivers/net/ixgbe/ixgbe_common.h
index 13606d4..264eef5 100644
--- a/drivers/net/ixgbe/ixgbe_common.h
+++ b/drivers/net/ixgbe/ixgbe_common.h
@@ -56,9 +56,8 @@ s32 ixgbe_set_rar_generic(struct ixgbe_hw *hw, u32 index, u8 *addr, u32 vmdq,
u32 enable_addr);
s32 ixgbe_clear_rar_generic(struct ixgbe_hw *hw, u32 index);
s32 ixgbe_init_rx_addrs_generic(struct ixgbe_hw *hw);
-s32 ixgbe_update_mc_addr_list_generic(struct ixgbe_hw *hw, u8 *mc_addr_list,
- u32 mc_addr_count,
- ixgbe_mc_addr_itr func);
+s32 ixgbe_update_mc_addr_list_generic(struct ixgbe_hw *hw,
+ struct net_device *netdev);
s32 ixgbe_update_uc_addr_list_generic(struct ixgbe_hw *hw,
struct net_device *netdev);
s32 ixgbe_enable_mc_generic(struct ixgbe_hw *hw);
diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c
index 3308790..5ef4f6a 100644
--- a/drivers/net/ixgbe/ixgbe_main.c
+++ b/drivers/net/ixgbe/ixgbe_main.c
@@ -2513,21 +2513,6 @@ static void ixgbe_restore_vlan(struct ixgbe_adapter *adapter)
}
}
-static u8 *ixgbe_addr_list_itr(struct ixgbe_hw *hw, u8 **mc_addr_ptr, u32 *vmdq)
-{
- struct dev_mc_list *mc_ptr;
- u8 *addr = *mc_addr_ptr;
- *vmdq = 0;
-
- mc_ptr = container_of(addr, struct dev_mc_list, dmi_addr[0]);
- if (mc_ptr->next)
- *mc_addr_ptr = mc_ptr->next->dmi_addr;
- else
- *mc_addr_ptr = NULL;
-
- return addr;
-}
-
/**
* ixgbe_set_rx_mode - Unicast, Multicast and Promiscuous mode set
* @netdev: network interface device structure
@@ -2542,8 +2527,6 @@ void ixgbe_set_rx_mode(struct net_device *netdev)
struct ixgbe_adapter *adapter = netdev_priv(netdev);
struct ixgbe_hw *hw = &adapter->hw;
u32 fctrl, vlnctrl;
- u8 *addr_list = NULL;
- int addr_count = 0;
/* Check for Promiscuous and All Multicast modes */
@@ -2572,11 +2555,8 @@ void ixgbe_set_rx_mode(struct net_device *netdev)
hw->mac.ops.update_uc_addr_list(hw, netdev);
/* reprogram multicast list */
- addr_count = netdev_mc_count(netdev);
- if (addr_count)
- addr_list = netdev->mc_list->dmi_addr;
- hw->mac.ops.update_mc_addr_list(hw, addr_list, addr_count,
- ixgbe_addr_list_itr);
+ hw->mac.ops.update_mc_addr_list(hw, netdev);
+
if (adapter->num_vfs)
ixgbe_restore_vf_multicasts(adapter);
}
diff --git a/drivers/net/ixgbe/ixgbe_type.h b/drivers/net/ixgbe/ixgbe_type.h
index 2be9074..c67b98e 100644
--- a/drivers/net/ixgbe/ixgbe_type.h
+++ b/drivers/net/ixgbe/ixgbe_type.h
@@ -2415,8 +2415,7 @@ struct ixgbe_mac_operations {
s32 (*clear_vmdq)(struct ixgbe_hw *, u32, u32);
s32 (*init_rx_addrs)(struct ixgbe_hw *);
s32 (*update_uc_addr_list)(struct ixgbe_hw *, struct net_device *);
- s32 (*update_mc_addr_list)(struct ixgbe_hw *, u8 *, u32,
- ixgbe_mc_addr_itr);
+ s32 (*update_mc_addr_list)(struct ixgbe_hw *, struct net_device *);
s32 (*enable_mc)(struct ixgbe_hw *);
s32 (*disable_mc)(struct ixgbe_hw *);
s32 (*clear_vfta)(struct ixgbe_hw *);
--
1.6.6
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [net-next-2.6 PATCH] ixgbe: convert to use netdev_for_each_mc_addr
2010-02-23 19:05 [net-next-2.6 PATCH] ixgbe: convert to use netdev_for_each_mc_addr Jiri Pirko
@ 2010-02-24 9:30 ` Jeff Kirsher
2010-03-11 10:08 ` Jiri Pirko
0 siblings, 1 reply; 4+ messages in thread
From: Jeff Kirsher @ 2010-02-24 9:30 UTC (permalink / raw)
To: Jiri Pirko; +Cc: netdev, davem
On Tue, Feb 23, 2010 at 11:05, Jiri Pirko <jpirko@redhat.com> wrote:
>
> Signed-off-by: Jiri Pirko <jpirko@redhat.com>
> ---
> drivers/net/ixgbe/ixgbe_common.c | 16 +++++++---------
> drivers/net/ixgbe/ixgbe_common.h | 5 ++---
> drivers/net/ixgbe/ixgbe_main.c | 24 ++----------------------
> drivers/net/ixgbe/ixgbe_type.h | 3 +--
> 4 files changed, 12 insertions(+), 36 deletions(-)
>
Thanks Jiri, I have added the patch to my queue of ixgbe patches.
--
Cheers,
Jeff
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [net-next-2.6 PATCH] ixgbe: convert to use netdev_for_each_mc_addr
2010-02-24 9:30 ` Jeff Kirsher
@ 2010-03-11 10:08 ` Jiri Pirko
2010-03-11 18:18 ` Jeff Kirsher
0 siblings, 1 reply; 4+ messages in thread
From: Jiri Pirko @ 2010-03-11 10:08 UTC (permalink / raw)
To: Jeff Kirsher; +Cc: netdev, davem
Wed, Feb 24, 2010 at 10:30:54AM CET, jeffrey.t.kirsher@intel.com wrote:
>On Tue, Feb 23, 2010 at 11:05, Jiri Pirko <jpirko@redhat.com> wrote:
>>
>> Signed-off-by: Jiri Pirko <jpirko@redhat.com>
>> ---
>> drivers/net/ixgbe/ixgbe_common.c | 16 +++++++---------
>> drivers/net/ixgbe/ixgbe_common.h | 5 ++---
>> drivers/net/ixgbe/ixgbe_main.c | 24 ++----------------------
>> drivers/net/ixgbe/ixgbe_type.h | 3 +--
>> 4 files changed, 12 insertions(+), 36 deletions(-)
>>
>
>Thanks Jiri, I have added the patch to my queue of ixgbe patches.
Hi Jeff,
when do you think this and ixgbevf bits will be merged into net-next-2.6?
Thanks a lot.
Jirka
>
>--
>Cheers,
>Jeff
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [net-next-2.6 PATCH] ixgbe: convert to use netdev_for_each_mc_addr
2010-03-11 10:08 ` Jiri Pirko
@ 2010-03-11 18:18 ` Jeff Kirsher
0 siblings, 0 replies; 4+ messages in thread
From: Jeff Kirsher @ 2010-03-11 18:18 UTC (permalink / raw)
To: Jiri Pirko; +Cc: netdev@vger.kernel.org, davem@davemloft.net
On Thu, 2010-03-11 at 03:08 -0700, Jiri Pirko wrote:
> Wed, Feb 24, 2010 at 10:30:54AM CET, jeffrey.t.kirsher@intel.com wrote:
> >On Tue, Feb 23, 2010 at 11:05, Jiri Pirko <jpirko@redhat.com> wrote:
> >>
> >> Signed-off-by: Jiri Pirko <jpirko@redhat.com>
> >> ---
> >> drivers/net/ixgbe/ixgbe_common.c | 16 +++++++---------
> >> drivers/net/ixgbe/ixgbe_common.h | 5 ++---
> >> drivers/net/ixgbe/ixgbe_main.c | 24 ++----------------------
> >> drivers/net/ixgbe/ixgbe_type.h | 3 +--
> >> 4 files changed, 12 insertions(+), 36 deletions(-)
> >>
> >
> >Thanks Jiri, I have added the patch to my queue of ixgbe patches.
>
> Hi Jeff,
>
> when do you think this and ixgbevf bits will be merged into net-next-2.6?
>
> Thanks a lot.
>
> Jirka
I am waiting for when Dave opens up net-next-2.6 to push this and a
couple other patches. Usually net-next-2.6 opens up around -rc2 time
frame.
--
Cheers,
Jeff
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2010-03-11 18:19 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-02-23 19:05 [net-next-2.6 PATCH] ixgbe: convert to use netdev_for_each_mc_addr Jiri Pirko
2010-02-24 9:30 ` Jeff Kirsher
2010-03-11 10:08 ` Jiri Pirko
2010-03-11 18:18 ` Jeff Kirsher
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).