History log of /drivers/net/wireless/ath/ath6kl/debug.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
234e340582901211f40d8c732afc49f0630ecf05 05-Apr-2012 Stephen Boyd <sboyd@codeaurora.org> simple_open: automatically convert to simple_open()

Many users of debugfs copy the implementation of default_open() when
they want to support a custom read/write function op. This leads to a
proliferation of the default_open() implementation across the entire
tree.

Now that the common implementation has been consolidated into libfs we
can replace all the users of this function with simple_open().

This replacement was done with the following semantic patch:

<smpl>
@ open @
identifier open_f != simple_open;
identifier i, f;
@@
-int open_f(struct inode *i, struct file *f)
-{
(
-if (i->i_private)
-f->private_data = i->i_private;
|
-f->private_data = i->i_private;
)
-return 0;
-}

@ has_open depends on open @
identifier fops;
identifier open.open_f;
@@
struct file_operations fops = {
...
-.open = open_f,
+.open = simple_open,
...
};
</smpl>

[akpm@linux-foundation.org: checkpatch fixes]
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Julia Lawall <Julia.Lawall@lip6.fr>
Acked-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
/drivers/net/wireless/ath/ath6kl/debug.c
9df2a0b7096873e91d1b6b0e842e9f6bdc7ee9fd 13-Mar-2012 Kalle Valo <kvalo@qca.qualcomm.com> ath6kl: fix debug.c file mode

Commit 7504a3e1 ("ath6kl: add padding to firmware log records") accidentally
changed debug.c mode from 100644 to 100755. Revert that back to original.

Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/debug.c
06f33f13ac2562cddf44285bfdea6cfb0cdd3515 12-Mar-2012 Kalle Valo <kvalo@qca.qualcomm.com> ath6kl: replace strict_strtoul() with kstrtoul()

Recommended by checkpatch.

Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/debug.c
96f1fadc94bc8dcde814109439e416143eed50fa 07-Mar-2012 Kalle Valo <kvalo@qca.qualcomm.com> ath6kl: alignment should match open parenthesis

Fix the issues which checkpatch found and were easy to fix. Especially
callers of ath6kl_bmi_write() are tricky and that needs to be fixed
separately.

Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/debug.c
c650538f5dbb433f3438e7fcb0090c6d617b4a0e 07-Mar-2012 Kalle Valo <kvalo@qca.qualcomm.com> ath6kl: fix checkpatch error with EPSTAT() macro

ath6kl/debug.c:739: ERROR: Macros with complex values should be
enclosed in parenthesis

Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/debug.c
8f46fccd6cd0d7ba70ba1636e59e98ca17dd2239 20-Feb-2012 Raja Mani <rmani@qca.qualcomm.com> ath6kl: Maintain the listen interval per VIF specific

Firmware has the option to support the listen interval
per vif specific. Fix this.

Listen interval can be set by the TUs or by the number
of beacons. Current code enables the user to configure
the listen interval in the unit of 'number of beacons'
using debugfs entry "listen_interval". Going forward,
we need to alter the listen interval in the unit of TUs
to get good power numbers while going to WOW suspend/resume.

Allowing the user to change the listen interval in
the unit of "number of beacons" in debugfs and changing
listen interval in wow suspend/resume in the unit of
time (TUs) would lead us to confuse.

This patch make sures the listen interval is changed only
in the unit of time (TUs).

Signed-off-by: Raja Mani <rmani@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/debug.c
068a4633bf42501db3ec934beff07cd50c1b7e9d 06-Mar-2012 Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> ath6kl: Fix kernel panic while receiving fwlog during boot

"ath6kl: Defer wiphy and netdev registration till the end of ath6kl_core_init()"
causes kernel panic by accessing the unallocated debug resources during
boot time. To fix this, split the debug initialization funtion into two,
one initializes the debug resource and the other takes care of debugfs
initialization. When this issue shows up the kernel crash dump would
look like

