Commit graph

875,721 commits

Author SHA1 Message Date
Alexei Avshalom Lazar
283c1dcd17 wil6210: publish/receive WMI events/commands through nl
For general debug purposes added functionality for sending WMI
events and receiving WMI commands to/from user-space through vendor
commands.

Change-Id: I889d30bf1f060f75d7ae933735d1d959e53e513e
Signed-off-by: Alexei Avshalom Lazar <ailizaro@codeaurora.org>
[liord@codeaurora.org: fix merge conflicts, checkpatch errors]
Signed-off-by: Lior David <liord@codeaurora.org>
2019-12-12 09:37:41 +02:00
Alexei Avshalom Lazar
2347d58a7c wil6210: BRP antenna limit API
Added vendor command for setting BRP antenna limit.
It allows user space to set the number of antennas that will be active
in different modes for each connection.

Change-Id: I8a0eb1fa4c74b169faeec2761818a5bac60a8196
Signed-off-by: Alexei Avshalom Lazar <ailizaro@codeaurora.org>
Signed-off-by: Lior David <liord@codeaurora.org>
2019-12-12 09:37:36 +02:00
Dedy Lansky
efb3116f2a wil6210: support configurable board file via sysfs
Add a sysfs allowing to override the board file containing
the RF characteristics of the 11ad device.
The new board file will be used the next time the interface
is brought up.
This change is intended to support platforms with multiple
11ad devices connected. Each 11ad device can be connected
to a different antenna module and the HW cannot automatically
detect the type of antenna connected, so the board file must
be explicitly specified for each device.

Change-Id: I40746032d9314057c64575bca96f3445816e5457
Signed-off-by: Dedy Lansky <dlansky@codeaurora.org>
Signed-off-by: Lior David <liord@codeaurora.org>
Signed-off-by: Maya Erez <merez@codeaurora.org>
[liord@codeaurora.org: merge conflicts, checkpatch errors]
Signed-off-by: Lior David <liord@codeaurora.org>
Signed-off-by: Alexei Avshalom Lazar <ailizaro@codeaurora.org>
2019-12-12 09:37:29 +02:00
Dedy Lansky
5899ce5022 wil6210: use country specific board file upon reg domain change
wil6210 device needs to use country specific board file while in China
regulatory domain. Register cfg80211 reg_notifier and switch board
file if needed according to new regulatory domain.
This feature is disabled by default and can be enabled with a new
country_specific_board_file module parameter.

Change-Id: I2f4555d2cf6a565c2c17a70a7a6307cc5ebbc27b
Signed-off-by: Dedy Lansky <dlansky@codeaurora.org>
Signed-off-by: Maya Erez <merez@codeaurora.org>
[liord@codeaurora.org: fix merge conflicts]
Signed-off-by: Lior David <liord@coreaurora.org>
Signed-off-by: Alexei Avshalom Lazar <ailizaro@codeaurora.org>
2019-12-12 09:37:21 +02:00
Alexei Avshalom Lazar
bc997e94d3 wil6210: allow flashless boot when OTP is empty
Use random MAC address for non wmi_only firmware.

Change-Id: Iab8f0aa494528d12051f103a94c6049187e79505
Signed-off-by: Alexei Avshalom Lazar <ailizaro@codeaurora.org>
Signed-off-by: Lior David <liord@codeaurora.org>
2019-12-12 09:37:17 +02:00
Dedy Lansky
7ce702f31b wil6210: drop RX probe reponses with low SNR
FW now reports SNR for RX management frames.
Drop probe responses with SNR lower than the configured threshold.

Change-Id: Ife1863b07aebe5cb6097420290c0c10b590c2da1
Signed-off-by: Dedy Lansky <dlansky@codeaurora.org>
CRs-Fixed: 2143032
Signed-off-by: Alexei Avshalom Lazar <ailizaro@codeaurora.org>
[liord@codeaurora.org: fix merge conflicts]
Signed-off-by: Lior David <liord@codeaurora.org>
Signed-off-by: Alexei Avshalom Lazar <ailizaro@codeaurora.org>
2019-12-12 09:37:12 +02:00
Dedy Lansky
abc9fe894f wil6210: add sysfs for setting connect SNR threshold
snr_thresh sysfs can be used to set omni and direct SNR threshold for
connection.

