- 27 5月, 2014 1 次提交
-
-
由 Michal Kazior 提交于
This reduces risk of races and prepares for more hw restart fixes. It also makes sense to perform teardown after mac80211 starts its restart routine as it guarantees it has stopped itself by then (including tx queues). Signed-off-by: NMichal Kazior <michal.kazior@tieto.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
- 26 5月, 2014 2 次提交
-
-
由 Michal Kazior 提交于
If ath10k was built into the kernel it could stall booting for 120 seconds by default (60 seconds for each firmware API variant) waiting for firmware files before userspace was ready or filesystems mounted. Fix this by making the core registering asynchronous. This also shoves off about 1 second from boot time on most systems since the driver is now mostly initialized in a worker and modprobe takes very little time to complete. Signed-off-by: NMichal Kazior <michal.kazior@tieto.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
由 Michal Kazior 提交于
This will avoid unnecessary forward declaration of any kind in the future. Signed-off-by: NMichal Kazior <michal.kazior@tieto.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
- 23 5月, 2014 1 次提交
-
-
由 Michal Kazior 提交于
It was possible to call hif_stop() 2 times through ath10k_htc_connect_init() timeout failpath which could lead to double free_irq() kernel splat for multiple MSI interrupt case. Re-order init sequence to avoid this problem. The HTC stop shouldn't stop HIF implicitly since it doesn't implicitly start it. Since the re-ordering required some functions to be split/removed/renamed rename a few functions to make more sense while at it. Reported-By: NBen Greear <greearb@candelatech.com> Signed-off-by: NMichal Kazior <michal.kazior@tieto.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
- 24 4月, 2014 1 次提交
-
-
由 Michal Kazior 提交于
It doesn't make much sense to even try suspending the device when recovering. Recovering means the device is unresponsive and waiting for suspend procedure means taking a 3 second timeout waiting for tx credits. This speeds up firmware recovery significantly. Signed-off-by: NMichal Kazior <michal.kazior@tieto.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
- 28 3月, 2014 3 次提交
-
-
由 Kalle Valo 提交于
This makes it easier to debug what kind of board is used. Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
由 Ben Greear 提交于
If OTP or firmware fails to load properly, print out some extra info in the kernel logs. Signed-off-by: NBen Greear <greearb@candelatech.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
由 Ben Greear 提交于
Let user know the name of the board file if it is not found, and make it easier to determine the firmware api being used. Signed-off-by: NBen Greear <greearb@candelatech.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
- 21 3月, 2014 2 次提交
-
-
由 Kalle Valo 提交于
When we execute otp.bin in the target check that the result it returns doesn't contain an error. This is to make sure that we don't accidentally use invalid calibration data. While at it, remove the useless label in the function and add few debug messages. Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
由 Kalle Valo 提交于
It's just cleaner to have separate argument for the parameter and result. Also fix returned error value if response length is invalid. Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
- 13 2月, 2014 2 次提交
-
-
由 Marek Puzyniak 提交于
In case of warm reset target need to be suspended. Suspend function is extented to handle both cases with disabling interrupts and without disabling interrupts. Warm target reset requires suspend with all interrupts disabled. This patch depends on ath10k: fix device initialization routine Signed-off-by: NMarek Puzyniak <marek.puzyniak@tieto.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
由 Marek Puzyniak 提交于
Suspend/resume callbacks are not protected by configuration mutex so adding such protection. Also in order to simplify implemetation of suspend function wait queue is replaced by completion. Signed-off-by: NMarek Puzyniak <marek.puzyniak@tieto.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
- 05 2月, 2014 1 次提交
-
-
由 Ben Greear 提交于
Aids in understanding excactly what a firmware is offering. Signed-off-by: NBen Greear <greearb@candelatech.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
- 20 11月, 2013 2 次提交
-
-
由 Kalle Valo 提交于
This makes ath10k a lot less spammy by default. Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
由 Kalle Valo 提交于
We can show the same amount of information in one line. And then it's easier to show this information only during first firmware boot (see next patch). For UART printouts there's already a message when they are enabled so no need to have a print when they are disabled, that's the default anyway. Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
- 13 11月, 2013 1 次提交
-
-
由 Michal Kazior 提交于
HIF was not stopped properly in ath10k_core_start() upon failure. This could cause memory leaks of CE completions entries and possibly other issues as well. Move the HIF start/stop out of ath10k_htc_wait_target(). The ctl_resp completion is already prepared in ath10k_htc_init. Signed-off-by: NMichal Kazior <michal.kazior@tieto.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
- 08 11月, 2013 1 次提交
-
-
由 Ben Greear 提交于
If the 'ar' registration fails early, the debug objects were not initialized, and trouble ensued when the object was later destroyed and the un-initialized objects were accessed. Per Kalle's suggestion, move the debug_destroy to the core_unregister method. Signed-off-by: NBen Greear <greearb@candelatech.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
- 21 10月, 2013 1 次提交
-
-
由 Michal Kazior 提交于
If firmware crashes during FW probing it would try to perform FW recovery which uses mac80211 workqueue before registering to mac80211. Using internal workqueue solves the problem. Signed-off-by: NMichal Kazior <michal.kazior@tieto.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
- 16 10月, 2013 1 次提交
-
-
由 Michal Kazior 提交于
mac80211 interface interations functions have peculiar locking issues. This patch introduces internal (to ath10k) vif list that will be used for vif iteration purposes. kvalo: remove extra INIT_LIST_HEAD() Signed-off-by: NMichal Kazior <michal.kazior@tieto.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
- 09 10月, 2013 2 次提交
-
-
由 Fengguang Wu 提交于
drivers/net/wireless/ath/ath10k/core.c:507:2-3: Unneeded semicolon Removes unneeded semicolon. Generated by: coccinelle/misc/semicolon.cocci Signed-off-by: NFengguang Wu <fengguang.wu@intel.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
由 Kalle Valo 提交于
ath10k_debug_start() was not called with conf_mutex, fix that. Also there was a deadlock in ath10k_debug_stop(), rename it to ath10k_debug_destroy() and call it only when the device is destroyed. Reported-by: NMohammed Shafi Shajakhan <mohammed@qca.qualcomm.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
- 08 10月, 2013 2 次提交
-
-
由 Michal Kazior 提交于
Some failpaths did `return` instead of a `goto` leaking requested firmware. Signed-off-by: NMichal Kazior <michal.kazior@tieto.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
由 Michal Kazior 提交于
size_t corresponds to %zu not %d. Compiler was complaining about it. Signed-off-by: NMichal Kazior <michal.kazior@tieto.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
- 01 10月, 2013 3 次提交
-
-
由 Kalle Valo 提交于
Firmware IE containers can dynamically provide various information what firmware supports. Also it can embed more than one image so updating firmware is easy, user just needs to update one file in /lib/firmware/. The firmware API 2 or higher will use the IE container format, the current API 1 will not use the new format but it still is supported for some time. FW API 2 files are named as firmware-2.bin (which contains both firmware and otp images) and API 1 files are firmware.bin and otp.bin. Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
由 Kalle Valo 提交于
Needed for firmware IE formatted images. Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
由 Kalle Valo 提交于
I will use board_data for something else in the following patch so I need to rename it. Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
- 27 9月, 2013 2 次提交
-
-
由 Bartosz Markowski 提交于
This is still the only way to submit mgmt frames in case of 10.X firmware. This patch introduces wmi_mgmt_tx queue, because of the fact WMI command can block. This is a problem for ath10k_tx_htt(), since it's called from atomic context. The skb queue and worker are introduced to move the mgmt frame handling out of .tx callback context and not block. Signed-off-by: NBartosz Markowski <bartosz.markowski@tieto.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
由 Bartosz Markowski 提交于
It was corrupted and leading to compilation warning core.c: In function 'ath10k_check_fw_version': core.c:79: warning: comparison is always true due to limited range of data type Since we are going to support new FW track in the driver, the sanity check for fw version number would be an overkill then. This is just for information purposes anyway. Reported-by: NGeert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: NBartosz Markowski <bartosz.markowski@tieto.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
- 12 9月, 2013 2 次提交
-
-
由 Kalle Valo 提交于
Fix them to follow the general logging style in ath10k. While at it, add print id chip_id to the debug log. Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
由 Kalle Valo 提交于
core.c mostly deals with driver and firmware starting related actions. And we can use the boot level also in other components, like PCI and HTT. Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
- 06 9月, 2013 2 次提交
-
-
由 Bartosz Markowski 提交于
When configuring the host_interests over BMI, set the UART baud rate to 19200. This is valid for QCA988X_2.0 devices. kvalo: found during code review, there should not be any functionality changes Signed-off-by: NBartosz Markowski <bartosz.markowski@tieto.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
由 Kalle Valo 提交于
Needed for the HTT stats implementation. Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
- 03 9月, 2013 1 次提交
-
-
由 Kalle Valo 提交于
ath10k doesn't support qca988x hw1.0 boards anymore. Unfortunately the PCI id is the same in hw1.0 and hw2.0 so ath10k tries to use hw1.0 boards anyway. But without hw1.0 workarounds in place ath10k just crashes horribly. To avoid using hw1.0 boards at all add a chip id detection and fail the probe if hw1.0 is detected: [ 5265.786408] ath10k: ERROR: qca988x hw1.0 is not supported [ 5265.786497] ath10k: Unsupported chip id 0x043200ff [ 5265.786574] ath10k: could not register driver core (-95) [ 5265.793191] ath10k_pci: probe of 0000:02:00.0 failed with error -95 Also add a warning if there's an unknown chip id but continue the boot process normally anyway. Reported-by: NZaki Bakar <zaki.bm@gmail.com> Tested-by: NChristian Lamparter <chunkeey@googlemail.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
- 12 8月, 2013 1 次提交
-
-
由 Bartosz Markowski 提交于
Since the firmware support is no longer available for hw1.0, drop all code (especially workarounds) for those units. Signed-off-by: NBartosz Markowski <bartosz.markowski@tieto.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
- 30 7月, 2013 6 次提交
-
-
由 Michal Kazior 提交于
Restart the hardware if FW crashes. If FW crashes during recovery we leave the hardware in a "wedged" state to avoid recursive recoveries. When in "wedged" state userspace may bring interfaces down (to issue stop()) and then bring one interface (to issue start()) to reload hardware manually. Signed-off-by: NMichal Kazior <michal.kazior@tieto.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
由 Michal Kazior 提交于
Different FW versions may provide different functions thus mean different hw capabilities advertised to mac80211. It is safe to swap firmware files on disk during driver/device runtime without worries. Signed-off-by: NMichal Kazior <michal.kazior@tieto.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
由 Michal Kazior 提交于
This fixes suspend-to-disk. The hardware is now re-initialized upon freeze/thaw properly. This also makes suspend/resume re-initialize the hardware as WoWLAN support is not done yet. With some little work it should be possible to support hw reconfiguration for hw/fw recovery. HW must be initialized once before registering to mac80211 because FW determinates what hw capabilities can be advertised. Signed-off-by: NMichal Kazior <michal.kazior@tieto.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
由 Michal Kazior 提交于
This is necessary for hw reconfiguration to work. Since mac80211 is not calling remove_interface() is such case we must reset free_vdev_map. Also use a define instead of a hardcoded value for vdev map initialization. Signed-off-by: NMichal Kazior <michal.kazior@tieto.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
由 Michal Kazior 提交于
Split up fw-related and hw-related suspension code. Although we don't advertise WoW support to mac80211 yet it's useful to keep the code in suspend/resume hooks. At this point there's no need to keep pci pm ops. In case of WoW mac80211 calls ath10k_suspend() which should take care of entering low-power mode. In case WoW is not available mac80211 will go through regular interface teradown and use start/stop. Signed-off-by: NMichal Kazior <michal.kazior@tieto.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-
由 Michal Kazior 提交于
This is necessary if we want to be able to restart hw on-the-fly. Signed-off-by: NMichal Kazior <michal.kazior@tieto.com> Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
-