2013-10-23 09:20:26

by Sujith Manoharan

[permalink] [raw]
Subject: [PATCH] ath9k: Identify Killer Wireless cards

From: Sujith Manoharan <[email protected]>

Signed-off-by: Sujith Manoharan <[email protected]>
---
drivers/net/wireless/ath/ath9k/ath9k.h | 1 +
drivers/net/wireless/ath/ath9k/init.c | 3 +++
drivers/net/wireless/ath/ath9k/pci.c | 20 ++++++++++++++++++++
3 files changed, 24 insertions(+)

diff --git a/drivers/net/wireless/ath/ath9k/ath9k.h b/drivers/net/wireless/ath/ath9k/ath9k.h
index 4c3bbe4..f48cfe8 100644
--- a/drivers/net/wireless/ath/ath9k/ath9k.h
+++ b/drivers/net/wireless/ath/ath9k/ath9k.h
@@ -641,6 +641,7 @@ void ath_ant_comb_scan(struct ath_softc *sc, struct ath_rx_status *rs);
#define ATH9K_PCI_D3_L1_WAR 0x0040
#define ATH9K_PCI_AR9565_1ANT 0x0080
#define ATH9K_PCI_AR9565_2ANT 0x0100
+#define ATH9K_PCI_KILLER 0x0200

/*
* Default cache line size, in bytes.
diff --git a/drivers/net/wireless/ath/ath9k/init.c b/drivers/net/wireless/ath/ath9k/init.c
index e89db64..17502b4 100644
--- a/drivers/net/wireless/ath/ath9k/init.c
+++ b/drivers/net/wireless/ath/ath9k/init.c
@@ -589,6 +589,9 @@ static void ath9k_init_platform(struct ath_softc *sc)
if (sc->driver_data & ATH9K_PCI_AR9565_2ANT)
ath_info(common, "WB335 2-ANT card detected\n");

+ if (sc->driver_data & ATH9K_PCI_KILLER)
+ ath_info(common, "Killer Wireless card detected\n");
+
/*
* Some WB335 cards do not support antenna diversity. Since
* we use a hardcoded value for AR9565 instead of using the
diff --git a/drivers/net/wireless/ath/ath9k/pci.c b/drivers/net/wireless/ath/ath9k/pci.c
index 04e6507..4a7a456 100644
--- a/drivers/net/wireless/ath/ath9k/pci.c
+++ b/drivers/net/wireless/ath/ath9k/pci.c
@@ -87,6 +87,19 @@ static DEFINE_PCI_DEVICE_TABLE(ath_pci_id_table) = {
{ PCI_VDEVICE(ATHEROS, 0x002C) }, /* PCI-E 802.11n bonded out */
{ PCI_VDEVICE(ATHEROS, 0x002D) }, /* PCI */
{ PCI_VDEVICE(ATHEROS, 0x002E) }, /* PCI-E */
+
+ /* Killer Wireless (3x3) */
+ { PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
+ 0x0030,
+ 0x1A56,
+ 0x2000),
+ .driver_data = ATH9K_PCI_KILLER },
+ { PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
+ 0x0030,
+ 0x1A56,
+ 0x2001),
+ .driver_data = ATH9K_PCI_KILLER },
+
{ PCI_VDEVICE(ATHEROS, 0x0030) }, /* PCI-E AR9300 */

/* PCI-E CUS198 */
@@ -267,6 +280,13 @@ static DEFINE_PCI_DEVICE_TABLE(ath_pci_id_table) = {
0x1783),
.driver_data = ATH9K_PCI_WOW },

+ /* Killer Wireless (2x2) */
+ { PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
+ 0x0030,
+ 0x1A56,
+ 0x2003),
+ .driver_data = ATH9K_PCI_KILLER },
+
{ PCI_VDEVICE(ATHEROS, 0x0034) }, /* PCI-E AR9462 */
{ PCI_VDEVICE(ATHEROS, 0x0037) }, /* PCI-E AR1111/AR9485 */

--
1.8.4.1



2013-10-23 14:18:25

by Cedric VONCKEN

[permalink] [raw]
Subject: RE: [PATCH] ath9k: Identify Killer Wireless cards

What is a PCI killer ?

Cedric Voncken