Change-Id: I091a6b61a1a4cb98e0e8c0f70b2fff4d22486e61
Signed-off-by: Dedy Lansky <dlansky@codeaurora.org>
CRs-Fixed: 2143032
Signed-off-by: Alexei Avshalom Lazar <ailizaro@codeaurora.org>
[liord@codeaurora.org: fix merge conflicts, SPDX license]
Signed-off-by: Lior David <liord@codeaurora.org>
Signed-off-by: Alexei Avshalom Lazar <ailizaro@codeaurora.org>
2019-12-12 09:37:08 +02:00
Lior David
e805517b18 wil6210: support AOA in FTM session
Add support for running AOA measurement as part of an
FTM session.
In order to simplify the implementation both in the driver
and FW, AOA measurement is reported using the same vendor
event and not using QCA_WLAN_VENDOR_ATTR_FTM_PEER_RES_AOA_MEAS.
This way we can also report the antenna array mask which was
missing from the vendor commands API for AOA inside FTM session.

Change-Id: I3962487b2e6fd8e56e6e3953c86fd95abe6a9aa0
Signed-off-by: Lior David <liord@codeaurora.org>
Signed-off-by: Alexei Avshalom Lazar <ailizaro@codeaurora.org>
[liord@codeaurora.org: fix merge conflicts]
Signed-off-by: Lior David <liord@codeaurora.org>
Signed-off-by: Alexei Avshalom Lazar <ailizaro@codeaurora.org>
2019-12-12 09:37:02 +02:00
Lior David
7ffcd595d6 wil6210: potential buffer overflow in wmi_evt_aoa_meas
The code in wmi_evt_aoa_meas can potentially overflow a data
buffer if the len parameter is smaller than
offsetof(struct wmi_aoa_meas_event, meas_data). Add protection
against this case.

Change-Id: I3f86f231e0c6b5ac54abbb9865cba0cbbd8d0448
Signed-off-by: Lior David <liord@codeaurora.org>
Signed-off-by: Alexei Avshalom Lazar <ailizaro@codeaurora.org>
2019-12-12 09:36:50 +02:00
Lior David
cf3b97fa9b wil6210: send uevent when creating sysfs files
Send a KOBJ_CHANGE uevent when creating the wil6210 sysfs directory.
This is mainly needed so selinux policy rules will be applied when
the wil6210 module is dynamically loaded.

Change-Id: I4220c551b8792d419db7a380b16f3c87204be22a
Signed-off-by: Lior David <liord@codeaurora.org>
Signed-off-by: Alexei Avshalom Lazar <ailizaro@codeaurora.org>
2019-12-12 09:36:45 +02:00
Lior David
f0cfac4600 wil6210: add option to ignore OTA regulatory hints
On some platforms, the regulatory domain (country) is set
using mechanisms external to WIFI, such as cellular modem
and GPS. In these scenarios the regulatory hints that
are received over the air (in beacons and similar) can
conflict and even cause an incorrect country to be set.
Add an option to ignore the OTA regulatory hints to better
support such scenarios.

Change-Id: Ia46fe2699f4cc9859713947c0153107462fdec06
Signed-off-by: Lior David <liord@codeaurora.org>
[ailizaro@codeaurora.org: trivial conflict fixes]
Signed-off-by: Alexei Avshalom Lazar <ailizaro@codeaurora.org>
2019-12-12 09:36:39 +02:00
Hamad Kadmany
c6e8883661 wil6210: add sysfs file for enable/disable fst link loss
The new "fst_link_loss" sysfs can be used to enable/disable the fst
link loss behavior for specific connection.

Change-Id: I7afcf86a575ca3add581c8823a3d5567483abcb0
Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>
[ailizaro@codeaurora.org: trivial conflict fixes]
Signed-off-by: Alexei Avshalom Lazar <ailizaro@codeaurora.org>
[liord@codeaurora.org: merge conflicts, checkpatch errors]
Signed-off-by: Lior David <liord@codeaurora.org>
2019-12-12 09:36:33 +02:00
Dedy Lansky
c635afc0fb wil6210: add sysfs for thermal throttling configuration
New sysfs entry "thermal_throttling" can be used to configure
boundaries of each thermal zone.
There are two sets of configurations, one for baseband and one for rf.
Each config contains 3 thermal zones: high, max, critical.
Each zone has high and low temperature set points (in Celsius).
The format for writing is a series of 12 unsigned bytes:
<bb_zone1_high> <bb_zone1_low> <bb_zone2_high> <bb_zone2_low> \
<bb_zone3_high> <bb_zone3_low> <rf_zone1_high> <rf_zone1_low> \
<rf_zone2_high> <rf_zone2_low> <rf_zone3_high> <rf_zone3_low>
To disable thermal throttling for baseband or for rf, use 0 for all
its six set points.

