Revision tags: v4.17 |
|
#
2e9bcd0d |
| 29-May-2018 |
Karthikeyan Periyasamy <periyasa@codeaurora.org> |
ath10k: fix spectral scan for QCA9984 and QCA9888 chipsets
The spectral scan has been always broken on QCA9984 and QCA9888.
Introduce a hardware parameter 'spectral_bin_offset' to resolve this issu
ath10k: fix spectral scan for QCA9984 and QCA9888 chipsets
The spectral scan has been always broken on QCA9984 and QCA9888.
Introduce a hardware parameter 'spectral_bin_offset' to resolve this issue for QCA9984 and QCA9888 chipsets. For other chipsets, the hardware parameter 'spectral_bin_offset' is zero so that existing behaviour is retained as it is.
In QCA9984 and QCA9888 chipsets, hardware param value 'spectral_bin_discard' is 12 bytes. This 12 bytes is derived as the sum of segment index (4 bytes), extra bins before the actual data (4 bytes) and extra bins after the actual data (4 bytes). Always discarding (12 bytes) happens at end of the samples and incorrect samples got dumped, so that user can find incorrect arrangement samples in spectral scan dump.
To fix this issue, we have to discard first 8 bytes and last 4 bytes in every samples, so totally 12 bytes are discarded. In every sample we need to consider the offset while taking the actual spectral data. For QCA9984, QCA9888 the offset is 8 bytes (segment index + extra bins before actual data).
Hardware tested: QCA9984 and QCA9888 Firmware tested: 10.4-3.5.3-00053
Signed-off-by: Karthikeyan Periyasamy <periyasa@codeaurora.org> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
show more ...
|
#
c8e02802 |
| 10-May-2018 |
Andres Rodriguez <andresx7@gmail.com> |
ath10k: use firmware_request_nowarn() to load firmware
This reduces the unnecessary spew when trying to load optional firmware: "Direct firmware load for ... failed with error -2"
Signed-off-by: An
ath10k: use firmware_request_nowarn() to load firmware
This reduces the unnecessary spew when trying to load optional firmware: "Direct firmware load for ... failed with error -2"
Signed-off-by: Andres Rodriguez <andresx7@gmail.com> Reviewed-by: Kees Cook <keescook@chromium.org> Acked-by: Kalle Valo <kvalo@codeaurora.org> Signed-off-by: Luis R. Rodriguez <mcgrof@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
show more ...
|
#
4945af5b |
| 17-Apr-2018 |
Govind Singh <govinds@codeaurora.org> |
ath10k: enable SRRI/DRRI support on ddr for WCN3990
SRRI/DRRI are not mapped in the HW Shadow block and can lead to un-clocked access if common subsystem in the target is powered down due to idle mo
ath10k: enable SRRI/DRRI support on ddr for WCN3990
SRRI/DRRI are not mapped in the HW Shadow block and can lead to un-clocked access if common subsystem in the target is powered down due to idle mode.
To mitigate this problem SRRI/DRRI can be read from DDR instead of doing an actual hardware read. Host allocates non cached memory on ddr and configures the physical address of this memory to the CE hardware. The hardware updates the RRI on this particular location. Read SRRI/DRRI from DDR location instead of direct target read.
Enable retention restore on ddr using hw params to enable in specific targets.
Signed-off-by: Govind Singh <govinds@codeaurora.org> Signed-off-by: Rakesh Pillai <pillair@codeaurora.org> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
show more ...
|
#
b2e40d7a |
| 17-Apr-2018 |
Rakesh Pillai <pillair@codeaurora.org> |
ath10k: add hw params for shadow register support
wcn3990 supports shadow register for ce write.
Add a hw param for shadow register support.
Signed-off-by: Rakesh Pillai <pillair@codeaurora.org> S
ath10k: add hw params for shadow register support
wcn3990 supports shadow register for ce write.
Add a hw param for shadow register support.
Signed-off-by: Rakesh Pillai <pillair@codeaurora.org> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
show more ...
|
#
c8489668 |
| 13-Apr-2018 |
Thomas Hebb <tommyhebb@gmail.com> |
ath10k: search all IEs for variant before falling back
commit f2593cb1b291 ("ath10k: Search SMBIOS for OEM board file extension") added a feature to ath10k that allows Board Data File (BDF) conflict
ath10k: search all IEs for variant before falling back
commit f2593cb1b291 ("ath10k: Search SMBIOS for OEM board file extension") added a feature to ath10k that allows Board Data File (BDF) conflicts between multiple devices that use the same device IDs but have different calibration requirements to be resolved by allowing a "variant" string to be stored in SMBIOS [and later device tree, added by commit d06f26c5c8a4 ("ath10k: search DT for qcom,ath10k-calibration- variant")] that gets appended to the ID stored in board-2.bin.
This original patch had a regression, however. Namely that devices with a variant present in SMBIOS that didn't need custom BDFs could no longer find the default BDF, which has no variant appended. The patch was reverted and re-applied with a fix for this issue in commit 1657b8f84ed9 ("search SMBIOS for OEM board file extension").
But the fix to fall back to a default BDF introduced another issue: the driver currently parses IEs in board-2.bin one by one, and for each one it first checks to see if it matches the ID with the variant appended. If it doesn't, it checks to see if it matches the "fallback" ID with no variant. If a matching BDF is found at any point during this search, the search is terminated and that BDF is used. The issue is that it's very possible (and is currently the case for board-2.bin files present in the ath10k-firmware repository) for the default BDF to occur in an earlier IE than the variant-specific BDF. In this case, the current code will happily choose the default BDF even though a better-matching BDF is present later in the file.
This patch fixes the issue by first searching the entire file for the ID with variant, and searching for the fallback ID only if that search fails. It also includes some code cleanup in the area, as ath10k_core_fetch_board_data_api_n() no longer does its own string mangling to remove the variant from an ID, instead leaving that job to a new flag passed to ath10k_core_create_board_name().
I've tested this patch on a QCA4019 and verified that the driver behaves correctly for 1) both fallback and variant BDFs present, 2) only fallback BDF present, and 3) no matching BDFs present.
Fixes: 1657b8f84ed9 ("ath10k: search SMBIOS for OEM board file extension") Signed-off-by: Thomas Hebb <tommyhebb@gmail.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
show more ...
|
#
ea66b12e |
| 10-Apr-2018 |
Rakesh Pillai <pillair@codeaurora.org> |
ath10k: check all CE for data if irq summary is not retained
WCN3990 has interrupts per CE and the interrupt summary is not retained after the interrupt handler has finished execution. We need to ch
ath10k: check all CE for data if irq summary is not retained
WCN3990 has interrupts per CE and the interrupt summary is not retained after the interrupt handler has finished execution. We need to check if we received any ce in rx and tx completion path.
Generate a interrupt summary with all CE interrupts if the target does not retain interrupt summary after the execution of interrupt handler.
Signed-off-by: Rakesh Pillai <pillair@codeaurora.org> Signed-off-by: Govind Singh <govinds@codeaurora.org> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
show more ...
|
#
140d1214 |
| 10-Apr-2018 |
Rakesh Pillai <pillair@codeaurora.org> |
ath10k: add support to get target info from hif ops
wcn3990 does not use bmi. Add support to get target info from hif ops.
Signed-off-by: Rakesh Pillai <pillair@codeaurora.org> Signed-off-by: Govin
ath10k: add support to get target info from hif ops
wcn3990 does not use bmi. Add support to get target info from hif ops.
Signed-off-by: Rakesh Pillai <pillair@codeaurora.org> Signed-off-by: Govind Singh <govinds@codeaurora.org> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
show more ...
|
Revision tags: v4.16 |
|
#
1b3fdb50 |
| 28-Mar-2018 |
Rajkumar Manoharan <rmanohar@codeaurora.org> |
ath10k: fix vdev stats for 10.4 firmware
Currently vdev stats displayed in fw_stats are applicable only for TLV based firmware and fix it for 10.4 firmware as of now. The vdev stats in 10.4 firmware
ath10k: fix vdev stats for 10.4 firmware
Currently vdev stats displayed in fw_stats are applicable only for TLV based firmware and fix it for 10.4 firmware as of now. The vdev stats in 10.4 firmware is split into two parts (vdev_stats, vdev_stats_extended). The actual stats are captured only in extended vdev stats. In order to enable vdev stats, appropriate feature bit will be set on extended resource config. As FTM related counters are available only on newer 10.4 based firmware, these counters will be displayed only on valid data.
Signed-off-by: Rajkumar Manoharan <rmanohar@codeaurora.org> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
show more ...
|
#
cf0d37ae |
| 04-Feb-2018 |
Govind Singh <govinds@codeaurora.org> |
ath10k: fix log message for hif power on failure
HIF power-on failure is applicable to each underlying bus type. Fix log message for hif power on failure.
Signed-off-by: Govind Singh <govinds@codea
ath10k: fix log message for hif power on failure
HIF power-on failure is applicable to each underlying bus type. Fix log message for hif power on failure.
Signed-off-by: Govind Singh <govinds@codeaurora.org> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
show more ...
|
#
9ce8b24a |
| 07-Feb-2018 |
Ryan Hsu <ryanhsu@codeaurora.org> |
Revert "ath10k: add sanity check to ie_len before parsing fw/board ie"
This reverts commit 9ed4f91628737c820af6a1815b65bc06bd31518f.
The commit introduced a regression that over read the ie with th
Revert "ath10k: add sanity check to ie_len before parsing fw/board ie"
This reverts commit 9ed4f91628737c820af6a1815b65bc06bd31518f.
The commit introduced a regression that over read the ie with the padding.
- the expected IE information
ath10k_pci 0000:03:00.0: found firmware features ie (1 B) ath10k_pci 0000:03:00.0: Enabling feature bit: 6 ath10k_pci 0000:03:00.0: Enabling feature bit: 7 ath10k_pci 0000:03:00.0: features ath10k_pci 0000:03:00.0: 00000000: c0 00 00 00 00 00 00 00
- the wrong IE with padding is read (0x77)
ath10k_pci 0000:03:00.0: found firmware features ie (4 B) ath10k_pci 0000:03:00.0: Enabling feature bit: 6 ath10k_pci 0000:03:00.0: Enabling feature bit: 7 ath10k_pci 0000:03:00.0: Enabling feature bit: 8 ath10k_pci 0000:03:00.0: Enabling feature bit: 9 ath10k_pci 0000:03:00.0: Enabling feature bit: 10 ath10k_pci 0000:03:00.0: Enabling feature bit: 12 ath10k_pci 0000:03:00.0: Enabling feature bit: 13 ath10k_pci 0000:03:00.0: Enabling feature bit: 14 ath10k_pci 0000:03:00.0: Enabling feature bit: 16 ath10k_pci 0000:03:00.0: Enabling feature bit: 17 ath10k_pci 0000:03:00.0: Enabling feature bit: 18 ath10k_pci 0000:03:00.0: features ath10k_pci 0000:03:00.0: 00000000: c0 77 07 00 00 00 00 00
Tested-by: Mike Lothian <mike@fireburn.co.uk> Signed-off-by: Ryan Hsu <ryanhsu@codeaurora.org> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
show more ...
|
#
34f1cb33 |
| 30-Jan-2018 |
Tobias Schramm <tobleminer@gmail.com> |
ath10k: add support for Ubiquiti rebranded QCA988X v2
Some modern Ubiquiti devices contain a rebranded QCA988X rev2 with a custom Ubiquiti vendor and device id. This patch adds support for those dev
ath10k: add support for Ubiquiti rebranded QCA988X v2
Some modern Ubiquiti devices contain a rebranded QCA988X rev2 with a custom Ubiquiti vendor and device id. This patch adds support for those devices, treating them as a QCA988X v2.
Signed-off-by: Tobias Schramm <tobleminer@gmail.com> [kvalo@codeaurora.org: rebase, add missing fields in hw_params, fix a long line in pci.c:61] Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
show more ...
|
Revision tags: v4.15 |
|
#
a3e712b7 |
| 16-Jan-2018 |
Kalle Valo <kvalo@codeaurora.org> |
ath10k: fix recently introduced checkpatch warnings
Checkpatch found these issues:
drivers/net/wireless/ath/ath10k/ce.h:324: Please use a blank line after function/struct/union/enum declarations dr
ath10k: fix recently introduced checkpatch warnings
Checkpatch found these issues:
drivers/net/wireless/ath/ath10k/ce.h:324: Please use a blank line after function/struct/union/enum declarations drivers/net/wireless/ath/ath10k/core.c:1321: Please don't use multiple blank lines drivers/net/wireless/ath/ath10k/htt.h:1859: Please use a blank line after function/struct/union/enum declarations
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
show more ...
|
#
9ed4f916 |
| 16-Jan-2018 |
Ryan Hsu <ryanhsu@codeaurora.org> |
ath10k: add sanity check to ie_len before parsing fw/board ie
Validate ie_len after the alignment padding before access the buffer to avoid potential overflow.
Signed-off-by: Ryan Hsu <ryanhsu@code
ath10k: add sanity check to ie_len before parsing fw/board ie
Validate ie_len after the alignment padding before access the buffer to avoid potential overflow.
Signed-off-by: Ryan Hsu <ryanhsu@codeaurora.org> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
show more ...
|
#
e6fe214e |
| 28-Dec-2017 |
Erik Stromdahl <erik.stromdahl@gmail.com> |
ath10k: bugfix: add USB case in ath10k_core_probe_fw
It was accidentally left out from the switch statement and target info was not queried.
Signed-off-by: Erik Stromdahl <erik.stromdahl@gmail.com>
ath10k: bugfix: add USB case in ath10k_core_probe_fw
It was accidentally left out from the switch statement and target info was not queried.
Signed-off-by: Erik Stromdahl <erik.stromdahl@gmail.com> [kvalo@codeaurora.org: add commit log] Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
show more ...
|
#
8b1083d6 |
| 22-Dec-2017 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath10k: update copyright year
Update year for Qualcomm Atheros, Inc. copyrights.
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
|
#
703f261d |
| 22-Dec-2017 |
Alan Liu <alanliu@qca.qualcomm.com> |
ath10k: add memory dump support for QCA6174/QCA9377
Add memory dump to the firmware crash data file which is provided to user space via devcoredump interface. This makes it easier for firmware engin
ath10k: add memory dump support for QCA6174/QCA9377
Add memory dump to the firmware crash data file which is provided to user space via devcoredump interface. This makes it easier for firmware engineers to debug firmware crashes.
Due to increased memory consumption the memory dump is disabled by default. To enable it make sure that bit 3 is set in coredump_mask module parameter:
modprobe ath10k_core coredump_mask=0xffffffff
When RAMDUMP is enabled a buffer for the dump is allocated with vmalloc during device probe. The actual memory layout is different in hardware versions and the layouts are defined in coredump.c. The memory is split to regions and, to get even finegrained control of what to copy, the region can split to smaller sections as not all registers are readable (which could cause the whole system to stall).
Signed-off-by: Alan Liu <alanliu@qca.qualcomm.com> [kvalo@qca.qualcomm.com: refactoring and cleanup] Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
5c9d0a20 |
| 22-Dec-2017 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath10k: add coredump_mask module parameter
For memory dump support (it consumes quite a lot of memory) we need to control what is exactly stored to the crash dump. Add a module parameter call coredu
ath10k: add coredump_mask module parameter
For memory dump support (it consumes quite a lot of memory) we need to control what is exactly stored to the crash dump. Add a module parameter call coredump_mask to do that. It's a bit mask of these values:
enum ath10k_fw_crash_dump_type { ATH10K_FW_CRASH_DUMP_REGISTERS = 0, ATH10K_FW_CRASH_DUMP_CE_DATA = 1,
ATH10K_FW_CRASH_DUMP_MAX, };
For example, if we only want to store CE_DATA we would enable bit 2:
modprobe ath10k_core coredump_mask=0x2
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
e2fcf60c |
| 22-Dec-2017 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath10k: detach coredump.c from debug.c
Now coredump is totally separate from debug.c and doesn't depend on CONFIG_ATH10K_DEBUGFS anymore, only on CONFIG_DEV_COREDUMP. Also remove leftovers from the
ath10k: detach coredump.c from debug.c
Now coredump is totally separate from debug.c and doesn't depend on CONFIG_ATH10K_DEBUGFS anymore, only on CONFIG_DEV_COREDUMP. Also remove leftovers from the removed debugfs file support.
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
f25b9f28 |
| 22-Dec-2017 |
Kalle Valo <kvalo@qca.qualcomm.com> |
ath10k: refactor firmware crashdump code to coredump.c
In preparation to add RAM dump support. No functional changes, only moving code and renaming function names.
Signed-off-by: Kalle Valo <kvalo@
ath10k: refactor firmware crashdump code to coredump.c
In preparation to add RAM dump support. No functional changes, only moving code and renaming function names.
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
71e9c29f |
| 21-Dec-2017 |
Rakesh Pillai <pillair@qti.qualcomm.com> |
ath10k: Add fw feature flag for non-bmi firmware load
HL1.0 firmware is not loaded via bmi. The bmi specific code should not be executed for HL1.0
Add fw feature flag for non bmi targets and skip t
ath10k: Add fw feature flag for non-bmi firmware load
HL1.0 firmware is not loaded via bmi. The bmi specific code should not be executed for HL1.0
Add fw feature flag for non bmi targets and skip the bmi specific code for non bmi targets.
Signed-off-by: Rakesh Pillai <pillair@qti.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
63855e3d |
| 21-Dec-2017 |
Govind Singh <govinds@qti.qualcomm.com> |
ath10k: Add SNOC bus type for WCN3990 target
WCN3990 is integrated chipset which uses system NOC. Add SNOC bus type and related definitions.
Signed-off-by: Govind Singh <govinds@qti.qualcomm.com> S
ath10k: Add SNOC bus type for WCN3990 target
WCN3990 is integrated chipset which uses system NOC. Add SNOC bus type and related definitions.
Signed-off-by: Govind Singh <govinds@qti.qualcomm.com> Signed-off-by: Rakesh Pillai <pillair@qti.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
bb8d0d15 |
| 21-Dec-2017 |
Govind Singh <govinds@qti.qualcomm.com> |
ath10k: Add hw param for rx ring size support
WCN3990 uses larger ring size in comparison to existing ring size value. Add rx ring size hw param for supporting different rx ring size across multiple
ath10k: Add hw param for rx ring size support
WCN3990 uses larger ring size in comparison to existing ring size value. Add rx ring size hw param for supporting different rx ring size across multiple target.
Signed-off-by: Govind Singh <govinds@qti.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
f13cc6bd |
| 21-Dec-2017 |
Rakesh Pillai <pillair@qti.qualcomm.com> |
ath10k: Add hw param for 64-bit address support
WCN3990 target supports 37-bit addressing mode. In order to accommodate extended address support, add hw param to indicate if the target supports addr
ath10k: Add hw param for 64-bit address support
WCN3990 target supports 37-bit addressing mode. In order to accommodate extended address support, add hw param to indicate if the target supports addressing above 32-bits.
Signed-off-by: Rakesh Pillai <pillair@qti.qualcomm.com> Signed-off-by: Govind Singh <govinds@qti.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|
#
e7881bd5 |
| 19-Dec-2017 |
Johannes Berg <johannes.berg@intel.com> |
Revert "mac80211: Add TXQ scheduling API"
This reverts commit e937b8da5a591f141fe41aa48a2e898df9888c95.
Turns out that a new driver (mt76) is coming in through Kalle's tree, and will conflict with
Revert "mac80211: Add TXQ scheduling API"
This reverts commit e937b8da5a591f141fe41aa48a2e898df9888c95.
Turns out that a new driver (mt76) is coming in through Kalle's tree, and will conflict with this. It also has some conflicting requirements, so we'll revisit this later.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
show more ...
|
#
03a72288 |
| 11-Dec-2017 |
Rakesh Pillai <pillair@qti.qualcomm.com> |
ath10k: wmi: add hw params entry for wcn3990
Add hw params entry for wcn3990 and populate various target specific values for wcn3990.
Signed-off-by: Rakesh Pillai <pillair@qti.qualcomm.com> Signed-
ath10k: wmi: add hw params entry for wcn3990
Add hw params entry for wcn3990 and populate various target specific values for wcn3990.
Signed-off-by: Rakesh Pillai <pillair@qti.qualcomm.com> Signed-off-by: Govind Singh <govinds@qti.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
show more ...
|