ath6kl_debug_fwlog_event+0x9c/0x10a
[<c10666c9>] register_lock_class+0x57/0x288
[<c1065cd3>] ? trace_hardirqs_on+0xb/0xd
[<f801f4c9>] ? ath6kl_debug_fwlog_event+0x9c/0x10a
[<c1066a8a>] __lock_acquire+0x96/0xbe5
[<c106007b>] ? alarmtimer_suspend+0x80/0x127
[<c10258da>] ? vprintk+0x394/0x3b1
[<f801f4c9>] ? ath6kl_debug_fwlog_event+0x9c/0x10a
[<c10676b3>] lock_acquire+0xda/0xf9
[<f801f4c9>] ? ath6kl_debug_fwlog_event+0x9c/0x10a
[<c1532ce3>] _raw_spin_lock+0x28/0x58
[<f801f4c9>] ? ath6kl_debug_fwlog_event+0x9c/0x10a
[<f801f4c9>] ath6kl_debug_fwlog_event+0x9c/0x10a
[<f80310a4>] ath6kl_wmi_control_rx+0x69d/0xb50 [ath6kl_core]
[<f802d2e1>] ? ath6kl_rx+0x3c/0x839 [ath6kl_core]
[<f802d35d>] ath6kl_rx+0xb8/0x839 [ath6kl_core]
[<c104b81e>] ? local_clock+0x2d/0x4e
[<c102a0af>] ? _local_bh_enable_ip+0x94/0x98
[<f802bfc0>] ? ath6kl_alloc_amsdu_rxbuf+0xb7/0xb7
[<f8023b28>] ath6kl_htc_rxmsg_pending_handler+0x891/0x988 [ath6kl_core]
[<f802bf00>] ? ath6kl_refill_amsdu_rxbufs+0x89/0x92
[<f802d2a5>] ? aggr_timeout+0xed/0xed [ath6kl_core]
[<f802bfc0>] ? ath6kl_alloc_amsdu_rxbuf+0xb7/0xb7
[<f802c420>] ? ath6kl_tx_complete+0x376/0x376 [ath6kl_core]
[<f8020e92>] ath6kl_hif_intr_bh_handler+0xf7/0x33e
[<c138ab00>] ? mmc_host_disable+0x15/0x3a
[<f8123b5c>] ath6kl_sdio_irq_handler+0x3c/0x90 [ath6kl_sdio]
[<c1392f56>] sdio_irq_thread+0xb6/0x29c
[<c1392ea0>] ? sdio_claim_irq+0x1cb/0x1cb
[<c103d4c0>] kthread+0x67/0x6c
[<c103d459>] ? __init_kthread_worker+0x42/0x42
[<c153903a>] kernel_thread_helper+0x6/0xd
BUG: unable to handle kernel NULL pointer dereference at
EIP: [<f801f4d4>] ath6kl_debug_fwlog_event+0xa7/0x10a

kvalo: rename new function to ath6kl_debug_init_fs() and add a comment
why it's needed

Reported-by: Kalle Valo <kvalo@qca.qualcomm.com>
Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/debug.c
7504a3e1f552cf7447835e7a893bea4bb2d6541d 29-Feb-2012 Etay Luz <eluz@qca.qualcomm.com> ath6kl: add padding to firmware log records

firmware debug utility expects firmware log record size
to be 1500 bytes. This patch ensures that the
firmware record will be exactly 1500 bytes.

kvalo: remove trailing space

Signed-off-by: Etay Luz <eluz@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/debug.c
1b2df4073447234034e2329f0df584c6346a8ec3 06-Feb-2012 Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> ath6kl: Update license header

Update license header with the copyright to Qualcomm Atheros, Inc.
for the year 2011-2012.

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/debug.c
c807b30d2588dd3c74db1f690a0e9e724dd332da 06-Feb-2012 Kalle Valo <kvalo@qca.qualcomm.com> ath6kl: add blocking debugfs file for retrieving firmware logs

When debugging firmware issues it's not always enough to get
the latest firmware logs, sometimes we need to get logs from a longer
period. To make this possible, add a debugfs file named fwlog_block. When
reading from this file ath6kl will send firmware logs whenever available
and otherwise it will block and wait for new logs.

Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/debug.c
9b9a4f2acac2a04416ba15242b8666d4f8273e31 06-Feb-2012 Kalle Valo <kvalo@qca.qualcomm.com> ath6kl: store firmware logs in skbuffs

