aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath10k
Commit message (Collapse)AuthorAge
...
| * | ath10k: refactor radar detection codeMichal Kazior2014-04-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If 20MHz CAC completed successfully then subsequent CAC with wider bandwidth (40Mhz, 80Mhz) with identical control frequency did not start monitor vdev making it impossible to detect any radar pulses during intended CAC. It also was incorrect to assume ath10k_config() will be called after CAC is finished. Theoretically for non-HT channels nothing changes between CAC and start_ap() (albeit in practice this can be different). The incorrect assumption led to CAC not being stopped on non-HT chandefs leading to all Rx being drooped making it impossible for clients to associate. While at it clean up the code a bit. kvalo: separate WARN_ON() from the if statement Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath10k: reorder functionsMichal Kazior2014-04-11
| | | | | | | | | | | | | | | | | | | | | | | | This is done to avoid forward declarations with upcomming patches. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath10k: refactor monitor codeMichal Kazior2014-04-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It was possible to create/delete/start/stop monitor vdev from a few places that were not exclusively protected against each other. This resulted in monitor vdev being stopped/removed by one call origin while another one was expecting it to continue running. For example if CAC was started and interface's promiscuous mode was toggled monitor vdev was removed from the driver meaning no radar would be detected. In additional a warning would be printed upon CAC completion complaining it tried to stop non-running monitor vdev. The patch simplifies monitor code by removing IEEE80211_HW_WANT_MONITOR_VIF (which wasn't really ever needed) and improves state tracking. It also unifies prints. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath10k: cleanup debug messages in ath10k_wmi_event_host_swba()Kalle Valo2014-04-08
| | | | | | | | | | | | | | | | | | | | | They were just too superfluous and made it harder to read logs. Change them to follow the normal style used in ath10k. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath10k: add extra pdev stats on 10.1 firmwareChun-Yeow Yeoh2014-03-28
| | | | | | | | | | | | | | | | | | | | | | | | As pointed out by Michal Kazior, add extra pdev stats for 10.1 firmware. Signed-off-by: Chun-Yeow Yeoh <yeohchunyeow@gmail.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath10k: add the Rx rate in FW statsBen Greear2014-03-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FW stats does provide the Rx rate information. Add this. Tested with firmware 10x firmware. Increase buffer size so more peers can be shown. Signed-off-by: Chun-Yeow Yeoh <yeohchunyeow@gmail.com> Signed-off-by: Ben Greear <greearb@candelatech.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath10k: fix getting stats from firmwareBen Greear2014-03-28
| | | | | | | | | | | | | | | | | | | | | | | | Tested on 10.x firmware, and others report it at least makes older firmware no more broken than it already was. Signed-off-by: Ben Greear <greearb@candelatech.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath10k: update wal_dbg_tx_stats structure with missing parameter.Bartosz Markowski2014-03-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The filed has been missing (missmatched with FW ABI) since 999.999.0.629 firmware release. It's very imporatant to keep these structs up to date with FW, due to the arithmetic we use while read the fw_stats. Signed-off-by: Bartosz Markowski <bartosz.markowski@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath10k: deinit copy engine before resettingMichal Kazior2014-03-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since copy engine allocation has been revised the ath10k_pci_ce_deinit() now simply zeroes copy engine registers. It's probably a good idea to do that before reseting for a more graceful device reset. Before ath10k_pci_ce_deinit() freed copy engine ringbuffer memory so it was required to call it after resetting. Otherwise it was possible for device to access unmapped/freed copy engine ringbuffer memory. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath10k: split ce initialization and allocationMichal Kazior2014-03-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Definitions by which copy engine structure are allocated do not change so it doesn't make much sense to re-create those structures each time device is booted (e.g. due to firmware recovery). This should decrease chance of memory allocation failures. While at it remove per_transfer_context pointer indirection. The array has been trailing the copy engine ringbuffer structure anyway. This also saves pointer size worth of bytes for each copy engine ringbuffer. Reported-By: Avery Pennarun <apenwarr@gmail.com> Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath10k: convert pci_alloc_consistent() to dma_alloc_coherent()Michal Kazior2014-03-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows to use GFP_KERNEL allocation. This should decrease chance of allocation failure, e.g. during firmware recovery. Reported-By: Avery Pennarun <apenwarr@gmail.com> Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath10k: print chip id during bootKalle Valo2014-03-28
| | | | | | | | | | | | | | | | | | This makes it easier to debug what kind of board is used. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath10k: add module parameter values to the pci info printKalle Valo2014-03-28
| | | | | | | | | | | | | | | | | | Hopefully this makes it easier to debug problems in the future. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath10k: improve pci debug messagesKalle Valo2014-03-28
| | | | | | | | | | | | | | | | | | | | | To make it easier to debug pci problems improve the log messages in pci.c. Also change some debug messages to warning messages to more easily catch problems. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath10k: delete ar_pci->fw_indicator_addressKalle Valo2014-03-28
| | | | | | | | | | | | | | | | | | It always contains the same constant, no need to have a separate variable for it. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath10k: advertise only firmware API 2 filesKalle Valo2014-03-28
| | | | | | | | | | | | | | | | | | | | | We do not really support older firmware API 1 anymore, so better remove MODULE_FIRMWARE() declarations for them and only list for API 2 files. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath10k: fix name of target_ps module parameterKalle Valo2014-03-28
| | | | | | | | | | | | | | | | | | | | | The parameter name was ath10k_target_ps, but actually it should be just target_ps. Module parameter names should not use the ath10k_ prefix. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath10k: add module parameter to disable cold resetKalle Valo2014-03-28
| | | | | | | | | | | | | | | | | | | | | | | | As cold reset is not reliable with CUS223 boards, make it possible to disable cold reset entirely and only use warm reset. This makes it also easier to debug warm reset problems. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath10k: cleanup ath10k_pci_wait_for_target_init()Kalle Valo2014-03-28
| | | | | | | | | | | | | | | | | | | | | | | | ath10k_pci_wait_for_target_init() did really follow the style used elsewhere in ath10k. Use ath10k_pci_read/write() wrappers, simplify the while loop and improve warning messages. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath10k: add otp and firmware boot error messagesBen Greear2014-03-28
| | | | | | | | | | | | | | | | | | | | | | | | If OTP or firmware fails to load properly, print out some extra info in the kernel logs. Signed-off-by: Ben Greear <greearb@candelatech.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath10k: better firmware loading error messagesBen Greear2014-03-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Ben Greear <greearb@candelatech.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath10k: unify warning messages in mac.cKalle Valo2014-03-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently there are different styles used for warning messages, unify them to look similar. The style basically is: 1) start with a verb (if possible) 2) lower case letters 3) use plain english as much as possible Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath10k: fix rssi and rate reportingJanusz Dziedzic2014-03-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | RSSI and RATES fields are valid only when START_VALID bit is set. So, in current implementation we have to remember/caclulate them when START_VALID and report the same when only END_VALID is set. Currently during heavy traffic we could have: - 10 packets with START_VALID - correct RSSI and RATES - 10 packets with END_VALID - 10 packets with START_VALID - correct RSSI and RATES - 10 packets with END_VALID ... Next using monitor interface we will see: - 10 packets with correct rssi/rates - 10 packets with rssi=-95/rate=6Mbps Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath10k: introduce rx_status htt templateJanusz Dziedzic2014-03-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce rx_status htt template instead of stack version, as a preparation for fix rssi and rates reporting. Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath10k: finally kill htt_rx_infoJanusz Dziedzic2014-03-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | Struct htt_rx_info is not needed anymore while we will use ieee80211_rx_status structure as a template. Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath10k: improve way we play with attention flagsJanusz Dziedzic2014-03-25
| | | | | | | | | | | | | | | | | | | | | | | | Remove almost the same code, and do only once __le32_to_cpu() conversion. Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath10k: return error when ath10k_htt_rx_amsdu_pop() failJanusz Dziedzic2014-03-25
| | | | | | | | | | | | | | | | | | | | | Return error when rx_amsdu_pop() will fail. Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath10k: kill not needed fields from htt_rx_infoJanusz Dziedzic2014-03-25
| | | | | | | | | | | | | | | | | | | | | | | | Kill rates, tsf, fcs_err, mic_err, amsdu_more, encrypt_type, signal from htt_rx_info and setup this directly in ieee80211_rx_status. Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath10k: setup rx channel per ppduJanusz Dziedzic2014-03-25
| | | | | | | | | | | | | | | | | | | | | | | | Setup band and frequency in ieee80211_rx_status only once - for ppdu. Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath10k: introduce ieee80211_rx_status to htt_rx_infoJanusz Dziedzic2014-03-25
| | | | | | | | | | | | | | | | | | | | | | | | Will be used as a template, and final storage for rx_status. Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath10k: rename process_rx_rates to ath10k_htt_rx_h_ratesJanusz Dziedzic2014-03-25
| | | | | | | | | | | | | | | | | | | | | No functional changes. Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath10k: move rx related functions to htt_rx.cJanusz Dziedzic2014-03-25
| | | | | | | | | | | | | | | | | | | | | No functional changes. Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath10k: fix the peer mac address in getting statsChun-Yeow Yeoh2014-03-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using the macro to convert the MAC address from WMI word format to char array has lead to the wrong peer mac address printed out while retrieving the peer stats from FW. Fix this. Signed-off-by: Chun-Yeow Yeoh <yeohchunyeow@gmail.com> Reviewed-By: Michał Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath10k: update regulatory domain settings for 10.x firmwareMarek Puzyniak2014-03-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Regulatory domain settings for firmware 10.x has more options than main firmware, so handle regulatory domain setup separately for both supported firmwares. Fill in additional dfs domain parameter according to current regulatory. This patch does not solve any known bug. Not handled parameter for firmware 10.x was found during code review. Signed-off-by: Marek Puzyniak <marek.puzyniak@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath10k: add soft/hard firmware crash option to simulate_fw_crashMarek Puzyniak2014-03-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Command WMI_FORCE_FW_HANG_CMDID is not supported in firmware 10.1. In order to have firmware crash simulation functionality also in firmware 10.1 driver can force firmware crash by performing not allowed operation. Driver can deliberately crash firmware when setting vdev param for vdev id out of range. This patch introduces two keywords to simulate_fw_crash: 'soft' which will cause firmware crash that is recoverable by warm firmware reset but supported only in main firmware. 'hard' which will cause firmware crash recoverable by cold firmware reset, this option works for both firmwares. Commands to trigger firmware soft/hard crash: echo 'soft' > /sys/kernel/debug/ieee80211/phyX/ath10k/simulate_fw_crash echo 'hard' > /sys/kernel/debug/ieee80211/phyX/ath10k/simulate_fw_crash kvalo: remove '\n' before checking the command and simplify how buf is null terminated Signed-off-by: Marek Puzyniak <marek.puzyniak@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath10k: Fill per-ppdu info in rx_info only onceJanusz Dziedzic2014-03-21
| | | | | | | | | | | | | | | | | | | | | | | | Don't fill this for each msdu, while this is the same. Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath10k: add ath10k_htt_rx_amsdu_allowed functionJanusz Dziedzic2014-03-21
| | | | | | | | | | | | | | | | | | | | | | | | Introduce ath10k_htt_rx_amsdu_allowed() function, that group code for checking if skip amsdu packets. Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath10k: check otp.bin resultKalle Valo2014-03-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath10k: separate result parameter in ath10k_bmi_execute()Kalle Valo2014-03-21
| | | | | | | | | | | | | | | | | | | | | 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: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath10k: add recalc RTS/CTS protection methodMarek Kwaczynski2014-03-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add recalculation of RTS/CTS protection when one or more legacy stations are connected to ath10k. In this case enable RTS/CTS protection and set sw retry profile are needed in the FW. Without this change legacy station is starved and has very low throughput. Signed-off-by: Marek Kwaczynski <marek.kwaczynski@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
| * | ath10k: allow the supported rate change by reassociate peerChun-Yeow Yeoh2014-03-11
| |/ | | | | | | | | | | | | | | | | | | | | IBSS mode requires the changing of supported rate. Do this by reassociate the peer. The investigation shows that if move from legacy to HT, the rate control won't work after changing the supported rate. But once changing the supported rate to HT, user can assign the TxRate in HT mode. Signed-off-by: Chun-Yeow Yeoh <yeohchunyeow@gmail.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
* | Merge branch 'for-linus' of ↵Linus Torvalds2014-06-04
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial into next Pull trivial tree changes from Jiri Kosina: "Usual pile of patches from trivial tree that make the world go round" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (23 commits) staging: go7007: remove reference to CONFIG_KMOD aic7xxx: Remove obsolete preprocessor define of: dma: doc fixes doc: fix incorrect formula to calculate CommitLimit value doc: Note need of bc in the kernel build from 3.10 onwards mm: Fix printk typo in dmapool.c modpost: Fix comment typo "Modules.symvers" Kconfig.debug: Grammar s/addition/additional/ wimax: Spelling s/than/that/, wording s/destinatary/recipient/ aic7xxx: Spelling s/termnation/termination/ arm64: mm: Remove superfluous "the" in comment of: Spelling s/anonymouns/anonymous/ dma: imx-sdma: Spelling s/determnine/determine/ ath10k: Improve grammar in comments ath6kl: Spelling s/determnine/determine/ of: Improve grammar for of_alias_get_id() documentation drm/exynos: Spelling s/contro/control/ radio-bcm2048.c: fix wrong overflow check doc: printk-formats: do not mention casts for u64/s64 doc: spelling error changes ...
| * ath10k: Improve grammar in commentsGeert Uytterhoeven2014-05-05
| | | | | | | | | | | | | | Signed-off-by: Geert Uytterhoeven <geert+renesas@linux-m68k.org> Cc: John W. Linville <linville@tuxdriver.com> Cc: linux-wireless@vger.kernel.org Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* | ath10k: do not overwrite max_antenna_gainMarek Puzyniak2014-03-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Seems like we have an old bug, where we incidently overwrites the max_antenna_gain we pass to firmware, with zero value. End of all we are artifically reducing the output power. This patch removes the excessive assignment on max_antenna_gain, which is being provided by regulatory domain, and consequently improves the tx power. Signed-off-by: Marek Puzyniak <marek.puzyniak@tieto.com> Signed-off-by: Bartosz Markowski <bartosz.markowski@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
* | ath10k: support msdu chainingBen Greear2014-03-07
| | | | | | | | | | | | | | | | | | | | | | Consolidate the list of msdu skbs into the msdu-head skb, delete the rest of the skbs, pass the msdu-head skb on up the stack as normal. Tested with high-speed TCP and UDP traffic on modified firmware that supports raw-rx. Signed-off-by: Ben Greear <greearb@candelatech.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
* | ath10k: add vdev-id, return code to error codesBen Greear2014-03-03
| | | | | | | | | | | | | | | | | | | | | | | | When using multiple vdevs (stations, aps, etc), it is nice to be able to associate log messages with specific interfaces. So, add vdev-id to most logging messages. Add return code as well, where it was missing. kvalo: unify some of the messages to follow the same style Signed-off-by: Ben Greear <greearb@candelatech.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
* | ath10k: minimize coherent dma accessesMichal Kazior2014-02-28
| | | | | | | | | | | | | | | | | | It doesn't make much sense to calculate the ring size fill count because it already is memoized in a separate variable. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
* | ath10k: remove pci completion listMichal Kazior2014-02-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | One of the premises was to guarantee serialized completion handling for upper layers (HTC/WMI/HTT). Since quite some time now it is no longer necessary. The other premise was to batch up tx/rx completions to take advantage of hot caches. However frame tx/rx completion indications come in on a single pipe already so they are already batched up. More meaningful batching is done in HTT itself. This means PCI completion is no longer necessary to keep around. It just wastes memory, cycles and SLOC. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
* | ath10k: reduce htt tx/rx spinlock overheadMichal Kazior2014-02-28
| | | | | | | | | | | | | | | | | | | | | | | | It is inefficient to grab irqsave spinlocks for skb lists for each queue/dequeue action. Using rx_ring.lock and tx_lock allows to use less heavy bh spinlock functions and moving locking upwards allows to toggle spinlocks less often. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
* | ath10k: batch htt tx/rx completionsMichal Kazior2014-02-28
| | | | | | | | | | | | | | | | | | | | | | | | | | HTT Rx endpoint processes both frame rx indications and frame tx completion indications. Those completions typically come in batches and may be mixed so it makes sense to defer processing hoping to get a bunch of them and take advantage of hot caches. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>