> -----Message d'origine-----
> De?: [email protected] [mailto:linux-wireless-
> [email protected]] De la part de Sujith Manoharan
> Envoy??: mercredi 23 octobre 2013 11:16
> ??: John Linville
> Cc?: [email protected]
> Objet?: [PATCH] ath9k: Identify Killer Wireless cards
>
> From: Sujith Manoharan <[email protected]>
>
> Signed-off-by: Sujith Manoharan <[email protected]>
> ---
> drivers/net/wireless/ath/ath9k/ath9k.h | 1 +
> drivers/net/wireless/ath/ath9k/init.c | 3 +++
> drivers/net/wireless/ath/ath9k/pci.c | 20 ++++++++++++++++++++
> 3 files changed, 24 insertions(+)
>
> diff --git a/drivers/net/wireless/ath/ath9k/ath9k.h
> b/drivers/net/wireless/ath/ath9k/ath9k.h
> index 4c3bbe4..f48cfe8 100644
> --- a/drivers/net/wireless/ath/ath9k/ath9k.h
> +++ b/drivers/net/wireless/ath/ath9k/ath9k.h
> @@ -641,6 +641,7 @@ void ath_ant_comb_scan(struct ath_softc *sc, struct
> ath_rx_status *rs);
> #define ATH9K_PCI_D3_L1_WAR 0x0040
> #define ATH9K_PCI_AR9565_1ANT 0x0080
> #define ATH9K_PCI_AR9565_2ANT 0x0100
> +#define ATH9K_PCI_KILLER 0x0200
>
> /*
> * Default cache line size, in bytes.
> diff --git a/drivers/net/wireless/ath/ath9k/init.c
> b/drivers/net/wireless/ath/ath9k/init.c
> index e89db64..17502b4 100644
> --- a/drivers/net/wireless/ath/ath9k/init.c
> +++ b/drivers/net/wireless/ath/ath9k/init.c
> @@ -589,6 +589,9 @@ static void ath9k_init_platform(struct ath_softc *sc)
> if (sc->driver_data & ATH9K_PCI_AR9565_2ANT)
> ath_info(common, "WB335 2-ANT card detected\n");
>
> + if (sc->driver_data & ATH9K_PCI_KILLER)
> + ath_info(common, "Killer Wireless card detected\n");
> +
> /*
> * Some WB335 cards do not support antenna diversity. Since
> * we use a hardcoded value for AR9565 instead of using the diff
--git
> a/drivers/net/wireless/ath/ath9k/pci.c
> b/drivers/net/wireless/ath/ath9k/pci.c
> index 04e6507..4a7a456 100644
> --- a/drivers/net/wireless/ath/ath9k/pci.c
> +++ b/drivers/net/wireless/ath/ath9k/pci.c
> @@ -87,6 +87,19 @@ static DEFINE_PCI_DEVICE_TABLE(ath_pci_id_table) =
> {
> { PCI_VDEVICE(ATHEROS, 0x002C) }, /* PCI-E 802.11n bonded out */
> { PCI_VDEVICE(ATHEROS, 0x002D) }, /* PCI */
> { PCI_VDEVICE(ATHEROS, 0x002E) }, /* PCI-E */
> +
> + /* Killer Wireless (3x3) */
> + { PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
> + 0x0030,
> + 0x1A56,
> + 0x2000),
> + .driver_data = ATH9K_PCI_KILLER },
> + { PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
> + 0x0030,
> + 0x1A56,
> + 0x2001),
> + .driver_data = ATH9K_PCI_KILLER },
> +
> { PCI_VDEVICE(ATHEROS, 0x0030) }, /* PCI-E AR9300 */
>
> /* PCI-E CUS198 */
> @@ -267,6 +280,13 @@ static
> DEFINE_PCI_DEVICE_TABLE(ath_pci_id_table) = {
> 0x1783),
> .driver_data = ATH9K_PCI_WOW },
>
> + /* Killer Wireless (2x2) */
> + { PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS,
> + 0x0030,
> + 0x1A56,
> + 0x2003),
> + .driver_data = ATH9K_PCI_KILLER },
> +
> { PCI_VDEVICE(ATHEROS, 0x0034) }, /* PCI-E AR9462 */
> { PCI_VDEVICE(ATHEROS, 0x0037) }, /* PCI-E AR1111/AR9485 */
>
> --
> 1.8.4.1
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-wireless"
in the
> body of a message to [email protected] More majordomo info at
> http://vger.kernel.org/majordomo-info.html


2013-10-23 16:46:40

by Karl Beldan

[permalink] [raw]
Subject: Re: [PATCH] ath9k: Identify Killer Wireless cards

On Wed, Oct 23, 2013 at 08:27:24PM +0530, Sujith Manoharan wrote:
> voncken wrote:
> > What is a PCI killer ?
>
> http://www.killergaming.com/solutions/Wireless
> http://www.qca.qualcomm.com/networking/feature.php?feature=32
>
Jokes apart, the links do not give much technical information ..

Karl

2013-10-24 03:34:31

by Sujith Manoharan

[permalink] [raw]
Subject: Re: [PATCH] ath9k: Identify Killer Wireless cards

Karl Beldan wrote:
> > http://www.killergaming.com/solutions/Wireless
> > http://www.qca.qualcomm.com/networking/feature.php?feature=32
> >
> Jokes apart, the links do not give much technical information ..

These cards are meant for low-latency situations, primarily gaming.
I am still trying to find out if there are any HW quirks to be handled
in the driver, but they seem to just work with ath9k.

The 3x3 card is based on AR9380 and the 2x2 card is based on AR9462.

Sujith

2013-10-23 15:54:50

by Ben Greear

[permalink] [raw]
Subject: Re: [PATCH] ath9k: Identify Killer Wireless cards

On 10/23/2013 07:57 AM, Sujith Manoharan wrote:
> voncken wrote:
>> What is a PCI killer ?
>
> http://www.killergaming.com/solutions/Wireless
> http://www.qca.qualcomm.com/networking/feature.php?feature=32

Bummer. I thought you had finally found a way to blacklist the
NICs that cause all of the strange ath9k bugs :)

Ben

--
Ben Greear <[email protected]>
Candela Technologies Inc http://www.candelatech.com


2013-10-23 16:09:15

by Larry Finger

[permalink] [raw]
Subject: Re: [PATCH] ath9k: Identify Killer Wireless cards

On 10/23/2013 10:54 AM, Ben Greear wrote:
> On 10/23/2013 07:57 AM, Sujith Manoharan wrote:
>> voncken wrote:
>>> What is a PCI killer ?
>>
>> http://www.killergaming.com/solutions/Wireless
>> http://www.qca.qualcomm.com/networking/feature.php?feature=32
>
> Bummer. I thought you had finally found a way to blacklist the
> NICs that cause all of the strange ath9k bugs :)

A good PCI and USB killer would reduce the debug load here as well! :) Thanks
for a good laugh.

Larry