aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-09-16CHROMIUM: config: Enable ARM64 errataschromeos-4.14-gw-arm64-errata/chromeos-4.14-gw-fixconfigNiklas Cassel
All these ARM64 erratas, except for ARM64_ERRATUM_843419, uses the alternative framework, which will only patch the kernel if an affected CPU is detected. Since qcs404 uses Cortex-A53 r0p4 CPUs, we need to enable ARM64_ERRATUM_843419 as well. BUG=b:129558664 TEST=emerge-mistral gw-kernel-4_14 Change-Id: I57c10a859c02ef6dc6180acc8924bb9c35d30c83 Signed-off-by: Niklas Cassel <niklas.cassel@linaro.org> Signed-off-by: Khasim Syed Mohammed <khasim.mohammed@linaro.org>
2019-09-13Revert "CHROMIUM: mac80211: Creation of MC/BC RX limit debugfs file during ↵Raju Konduru
phy initializaion." This reverts commit 4bffc475bc6511bcd3c735107a87f0c783656215. Reason for revert: Causing kernel panic with hung_task signature (b/140769534) Original change's description: > CHROMIUM: mac80211: Creation of MC/BC RX limit debugfs file during phy initializaion. > > Create per interface MC/BC debugfs entry during phy initialization > > BUG=b:139423309 > TEST=Verified the per interface mc/bc debugfs file is created, > verified that mc_bc_rx_limit file is present and has the default > RX limit values > > Change-Id: I1bf5d6541026c41d64446a037b3dbbdfeb8b01a6 > Signed-off-by: Ratheesh S P <ratheeshs@google.com> > Reviewed-on: https://chromium-review.googlesource.com/1759082 > Tested-by: Ratheesh Selvakumar Pappa <ratheeshs@google.com> > Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> > Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org> > Reviewed-by: Julan Hsu <julanhsu@google.com> > Reviewed-by: DHEERAJ KANIYALA MELINAPANJA <dmelinapanja@google.com> BUG=b:139423309, b:140769534 TEST=Ran following test-suite for 4 iterations. run_lab_test.py --board=mistral --pool=wifi suite:jetstream_sanity_ipv6 Change-Id: I22c41f990dfd564a7de0438371a3ce3394400098 Reviewed-on: https://chromium-review.googlesource.com/1802395 Tested-by: Julan Hsu <julanhsu@google.com> Commit-Ready: Julan Hsu <julanhsu@google.com> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org> Reviewed-by: Julan Hsu <julanhsu@google.com>
2019-09-13CHROMIUM: WAR: Change the request type in pdev_bss_info_request cmdSurabhi Vishnoi
Currently, the request type in wmi pdev_bss_info_request cmd is filled as WMI_BSS_SURVEY_REQ_TYPE_READ_CLEAR which means that for each survey dump request, BSS channel cycle counters are read and cleared in hardware. To get accumulated channel cycle counters data, send the request with type WMI_BSS_SURVEY_REQ_TYPE_READ so the BSS channel counters are read but not cleared in hardware. BUG=b:138746491, b:140611009 TEST=1. Compilation 2. Run iw <dev> survey dump : It will show accumulated survey dump results for operating channel. Change-Id: I6e275ceb8d6d0d718d63cbadb19e37dff043c3db Signed-off-by: Surabhi Vishnoi <svishnoi@codeaurora.org> Reviewed-on: https://chromium-review.googlesource.com/1798307 Tested-by: Julan Hsu <julanhsu@google.com> Commit-Ready: Julan Hsu <julanhsu@google.com> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org> Reviewed-by: Julan Hsu <julanhsu@google.com>
2019-09-13CHROMIUM: WAR: ath10k: Disable probe response template in AP modeDundi Raviteja
When WMI_SERVICE_BEACON_OFFLOAD is set, then host sends beacon and probe response template to firmware in AP mode. Thereafter, firmware handles periodic transmission of beacons and transmission of probe response whenever it receives any probe requests. So host does not receive any probe requests. In some cases, host needs to analyse the probe request, so disable sending probe resp template to firmware in AP mode BUG=b:138982417 TEST=1. Compilation 2. Probe request and beacon frames are received by supplicant. Change-Id: I824c99e748112cbcef87dee9658017f354435337 Signed-off-by: Dundi Raviteja <dundi@codeaurora.org> Signed-off-by: Surabhi Vishnoi <svishnoi@codeaurora.org> Reviewed-on: https://chromium-review.googlesource.com/1798068 Tested-by: Julan Hsu <julanhsu@google.com> Commit-Ready: Julan Hsu <julanhsu@google.com> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org> Reviewed-by: Roy Luo <royluo@google.com> Reviewed-by: Julan Hsu <julanhsu@google.com>
2019-09-12CHROMIUM: Revert SFE IPv6 asymmetric QoSDanny Mitzel
Revert SFE asymmetric QoS support for IPv6 introduced in CL chromium:1717644. In addition to the asymmetric QoS support this also reverts the handling of ICMP error messages that trigger recreation of flow state for an embedded IP packet. This is a workaround to prevent IPv6 forwarding from wedging when there is simultaneous high rate IPv4 traffic. BUG=b:139326716, b:140608418 TEST=Ran lab tests with IPv6-only client successfully accessing Internet while Stadia emulator simultaneously streaming IPv4. Change-Id: If14bb0d2e07923a41cac09339844dbaa82b62fbc Signed-off-by: Danny J. Mitzel <mitzel@google.com> Reviewed-on: https://chromium-review.googlesource.com/1799664 Tested-by: Danny Mitzel <mitzel@google.com> Commit-Ready: Kan Yan <kyan@chromium.org> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org> Reviewed-by: Kevin Hayes <kevinhayes@google.com> Reviewed-by: Kan Yan <kyan@chromium.org>
2019-09-07FROMLIST: ext4: use jbd2_inode dirty range scopingRoss Zwisler
Use the newly introduced jbd2_inode dirty range scoping to prevent us from waiting forever when trying to complete a journal transaction. Signed-off-by: Ross Zwisler <zwisler@google.com> Reviewed-by: Jan Kara <jack@suse.cz> Cc: stable@vger.kernel.org BUG=b:130521177, chromium:959968, b:133470926, b:65528573 TEST=Multiple iteration of dd from /dev/zero to /mnt/stateful_partition, filling the disk. Also, copied multi-GiB files from USB sticks to the Downloads folder via the GUI. I did this on bobba, sarien and samus-kernelnext. (am from https://patchwork.kernel.org/patch/11007137/) Change-Id: I14499b7c2f5f9f097acb4594f4c2a74ecd914ade Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1669281 Tested-by: Ross Zwisler <zwisler@google.com> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org> Reviewed-by: Guenter Roeck <groeck@chromium.org> Reviewed-by: Sean Paul <seanpaul@chromium.org> (cherry picked from commit 426ac8f9dce0213e06bc2fcc4ba093d9198df133) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1775621 Reviewed-by: Zhihong Yu <zhihongyu@chromium.org> Commit-Queue: Zhihong Yu <zhihongyu@chromium.org> Tested-by: Zhihong Yu <zhihongyu@chromium.org>
2019-09-07FROMLIST: jbd2: introduce jbd2_inode dirty range scopingRoss Zwisler
Currently both journal_submit_inode_data_buffers() and journal_finish_inode_data_buffers() operate on the entire address space of each of the inodes associated with a given journal entry. The consequence of this is that if we have an inode where we are constantly appending dirty pages we can end up waiting for an indefinite amount of time in journal_finish_inode_data_buffers() while we wait for all the pages under writeback to be written out. The easiest way to cause this type of workload is do just dd from /dev/zero to a file until it fills the entire filesystem. This can cause journal_finish_inode_data_buffers() to wait for the duration of the entire dd operation. We can improve this situation by scoping each of the inode dirty ranges associated with a given transaction. We do this via the jbd2_inode structure so that the scoping is contained within jbd2 and so that it follows the lifetime and locking rules for that structure. This allows us to limit the writeback & wait in journal_submit_inode_data_buffers() and journal_finish_inode_data_buffers() respectively to the dirty range for a given struct jdb2_inode, keeping us from waiting forever if the inode in question is still being appended to. Signed-off-by: Ross Zwisler <zwisler@google.com> Reviewed-by: Jan Kara <jack@suse.cz> Cc: stable@vger.kernel.org BUG=b:130521177, chromium:959968, b:133470926, b:65528573 TEST=Multiple iteration of dd from /dev/zero to /mnt/stateful_partition, filling the disk. Also, copied multi-GiB files from USB sticks to the Downloads folder via the GUI. I did this on bobba, sarien and samus-kernelnext. (am from https://patchwork.kernel.org/patch/11007139/) Change-Id: I4f0b9b8524ad966ae929c1e76e645e08ecdb4623 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1669280 Tested-by: Ross Zwisler <zwisler@google.com> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org> Reviewed-by: Sean Paul <seanpaul@chromium.org> Reviewed-by: Guenter Roeck <groeck@chromium.org> (cherry picked from commit 9767fdd3814a8fe0a53ae5760b1f2bb0237a8221) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1775620 Reviewed-by: Zhihong Yu <zhihongyu@chromium.org> Commit-Queue: Zhihong Yu <zhihongyu@chromium.org> Tested-by: Zhihong Yu <zhihongyu@chromium.org>
2019-09-07FROMLIST: mm: add filemap_fdatawait_range_keep_errors()Ross Zwisler
In the spirit of filemap_fdatawait_range() and filemap_fdatawait_keep_errors(), introduce filemap_fdatawait_range_keep_errors() which both takes a range upon which to wait and does not clear errors from the address space. Signed-off-by: Ross Zwisler <zwisler@google.com> Reviewed-by: Jan Kara <jack@suse.cz> Cc: stable@vger.kernel.org BUG=b:130521177, chromium:959968, b:133470926, b:65528573 TEST=Multiple iteration of dd from /dev/zero to /mnt/stateful_partition, filling the disk. Also, copied multi-GiB files from USB sticks to the Downloads folder via the GUI. I did this on bobba, sarien and samus-kernelnext. (am from https://patchwork.kernel.org/patch/11007131/) Change-Id: If1baeca0eade2ca0bd40f1397e533df43cc2e399 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1669279 Tested-by: Ross Zwisler <zwisler@google.com> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org> Reviewed-by: Sean Paul <seanpaul@chromium.org> Reviewed-by: Guenter Roeck <groeck@chromium.org> (cherry picked from commit 00bf5d5f6e7df41865d9e761bd32cf7b06fbabf0) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1775619 Reviewed-by: Zhihong Yu <zhihongyu@chromium.org> Commit-Queue: Zhihong Yu <zhihongyu@chromium.org> Tested-by: Zhihong Yu <zhihongyu@chromium.org>
2019-09-05CHROMIUM: ath10k: add debugfs support for burst mode configurationBalaji Pothunoori
This patch adds debugfs support for configuring burst mode to enable or disable. f.e, echo "val" > /sys/kernel/debug/ieee80211/phyX/ath10k/burst_enable Where disable: val = 0. enable : val = 1. BUG=b:137147192 TEST=1. build image 2. verify /sys/kernel/debug/ieee80211/phyX/ath10k/burst_enable for values set. Change-Id: Ib5eb4cb9e9358dd2a533b9e6095ed050a184a813 Signed-off-by: Balaji Pothunoori <bpothuno@codeaurora.org> Signed-off-by: Vamsi Singamsetty <vamssi@codeaurora.org> Signed-off-by: Mayank Chopra <mak.chopra@codeaurora.org> Reviewed-on: https://chromium-review.googlesource.com/1739068 Tested-by: Julan Hsu <julanhsu@google.com> Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org> Reviewed-by: Kan Yan <kyan@chromium.org>
2019-08-27CHROMIUM:WAR: ath10k: avoid consecutive OTP downloadVikas Patel
Currently, OTP is downloaded twice in case of "pre-cal-dt" and "pre-cal-file" to fetch the board ID. avoid such duplicate OTP download and skip the download if already we have acquired valid board ID and chip ID. Signed-off-by: Vikas Patel <vikpatel@codeaurora.org> Change-Id: I9696df00e5a31002a173d623fd8737880342ea6e Reviewed-on: https://chromium-review.googlesource.com/1757577 Tested-by: Julan Hsu <julanhsu@google.com> Tested-by: Dyjeong - <dyjeong@qualcomm.corp-partner.google.com> Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org> Reviewed-by: Julan Hsu <julanhsu@google.com>
2019-08-27CHROMIUM: config: Renormalization of configBhogesh Metta
normalized config with following command: ./chromeos/scripts/kernelconfig olddefconfig BUG=b:137776724 TEST=emerge-mistral gw-kernel-4_14 Change-Id: I858750f97a3b289784febb5b28c98cbc197cd981 Reviewed-on: https://chromium-review.googlesource.com/1769378 Tested-by: Bhogeswara Rao Metta <bhogeswararao@google.com> Commit-Ready: Bhogeswara Rao Metta <bhogeswararao@google.com> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org> Reviewed-by: Kan Yan <kyan@chromium.org>
2019-08-23UPSTREAM: ath10k: add inline wrapper for htt_h2t_aggr_cfg_msgErik Stromdahl
This is done in order to make the *htt_h2t_aggr_cfg_msg* op align better with the rest of the htt ops (whom all have inline wrappers). It also adds support for the case when the op is missing (function pointer is NULL). As a result of this, the name of the 32 bit implementation in htt_tx.c was changed and the function was made static. BUG=b:137525452 TEST=None (Cherry picked from commit 74ee5715991f9d7d2fb8269ec60b0f914d78315e) (Source: git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git) Change-Id: I55557ab5d82d776af2ca2d0e43515bad64dac42b Signed-off-by: Erik Stromdahl <erik.stromdahl@gmail.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org> Signed-off-by: Balaji Pothunoori <bpothuno@codeaurora.org> Signed-off-by: Vamsi Singamsetty <vamssi@codeaurora.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1725757 Reviewed-by: Sean Paul <seanpaul@chromium.org> Reviewed-by: Julan Hsu <julanhsu@google.com> Tested-by: Julan Hsu <julanhsu@google.com> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
2019-08-23CHROMIUM: WAR: misc: fastrpc: add mmap/unmap supportJorge Ramirez-Ortiz
the client might need to request the mapping of addtional memory to the DSP at runtime. BUG=b:137202421 TEST=Run label_image in loop Signed-off-by: Jorge Ramirez-Ortiz <jorge.ramirez-ortiz@linaro.org> Signed-off-by: Abhinav Asati <asatiabhi@codeaurora.org> (cherry picked from commit f7dc847bd446732563327aaab962ee9ec909d813 https://github.com/ldts/qualcomm-lt-kernel/commits/chromiumos-4.14-iommu-mmap-gw-rebased-for-next) Change-Id: Ib029c606b6e1cd4c7fbed78e549a496721d94ba4 Signed-off-by: Vamsi Singamsetty <vamssi@codeaurora.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1724482 Reviewed-by: Julan Hsu <julanhsu@google.com> Tested-by: Julan Hsu <julanhsu@google.com> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
2019-08-23CHROMIUM: WAR: misc: fastrpc: improve DSP packet tracingJorge Ramirez-Ortiz
During debug mode, improve the visualization of transferred data between the DSP and the ARM cores BUG=b:137202421 TEST=Run label_image in loop Signed-off-by: Jorge Ramirez-Ortiz <jorge.ramirez-ortiz@linaro.org> Signed-off-by: Abhinav Asati <asatiabhi@codeaurora.org> (cherry picked from commit 954a19dc542c188447ec0cccbf7047602dff43e3 https://github.com/ldts/qualcomm-lt-kernel/commits/chromiumos-4.14-iommu-mmap-gw-rebased-for-next) Change-Id: I06b51a8d39a0129dd83120f213b84df25451ae56 Signed-off-by: Vamsi Singamsetty <vamssi@codeaurora.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1724481 Reviewed-by: Julan Hsu <julanhsu@google.com> Tested-by: Julan Hsu <julanhsu@google.com> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
2019-08-23CHROMIUM: WAR: misc: fastrpc: lock the send requestJorge Ramirez-Ortiz
BUG=b:137202421 TEST=Run label_image in loop Signed-off-by: Jorge Ramirez-Ortiz <jorge.ramirez-ortiz@linaro.org> Signed-off-by: Abhinav Asati <asatiabhi@codeaurora.org> (cherry picked from commit 578ccceae4a47e823992b4bda44c52448e8bd88f https://github.com/ldts/qualcomm-lt-kernel/commits/chromiumos-4.14-iommu-mmap-gw-rebased-for-next) Change-Id: I8c5ffe3fbd8549690df173feed7f71535a28ba2c Signed-off-by: Vamsi Singamsetty <vamssi@codeaurora.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1724480 Reviewed-by: Julan Hsu <julanhsu@google.com> Tested-by: Julan Hsu <julanhsu@google.com> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
2019-08-23CHROMIUM: WAR: misc: fastrpc: remove unused definitionJorge Ramirez-Ortiz
BUG=b:137202421 TEST=Run label_image in loop Signed-off-by: Jorge Ramirez-Ortiz <jorge.ramirez-ortiz@linaro.org> Signed-off-by: Abhinav Asati <asatiabhi@codeaurora.org> (cherry picked from commit 7b12b5d0c702420658b62bdf76786bd9c517662d https://github.com/ldts/qualcomm-lt-kernel/commits/chromiumos-4.14-iommu-mmap-gw-rebased-for-next) Change-Id: Ica28e7d7774dc5fb688e7359df99ce75796dd3ac Signed-off-by: Vamsi Singamsetty <vamssi@codeaurora.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1724479 Reviewed-by: Julan Hsu <julanhsu@google.com> Tested-by: Julan Hsu <julanhsu@google.com> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
2019-08-23CHROMIUM: WAR: misc: fastrpc: do not release memory if in use by the DSPJorge Ramirez-Ortiz
the processor must wait for the DSP release operation to terminate before proceeding to release the memory mapped to the DSP. BUG=b:137202421 TEST=Run label_image in loop Signed-off-by: Jorge Ramirez-Ortiz <jorge.ramirez-ortiz@linaro.org> Signed-off-by: Abhinav Asati <asatiabhi@codeaurora.org> (cherry picked from commit 95e471b433761cd873c310b99c77c8d89f452e00 https://github.com/ldts/qualcomm-lt-kernel/commits/chromiumos-4.14-iommu-mmap-gw-rebased-for-next) Change-Id: I867200ab1d91e7ab9b3a100c7f9806cef5ffe95a Signed-off-by: Vamsi Singamsetty <vamssi@codeaurora.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1724478 Reviewed-by: Julan Hsu <julanhsu@google.com> Tested-by: Julan Hsu <julanhsu@google.com> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
2019-08-23CHROMIUM: arm64: dts: qcom: qcs404: Define IOMMU properties for FastRPCBjorn Andersson
Define the IOMMU for the CDSP compute banks. BUG=b:137202421 TEST=Run label_image in loop Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> Signed-off-by: Abhinav Asati <asatiabhi@codeaurora.org> (cherry picked from commit f763072d5ff42ef54a3bc7cd70806a7505d76aef https://github.com/ldts/qualcomm-lt-kernel/commits/chromiumos-4.14-iommu-mmap-gw-rebased-for-next) Change-Id: I4395ae23b867079aa3f6f0d93b5bbc2b5bad8ad0 Signed-off-by: Vamsi Singamsetty <vamssi@codeaurora.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1613947 Reviewed-by: Julan Hsu <julanhsu@google.com> Tested-by: Julan Hsu <julanhsu@google.com> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
2019-08-23CHROMIUM: arm64: dts: qcom: qcs404: Define SMMUBjorn Andersson
The QCS404 sports a SMMU500. Introduce this in devicetree, so that we can wire up the CDSP compute banks to it. BUG=b:137202421 TEST=Run label_image in loop Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> Signed-off-by: Abhinav Asati <asatiabhi@codeaurora.org> (cherry picked from commit ff4d260a163bde23080fccf0052a68c9358c255a https://github.com/ldts/qualcomm-lt-kernel/commits/chromiumos-4.14-iommu-mmap-gw-rebased-for-next) Change-Id: I836e91f4f8048285781266ded13430cd3cc1afb8 Signed-off-by: Vamsi Singamsetty <vamssi@codeaurora.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1613946 Reviewed-by: Julan Hsu <julanhsu@google.com> Tested-by: Julan Hsu <julanhsu@google.com> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
2019-08-23BACKPORT: UPSTREAM: iommu/arm-smmu: Add pm_runtime/sleep opsSricharan R
The smmu needs to be functional only when the respective master's using it are active. The device_link feature helps to track such functional dependencies, so that the iommu gets powered when the master device enables itself using pm_runtime. So by adapting the smmu driver for runtime pm, above said dependency can be addressed. This patch adds the pm runtime/sleep callbacks to the driver and the corresponding bulk clock handling for all the clocks needed by smmu. Also, while we enable the runtime pm, add a pm sleep suspend callback that pushes devices to low power state by turning the clocks off in a system sleep. Add corresponding clock enable path in resume callback as well. This backport fixes the previously merged ff0fa3d27d11 ("FROMLIST: iommu/arm-smmu: Add pm_runtime/sleep ops") to match the upstream result, without having to revert a series of FROMLIST. BUG=b:137202421 TEST=Run label_image in loop (cherry picked from commit 96a299d24cfb6b9659304131b598fa09f4c9041e https://github.com/torvalds/linux.git) Signed-off-by: Sricharan R <sricharan@codeaurora.org> Signed-off-by: Archit Taneja <architt@codeaurora.org> [Thor: Rework to get clocks from device tree] Signed-off-by: Thor Thayer <thor.thayer@linux.intel.com> [vivek: rework for clock and pm ops] Signed-off-by: Vivek Gautam <vivek.gautam@codeaurora.org> Reviewed-by: Tomasz Figa <tfiga@chromium.org> Tested-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Reviewed-by: Robin Murphy <robin.murphy@arm.com> Tested-by: Thor Thayer <thor.thayer@linux.intel.com> Signed-off-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> Signed-off-by: Abhinav Asati <asatiabhi@codeaurora.org> Change-Id: I7d9edebaf5638e832d59066ce51162cf3b57d06f Signed-off-by: Vamsi Singamsetty <vamssi@codeaurora.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1613945 Reviewed-by: Julan Hsu <julanhsu@google.com> Tested-by: Julan Hsu <julanhsu@google.com> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
2019-08-23CHROMIUM: WAR: clk: add managed version of clk_bulk_get_allDong Aisheng
This patch introduces the managed version of clk_bulk_get_all. BUG=b:137202421 TEST=Run label_image in loop Cc: Michael Turquette <mturquette@baylibre.com> Cc: Stephen Boyd <sboyd@codeaurora.org> Tested-by: Thor Thayer <thor.thayer@linux.intel.com> Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com> Signed-off-by: Stephen Boyd <sboyd@kernel.org> (cherry picked from commit 66f133280449cf62602bcedb1099ab041d919f54 https://github.com/ldts/qualcomm-lt-kernel/commits/chromiumos-4.14-iommu-mmap-gw-rebased-for-next) Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> Signed-off-by: Abhinav Asati <asatiabhi@codeaurora.org> Change-Id: I82339239edf24b4f557b167bafde97003e335d2b Signed-off-by: Vamsi Singamsetty <vamssi@codeaurora.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1613944 Reviewed-by: Julan Hsu <julanhsu@google.com> Tested-by: Julan Hsu <julanhsu@google.com> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
2019-08-23BACKPORT: UPSTREAM: clk: add new APIs to operate on all available clocksDong Aisheng
This patch introduces of_clk_bulk_get_all and clk_bulk_x_all APIs to users who just want to handle all available clocks from device tree without need to know the detailed clock information likes clock numbers and names. This is useful in writing some generic drivers to handle clock part. BUG=b:137202421 TEST=Run label_image in loop (cherry picked from commit 616e45df7c4aa71279c07cc803a1d51f43f89f37 https://github.com/torvalds/linux.git) Cc: Stephen Boyd <sboyd@codeaurora.org> Cc: Masahiro Yamada <yamada.masahiro@socionext.com> Tested-by: Thor Thayer <thor.thayer@linux.intel.com> Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com> Signed-off-by: Stephen Boyd <sboyd@kernel.org> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> Signed-off-by: Abhinav Asati <asatiabhi@codeaurora.org> Change-Id: I4acf53070a5ce954bfb801a4b031074ae28ea3a0 Signed-off-by: Vamsi Singamsetty <vamssi@codeaurora.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1613943 Reviewed-by: Julan Hsu <julanhsu@google.com> Tested-by: Julan Hsu <julanhsu@google.com> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
2019-08-23FROMLIST: iommu: io-pgtable: Support non-coherent page tablesBjorn Andersson
Describe the memory related to page table walks as non-cachable for iommu instances that are not DMA coherent. BUG=b:137202421 TEST=Run label_image in loop (am from https://patchwork.kernel.org/patch/10945563/) Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> Signed-off-by: Abhinav Asati <asatiabhi@codeaurora.org> Change-Id: I18e253074ef01682cf45fe3b8ab61440da89ff3d Signed-off-by: Vamsi Singamsetty <vamssi@codeaurora.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1613942 Reviewed-by: Sean Paul <seanpaul@chromium.org> Reviewed-by: Julan Hsu <julanhsu@google.com> Tested-by: Julan Hsu <julanhsu@google.com> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
2019-08-23Revert "INTERNAL: arm64: dts: qcom: qcs404: Add CMA"Abhinav Asati
This reverts commit b5da79a6764aabb47caf7fe8d66278c9e2d4ccb5. BUG=b:137202421 TEST=None Signed-off-by: Abhinav Asati <asatiabhi@codeaurora.org> Change-Id: Idc21cc4961d956989ffc18f994276ba19a9a88e5 Signed-off-by: Vamsi Singamsetty <vamssi@codeaurora.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1724477 Reviewed-by: Julan Hsu <julanhsu@google.com> Tested-by: Julan Hsu <julanhsu@google.com> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
2019-08-23Revert "INTERNAL: Enable configs for CMA"Abhinav Asati
This reverts commit e2b8b0f9c0ae95cf338d029abf1a71bc95f27a27. BUG=b:137202421 TEST=None Signed-off-by: Abhinav Asati <asatiabhi@codeaurora.org> Change-Id: I4a2846a1aed6a68e2076657f446d906764d72ef5 Signed-off-by: Vamsi Singamsetty <vamssi@codeaurora.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1724476 Reviewed-by: Julan Hsu <julanhsu@google.com> Tested-by: Julan Hsu <julanhsu@google.com> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
2019-08-23Revert "INTERNAL: misc: fastrpc: Increase FILELEN_MAX to 100"Abhinav Asati
This reverts commit 148c03640fe9ccdb54995707056babc2be655e8d. BUG=b:137202421 TEST=None Signed-off-by: Abhinav Asati <asatiabhi@codeaurora.org> Change-Id: I55a3d03809bd835a4f2eeb73877549e925c1195f Signed-off-by: Vamsi Singamsetty <vamssi@codeaurora.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1724475 Reviewed-by: Julan Hsu <julanhsu@google.com> Tested-by: Julan Hsu <julanhsu@google.com> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
2019-08-23Revert "INTERNAL: Increase CMA allocation to 256 MB"Abhinav Asati
This reverts commit 2739c029ea2b650fa45281f785bac6a8aa5d7b33. BUG=b:137202421 TEST=None Signed-off-by: Abhinav Asati <asatiabhi@codeaurora.org> Change-Id: I584bd83fbeabdf5cfbeb2130c9220f478fe5fa08 Signed-off-by: Vamsi Singamsetty <vamssi@codeaurora.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1724474 Reviewed-by: Julan Hsu <julanhsu@google.com> Tested-by: Julan Hsu <julanhsu@google.com> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
2019-08-22Revert "CHROMIUM: config: Renormalization of config"Bhogesh Metta
This reverts commit 54cb71bc54ef614a150259be531bebc53951b405. BUG=b:137776724 TEST=None Change-Id: Ic6a66e249c606fe2c32d840dc0d4412b2b5afc37 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1765982 Reviewed-by: Julan Hsu <julanhsu@google.com> Commit-Queue: Julan Hsu <julanhsu@google.com> Tested-by: Julan Hsu <julanhsu@google.com> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
2019-08-22UPSTREAM: Bluetooth: hci_serdev: Remove setting of HCI_QUIRK_RESET_ON_CLOSE.Balakrishna Godavarthi
HCI_QUIRK_RESET_ON_CLOSE quirk is required for BT v1.0 based devices, to send a reset command to the chip during hci device close. Serdev architecture is used for the latest BT chips, which doesn't require to send the reset command during close. If still chips required reset command during close, it would be better enabling it in the vendor probes or in proto setup. (cherry picked from commit cba736465e5cbae22027789de748b8500e647555 https://github.com/torvalds/linux.git) BUG=b:138978210 TEST=None Change-Id: I76b9ca6dcd6f056f172e83972ed51674f1c6945e Signed-off-by: Balakrishna Godavarthi <bgodavar@codeaurora.org> Signed-off-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Harish Bandi <c-hbandi@codeaurora.org> Signed-off-by: Vamsi Singamsetty <vamssi@codeaurora.org> Signed-off-by: Julan Hsu <julanhsu@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1739069 Reviewed-by: Sean Paul <seanpaul@chromium.org> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
2019-08-22CHROMIUM: WAR: Bluetooth: hci_qca: wait for Pre shutdown toHarish Bandi
complete it processing before sending the Power off pulse When SoC receives pre shut down command, it share the same with other COEX shared clients. So SoC needs a short time after sending VS pre shutdown command before turning off the regulators and sending the power off pulse. BUG=b:138978210 TEST=None Change-Id: I7a93be279c51af98e19f400acff803dde49d7f34 Signed-off-by: Harish Bandi <c-hbandi@codeaurora.org> Signed-off-by: Vamsi Singamsetty <vamssi@codeaurora.org> Signed-off-by: Julan Hsu <julanhsu@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1739070 Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
2019-08-21CHROMIUM: mac80211: Creation of MC/BC RX limit debugfs file during phy ↵Ratheesh S P
initializaion. Create per interface MC/BC debugfs entry during phy initialization BUG=b:139423309 TEST=Verified the per interface mc/bc debugfs file is created, verified that mc_bc_rx_limit file is present and has the default RX limit values Change-Id: I1bf5d6541026c41d64446a037b3dbbdfeb8b01a6 Signed-off-by: Ratheesh S P <ratheeshs@google.com> Reviewed-on: https://chromium-review.googlesource.com/1759082 Tested-by: Ratheesh Selvakumar Pappa <ratheeshs@google.com> Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org> Reviewed-by: Julan Hsu <julanhsu@google.com> Reviewed-by: DHEERAJ KANIYALA MELINAPANJA <dmelinapanja@google.com>
2019-08-21CHROMIUM: ath10k: add debugfs support for aggr burst durationMiaoqing Pan
This patch adds debugfs support for setting aggregation burst duration for all access categories(VO, VI, BE, BK). Burst duration takes values ranging from 0 to 8000 usecs and are set using "burst_dur" debugfs entry. BUG=b:131190756 TEST=echo "Be Bk Vi Vo" > /sys/kernel/debug/ieee80211/phyX/ath10k/burst_dur Where Vo, Vi, Be, Bk corresponds to burst duration from 0-8000 usecs. Change-Id: Ib1db633833279b2dc61d8e41d0a66365f22b78e0 Signed-off-by: Balaji Pothunoori <bpothuno@codeaurora.org> Signed-off-by: Miaoqing Pan <miaoqing@codeaurora.org> Signed-off-by: Bikshapathi Kothapeta <bkotha@codeaurora.org> Reviewed-on: https://chromium-review.googlesource.com/1710154 Tested-by: Kan Yan <kyan@chromium.org> Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org> Reviewed-by: Kan Yan <kyan@chromium.org>
2019-08-21CHROMIUM: ath10k: Adding debugfs support for RTS thresholdvadiraj kakhandaki
Adding a driver specific debugfs entry to configure RTS threshold for ath10k. The "rts_threhold" in cfg80211's debugfs is read only. This change is to support mistral devices. Ported from chromeos-3.18 commit 816d449092cc2491e419ac5a6bfc900703a2e29c Design Doc:https://docs.google.com/document/d/1tk-DwJ0ns2CK9TSrU236wNuhKbXtiIXoAsU6EuBRHjQ BUG=b:131708900 TEST=Compiled successfully Change-Id: I0f98b4a7c3470c9a63a60c68c0985d1c415be718 Reviewed-on: https://chromium-review.googlesource.com/1757601 Tested-by: Vadiraj Kakhandaki <k.vadiraj@globaledgesoftware.corp-partner.google.com> Commit-Ready: Vadiraj Kakhandaki <k.vadiraj@globaledgesoftware.corp-partner.google.com> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org> Reviewed-by: Sharanbasappa Sali <ssali@google.com> Reviewed-by: Kan Yan <kyan@chromium.org>
2019-08-21Revert "CHROMIUM: WAR: misc: fastrpc: allocate process release context ↵Abhinav Asati
before hand" This reverts commit 32df5e2e9cb61b3b0a537e79e3cf29c056443eb3. BUG=b:137202421 TEST=None Signed-off-by: Abhinav Asati <asatiabhi@codeaurora.org> Change-Id: Ie337ac0a19a901ee92787d76d5eb9280ea6858eb Signed-off-by: Vamsi Singamsetty <vamssi@codeaurora.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1724473 Reviewed-by: Julan Hsu <julanhsu@google.com> Tested-by: Julan Hsu <julanhsu@google.com> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
2019-08-21CHROMIUM: arm64: dts: qcom: qcs404-mistral: remove usb vbus_gpioVijay Navnath Kamble
Remove the optional properties in node for the extcon usb gpio driver as its not required to change the USB mode from peripheral to host. BUG=b:121327254 Test=Boot the board with USB typeC connected to host as a peripheral, switch to USB Host at runtime and again switch back to USB peripheral mode. Signed-off-by: Vijay Navnath Kamble <vkambl@codeaurora.org> Signed-off-by: Khasim Syed Mohammed <khasim.mohammed@linaro.org> Change-Id: Ibc4ae5fa595a57fdf06dcd3f52f9d0936acd423e Signed-off-by: Vamsi Singamsetty <vamssi@codeaurora.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1564090 Reviewed-by: Ravutappa Bhosagi <rbhosagi@google.com> Reviewed-by: Julan Hsu <julanhsu@google.com> Tested-by: Ravutappa Bhosagi <rbhosagi@google.com> Tested-by: Julan Hsu <julanhsu@google.com> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
2019-08-21CHROMIUM: WAR: misc: fastrpc: Don't reference rpmsg_device after removeBjorn Andersson
As fastrpc_rpmsg_remove() returns the rpdev of the channel context is no longer a valid object, so ensure to update the channel context to no longer reference the old object and guard in the invoke code path against dereferencing it. BUG=b:136289132 TEST=stop and start remote proc1 using sysfs Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> Signed-off-by: Mayank Chopra <mak.chopra@codeaurora.org> Signed-off-by: Abhinav Asati <asatiabhi@codeaurora.org> (cherry picked from commit d96f76d8690c8f520b42977ad1ff81f9bbf80b98 https://github.com/ldts/qualcomm-lt-kernel/commits/chromiumos-4.14-iommu-mmap-for-next) Change-Id: If44721aa5df37fcf74056cb1babd1856dfbe4c49 Signed-off-by: Vamsi Singamsetty <vamssi@codeaurora.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1724472 Reviewed-by: Julan Hsu <julanhsu@google.com> Tested-by: Julan Hsu <julanhsu@google.com> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
2019-08-21CHROMIUM: WAR: misc: fastrpc: Reference count channel contextBjorn Andersson
The channel context is referenced from the fastrpc user and might as user space holds the file descriptor open outlive the fastrpc device, which is removed when the remote processor is shutting down. Reference count the channel context in order to retain this object until all references has been relinquished. BUG=b:136289132 TEST=stop and start remote proc1 using sysfs Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> Signed-off-by: Mayank Chopra <mak.chopra@codeaurora.org> Signed-off-by: Abhinav Asati <asatiabhi@codeaurora.org> (cherry picked from commit 9b2d17448c5dd7546fd0f8a79b60a9882300b362 https://github.com/ldts/qualcomm-lt-kernel/commits/chromiumos-4.14-iommu-mmap-for-next) Change-Id: I66e2c1e159f5769731e81a48b03f7fa6ed8e173c Signed-off-by: Vamsi Singamsetty <vamssi@codeaurora.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1724471 Reviewed-by: Julan Hsu <julanhsu@google.com> Tested-by: Julan Hsu <julanhsu@google.com> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
2019-08-21CHROMIUM: WAR: remoteproc: qcom: Move glink_ssr notification after stopBjorn Andersson
glink_ssr is used to signal a remote processor "A" about the stopping of another remote processor "B", so that in the event that remote processor B is ever booted again the fifos of the glink channel between A and B is in a known state. But if remote processor A receives this notification before B is actually stopped the newly reset fifo indices will be interpreted as there being "data" on the channel and either side of the channel will enter a fatal error handler. Move the glink_ssr notification to the "unprepare" state of the rproc_subdev to avoid this issue. This has the side effect of us not notifying the dying remote processor itself about its fate, which has been seen to block in certain resource constraint scenarios. BUG=b:136289132 TEST=stop and start remote proc1 using sysfs Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> Signed-off-by: Mayank Chopra <mak.chopra@codeaurora.org> (cherry picked from commit 0bbbc1fdd8d66c3fd0afdd11c94b2cc247cba485 https://github.com/ldts/qualcomm-lt-kernel/commits/chromiumos-4.14-iommu-mmap-for-next) Signed-off-by: Abhinav Asati <asatiabhi@codeaurora.org> Change-Id: Ifb09b7543803b94e1133fbc9b002105dfba16e76 Signed-off-by: Vamsi Singamsetty <vamssi@codeaurora.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1724470 Reviewed-by: Julan Hsu <julanhsu@google.com> Tested-by: Julan Hsu <julanhsu@google.com> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
2019-08-21CHROMIUM: WAR: Add value for channel_counters_freq_hz hw param for WCN3990Surabhi Vishnoi
Currently the value of channel_counters_freq_hz is not filled for WCN3990. This leads to wrong calculation of survey dump stats in pdev bss chan info event. To mitigate this issue, add the value for hw param channel_counters_freq_hz for WCN3990 HW. BUG=b:137525452 TEST=None Change-Id: Ic0485bf769ea844ee288c11386923941cc79a9e8 Signed-off-by: Surabhi Vishnoi <svishnoi@codeaurora.org> Signed-off-by: Vamsi Singamsetty <vamssi@codeaurora.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1724469 Reviewed-by: Julan Hsu <julanhsu@google.com> Tested-by: Julan Hsu <julanhsu@google.com> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org> Commit-Queue: Julan Hsu <julanhsu@google.com>
2019-08-21CHROMIUM: ath10k: enabling aggr burst configuration for 2GBalaji Pothunoori
This patch enables aggregation burst duration configuration for 2G BUG=b:137525452 TEST=None Change-Id: I441051e53bed160db89a7f5e5544656e8336ec21 Signed-off-by: Balaji Pothunoori <bpothuno@codeaurora.org> Signed-off-by: Vamsi Singamsetty <vamssi@codeaurora.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1720381 Tested-by: Kan Yan <kyan@chromium.org> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org> Reviewed-by: Kan Yan <kyan@chromium.org>
2019-08-21CHROMIUM: ath10k: Handle wmi_tlv_pdev_bss_chan_info eventidSurabhi Vishnoi
Currently pdev_bss_chan_info event is not handled for tlv targets. This event provides information of the current channel in which bss is created and is filled in survey dump in host. The firmware supports WMI_TLV_PDEV_BSS_CHAN_INFO_EVENTID only if WMI_SERVICE_BSS_CHANNEL_INFO_64 is set in wmi service ready event and host sets host capablity flag WMI_RSRC_CFG_FLAG_BSS_CHANNEL_INFO_64 in wmi init command to firmware. If WMI_SERVICE_BSS_CHANNEL_INFO_64 is set, then set the host_capab flag WMI_RSRC_CFG_FLAG_BSS_CHANNEL_INFO_64 in wmi init command and handle event WMI_TLV_PDEV_BSS_CHAN_INFO_EVENTID to get the information of current channel for tlv targets. BUG=b:137525452 TEST=None Change-Id: I4917dc7824dfd15b4fee9708146f3900ea50436c Signed-off-by: Surabhi Vishnoi <svishnoi@codeaurora.org> Signed-off-by: Vamsi Singamsetty <vamssi@codeaurora.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1720380 Reviewed-by: Julan Hsu <julanhsu@google.com> Tested-by: Julan Hsu <julanhsu@google.com> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
2019-08-21CHROMIUM: ath10k: Add wmi tlv cmd for pdev bss chan infoSurabhi Vishnoi
For TLV targets, pdev_bss_chan_info_cmdid is not added. This command requests the pdev_bss_chan_info_event from the firmware and fills this info in survey dumps. Add WMI_TLV_PDEV_BSS_CHAN_INFO_CMDID for tlv targets to request pdev bss channel info from firmware. BUG=b:137525452 TEST=None Change-Id: I0f03d8e28b3f884b1643088cd752738ce9ca27cb Signed-off-by: Surabhi Vishnoi <svishnoi@codeaurora.org> Signed-off-by: Vamsi Singamsetty <vamssi@codeaurora.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1720379 Reviewed-by: Julan Hsu <julanhsu@google.com> Tested-by: Julan Hsu <julanhsu@google.com> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
2019-08-21UPSTREAM: ath10k: Fix memory leak in qmiDundi Raviteja
Currently the memory allocated for qmi handle is not being freed during de-init which leads to memory leak. Free the allocated qmi memory in qmi deinit to avoid memory leak. Tested HW: WCN3990 Tested FW: WLAN.HL.3.1-01040-QCAHLSWMTPLZ-1 Fixes: fda6fee0001e ("ath10k: add QMI message handshake for wcn3990 client") BUG=b:137525452 TEST=None (Cherry picked from commit c709df58832c5f575f0255bea4b09ad477fc62ea https://github.com/torvalds/linux.git) Change-Id: I7a9ee1cb4beeefd86ea0a7014b27b31cfe7f3037 Signed-off-by: Dundi Raviteja <dundi@codeaurora.org> Signed-off-by: Kalle Valo <kvalo@codeaurora.org> Signed-off-by: Vamsi Singamsetty <vamssi@codeaurora.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1720378 Reviewed-by: Julan Hsu <julanhsu@google.com> Reviewed-by: Sean Paul <seanpaul@chromium.org> Tested-by: Julan Hsu <julanhsu@google.com> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
2019-08-21FROMLIST: ath10k: correct wmi_tlv command params to enable pktlog for WCN3990Abhishek Ambure
PKT log enable command expects pdev id in enable params which is missing in current configuration. Fill pdev id in pkt log enable wmi command for correct configuration. Fixes: ca996ec56608 ("ath10k: implement wmi-tlv backend") Tested HW: WCN3990 Tested FW: WLAN.HL.3.1-00963-QCAHLSWMTPL-1 BUG=b:137525452 TEST=None (am from https://patchwork.kernel.org/patch/10947635/) Change-Id: I8a4e0426e28415fca932d459576b852671fd7d59 Signed-off-by: Abhishek Ambure <aambure@codeaurora.org> Signed-off-by: Vamsi Singamsetty <vamssi@codeaurora.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1720377 Reviewed-by: Julan Hsu <julanhsu@google.com> Reviewed-by: Sean Paul <seanpaul@chromium.org> Tested-by: Julan Hsu <julanhsu@google.com> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
2019-08-21FROMLIST: ath10k: move pktlog connect service before htc startAbhishek Ambure
WCN3990 supports HTC service for pktlog. PKTLOG service should be connected before HTC start. Hence move connect pktlog service before HTC start Fixes: 713358c321f4 ("ath10k: enable pktlog for WCN3990 target") Tested HW: WCN3990 Tested FW: WLAN.HL.3.1-00963-QCAHLSWMTPL-1 BUG=b:137525452 TEST=None (am from https://patchwork.kernel.org/patch/10947637/) Change-Id: I6f7c09ba6e18ffc89404cc7d86f77f7610553fb7 Signed-off-by: Abhishek Ambure <aambure@codeaurora.org> Signed-off-by: Vamsi Singamsetty <vamssi@codeaurora.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1720376 Reviewed-by: Julan Hsu <julanhsu@google.com> Reviewed-by: Sean Paul <seanpaul@chromium.org> Tested-by: Julan Hsu <julanhsu@google.com> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
2019-08-21UPSTREAM: ath10k: Enable pktlog for WCN3990 targetGovind Singh
WCN3990 target uses separate htc service for pktlog. Add pktlog service request and support for pktlog rx path handling. BUG=b:137525452 TEST= Tested on WCN3990 and QCA6174 HW. Tested FW: WLAN.HL.2.0-01192-QCAHLSWMTPLZ-1, WLAN.RM.4.4.1-00109-QCARMSWPZ-1 Signed-off-by: Govind Singh <govinds@codeaurora.org> Signed-off-by: Kalle Valo <kvalo@codeaurora.org> (Cherry picked from commit 713358c321f4f8553afe956c0d5e9a87b43d561e git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git) Change-Id: If0d666537c7bd60ade56649295ae6c52e874fdaa Signed-off-by: Vamsi Singamsetty <vamssi@codeaurora.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1720375 Reviewed-by: Julan Hsu <julanhsu@google.com> Reviewed-by: Sean Paul <seanpaul@chromium.org> Tested-by: Julan Hsu <julanhsu@google.com> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
2019-08-21UPSTREAM: ath10k: introduce CE_ATTR_POLL attribute for polling pipeGovind Singh
Existing copy engine interrupt enable logic assumes that last CE is using polling mode and due to this interrupt for last copy engine are always disabled. WCN3990 uses last CE for pktlog and interrupt remains disabled with existing logic. To mitigate this issue, introduce CE_ATTR_POLL flag and control the interrupt based on the flag which can be set in ce_attr. BUG=b:137525452 TEST= Tested on WCN3990 and QCA6174 HW. Tested FW: WLAN.HL.2.0-01192-QCAHLSWMTPLZ-1, WLAN.RM.4.4.1-00109-QCARMSWPZ-1 Signed-off-by: Govind Singh <govinds@codeaurora.org> Signed-off-by: Kalle Valo <kvalo@codeaurora.org> (Cherry picked from commit 9abcb9371bccc8aed6fea273058c322f4a886a2d git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git) Change-Id: I8ca3bb9bda2e25147d31721094399f42bb5ed842 Signed-off-by: Vamsi Singamsetty <vamssi@codeaurora.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1720374 Reviewed-by: Julan Hsu <julanhsu@google.com> Reviewed-by: Sean Paul <seanpaul@chromium.org> Tested-by: Julan Hsu <julanhsu@google.com> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
2019-08-20CHROMIUM: netfilter: conntrack: Disable ____nf_conntrack_find gcDanny Mitzel
Conntrack abandoned use of a timer per nf_conn entry [Linux commit f330a7fdbe16 ("netfilter: conntrack: get rid of conntrack timer")]. A periodic garbage collection task was added [Linux commit b87a2f9199ea ("netfilter: conntrack: add gc worker to remove timed-out entries")] and data path functions that walk the conntrack connection table were enhanced to detect and proactively garbage collect expired flows. ____nf_conntrack_find() is one of the functions that now proactively triggers garbage collection. SFE holds a lock while performing packet acceleration. When ARL Qdisc is enabled SFE calls into an ARL hook to enable sampling TCP flow RTT. ARL utilizes nf_conntrack_find_get() to lookup conntrack flow state, which eventually calls into ____nf_conntrack_find(). If a proactive conntrack flow garbage collection is triggered then notification is dispatched to the SFE conntrack event handler, which requires acquireing the SFE state lock. This lock recursion triggers a deadlock / kernel oops. This CL disables the proactive conntrack flow garbage collection in ____nf_conntrack_find() only when both SFE and ARL are enabled. All other data path garbage collection as well as the periodic garbage collection task remain active to reap expired conntrack flow state. BUG=b:138685581 TEST=System test Verified conntrack flow state entries continue to be reaped in a timely manner after expiration. Change-Id: I14228c44c5d0513d6cb925103eeadb3863a45601 Signed-off-by: Danny J. Mitzel <mitzel@google.com> Reviewed-on: https://chromium-review.googlesource.com/1756627 Tested-by: Danny Mitzel <mitzel@google.com> Commit-Ready: Danny Mitzel <mitzel@google.com> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org> Reviewed-by: Kan Yan <kyan@chromium.org>
2019-08-20CHROMIUM: driver: net: Add latency tracking for ARLDanny Mitzel
This is a port from chromeos-3.18 to chromeos-4.14-gw of CL:1121779. (ported from commit b232ebed4d57a8119af30a101551255eb9e02b0c) BUG=b:138685581 TEST=Latency test with heavy upstream traffic. Cq-Depend: chromium:1731583 Change-Id: Ide27d74307da4f142cebf981e68de85b84f11bc8 Signed-off-by: Danny J. Mitzel <mitzel@google.com> Reviewed-on: https://chromium-review.googlesource.com/1731809 Tested-by: Danny Mitzel <mitzel@google.com> Commit-Ready: Danny Mitzel <mitzel@google.com> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org> Reviewed-by: Kan Yan <kyan@chromium.org>
2019-08-19CHROMIUM: net: sched: Adaptive Rate Liming QdiscDanny Mitzel
Adaptive Rate Limiting Qdisc (ARL) is designed for home routers to eliminate bufferbloat at upstream CPE (Cable/DSL) modem. It prevents a standing queue from forming at the upstream node by limit egress throughput to match the available upstream bandwidth. ARL does not use a statically preconfigured limit for its rate limiting. Instead, it passively measures the latency of the TCP connctions on its egress link in realtime and throttles the rate when the minimuim latency of all connections is seen to increase, which indicates the presence of excessive queue at the upstream device. ARL can be applied as root qdisc for WAN interface to prevent upstream bufferbloat at the CPE modem. Queue is then managed locally at the router, by applying another qdisc such as fq_codel as child qdisc. This is a port from chromeos-3.18 to chromeos-4.14-gw of CL:1121778 (ported from commit cee41c3dd7f50e0605368402c1625863ba278216) Note changes introduced as part of Linux-3.18 -> 4.14 porting... * Removed usage of nla_put_u64() [deprecated by Linux commit 5022524308c6 ("netlink: kill nla_put_u64()")], replaced with nla_put_u64_64bit() [introduced by Linux commit 73520786b079 ("libnl: add nla_put_u64_64bit() helper")] that forces 64bit alignment of attribute. This also required definition of TCA_ARL_PAD attribute used for alignment pad. * Removed usage of out-of-line struct ewma [deprecated by Linux commit f4e774f55fe0 ("average: remove out-of-line implementation")] replaced with static / inline macro [introduced by Linux commit commit 2377799c084d ("average: provide macro to create static EWMA")] and adapted to change in 'factor' parameter to 'precision' [introduced by Linux commit eb1e011a1474 ("average: change to declare precision, not factor")]. The old 'weight' parameter of 8 remains unchanged, just renamed 'weight_rcp'. The old 'factor' parameter of 8 translates to 3 bits 'precision'. * Adapt to changes in kernel nanosecond timer APIs, ktime (and ktime_t) are now simple signed 64bit value rather than a union type [Linux commit 2456e8553544 ("ktime: Get rid of the union")]. * The 'zone' parameter passed into nf_conntrack_find_get() is no longer an integer identifier [Linux commit 308ac9143ee2 ("netfilter: nf_conntrack: push zone object into functions")], a pointer to the 'nf_ct_zone_dflt' global const object is now required. * Removed all references to NF_CT_ASSERT() macro. The nf_conn 'timeout' field checked was never actually referenced within the ARL code, the 'timeout.data' pointer was eliminated by conntrack change that switched from using kernel timer to simple timestamp [Linux commit f330a7fdbe16 ("netfilter: conntrack: get rid of conntrack timer")], and the macro has now been totally deprecated [Linux commit 9efdb14f76f4 ("net: Remove CONFIG_NETFILTER_DEBUG and _ASSERT() macros.")]. * Remove nf_ct_is_untracked() check, the UNTRACKED state was deprecated [Linux commit cc41c84b7e7f ("netfilter: kill the fake untracked conntrack objects")] and then the API was completely removed [Linux commit ab8bc7ed864b ("netfilter: remove nf_ct_is_untracked")]. * Adapt to changes in Qdisc_class_ops: - graft(): Replaced function body with call to qdisc_replace(), this appears to be what all the supported Qdisc have migrated to. - get()/put(): APIs were deprecated [Linux commit 143976ce992f ("net_sched: remove tc class reference counting")], new find() API is introduced and basically identical to old get(). * Adapt to changes in Qdisc_ops: - enqueue(): Accepts new packets 'to_free' list, and use qdisc_drop() rather than qdisc_reshape_fail() when packet cannot be forwarded. gso_segment() helper function now also utilizes packets 'to_free' list and qdisc_tree_reduce_backlog() rather than qdisc_tree_decrease_qlen() to update queue length accounting. - dequeue(): Removed call to qdisc_unthrottled(), generic throttled management was deprecated [Linux commit 45f50bed1d80 ("net_sched: remove generic throttled management")]. - drop(): Deprecated [Linux commit a09ceb0e0814 ("sched: remove qdisc->drop")]. - change(): Added call to qdisc_hash_add() after default FIFO child Qdisc is created and when adjusting queue length accounting utilize qdisc_tree_reduce_backlog() rather than qdisc_tree_decrease_qlen(). This is based on coding practices observed in other supported Qdisc (e.g. sch_tbf, sch_prio). Note changes introduced as part of 64bit porting... * Added explicit cast (unsigned long) for first parameter of clamp() when 'lo'/'hi' are 'UL' constants. clamp() strongly enforces type equality at compile time. On 64bit architecture the first parameter (2 * minmax_get() / 1000L) (i.e. int * u32 * long) results in 'signed long' which doesn't match the 'unsigned long' second parameter type. BUG=b:138685581 TEST=Latency test with heavy upstream traffic. Cq-Depend: chromium:1727770, chromium:1730603 Change-Id: I727e4737ba45b8136e70643f159534cf7d06739e Signed-off-by: Danny J. Mitzel <mitzel@google.com> Reviewed-on: https://chromium-review.googlesource.com/1731583 Tested-by: Danny Mitzel <mitzel@google.com> Commit-Ready: Danny Mitzel <mitzel@google.com> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org> Reviewed-by: Kan Yan <kyan@chromium.org>