From: Gabor Juhos <juhosg@openwrt.org>
To: Sujith <Sujith.Manoharan@atheros.com>
Cc: "John W. Linville" <linville@tuxdriver.com>,
"ath9k-devel@lists.ath9k.org" <ath9k-devel@lists.ath9k.org>,
"linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>,
Imre Kaloz <kaloz@openwrt.org>
Subject: Re: [RFC] ath9k: use correct init values for ar9100 devices
Date: Wed, 04 Mar 2009 14:41:47 +0100 [thread overview]
Message-ID: <49AE851B.2070709@openwrt.org> (raw)
In-Reply-To: <18862.1025.217829.656599@gargle.gargle.HOWL>
Sujith =EDrta:
> Gabor Juhos wrote:
>> 1. In some cases the ethernet interface goes down for a short time
>> after'ifconfig wlan0 up'.
>> 2. Sometimes the device simply reboots itself after 'ifconfig wlan0 =
up'.
>>
>> After I have added some printk statements into the code, I noticed t=
hat the
>> ar5416 and ar9100 devices use the same initval arrays currently. I a=
ssume
>> that they requires different initialization, because we have differe=
nt
>> arrays for them.
>>
>=20
> Yep, this is a bug, and AR_SREV_9100_OR_LATER is probably wrong.
Ok.
>=20
>> Although I have no detailed knowledge about the evolution of the ath=
9k devices,
>> but the version checking macros for ther AR5416 cards seemed weird e=
nough, so I
>> have replaced them. Unfortunately, this leaded to very bad performan=
ce with the
>> ar5416 cards I have, but the driver was working on the ar913x boards=
=2E
>>
>> After some digging, I have found an interesting ifdef statement in S=
am's current
>> HAL. In his ar5416Common initval array, this ifdef conditionally sel=
ects the
>> right RTC register offsets for the ar5416/ar9100 devices. The strang=
e thing,
>> that in the ath9k driver the ar5416 specific RTC register offsets ar=
e used in
>> the ar5416Common_ar9100 array, while the ar9100 specific offsets are=
used in the
>> ar5416Common.
>>
>=20
> I'll check the initval arrays and update.
>=20
>> +#define AR_SREV_5416(_ah) \
>> + (((_ah)->hw_version.macVersion =3D=3D AR_SREV_VERSION_5416_P=
CIE) || \
>> + ((_ah)->hw_version.macVersion =3D=3D AR_SREV_VERSION_5416_PC=
I))
>> +#define AR_SREV_5416_V20_OR_LATER(_ah) \
>> + (((_ah)->hw_version.macVersion > AR_SREV_VERSION_5416_PCIE) =
|| \
>> + ((AR_SREV_5416(_ah)) && \
>> + ((_ah)->hw_version.macRev >=3D AR_SREV_REVISION_5416_20)))
>> +#define AR_SREV_5416_V22_OR_LATER(_ah) \
>> + (((_ah)->hw_version.macVersion > AR_SREV_VERSION_5416_PCIE) =
|| \
>> + ((AR_SREV_5416(_ah)) && \
>> + ((_ah)->hw_version.macRev >=3D AR_SREV_REVISION_5416_22)))
>> +
>=20
> Hm, the 5416_V1, 5416_V2 macros have to check 3 different HW (5416, 9=
100, 9160).
I don't see any 5416_V1 macro here. The AR_SREV_5416 should check the s=
ilicon
revision of the AR5416 cards only. But if we would be consistent, we sh=
ould have
a _V10_OR_LATER although i don't see where it would be useful. The _V20=
_OR_LATER
and the _V22_OR_LATER macro I proposed above will cover the 9100 and 91=
60 chips.
>=20
>> +#define AR_SREV_9100(ah) \
>> + ((ah->hw_version.macVersion) =3D=3D AR_SREV_VERSION_9100)
>> #define AR_SREV_9100_OR_LATER(_ah) \
>> - (((_ah)->hw_version.macVersion >=3D AR_SREV_VERSION_5416_PCI=
E))
>> -#define AR_SREV_5416_20_OR_LATER(_ah) \
>> - (((_ah)->hw_version.macVersion >=3D AR_SREV_VERSION_9160) ||=
\
>> - ((_ah)->hw_version.macRev >=3D AR_SREV_REVISION_5416=
_20))
>> -#define AR_SREV_5416_22_OR_LATER(_ah) \
>> - (((_ah)->hw_version.macVersion >=3D AR_SREV_VERSION_9160) ||=
\
>> - ((_ah)->hw_version.macRev >=3D AR_SREV_REVISION_5416=
_22))
>> + ((_ah)->hw_version.macVersion >=3D AR_SREV_VERSION_9100)
>> +
>> #define AR_SREV_9160(_ah) \
>> (((_ah)->hw_version.macVersion =3D=3D AR_SREV_VERSION_9160))
>> #define AR_SREV_9160_10_OR_LATER(_ah) \
>> --
>> 1.5.3.2
>>
Regards,
Gabor
--
To unsubscribe from this list: send the line "unsubscribe linux-wireles=
s" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2009-03-04 13:41 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-03-03 18:10 [RFC] ath9k: use correct init values for ar9100 devices Gabor Juhos
2009-03-04 4:30 ` Sujith
2009-03-04 5:35 ` Sujith
[not found] ` <49AE8466.3040906@openwrt.org>
2009-03-04 14:21 ` [ath9k-devel] " Sujith
2009-03-04 16:20 ` Gabor Juhos
2009-03-05 1:49 ` Sujith
2009-03-05 10:43 ` Gabor Juhos
2009-03-05 15:00 ` Sujith
2009-03-04 13:41 ` Gabor Juhos [this message]
2009-03-04 14:29 ` Sujith
2009-03-04 14:57 ` Gabor Juhos
2009-03-05 1:51 ` Sujith
2009-03-05 2:15 ` Luis R. Rodriguez
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=49AE851B.2070709@openwrt.org \
--to=juhosg@openwrt.org \
--cc=Sujith.Manoharan@atheros.com \
--cc=ath9k-devel@lists.ath9k.org \
--cc=kaloz@openwrt.org \
--cc=linux-wireless@vger.kernel.org \
--cc=linville@tuxdriver.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).