All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] ath6kl: Add wow multicast firmware capability support
@ 2012-05-11 21:19 Naveen Gangadharan
  2012-05-14  6:50 ` Kalle Valo
  0 siblings, 1 reply; 3+ messages in thread
From: Naveen Gangadharan @ 2012-05-11 21:19 UTC (permalink / raw)
  To: kvalo; +Cc: linux-wireless, ath6kl-devel

Infrastructure to enable Multicast WOW support based on
firmware capability added to the driver.This enables
different customers or chips to control this feature based
on firmware capability.

kvalo: Firmware capability infrastructure for multicast wow feature.

Signed-off-by: Naveen Gangadharan <ngangadh@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
---
 drivers/net/wireless/ath/ath6kl/cfg80211.c |    8 ++++++--
 drivers/net/wireless/ath/ath6kl/core.h     |    7 +++++++
 drivers/net/wireless/ath/ath6kl/main.c     |    5 ++++-
 3 files changed, 17 insertions(+), 3 deletions(-)

diff --git a/drivers/net/wireless/ath/ath6kl/cfg80211.c b/drivers/net/wireless/ath/ath6kl/cfg80211.c
index b869a35..937bb15 100644
--- a/drivers/net/wireless/ath/ath6kl/cfg80211.c
+++ b/drivers/net/wireless/ath/ath6kl/cfg80211.c
@@ -2074,7 +2074,9 @@ static int ath6kl_wow_suspend(struct ath6kl *ar, struct cfg80211_wowlan *wow)
 	if (wow && (wow->n_patterns > WOW_MAX_FILTERS_PER_LIST))
 		return -EINVAL;
 
-	if (!test_bit(NETDEV_MCAST_ALL_ON, &vif->flags)) {
+	if (!test_bit(NETDEV_MCAST_ALL_ON, &vif->flags) &&
+		test_bit(ATH6KL_FW_CAPABILITY_WOW_MULTICAST_FILTER,
+					      ar->fw_capabilities)) {
 		ret = ath6kl_wmi_mcast_filter_cmd(vif->ar->wmi,
 						vif->fw_vif_idx, false);
 		if (ret)
@@ -2209,7 +2211,9 @@ static int ath6kl_wow_resume(struct ath6kl *ar)
 
 	ar->state = ATH6KL_STATE_ON;
 
-	if (!test_bit(NETDEV_MCAST_ALL_OFF, &vif->flags)) {
+	if (!test_bit(NETDEV_MCAST_ALL_OFF, &vif->flags) &&
+		test_bit(ATH6KL_FW_CAPABILITY_WOW_MULTICAST_FILTER,
+					ar->fw_capabilities)) {
 		ret = ath6kl_wmi_mcast_filter_cmd(vif->ar->wmi,
 					vif->fw_vif_idx, true);
 		if (ret)
diff --git a/drivers/net/wireless/ath/ath6kl/core.h b/drivers/net/wireless/ath/ath6kl/core.h
index 4d9c6f1..79c7055 100644
--- a/drivers/net/wireless/ath/ath6kl/core.h
+++ b/drivers/net/wireless/ath/ath6kl/core.h
@@ -100,6 +100,13 @@ enum ath6kl_fw_capability {
 	/* Firmware has support to override rsn cap of rsn ie */
 	ATH6KL_FW_CAPABILITY_RSN_CAP_OVERRIDE,
 
+	/*
+	 * Multicast support in WOW and host awake mode.
+	 * Allow all multicast in host awake mode.
+	 * Apply multicast filter in WOW mode.
+	 */
+	ATH6KL_FW_CAPABILITY_WOW_MULTICAST_FILTER,
+
 	/* this needs to be last */
 	ATH6KL_FW_CAPABILITY_MAX,
 };
diff --git a/drivers/net/wireless/ath/ath6kl/main.c b/drivers/net/wireless/ath/ath6kl/main.c
index e552447..64d0f04 100644
--- a/drivers/net/wireless/ath/ath6kl/main.c
+++ b/drivers/net/wireless/ath/ath6kl/main.c
@@ -1167,7 +1167,10 @@ static void ath6kl_set_multicast_list(struct net_device *ndev)
 	else
 		clear_bit(NETDEV_MCAST_ALL_ON, &vif->flags);
 
-	mc_all_on = mc_all_on || (vif->ar->state == ATH6KL_STATE_ON);
+	if (test_bit(ATH6KL_FW_CAPABILITY_WOW_MULTICAST_FILTER,
+					vif->ar->fw_capabilities)) {
+		mc_all_on = mc_all_on || (vif->ar->state == ATH6KL_STATE_ON);
+	}
 
 	if (!(ndev->flags & IFF_MULTICAST)) {
 		mc_all_on = false;
-- 
1.7.0.4


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] ath6kl: Add wow multicast firmware capability support
  2012-05-11 21:19 [PATCH] ath6kl: Add wow multicast firmware capability support Naveen Gangadharan
@ 2012-05-14  6:50 ` Kalle Valo
  2012-05-16 23:46   ` Mehta, Vipin
  0 siblings, 1 reply; 3+ messages in thread
From: Kalle Valo @ 2012-05-14  6:50 UTC (permalink / raw)
  To: Naveen Gangadharan; +Cc: linux-wireless, ath6kl-devel

On 05/12/2012 12:19 AM, Naveen Gangadharan wrote:
> Infrastructure to enable Multicast WOW support based on
> firmware capability added to the driver.This enables
> different customers or chips to control this feature based
> on firmware capability.
> 
> kvalo: Firmware capability infrastructure for multicast wow feature.
> 
> Signed-off-by: Naveen Gangadharan <ngangadh@qca.qualcomm.com>
> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>

Thanks, applied with some indentation fixes.

Kalle

^ permalink raw reply	[flat|nested] 3+ messages in thread

* RE: [PATCH] ath6kl: Add wow multicast firmware capability support
  2012-05-14  6:50 ` Kalle Valo
@ 2012-05-16 23:46   ` Mehta, Vipin
  0 siblings, 0 replies; 3+ messages in thread
From: Mehta, Vipin @ 2012-05-16 23:46 UTC (permalink / raw)
  To: Valo, Kalle, Gangadharan, Naveen
  Cc: linux-wireless@vger.kernel.org, ath6kl-devel

Naveen,
    Do we need to have this patch applied for 8x25-CS?

Vipin

-----Original Message-----
From: Valo, Kalle 
Sent: Sunday, May 13, 2012 11:51 PM
To: Gangadharan, Naveen
Cc: linux-wireless@vger.kernel.org; ath6kl-devel
Subject: Re: [PATCH] ath6kl: Add wow multicast firmware capability support

On 05/12/2012 12:19 AM, Naveen Gangadharan wrote:
> Infrastructure to enable Multicast WOW support based on firmware 
> capability added to the driver.This enables different customers or 
> chips to control this feature based on firmware capability.
> 
> kvalo: Firmware capability infrastructure for multicast wow feature.
> 
> Signed-off-by: Naveen Gangadharan <ngangadh@qca.qualcomm.com>
> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>

Thanks, applied with some indentation fixes.

Kalle

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2012-05-16 23:46 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-05-11 21:19 [PATCH] ath6kl: Add wow multicast firmware capability support Naveen Gangadharan
2012-05-14  6:50 ` Kalle Valo
2012-05-16 23:46   ` Mehta, Vipin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.