Currently firmware logs are stored in a circular buffer, but this was
not very flexible and fragile. It's a lot easier to store logs to struct
skbuffs and store them in a skb queue. Also this makes it possible
to easily increase the buffer size, even dynamically if we so want (but
that's not yet supported).

From user space point of view nothing should change.

Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/debug.c
5fbea5dcc05415474bae7108803e324f112d5b58 01-Feb-2012 Chilam Ng <chilamng@qca.qualcomm.com> ath6kl: initialize the 'nominal_phy' field in the 'wmi_create_pstream_cmd' struct for create_qos command

The nominal_phy field is uninitialized. Initialize it to min_phy_rate for
create_qos.

kvalo: simplified the equation as checkpatch complained for a too long line

Signed-off-by: Chilam Ng <chilamng@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/debug.c
d6a434d60e064a5f2bef1c13ca5ed84bfa6b8b4f 17-Jan-2012 Kalle Valo <kvalo@qca.qualcomm.com> ath6kl: create ath6kl_core.ko

Now ath6kl is ready for splitting core code to ath6kl_core.ko module.
This also makes it possible to link both sdio and usb code to kernel
at the same time, which earlier failed miserably.

Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/debug.c
3b1b7d0985fdb26403678e49938a668ef7f772ea 17-Jan-2012 Kalle Valo <kvalo@qca.qualcomm.com> ath6kl: convert ath6kl_dbg() and ath6kl_dbg_dump() into functions

That way it's possible to not export debug_mask outside the upcoming
ath6kl_core.ko and that makes it easier to ath6kl_core.ko in the
following patch.

Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/debug.c
5afa5aa79680ee107fef1195c80f5f67c54b6691 17-Jan-2012 Kalle Valo <kvalo@qca.qualcomm.com> ath6kl: get rid of AR_DBG_LVL_CHECK()

We don't need it as debug calls already have a log level and compiler
should be smart enough to optimise away the code when ath6kl debug code
is not enabled. Also it makes it easier to abstract core code to
ath6kl_core.ko.

In ath6kl_dump_registers() I had to change the debug level from ANY to IRQ
as I removed the AR_DBG_LVL_CHECK() check before calling the function.

Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/debug.c
8232736dabd2a0310f76944fa7af0542fe3ded4f 10-Jan-2012 Sujith Manoharan <c_manoha@qca.qualcomm.com> ath6kl: Fix listen interval handling

This patch addresses a few problems with the commit:

"ath6kl: Implement support for listen interval from userspace"

* The debugfs file required for reading/writing the listen interval
wasn't created. Fix this.

* The interface index was being hardcoded to zero. Fix this.

* Two separate parameters, "listen_interval_time and listen_interval_beacons"
were being used. This fails to work as expected because the FW assigns
higher precedence to "listen_interval_beacons" and "listen_interval_time"
ends up being never used at all.

To handle this, fix the host driver to exclusively use listen interval
based on units of beacon intervals.

To set the listen interval, a user would now do something like this:

echo "10" > /sys/kernel/debug/ieee80211/*/ath6kl/listen_interval

kvalo: fix two checkpatch warnings

Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/debug.c
7e95e365d5399647a41e10059e4b09826b82d78b 16-Dec-2011 Kalle Valo <kvalo@qca.qualcomm.com> Merge remote branch 'wireless-next/master' into ath6kl-next

Conflicts:
drivers/net/wireless/ath/ath6kl/init.c
50553c2c8145c3278668f385a71abbf79108e737 23-Nov-2011 Dan Carpenter <dan.carpenter@oracle.com> ath6kl: use a larger buffer for debug output

The return value of snprintf() is the number of bytes which would
have been copied if there was enough space, but we want the number of
bytes actually copied. The scnprintf() function does this.

Also in theory, a %u can take take 10 digits so we may as well make
the buffer larger as well.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/debug.c
515db09338704a6ad7d27b5f1e33820d3052edd2 22-Nov-2011 John W. Linville <linville@tuxdriver.com> Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux

Conflicts:
drivers/net/wireless/iwlegacy/iwl-debugfs.c
drivers/net/wireless/iwlegacy/iwl-rx.c
drivers/net/wireless/iwlegacy/iwl-scan.c
drivers/net/wireless/iwlegacy/iwl-tx.c
include/net/bluetooth/bluetooth.h
8cb6d9915f77aa4a01181613a5882a7c04e571c3 04-Nov-2011 Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> ath6kl: Fix error in writing create_qos debugfs

100 bytes are allocated to store the parameters which are needed
to create a priority stream. These 100 bytes are not sufficiant and
throws error when running the following command.

echo "6 2 3 1 1 9999999 9999999 9999999 7777777 0 6 45000 200 56789000
56789000 5678900 0 0 9999999 20000 0" > create_qos

179 bytes are needed when the following vlaues are given so that
a maximum possible value in that data type can be given in decimal.

echo "255 255 255 255 255 4294967295 4294967295 4294967295 4294967295
4294967295 255 65535 65535 4294967295 4294967295 4294967295 4294967295
4294967295 4294967295 4294967295 4294967295" > create_qos

Following takes 187 bytes when given in hex

echo "0xff 0xff 0xff 0xff 0xff 0xffffffff 0xffffffff 0xffffffff 0xffffffff 0xffffffff
0xff 0xffff 0xffff 0xffffffff 0xffffffff 0xffffffff 0xffffffff 0xffffffff 0xffffffff
0xffffffff 0xffffffff" > create_qos

Increase the size to 200 bytes so that it can hold upto the maximum
value possible for that data type.

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/debug.c
a24fc7c35324618ce5fe9c54baa4bc9a3881cc86 26-Oct-2011 Rishi Panjwani <rpanjwan@qca.qualcomm.com> ath6kl: Implement support for power parameter control from userspace

In order to allow user space based control of power parameters, we use
available debugfs infrastructure. With these features user can control
power consumption by adjusting various sleep/wake up related parameters.
The feature has been added for testing purposes. All 5 parameters are
mandatory in correct order. They have to be written to the power_params
file. These are:

1) idle_period
2) no_of_pspoll
3) dtim_policy
4) tx_wakeup_policy
5) no_tx_to_wakeup

Example:

echo "200 1 0 1 1" > power_params

Signed-off-by: Rishi Panjwani <rpanjwan@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/debug.c
ef8f0eba5a35327a9968e2a4d2116195240512c6 26-Oct-2011 Rishi Panjwani <rpanjwan@qca.qualcomm.com> ath6kl: Implement support for listen interval from userspace

In order to allow user space based control of listen interval, we use
available debugfs infrastructure. Listen interval implies how frequently
we want the WLAN chip to wake up and synchronize the beacons in case it
is in sleep mode. The command requires two parameters in the following order:

1) listen_interval_time
2) listen_interval_beacons

The user has to write the listen interval_time (in msecs) and
listen_interval_beacons (in no. of beacons) to the listen_interval file in
ath6kl debug directory.

Example:

echo "30 1" > listen_interval

Signed-off-by: Rishi Panjwani <rpanjwan@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/debug.c
02f0d6fcab8980236694be78b3b1a1973897716e 23-Oct-2011 Kalle Valo <kvalo@qca.qualcomm.com> ath6kl: add debug messages for credit handling

Also take few from htc debug level which are more suitable for credit.

Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/debug.c
3c3703987a43b969e2f1e54c4e28f1fc8594c9d8 23-Oct-2011 Kalle Valo <kvalo@qca.qualcomm.com> ath6kl: rename struct htc_credit_state_info to ath6kl_htc_credit_info

Also rename cred_dist_cntxt to credit_info in struct htc_target.

Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/debug.c
e8c39790d00c0f9498da84f0efb61efa5664068c 23-Oct-2011 Kalle Valo <kvalo@qca.qualcomm.com> ath6kl: rename struct htc_endpoint_credit_dist.htc_rsvd to htc_ep

No need to use void pointer here.

Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/debug.c
0ce5944552d87fe6e007a0338059a75525142dd3 25-Oct-2011 Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> ath6kl: Initialize target wlan values for every vif

Wlan parameters need to be configured for every vif
in target.

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/debug.c
990bd9151927ad55c7e3da3b05cf13ecfe7a31bf 25-Oct-2011 Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> ath6kl: Maintain virtual interface in a list

This patch removes all references to ar->vif and takes
vif from a list.

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/debug.c
240d279940ef496e9456db2287b7989f6521e2e2 25-Oct-2011 Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> ath6kl: Take vif information from wmi event

Interface index is passed in wmi command header from target.
Use this index to get the appropriate vif.

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/debug.c
334234b51453fe5def250bd60ea63b1f04a8e0d2 25-Oct-2011 Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> ath6kl: Maintain firmware interface index in struct ath6kl_vif

Pass this index to target in wmi commands to specify the interface
for which the command needs to be handled.

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/debug.c
b95907a744fb2afe282cebd9b58371533818fbae 25-Oct-2011 Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> ath6kl: Make net and target stats vif specific

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/debug.c
be98e3a48cb9b9e63da8537a378f656af2a9f2c6 25-Oct-2011 Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> ath6kl: Keep wiphy reference in ath6kl structure

This is to avoid using ar->wdev to get wiphy pointer, this
may need further cleanup for multi vif support.

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/debug.c
116b3a2e0fb79fbc2367f69167a7a84a4c864a2d 19-Oct-2011 Rishi Panjwani <rpanjwan@qca.qualcomm.com> ath6kl: Implement support for background scan control from userspace

In order to allow user space based control of background scan interval,
we use available debugfs infrastructure. The feature has been added for
testing purposes. The user has to write the bgscan interval (in secs) to
the bgscan_interval file in ath6kl debug directory. To disable bgscan,
a '0' is to be written to the bgscan_interval file.

Example:

echo "2" > bgscan_interval

This will make the background scan interval as 2 seconds

kvalo: changed implementation so that there's only one call to
ath6kl_wmi_scanparams_cmd()

Signed-off-by: Rishi Panjwani <rpanjwan@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/debug.c
ebf29c95cfc6f7309ce999af4aa91ba22323f80d 13-Oct-2011 Kalle Valo <kvalo@qca.qualcomm.com> ath6kl: merge htc debug levels

It's not really necessary to have separate debug levels for htc tx and rx
so combine them.

Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/debug.c
8fffd9e5ec9ea046ff45c7974395ffbcb4bbef14 15-Oct-2011 Rishi Panjwani <rpanjwan@qca.qualcomm.com> ath6kl: Implement support for QOS-enable and QOS-disable from userspace

In order to allow user space based QOS control we use the available debugfs
infrastructure. With this feature, user can make changes to qos parameters,
thereby allowing creation and deletion of user defined priority streams and
features like uapsd. This feature has been added for testing purposes.

All 21 parameters for the create_qos command are mandatory in the correct
order. They have to be written to the create_qos file in
the ath6kl debug directory. These parameters(in order) are:

1)user priority
2)direction
3)traffic class
4)traffic type
5)voice PS capability
6)min service intvl
7)max service intvl
8)inactivity intvl
9)suspension intvl
10)serv start time
11)tsid
12)nominal msdu
13)max msdu
14)min data rate
15)mean data rate
16)peak data rate
17)max burst size
18)delay bound
19)min phy rate
20)surplus bw allowance
21)medium time

To create a qos stream:

echo "6 2 3 1 1 9999999 9999999 9999999 7777777 0 6 45000 200 56789000
56789000 5678900 0 0 9999999 20000 0" > create_qos

delete_qos requires 2 parameters:

1)traffic class
2)tsid

To delete a qos stream:

echo "3 1" > delete_qos

kvalo: minor commit log cleanup

Signed-off-by: Rishi Panjwani <rpanjwan@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/debug.c
171693292ec733ecb96734370ddfe0d9f73e920f 11-Oct-2011 Jouni Malinen <jouni@qca.qualcomm.com> ath6kl: Fix endpoint_stats debugfs buffer length calculation

The previous version did not really make much sense and the theoretical
maximum length would be a bit longer. Calculate the length more
accurately. In addition, there is no need to clear the buffer, so use
kmalloc instead of kzalloc. For bonus points, add the forgotten
cred_rpt_from_other value to the file.

Reported-by: Joe Perches <joe@perches.com>
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/debug.c
ff0b007573c70be88c4efd3c1d8b41e9ba9710b3 11-Oct-2011 Jouni Malinen <jouni@qca.qualcomm.com> ath6kl: Add debugfs control for keepalive and disconnection timeout

The new debugfs files keepalive and disconnect_timeout can be used to
fetch the current values and to change the values for keepalive and
disconnect event timeout (both in seconds).

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/debug.c
1261875f7a0a22d0d47bd400b9e9a5cf99909bbf 11-Oct-2011 Jouni Malinen <jouni@qca.qualcomm.com> ath6kl: Add debugfs files for roaming control

Roaming mode can be changed by writing roam mode (default, bssbias, or
lock) to roam_mode. Forced roam can be requested by writing the BSSID
into force_roam.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/debug.c
4b28a80dd6713c404f4f0084007456b769aba553 11-Oct-2011 Jouni Malinen <jouni@qca.qualcomm.com> ath6kl: Add debugfs file for target roam table

The new roam_table debugfs file can be used to display the current
roam table from the target.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/debug.c
e8091281f588812b128e102307e13acd9e917a5b 11-Oct-2011 Jouni Malinen <jouni@qca.qualcomm.com> ath6kl: Add endpoint_stats debugfs file

This file can be used to fetch endpoint statistics counters and
to clear them by writing 0 to it.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/debug.c
ee40fa0656a730491765545ff7550f3c1ceb0fbc 27-May-2011 Paul Gortmaker <paul.gortmaker@windriver.com> drivers/net: Add export.h to files using EXPORT_SYMBOL/THIS_MODULE

These were getting the macros from an implicit module.h
include via device.h, but we are planning to clean that up.

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>

drivers/net: Add export.h to wireless/brcm80211/brcmfmac/bcmsdh.c

This relatively recently added file uses EXPORT_SYMBOL and hence
needs export.h included so that it is compatible with the module.h
split up work.

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
/drivers/net/wireless/ath/ath6kl/debug.c
62c83ac4d6bcfa6a116c8f1c8ace05cb3933a4f1 03-Oct-2011 Kalle Valo <kvalo@qca.qualcomm.com> ath6kl: include vmalloc.h in debug.c

Fixes compilation errors when compiling for ARM:

ath6kl/debug.c:312: error: implicit declaration of function 'vmalloc'
ath6kl/debug.c:312: warning: assignment makes pointer from integer without a cast
ath6kl/debug.c:342: error: implicit declaration of function 'vfree'
ath6kl/debug.c:696: warning: assignment makes pointer from integer without a cast
ath6kl/debug.c:871: warning: assignment makes pointer from integer without a cast

Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/debug.c
9a7308341b71f3c5e88e6a30f9d6a1cfb3bc2b4f 27-Sep-2011 Kalle Valo <kvalo@qca.qualcomm.com> ath6kl: silence "invalid rate" warning

For some reason firmware is sending invalid rates when we try to
query current bitrate from ath6kl_get_station() and a warning is issued:

[ 3810.415720] ath6kl: invalid rate: 1935633515
[ 3811.105493] ath6kl: invalid rate: 1935633515
[ 3811.556063] ath6kl: invalid rate: 1935633515

As the warning happens way too often, convert the warning to a debug
message once we have a proper fix. But to make it easy to follow
how often the problem appears, add a debugfs to print
various statistics about workarounds and make this issue the first WAR.

Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/debug.c
252c068b9fba57493940af344b6d92ee3c278941 05-Sep-2011 Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> ath6kl: Add debugfs support to write a chip register

To write a value to register:
echo <register_offset>=<register_value> > <degfs_root>/ieee80211/phyX/ath6kl/reg_write

kvalo: rename file to reg_write to follow the style of other debugfs files

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/debug.c
e5090444be811ce45653969363be8fcb4c52d597 31-Aug-2011 Vivek Natarajan <nataraja@qca.qualcomm.com> ath6kl: Add debugfs entry to modify roaming parameters.

Firmware initiates roaming only after it reaches a rssi of 20.
This lower rssi threshold can be modified through a wmi command
to modify the roaming behavior.

kvalo: rename debugfs functions and move comment about rssi units next to
ath6kl_wmi_set_roam_lrssi_cmd()

Signed-off-by: Vivek Natarajan <nataraja@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/debug.c
91d57de5adfc40184ef7cb8974104459c5211add 02-Sep-2011 Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> ath6kl: Add debugfs interface to dump diagnostic registers from firmware

To dump a particular register:

echo <reg_addr> > <debugfs_root>/ieee80211/phyX/ath6kl/reg_addr

To dump the entire register set:

echo 0 > <debugfs_root>/ieee80211/phyX/ath6kl/reg_addr

Register values will be available at:

cat <debugfs_root>/ieee80211/phyX/ath6kl/reg_dump

kvalo: commit log cleanup, renamed few functions, removed a warning
message

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/debug.c
bc07ddb29a7b71ad009bcd84bee4c93908cf22b6 02-Sep-2011 Kalle Valo <kvalo@qca.qualcomm.com> ath6kl: read fwlog from firmware ring buffer

Firmare sends the logs only when it's internal ring buffer is full. But
if firmware crashes we need to retrieve the latest logs through diagnose
window. This is now done everytime the debugfs file is read.

Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/debug.c
939f1ccec80bd2dad5638de2a6819c66d4cb6f32 02-Sep-2011 Kalle Valo <kvalo@qca.qualcomm.com> ath6kl: implement support to set firmware log parameters

Firmware log parameters can be controlled now with help of fwlog_mask
debugfs file.

Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/debug.c
bdf5396be177b689c00ae6ebed00d13fafaed36e 02-Sep-2011 Kalle Valo <kvalo@qca.qualcomm.com> ath6kl: add firmware log support

Firmware sends binary logs with WMIX_DBGLOG_EVENTID event. Create
a buffer which stores the latest logs and which can be copied from
fwlog debugfs file with cp command.

To save memory firmware log support is enabled only when CONFIG_ATH6KL_DEBUG
is enabled.

Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/debug.c
78fc485622240f812ad95bba5a2165f4e7c77b54 26-Aug-2011 Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> ath6kl: Add debugfs file entry to dump credit distribution stats

It would be at <dbgfs_root>/ieee80211/phyX/ath6kl/credit_dist_stats.

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/debug.c
03f68a95e5763faf7b95993b3407fb816c200893 26-Aug-2011 Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> ath6kl: Add debugfs entry to dump target stats

It would be at <debugfs_root>/ieee80211/phyX/ath6kl/tgt_stats.

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/debug.c
d999ba3e21dc1c84cac9caf68db78fd6dbde7817 26-Aug-2011 Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> ath6kl: Add initial debugfs changes

Just initial debugfs changes. The debugfs directory would
be created at <debugfs_root>/ieee80211/phyX/ath6kl.

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/debug.c
bdcd81707973cf8aa9305337166f8ee842a050d4 17-Jul-2011 Kalle Valo <kvalo@qca.qualcomm.com> Add ath6kl cleaned up driver

Last May we started working on cleaning up ath6kl driver which is
currently in staging. The work has happened in a separate
ath6kl-cleanup tree:

http://git.kernel.org/?p=linux/kernel/git/kvalo/ath6kl-cleanup.git;a=summary

After over 1100 (!) patches we have now reached a state where I would
like to start discussing about pushing the driver to the wireless
trees and replacing the staging driver.

The driver is now a lot smaller and looks like a proper Linux driver.
The size of the driver (measured with simple wc -l) dropped from 49
kLOC to 18 kLOC and the number of the .c and .h files dropped from 107
to 22. Most importantly the number of subdirectories reduced from 26
to zero :)

There are two remaining checkpatch warnings in the driver which we
decided to omit for now:

drivers/net/wireless/ath/ath6kl/debug.c:31:
WARNING: printk() should include KERN_ facility level
drivers/net/wireless/ath/ath6kl/sdio.c:527:
WARNING: msleep < 20ms can sleep for up to 20ms;
see Documentation/timers/timers-howto.txt

The driver has endian annotations for all the hardware specific
structures and there are no sparse errors. Unfortunately I don't have
any big endian hardware to test that right now.

We have been testing the driver both on x86 and arm platforms. The
code is also compiled with sparc and parisc cross compilers.

Notable missing features compared to the current staging driver are:

o HCI over SDIO support
o nl80211 testmode
o firmware logging
o suspend support

Testmode, firmware logging and suspend support will be added soon. HCI
over SDIO support will be more difficult as the HCI driver needs to
share code with the wifi driver. This is something we need to research
more.

Also I want to point out the changes I did for signed endian support.
As I wasn't able to find any support for signed endian annotations I
decided to follow what NTFS has done and added my own. Grep for sle16
and sle32, especially from wmi.h.

Various people have been working on the cleanup, the hall of
fame based on number of patches is:

543 Vasanthakumar Thiagarajan
403 Raja Mani
252 Kalle Valo
16 Vivek Natarajan
12 Suraj Sumangala
3 Joe Perches
2 Jouni Malinen

Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
Signed-off-by: Raja Mani <rmani@qca.qualcomm.com>
Signed-off-by: Vivek Natarajan <nataraja@qca.qualcomm.com>
Signed-off-by: Suraj Sumangala <surajs@qca.qualcomm.com>
Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
/drivers/net/wireless/ath/ath6kl/debug.c