Change-Id: I6990cc0e8375905e4d95e2533d2188be785d9f4a
Signed-off-by: Dedy Lansky <dlansky@codeaurora.org>
[ailizaro@codeaurora.org: trivial conflict fixes]
Signed-off-by: Alexei Avshalom Lazar <ailizaro@codeaurora.org>
[liord@codeaurora.org: fix merge conflicts]
Signed-off-by: Lior David <liord@codeaurora.org>
2019-12-12 09:36:26 +02:00
qctecmdr
2cfd894384 Merge "leds: Add snapshot of QTI Tri-LED driver" 2019-12-11 10:26:41 -08:00
qctecmdr
e0070c9612 Merge "trace/sched: set priority to 150 for deadline tasks" 2019-12-11 10:26:41 -08:00
qctecmdr
763ee50313 Merge "coresight: funnel: add support for duplicating funnel devices" 2019-12-11 09:35:51 -08:00
qctecmdr
9b8098d6c3 Merge "wil6210: added sysfs file for FTM calibration" 2019-12-11 09:35:51 -08:00
qctecmdr
39c96c3723 Merge "firmware: qcom_scm: Export invoke callback response API" 2019-12-11 09:35:51 -08:00
qctecmdr
1cc4527d89 Merge "msm: kgsl: Remove legacy support for clock_set_flags" 2019-12-11 07:56:18 -08:00
qctecmdr
43e27702c9 Merge "coresight: Add snapshot of remote qdss driver" 2019-12-11 05:20:25 -08:00
qctecmdr
72cb2da423 Merge "coresight: Add snapshot of remote etm driver" 2019-12-11 05:20:25 -08:00
qctecmdr
967351300a Merge "arm64: defconfig: Enable EPSS L3 Interconnect driver for Lahaina" 2019-12-11 02:29:32 -08:00
qctecmdr
39c75aab87 Merge "arm64: defconfig: Enable QCOM clock debug features" 2019-12-11 02:29:32 -08:00
qctecmdr
49a82ebc71 Merge "soc: qcom: add secure processor communication (spcom) driver" 2019-12-11 02:29:31 -08:00
qctecmdr
cb426950b7 Merge "msm: kgsl: Add an option to always enable I/O coherency" 2019-12-10 22:16:00 -08:00
qctecmdr
909b1fdcfd Merge "interconnect: qcom: Prevent duplicate BCMs being added to commit list" 2019-12-10 20:53:15 -08:00
qctecmdr
5202070c22 Merge "msm: kgsl: Use bulk clock functions for GMU" 2019-12-10 20:15:31 -08:00
qctecmdr
1680897398 Merge "msm: kgsl: Bring in the GPU bandwidth governor" 2019-12-10 19:32:58 -08:00
qctecmdr
e64d784137 Merge "usb: dwc3: Issue core soft reset upon controller halt failure" 2019-12-10 18:39:03 -08:00
qctecmdr
2e8b7b69e6 Merge "arm64: defconfig: Enable devfreq drivers on Lahaina" 2019-12-10 18:39:03 -08:00
qctecmdr
d040484f53 Merge "sched: turn off the TTWU_QUEUE feature" 2019-12-10 17:17:59 -08:00
qctecmdr
a7abbe4fa3 Merge "hrtimer: make sure PINNED flag is cleared after removing hrtimer" 2019-12-10 16:06:57 -08:00
David Dai
ee11e2f2cb arm64: defconfig: Enable EPSS L3 Interconnect driver for Lahaina
Enable interconnect L3 driver so that consumer can vote
for L3 performance points.

Change-Id: I1ec2064db2c06a3e9c9b04de865c9b78dc3db9c6
Signed-off-by: David Dai <daidavid1@codeaurora.org>
2019-12-10 16:02:54 -08:00
qctecmdr
e7dbaac319 Merge "arm64: defconfig: Enable spss_utils driver on Lahaina" 2019-12-10 15:15:00 -08:00
qctecmdr
371b1889be Merge "interconnect: qcom: Add EPSS L3 support for Lahaina" 2019-12-10 15:15:00 -08:00
Mike Tipton
f521455b14 arm64: defconfig: Enable QCOM clock debug features
Enable QCOM-specific clock framework debug features.

Change-Id: I8e1e57fe486ac23b6710624b658f1cd5705d410c
Signed-off-by: Mike Tipton <mdtipton@codeaurora.org>
2019-12-10 14:39:16 -08:00
qctecmdr
d3a7485671 Merge "msm: kgsl: Re-export the UAPI header" 2019-12-10 14:21:24 -08:00
Siddharth Gupta
5efbab93ed firmware: qcom_scm: Export invoke callback response API
Adding qcom_scm_invoke callback_response as an exported symbol.

