Re: [ath5k-devel] ath5k tx completion

2013-11-07 Thread Adrian Chadd
On 7 November 2013 06:20, Bob Copeland m...@bobcopeland.com wrote:
 On Wed, Nov 06, 2013 at 09:17:46AM -0800, Adrian Chadd wrote:
 The TL;DR version - you need to keep the the final descriptor around
 for each hardware queue. The legacy madwifi/freebsd way of doing it
 was to keep the last descriptor that was handled. This wasn't enough.
 It needs to be per TX queue. You also must never program TxDP after
 you've programmed it once - you can only program it again after you've
 completely torn down TX DMA for the particular queue.

 This is a goldmine -- thank you for taking the time to write it up!
 I believe we can clean up ath5k's transmit loop a lot now...

You're very welcome. I spent quite a lot of time waist deep in this
crap. It turns out I had to go to the hardware guys and wade through
the verilog to figure out what the hell was actually going on.

 * read-and-clear bugs
 * PHY register read problems, and why ANI may occasionally look whacked

 One thing at a time for me... but do we even want to know? :)

If you want to avoid crazy crashes and hangs, yes? :)

Also, ask me about key cache corruption too.



-adrian
___
ath5k-devel mailing list
ath5k-devel@lists.ath5k.org
https://lists.ath5k.org/mailman/listinfo/ath5k-devel


Re: [ath5k-devel] [PATCH] wcn36xx: Fix logging macro with unnecessary semicolon

2013-11-07 Thread Joe Perches
On Thu, 2013-11-07 at 07:32 +, Eugene Krasnikov wrote:
 Hi Joe,

Hi Eugene.

 I personally like the idea of making some kind of framework on top of
 printing because all ath drivers are using the same printing approach
 and combining all that code in one place will reduce amount of code in
 each particular driver. As a true engineer i like when it's less code
 = less work to do = less bugs:)
 
 Suggestion is to send a patch with semicolon fix only

It's a one line fix, and pretty trivial to do yourself if you
want it.

I do think though the slightly odd wcn36xx_level uses of:

-#define wcn36xx_err(fmt, arg...)   \
-   printk(KERN_ERR pr_fmt(ERROR  fmt), ##arg);
-
-#define wcn36xx_warn(fmt, arg...)  \
-   printk(KERN_WARNING pr_fmt(WARNING  fmt), ##arg)
-
-#define wcn36xx_info(fmt, arg...)  \
-   printk(KERN_INFO pr_fmt(fmt), ##arg)
-
[]
+#define wcn36xx_err(fmt, ...)  \
+   pr_err(ERROR  fmt, ##__VA_ARGS__)
+#define wcn36xx_warn(fmt, ...) \
+   pr_warn(WARNING  fmt, ##__VA_ARGS__)
+#define wcn36xx_info(fmt, ...) \
+   pr_info(fmt, ##__VA_ARGS__)

should still be converted to more normal pr_level like I did.

I don't believe that prefixing of ERROR  and WARNING  to
pr_err and pr_warn actually gain anything as the same level
information can be got already with dmesg -r via the 3 and
4 prefixes or dmesg -l3 -l4

 have a
 second round of convincing ath guys to change printing code. How does
 that sound?

Luis?  Kalle?  Other Qualcomm/Atheros folk?

One of the nominal benefits of separating the ath_level
macros by subsystem was perf/tracing.  I believe some of the
ath subsystems have integrated the dmesg and tracing code.

I'm not sure how separable those may be here or if it's even
desirable to separate them.  I'd guess not.

___
ath5k-devel mailing list
ath5k-devel@lists.ath5k.org
https://lists.ath5k.org/mailman/listinfo/ath5k-devel


Re: [ath5k-devel] [PATCH] wcn36xx: Fix logging macro with unnecessary semicolon

2013-11-07 Thread Eugene Krasnikov
Hi Joe,

I personally like the idea of making some kind of framework on top of
printing because all ath drivers are using the same printing approach
and combining all that code in one place will reduce amount of code in
each particular driver. As a true engineer i like when it's less code
= less work to do = less bugs:)

Suggestion is to send a patch with semicolon fix only and have a
second round of convincing ath guys to change printing code. How does
that sound?

On Wed, Nov 6, 2013 at 5:55 PM, Joe Perches j...@perches.com wrote:
 On Wed, 2013-11-06 at 07:49 +, Eugene Krasnikov wrote:
 Hm... when it comes to semicolon the patch seems to be good. When it
 comes to dynamic debugging i think we should have a separate
 discussion about that.
 I personally like the whole idea about dynamic debug but if you want
 to change it i would suggest to have some kind of framework for all
 ath drivers(or maybe all wireless drivers). Because obviously you can
 find common code in every driver that defines it's own debug
 functions/debug levels and so on. Why not to make a framework with
 standard API/levels?

 You need to bring that up with the Atheros folk.
 I've tried.  The view seemed to be it was more
 trouble than it was worth.






-- 
Best regards,
Eugene
___
ath5k-devel mailing list
ath5k-devel@lists.ath5k.org
https://lists.ath5k.org/mailman/listinfo/ath5k-devel


[ath5k-devel] Use of atheros devices

2013-11-07 Thread Denis PeriĊĦa
I was wondering.. (feel free to skip this without trolling)..
What is your use for atheros cards? (Devs also)
Small/Big network, station/adhoc/ap/other ?
Links, turbo, encryption, embedded devices, routers, x86?.. etc..

I'm sure lot of people following group is curious.

Thanks for your time.
___
ath5k-devel mailing list
ath5k-devel@lists.ath5k.org
https://lists.ath5k.org/mailman/listinfo/ath5k-devel