This patch enables the support for parsing pktlog from trace
points taken on a QCA9888 & QCA9984 chipsets.
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Since ath10k commit 37ff1b0df37a ("ath10k: clean header files from bad block
comments", going to 4.12) ath10k has been cleaned with all block comment
issues. So now we can enable the checkpatch warning.
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
This is for running optional checks which we haven't fixed yet or might be
false positive. Currently enables only W=1 for kernel.
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
By default the script now does not show any warnings outside ath directory, but
with --no-filter that can be disabled:
$ ath10k-check
$ ath10k-check --no-filter
./arch/x86/include/asm/uaccess.h:714:18: warning: incorrect type in argument 1 (different modifiers)
./arch/x86/include/asm/uaccess.h:714:18: expected void *<noident>
./arch/x86/include/asm/uaccess.h:714:18: got void const *from
./include/linux/relay.h:209:16: warning: incorrect type in initializer (different address spaces)
./include/linux/relay.h:209:16: expected void const [noderef] <asn:3>*__vpp_verify
./include/linux/relay.h:209:16: got struct rchan_buf **<noident>
$
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Hopefully this is now easier for people to use. Also use nproc to get the
number of cores available.
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Updating the hw enumeration here to keep in sync with ath10k.
kvalo: ath10k accidentally broke the backwards compatibility in
hw revision in these commits:
e565c3125e03 ath10k: enable support for QCA9888
651b4cdcf97e ath10k: enable support for QCA9984
But this should not happen anymore. I added a comment to document
that.
Add a script for installing firmware images from ath10k-firmware.git
repository and help with other firmware management related tasks.
usage: ath10k-fw-repo [-h] [--debug] [--dry-run] [--check] [--list]
[--install DESTINATION] [--unit-test]
Install firmware images from the ath10k-firmware git repository. Run it from
the top directory of the working tree.
optional arguments:
-h, --help show this help message and exit
--debug Enable debug messages.
--dry-run Do not run any actual commands.
--check Check the ath10k-firmware repository content for
validity.
--list List all files found from the ath10k-firmware
repository.
--install DESTINATION
Install all ath10k firmware images to DESTINATION
folder, for example /lib/firmware.
--unit-test Run unit tests for this script.
Screenshot:
$ ath10k-fw-repo --install /lib/firmware
Unknown file: QCA99X0/hw2.0/boardData_AR900B_CUS239_5G_v2_001.bin
Unknown file: QCA99X0/hw2.0/boardData_AR900B_CUS260_2G_v2_002.bin
Installing QCA9377/hw1.0/firmware-5.bin (WLAN.TF.1.0-00267-1)
Installing QCA9377/hw1.0/notice_ath10k_firmware-5.txt (WLAN.TF.1.0-00267-1)
Installing QCA9377/hw1.0/board.bin
Installing QCA9377/hw1.0/board-2.bin
Installing QCA988X/hw2.0/firmware-5.bin (10.2.4.70.54)
Installing QCA988X/hw2.0/notice_ath10k_firmware-5.txt (10.2.4.70.54)
Installing QCA988X/hw2.0/board.bin
Installing QCA4019/hw1.0/firmware-5.bin (10.4-3.2-00080)
Installing QCA4019/hw1.0/notice_ath10k_firmware-5.txt (10.4-3.2-00080)
Installing QCA4019/hw1.0/board-2.bin
Installing QCA9888/hw2.0/firmware-5.bin (10.4-3.2-00072)
Installing QCA9888/hw2.0/board-2.bin
Installing QCA9887/hw1.0/firmware-5.bin (10.2.4-1.0-00013)
Installing QCA9887/hw1.0/notice_ath10k_firmware-5.txt (10.2.4-1.0-00013)
Installing QCA9887/hw1.0/board.bin
Installing QCA99X0/hw2.0/firmware-5.bin (10.4.1.00030-1)
Installing QCA99X0/hw2.0/notice_ath10k_firmware-5.txt (10.4.1.00030-1)
Installing QCA6174/hw3.0/firmware-4.bin (WLAN.RM.2.0-00180-QCARMSWPZ-1)
Installing QCA6174/hw3.0/notice_ath10k_firmware-4.txt (WLAN.RM.2.0-00180-QCARMSWPZ-1)
Installing QCA6174/hw3.0/board-2.bin
Installing QCA6174/hw3.0/board.bin
Installing QCA6174/hw2.1/firmware-5.bin (SW_RM.1.1.1-00157-QCARMSWPZ-1)
Installing QCA6174/hw2.1/notice_ath10k_firmware-5.txt (SW_RM.1.1.1-00157-QCARMSWPZ-1)
Installing QCA6174/hw2.1/board.bin
Installing QCA6174/hw2.1/board-2.bin
Installing QCA9984/hw1.0/firmware-5.bin (10.4-3.2-00072)
Installing QCA9984/hw1.0/notice_ath10k_firmware-5.txt (10.4-3.2-00072)
Installing QCA9984/hw1.0/board-2.bin
$
With "ath10k: simplify pktlog htt event processing" approach, driver passes
entire payload stipping the htt_response header. By this method, we could
receive pktlog events that has payload size higher than mentioned in pktlog
header (for alignment reasons)
This issue is seen with 10.2 FW for ATH10K_PKTLOG_TYPE_TX_MSDU_ID type events.
So throw exception only when payload size is lesser than the one mentioned in
pktlog header
txctl log type manipulates pktlog header and log data as well. payload
length should be handled differently for 10.2 and 10.4 based firmware.
Not doing so, will generate invalid pktlog data file.
Below stats are added in this patch
1.tx_desc stats 2.tx_fetch_mgr info stats 3.tx_pf_sched info stats
Signed-off-by: Maharaja Kennadyrajan <c_mkenna@qti.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Below stats are added in this patch
1.sifs_resp info stats 2.reset info stats 3.mac_wdog stats
Signed-off-by: Maharaja Kennadyrajan <c_mkenna@qti.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Below stats are added in this patch
1.txbf_data stats 2.txbf_send_info stats 3.tx_selfgen stats
4.tx_mu stats
Signed-off-by: Maharaja Kennadyrajan <c_mkenna@qti.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
ath10k_htt_stats doesn't have all the htt stats support.
Below stats are added in this patch
1.pdev_txrx stats 2.rx_reorder stats 3.rx_rate_info stats
4.tx_rate_info stats 5.tidq stats
Signed-off-by: Maharaja Kennadyrajan <c_mkenna@qti.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Currently tracing plugin works only for QCA988X chipsets. This patch
extend the support to generate pktlog for QCA99X0.
With the ath10k commit "ath10k: add hw_rev to trace events to support
pktlog" we now have a new attribute passed with tracing events
"hw_type" that helps to determine the chipset used for taking the trace
points. This is helpful in getting FW variant used thereby generating
pktlog.dat accordingly.
To support backward compatibility for older versions of ath10k, assume the
default value of the hw_type, if not provided, to be HW_QCA988X (0).
ath10k_htt_rx_desc has QCA988X,QCA99X0 and QCA6174 packet information.
ath10k_htt_rx_desc has QCA99X0 relted structures at various offsets. The current
script has not taken care of QCA99X0 changes.
This modification has fix for QCA988X chipsets.
We will fix this script for all the supported chipsets later by sending
one more trcing attribute from the driver.
Whenever trace record is started in middle of data flow, the
msdu_len_tbl is not fully populated. For the initial MSDU_ID log
types, msdu_id can not be found in msdu_len_tbl. If the entries
are not found set the msdu_len to 0. This will also fix below
errors.
File "ath10k_pktlog.py", line 297, in <lambda>
ath10k_htt_pktlog_handler(pevent, *args))
File "ath10k_pktlog.py", line 238, in ath10k_htt_pktlog_handler
pktlog_tx_msdu_id(buf)
File "ath10k_pktlog.py", line 218, in pktlog_tx_msdu_id
msdu_len = msdu_len_tbl[msdu_id]
Since tsf is valid only for last mpdu and it is already part
of rx descriptor dump, tsf argument is removed from
ath10k_htt_rx_desc tracepoint in ath10k. Hence updating the
parser accordingly.
This is what we are trying to get in synch with on the
public wireless-regdb. Its our goal. Snapshot taken today.
Signed-off-by: Luis R. Rodriguez <mcgrof@qca.qualcomm.com>
This one's a skeleton as well.
[mcgrof: removed trailing white space from empty lines]
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@qca.qualcomm.com>