Change-Id: I2cb0f91649c4580952f888925eb2b1ca8db5b849
Signed-off-by: Siddharth Gupta <sidgup@codeaurora.org>
2019-12-10 13:14:37 -08:00
Siddharth Gupta
b4f766a33e firmware: qcom_scm: Move qseecom specific workarounds
Move qseecom specific workarounds to the main file. This allows
access to the scm device struct.

Change-Id: I08bb227e88a7ba21bce0d3e7911819b07815c83f
Signed-off-by: Siddharth Gupta <sidgup@codeaurora.org>
2019-12-10 13:14:19 -08:00
qctecmdr
365ba81c39 Merge "clk: qcom: Add additional clock debugfs support" 2019-12-10 12:44:53 -08:00
qctecmdr
72f168d252 Merge "ALSA: compress: Add support to send codec specific data" 2019-12-10 12:44:52 -08:00
qctecmdr
03b0aae5ad Merge "usb: dwc3: gadget: Clear pending events when stopping controller" 2019-12-10 12:44:52 -08:00
qctecmdr
2ddc6eedce Merge "defconfig: lahaina-gki: Enable PWM LPG driver" 2019-12-10 11:53:49 -08:00
David Dai
f1441eef72 interconnect: qcom: Prevent duplicate BCMs being added to commit list
Having the same node being added to bcm voter commit list will result
in an infinite loop when walking through the list. Prevent the same
node from being added multiple times by checking bcm->list and
clean up commit list after sending the commands to RPMh.

Change-Id: Ie210437df43efd537bdcb0143b03423964ac3840
Signed-off-by: David Dai <daidavid1@codeaurora.org>
2019-12-10 11:16:27 -08:00
Guru Das Srinagesh
67222c1d60 leds: Add snapshot of QTI Tri-LED driver
The QTI Tri-LED driver enables the configuration of the output of LED
channels in the TRI_LED and HR_LED peripherals found in QTI PMICs.

This is a snapshot of the driver taken from msm-4.19 as of commit
cf2cbb63fb60 ("Merge "input: touchscreen: synaptics_tcm: enable touch
driver"") with the following modifications:
  - Remove the setting of struct pwm_output_pattern to NULL in
    __tri_led_config_pwm()
  - Remove LED_KEEP_TRIGGER from qpnp_tri_led_register()
  - Add a MODULE_SOFTDEP link to the QTI PWM LPG driver so that modprobe
    can enforce the functional dependency on it.

Change-Id: I7ceb2ff1a9ed1fec09651744ec2e7b2ba73f1bae
Signed-off-by: Guru Das Srinagesh <gurus@codeaurora.org>
2019-12-10 10:53:13 -08:00
qctecmdr
86a95dd4c5 Merge "msm: adsprpc: Updating dependencies for fastrpc driver" 2019-12-10 09:45:04 -08:00
qctecmdr
a87cdbf216 Merge "arm64: defconfig: Enable printing unhashed pointers on Lahaina" 2019-12-10 09:45:04 -08:00
qctecmdr
8dfdffcaa9 Merge "timer: create timer_quiesce_cpu() to isolate CPU from timers" 2019-12-10 09:45:03 -08:00
Konstantin Dorfman
604969f6fa soc: qcom: add secure processor communication (spcom) driver
This driver supports communication with secure processor subsystem
(SPSS) over rpmsg and ungerlying glink transport layer. The
communication is based on using shared memory and interrupts.
Add snapshot for spcom driver from msm-4.19 commit b3159f82fb1b
("soc: qcom: spcom: fix active pid clean up").

Change-Id: Ic35584e8770980e2f480949808529a1d933da1f6
Signed-off-by: Konstantin Dorfman <kdorfman@codeaurora.org>
2019-12-10 17:23:44 +02:00
Jordan Crouse
535809c234 msm: kgsl: Remove legacy support for clock_set_flags
There are a few a3xx and a5xx targets that use the downstream API
clk_set_flags() for power control.  The bad news is that this is API is
not upstream, but the good news is that none of the targets that require
it are likely to be used in this kernel so we can safely keep most
of the target support and replace these calls with a WARN_ON mostly
as a nod to developers that might try to use this code as an example
for adding new target support later.

Change-Id: Ic0dedbad440b410d31a933891e436ea136bc796a
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2019-12-10 08:13:51 -07:00