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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Enable interconnect L3 driver so that consumer can vote
for L3 performance points.
Change-Id: I1ec2064db2c06a3e9c9b04de865c9b78dc3db9c6
Signed-off-by: David Dai <daidavid1@codeaurora.org>
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>
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>
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>
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>
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>