This change add major revision related information for both
QUSB PHY for msm8996.
Change-Id: I68ae8d863a6e438a8d11061db2c75072f4a4e012
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
In new platform, few set of QUSB PHY related operational registers'
offset and usage is changed. This change adds QUSB PHY power up
and PLL lock functionality for QUSB PHY having major revision 2.
Change-Id: Id44c91481d4c184a1991768baf13adad2fae9fb3
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
Add Bluetooth device tree for WCN3990 chipset for msm8998.
Change-Id: I45809876336633a496d03e507403944c12f0abb9
Signed-off-by: Sungjun Park <sjpark@codeaurora.org>
To support WCN3990 chipset, add control to configure
regulators and clock.
Change-Id: Ibf0e4a0ebd55adaadb6d26b335c3d0a9edbe8845
Signed-off-by: Sungjun Park <sjpark@codeaurora.org>
Gpio interrupt target needs to be configured to target
cpu subsystem.
CRs-Fixed: 1000634
Change-Id: I539dc604b150f9f23fda09f343cc5e1d25a6ca47
Signed-off-by: Runmin Wang <runminw@codeaurora.org>
PWM devices can be supported on msmcobalt platform. Enable the
driver support for them.
CRs-Fixed: 999988
Change-Id: I96761cd2bf18bce6ef7795b6686c5da72fe11a89
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
This DT bindings documentation snapshot is taken as of msm-3.18
'commit 0b20839e37187 ("Merge "slim-msm: Synchronize SSR callbacks"")'.
CRs-Fixed: 999988
Change-Id: I59681cf42274f70d5f46b869257a838014d8bf61
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
L2 low power modes between silver and gold cluster has inconsistent
names. Rename both L2 dynamic retention mode as 'dynret' and retention
mode as 'ret' to be consistent.
Change-Id: I18f52fa873b332fb6ad644afc565a84bfed154cc
Signed-off-by: Archana Sathyakumar <asathyak@codeaurora.org>
Client closing the device immediately after receiving data leaves
the packet arrival wakeup source in active state and block the system
infinitely from entering into suspend state.
Check the state of wakeup source during close operation and release
if it is active.
CRs-Fixed: 989126
Change-Id: I5ad87614edb1307cffaa798f9b393d816dce012a
Signed-off-by: Arun Kumar Neelakantam <aneela@codeaurora.org>
Use GLINK_OPT_INITIAL_XPORT flag to allow the GLINK core to use
the best transport based on available transports.
CRs-Fixed: 994255
Change-Id: I4a0022954d34d52899d5dd357813c4da90717e2e
Signed-off-by: Arun Kumar Neelakantam <aneela@codeaurora.org>
SMD packet nodes are used by user space clients to communicate with remote
subsystems, replace the SMD packet nodes to GLINK packet nodes to remove
the SMD driver dependence.
CRs-Fixed: 994255
Change-Id: Ic0934d795c2c7c20332358a3da603e093f94d980
Signed-off-by: Arun Kumar Neelakantam <aneela@codeaurora.org>
If the local client of the G-Link channel comes up and waits for the
remote client, then it's states are set accordingly. But if the remote
subsystem is restarted as soon as it boots up, then it's states are
not adjusted accordingly. This causes the G-Link channel states to lose
synchronization once the remote client comes up successfully after the
reset.
Adjust the states of the local client if it is waiting for the remote
client and the remote subsystem is reset as soon as it boots up.
CRs-Fixed: 952834
Change-Id: I5fe327ea61eb2d16591861b1246fdca2ecce2b1c
Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
Update actuator specific I2C addr_type and data_type
structures. Use the strucutres defined by sensor.
CRs-Fixed: 982082
Change-Id: I77753fd25d5a4256a4a4cdd74518facd63becf25
Signed-off-by: Rajesh Bondugula <rajeshb@codeaurora.org>
When the polling interval is updated, the delayed workqueue is cancelled
and requeued with the new polling interval. However, the bw_hwmon IRQ can
come at the same time and try to stop and restart the delayed work (in the
IRQ thread). This can cause a race where the work might be queued twice or
canceled twice and cause a crash.
Fix this race condition by suspending and resuming the HW monitor when we
are updating the polling interval. This entirely avoids the race because
suspending the HW monitor also avoid the possibility of the IRQ coming
during the polling interval update.
CRs-Fixed: 954082
Change-Id: Ic7baf2a3da4ed8f8a9023617059e22fd81c3ba45
Signed-off-by: Saravana Kannan <skannan@codeaurora.org>
In case IPA header has a processing context, header offset is undefined.
This change fixes header log print in case of processing context.
Change-Id: I55e895be945a690a707f6015c09578e31c1de693
CRs-Fixed: 993907
Acked-by: Ady Abraham <adya@qti.qualcomm.com>
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
In order to allow ipa_odu_bridge clients to include only the
dedicated header ipa_odu_bridge.h and also have the symbols
of shared IPA structures and definitions, include ipa.h
from ipa_odu_bridge.h. The clients of ipa_odu_bridge will use
only APIs from ipa_odu_bridge.h.
CRs-fixed: 999935
Change-Id: Ic6da089ebd7878f0d7ceebde7cd8e8549c30182e
Signed-off-by: Amir Levy <alevy@codeaurora.org>
As part of IPA driver refactoring, a separation has been made
between IPA core driver and the IPA clients.
odu_bridge driver has moved to the ipa_clients folder and a
dedicated header file has been created in order to provide
a direct interface between IPA odu_bridge client driver and
other drivers without a direct interaction with the IPA core
driver.
This change moves odu_bridge functions and structure from
ipa.h to the ipa_odu_bridge.h header.
CRs-fixed: 999935
Change-Id: I1b24c4e13daaae3e63c5cacefcbda12b8cfbeeb8
Signed-off-by: Amir Levy <alevy@codeaurora.org>
Add ipc logging ability to odu_bridge driver. Messages will be directed
to ipc logging buffer which can be found in crashdump.
CRs-fixed: 999935
Change-Id: Iadfcf4a88472c54fbfe066fa6304146140b76201
Signed-off-by: Amir Levy <alevy@codeaurora.org>
As part of IPA driver refactoring, a separation has been made
between IPA core driver and the IPA clients.
odu_bridge driver has moved to the ipa_clients folder and a
dedicated header file has been created in order to provide
a direct interface between IPA odu_bridge client driver and
other drivers without a direct interaction with the IPA core
driver.
CRs-Fixed: 999935
Change-Id: Ib5109681c62137d1310539daa816d5229bc08098
Signed-off-by: Amir Levy <alevy@codeaurora.org>
Add ipc logging capability to ipahal sublayer. Messages will be directed
to ipc logging buffers which can be read from debugfs or crash dump.
CRs-Fixed: 999887
Change-Id: I4ef85fc64f465aa0d4901493b80dd676596affcb
Signed-off-by: Ghanim Fodi <gfodi@codeaurora.org>
SMEM_SMEM_STATIC_LOG_IDX is currently unused as its usecase has
been deprecated for a long time. Reallocate the ID to
SMEM_XBL_LOADER_CORE_INFO.
CRs-Fixed: 998028
Change-Id: I5f80603633464e7eea322fde57110e377b72d84c
Signed-off-by: Dhoat Harpal <hdhoat@codeaurora.org>
IPA-driver only suspends the WDI pipe
when rdy_ring_rp value equals to the
value of rdy_comp_ring_wp
Change-Id: I520b7943b85cd61065703c7bf9a5d8efb6302a56
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
wlan will pass the VA to IPA-driver to let
IPA-driver access the values of rdy_ring_rp
and rdy_comp_ring_wp to decive when can
suspend the WDI pipe
Change-Id: I73447c5557d42817ac2214532273e0de638e13d9
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
Add rx_completion_ring and rx_completion_ring_wp
to indicate which pkt descriptor is processed,
also support 64 bits IOVA/PA in ipa-uc.
Change-Id: I4ac096336f5aeb01fbba8241cda987f56edc1232
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
add support for WDI2.0 feature which
wlan HW is 64 bits.
Change-Id: I910ed12f79f58dd1a0b0a58fb1cceb7d79ceaaa4
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
Some of the camera modules need to know the
regulator names to enable based on the use case,
Hence change the regulator API to populate regulator
names as well.
Change-Id: I8205df6ecbeed8eca7ff9a81534edadf51309fe1
Signed-off-by: Lakshmi Narayana Kalavala <lkalaval@codeaurora.org>
Add a new task info flag to represent a task
whose mm struct has been freed. This is used by the
android low memory killer to track tasks whose
mm struct has been freed.
Change-Id: Id72e67e31fb52e07f01fb6e234b102f63b400aa5
Signed-off-by: Abhimanyu Kapur <abhimany@codeaurora.org>
[lmark@codeaurora.org: resolve trivial merge conflicts]
Signed-off-by: Liam Mark <lmark@codeaurora.org>
The memory reclaim code needs to give time to the system to
return the memory from a killed process otherwise the memory
reclaim code could run continuously, in multiple threads,
which could starve both the watchdog thread and the thread
which is responsible for returning the memory from the
killed process.
Change-Id: Ieded4bfe038ca936247fa4b638070e979b02eaa1
CRs-fixed: 447740
Signed-off-by: Liam Mark <lmark@codeaurora.org>
The lowmemorykiller uses the TIF_MEMDIE flag to help ensure it doesn't
kill another task until the memory from the previously killed task has
been returned to the system.
However the lowmemorykiller does not currently look at tasks who do not
have a tasks->mm, but just because a process doesn't have a tasks->mm
does not mean that the task's memory has been fully returned to the
system yet.
In order to prevent the lowmemorykiller from unnecessarily killing
multiple applications in a row the lowmemorykiller has been changed to
ensure that previous killed tasks are no longer in the process list
before attempting to kill another task.
Change-Id: I7d8a8fd39ca5625e6448ed2efebfb621f6e93845
Signed-off-by: Liam Mark <lmark@codeaurora.org>
Wehn adbd is closing eps, it is trying to unregister gadget and UDC.
When VBUS is not present and cotroller is into low power mode.
ffs_func_disable() also invokes controller's PM idle as well. This
results into unclock register access when dwc3_gadget_stop() is
called by unregister_gadget_item(). Fix this issue by resuming
controller from dwc3_gadget_stop().
Change-Id: I469e8609bf23bee97b3f9c612401aaf92bc72a30
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
Limit the Silver and Gold cluster frequency to 300 MHz.
This is necessary to ensure stable operation until
thermal management is enabled.
Change-Id: I965a463ec4808d72ac8fc9d7aa98011ab45c984e
Signed-off-by: Osvaldo Banuelos <osvaldob@codeaurora.org>
Currently, there is an assumption that the Fmax differs
from the minimum frequency. This is not necessarily true
if the Clock CPU device defines a single frequency. Fix
this by only adding a maximum frequency/voltage pair to
the OPP table if the maximum frequency differs from the
minimum supported frequency.
Change-Id: I6224ecb800bcbca821f42abec43bc57ee701ce80
Signed-off-by: Osvaldo Banuelos <osvaldob@codeaurora.org>
Add CCPM/QVIT in WLAN mode and add support fo setting
WLAN mode from command line.
CRs-Fixed: 986484
Change-Id: I5921dc3978bf96221b50148bb2f86b0ffed3b5fb
Signed-off-by: Yuanyuan Liu <yuanliu@codeaurora.org>
Allocate msa memory in icnss_probe before SMMU attached
instead of in qmi indication callback. So that we can get
contiguous DMA address.
CRs-Fixed: 987584
Change-Id: Ifea6c2de94071719ffede0f641f8a47526bc9e03
Signed-off-by: Yuanyuan Liu <yuanliu@codeaurora.org>
Add support of skiping QMI messaging when ICNSS driver is initialized.
So that we can disable QMI communication between WLAN Host and FW when
QMI framework is not supported.
CRs-Fixed: 978953
Change-Id: I7a9a61c8aa11bd5c0f5f2effc487a2225e27011d
Signed-off-by: Yuanyuan Liu <yuanliu@codeaurora.org>
Add device tree information for RTC device in pmic file
for msmcobalt.
Change-Id: I26cc21856e9a26be71af6aa91d50e5af2f9fefc6
Signed-off-by: Mohit Aggarwal <maggarwa@codeaurora.org>
Seeing rmnet_ipa3 causing the device
crashed when ipa3 not initialized. The
fix is to add the check when rmnet_ipa
try to register the
ipa3_register_ipa_ready_cb.
Change-Id: I55618784befc61e37e68d3b8d8c7c5c30f45e4fc
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
In previous commit cd958296ac
("wil6210: enable WA for PCIe HW errata")
relaxed ordering (bit 5) was set, in addition
to the 'No snoop" setting.
Enabling relaxed ordering can cause a race condition
between the write transactions and interrupts when
using INT instead of MSI.
As relaxed ordering is not required to resolve the
PCIe HW issue, it should be disabled.
CRs-Fixed: 998870
Change-Id: I53113d6454de577d4e68f226975a078889d6b2c3
Signed-off-by: Maya Erez <merez@codeaurora.org>
PBSS (Personal Basic Service Set) is a new BSS type for DMG
networks. It is similar to infrastructure BSS, having an AP-like
entity called PCP (PBSS Control Point), but it has few differences.
PBSS support is mandatory for 11ad devices.
Add support for PBSS by introducing a new PBSS flag attribute.
The PBSS flag is used in the START_AP command to request starting
a PCP instead of an AP, and in the CONNECT command to request
connecting to a PCP instead of an AP.
Change-Id: I9f26a8ff8433268240eb9443befadc0d279a0293
[liord@codeaurora.org: added missing attributes to nl80211.h
that were added in upstream kernel before the PBSS attribute,
in order to keep the ABI compatible]
Signed-off-by: Lior David <liord@codeaurora.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Git-commit: 00807f28573a101dc2833f0075e806b9874f306c
Git-repo: https://github.com/kvalo/ath.git
CRs-Fixed: 982931
Signed-off-by: Maya Erez <merez@codeaurora.org>
Switch to auto-generated version of wmi.h which is maintained
by FW team. This will allow better sync between teams in the
future and avoid bugs because of unexpected API changes.
The wmi.h will have many differences but most are cosmetic.
It also includes these real differences:
1. is_go parameter added to BCON_CTRL and START_PCP commands.
2. max_rx_pl_per_desc added to CFG_RX_CHAIN command.
3. various small API updates that are not currently used by
driver.
Change-Id: I20921a97b02dce0507f58c4951ce539a2aae5597
Signed-off-by: Lior David <qca_liord@qca.qualcomm.com>
Signed-off-by: Maya Erez <qca_merez@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Git-commit: b874ddecae0a087aee024ef808c63060434a2d50
Git-repo: https://github.com/kvalo/ath.git
CRs-Fixed: 987415
Signed-off-by: Maya Erez <merez@codeaurora.org>
Add support for discovery mode during scan. When discovery mode
is active, station transmits special beacons while scanning.
This can optimize the scan mainly when there is only one AP/PCP
around.
Discovery mode is implicitly used by firmware during P2P search.
Since there is currently no use case where user space has a
reason to directly control discovery mode, we expose it only
through a debugfs flag.
Also fix name confusion in the wmi_scan_type enumeration.
The type previously called WMI_LONG_SCAN is actually
WMI_ACTIVE_SCAN.
Change-Id: I05b99ec66b0da41697f41c547aab0b0497dd9be6
Signed-off-by: Lior David <qca_liord@qca.qualcomm.com>
Signed-off-by: Maya Erez <qca_merez@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Git-commit: 74997a53d257e327699e359b78b3ecfd33f80cab
Git-repo: https://github.com/kvalo/ath.git
CRs-Fixed: 982931
Signed-off-by: Maya Erez <merez@codeaurora.org>
MAC address of wil6210 was not set in wiphy
Change-Id: I5018f40be6a71b4b8c7c3ee94c8e70cfa1fb373a
Signed-off-by: Hamad Kadmany <qca_hkadmany@qca.qualcomm.com>
Signed-off-by: Maya Erez <qca_merez@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Git-commit: b42f11963f7bd8c54d0a28d679c13d9e83b85357
Git-repo: https://github.com/kvalo/ath.git
CRs-Fixed: 987415
Signed-off-by: Maya Erez <merez@codeaurora.org>
wmi_evt_connect doesn't check if the connect event is received for
an already connected station.
This can lead to memory leak as a new vring is allocated without
freeing the previously allocated vring and to unexpected behavior
of nl80211 layer due to unexpected notification of a new station.
Add a check in wmi_evt_connect in AP mode to verify that the requested
CID is not associated to an already connected station.
Change-Id: I0e438d437154b1b47c572218072a736da5013c80
Signed-off-by: Maya Erez <qca_merez@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Git-commit: 3d287fb398c03189a1394778162f6404e4d44ad2
Git-repo: https://github.com/kvalo/ath.git
CRs-Fixed: 982882
Signed-off-by: Maya Erez <merez@codeaurora.org>
WMI synchronous handling has changed and WMI calls that provide
a buffer for the reply are completed in the WMI interrupt context.
This allows sending the RX and TX BACK commands from the WMI event
handler without the need for the worker thread.
This is a better approach as it can decrease the handshake time
in the connect flow and prevent race conditions in case of fast
disconnects. An example for such a race is handling of wil_back_rx_handle
during a disconnect event, as wil_back_rx_handle is not protected by
the wil mutex and a disconnect can be handled after sta->status is
verified as connected.
Change-Id: I7d6e3cf5e8abab45da5febc0129fb67830d9e6cb
Signed-off-by: Maya Erez <qca_merez@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Git-commit: 361486b27c7e57dab657dbffd1e17818c7911c72
Git-repo: https://github.com/kvalo/ath.git
CRs-Fixed: 982882
Signed-off-by: Maya Erez <merez@codeaurora.org>
Add the ability to notify the platform driver on different
events, such as FW crash, pre reset and FW ready.
Change-Id: I796b06fae4376cda792d7f26a430ad4580899846
CRs-Fixed: 986135
Signed-off-by: Maya Erez <merez@codeaurora.org>