Skip to contentSkip to conversation

ath5k: Fix SREV reporting after SREV updates

PATCH In review Nick Kossifidis 4 participants 5 messages Sep 28, 2008 – Oct 5, 2008 Networking drivers (wireless)

lore
Share & tools
lore
#0 lore raw

PATCH 4/5 ath5k: Fix SREV reporting after SREV updates

* Fix srev reporting during attach

Changes-Licensed-under: ISC

---
 drivers/net/wireless/ath5k/base.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)
drivers/net/wireless/ath5k/base.c +5 -1
index c8bb9bf..905076a 100644
@@ -396,7 +396,11 @@ ath5k_chip_name(enum ath5k_srev_type type, u_int16_t val)
 	for (i = 0; i < ARRAY_SIZE(srev_names); i++) {
 		if (srev_names[i].sr_type != type)
 			continue;
-		if ((val & 0xff) < srev_names[i + 1].sr_val) {
+
+		if ((val & 0xf0) == srev_names[i].sr_val)
+			name = srev_names[i].sr_name;
+
+		if ((val & 0xff) == srev_names[i].sr_val) {
 			name = srev_names[i].sr_name;
 			break;
 		}
#1 lore raw
Quoted 4 lines · Nick Kossifidis

* Fix srev reporting during attach

Changes-Licensed-under: ISC

This now identifies my card as 5414, whereas ath5k used to call it 5424 (mac srev 0xa3, phy 0x61).

But, madwifi has:
#define AR5K_SREV_VER_AR5424 0xa3 /* PCI-E */

It still works so not a major problem, but who's right?

Quoted 14 lines
drivers/net/wireless/ath5k/base.c +5 -1
@@ -396,7 +396,11 @@ ath5k_chip_name(enum ath5k_srev_type type, u_int16_t val)
 	for (i = 0; i < ARRAY_SIZE(srev_names); i++) {
 		if (srev_names[i].sr_type != type)
 			continue;
-		if ((val & 0xff) < srev_names[i + 1].sr_val) {
+
+		if ((val & 0xf0) == srev_names[i].sr_val)
+			name = srev_names[i].sr_name;
+
+		if ((val & 0xff) == srev_names[i].sr_val) {
 			name = srev_names[i].sr_name;
 			break;
 		}
Signature · 1 line
Bob Copeland %% www.bobcopeland.com
#2 lore raw
Quoted 6 lines · Bob Copeland
Quoted 4 lines · Nick Kossifidis

* Fix srev reporting during attach

Changes-Licensed-under: ISC

Quoted 7 lines

This now identifies my card as 5414, whereas ath5k used to call it 5424 (mac srev 0xa3, phy 0x61).

But, madwifi has:
#define AR5K_SREV_VER_AR5424 0xa3 /* PCI-E */

It still works so not a major problem, but who's right?

Since legacy-hal.tar.bz2 comes directly from our latest codebase I expect that to have the latest correct information. If there are doubts that is another thing and we can look into it.

Luis

#3 lore raw
In reply to Bob Copeland

2008/10/5 Bob Copeland <[email protected]>:

Quoted 14 lines · Nick Kossifidis
Quoted 4 lines

* Fix srev reporting during attach

Changes-Licensed-under: ISC

This now identifies my card as 5414, whereas ath5k used to call it 5424 (mac srev 0xa3, phy 0x61).

But, madwifi has:
#define AR5K_SREV_VER_AR5424 0xa3 /* PCI-E */

It still works so not a major problem, but who's right?

Quoted 15 lines
Quoted 4 lines
drivers/net/wireless/ath5k/base.c +0 -0
@@ -396,7 +396,11 @@ ath5k_chip_name(enum ath5k_srev_type type, u_int16_t val)
      for (i = 0; i < ARRAY_SIZE(srev_names); i++) {
              if (srev_names[i].sr_type != type)

drivers/net/wireless/ath5k/base.c ath5k_chip_name(enum ath5k_srev_type type, u_int16_t val) · line 406

Quoted 10 lines
drivers/net/wireless/ath5k/base.c +5 -1
                      continue;
-             if ((val & 0xff) < srev_names[i + 1].sr_val) {
+
+             if ((val & 0xf0) == srev_names[i].sr_val)
+                     name = srev_names[i].sr_name;
+
+             if ((val & 0xff) == srev_names[i].sr_val) {
                      name = srev_names[i].sr_name;
                      break;
              }

Well acording to legacy-hal (ar5212reg.h):

5424 (condor) version = 9
5414 (eagle) version = 10
Yours is 0xa0 -> 5414

5424 radio version = 0xa0
5414 radio version = 0x60
yours is 0x61 -> 5414

It's also weird to me, since 5414 is pci/mini-pci and 5424 is pci-e and even if OEMs just made 5414s with pci-e support (eg. with a pci2pci-e bridge) and branded them as 5424s or something like that, then your chip shouldn't have problem when reseting pci core so i guess there is a 5414 version that has pci-e HIU. They both belong to AR5006 series btw so they have the known pci-id mess.

I got the srev values used before legacy-hal by doing a search on logs on madwifi's trac so they seem to match user reports but i guess legacy-hal is more accurate. For the driver 5424 is 5414 with some pci-e extras (power saving etc).

Luis Is there a pci-e version of 5414 ? Is 5424 the pci-e version of 5414 or it's another chip ?

Signature · 3 lines
GPG ID: 0xD21DB2DB
As you read this post global entropy rises. Have Fun ;-)
Nick
#4 lore raw

On Sat, Oct 4, 2008 at 6:25 PM, Nick Kossifidis <[email protected]>

Quoted 2 lines

Luis Is there a pci-e version of 5414 ? Is 5424 the pci-e version of 5414 or it's another chip ?

I am not sure, I'll have to check or ask.

Luis