When a system is entering RPM assisted sleep, the NOACK messages are
not accounted in preventing such sleep modes as no driver is waiting
on it. In such scenarios, some active messages could still be in the
Apps RX buffer which reduces the number of outstanding sleep messages.
Fix by accounting for NOACK messages while flushing sleep set requests
and ensuring that they are read before sending any sleep set requests.
The original changes were reverted to address issues with SMD transport.
This change includes fixes from earlier squashed into a single commit.
Change-Id: I5570d7694424d0a602c446c0af098a64ffa681e4
Signed-off-by: Mahesh Sivasubramanian <msivasub@codeaurora.org>
Signed-off-by: Maulik Shah <mkshah@codeaurora.org>
On debug setups where the battery is not present, we need a way
to fake battery capacity instead of reporting some incorrect
/non-existent value. Provide means for the userspace to setup
a fake battery capacity.
Change-Id: Iff3ee1009d9c3215433cc267f016ef9cf2a9bff2
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
Implement VOLTAGE_MAX_DESIGN to expose the battery float voltage. This
property will reflect the values read from battery profile and will
will be used for setting the max voltage on charging chips.
Change-Id: I4b9028f8930ac2f3de6c043fa145494f37322160
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
Currently the name of the votable that suspends usb is INPUT_SUSPEND.
However, the PMI has two inputs - USB and DC. The dc suspending votable
is correctly named DC_SUSPEND. So rename the INPUT_SUSPEND to an
appropriate name - USB_SUSPEND.
Change-Id: Ia5ea1b139f5e9d560dc6492aa9fc13ffeeda83ca
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
with SMMU enable, the API page_to_phys() is
failed to get PA of the sg_page tbl. The WA
is to have wlan-driver directly send the PA
to ipa-driver.
Change-Id: I7750102222d519969da0d597a6591aa728abb27a
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
DEEP-NAP and SLEEP states are not used in targets of previous
two generations. They are neither saving GPU power, nor saving
system power. Remove to reduce maintenance overhead.
CRs-Fixed: 1053516
Change-Id: If2fc2701548f90bb7ea9559a87752e13a7b0f736
Signed-off-by: George Shen <sqiao@codeaurora.org>
For WLAN hardware to enter low power mode, LDO25 voltage needs to
be at 3.1V. Change the regulator node to add this change.
Also for icnss driver votes for LDO7, LDO17 and LDO25, use pin
control regulator votes.
CRs-fixed: 1059101
Change-Id: I894631f6085410bd9961a0e00ca5eb2cd7d0c5bd
Signed-off-by: Prashanth Bhatta <bhattap@codeaurora.org>
Hardware characterization has shown that ROs 10 and 12 should be
used along with RO 13 on MSMCOBALT v2 for the highest VDD_GFX CPR
corner (Turbo L1). Specify their target quotient values.
Change-Id: Id2084fd8913468372ad78ecf0d41427171f87bab
CRs-Fixed: 1054539
Signed-off-by: David Collins <collinsd@codeaurora.org>
Updating the GPU SMMU settings to match the settings
used during pre-sil testing.
Change-Id: I70e0b87c3575f5778726ae2855d68bf0e560206a
Signed-off-by: Jonathan Wicks <jwicks@codeaurora.org>
When the regulators are not managed by SDHCI host driver (i.e.,
when host->vmmc and host->vmmcq are absent), get the regulator
current capabilities through a new host op get_current_limit().
Change-Id: I097349ad4d2e8ffbafbeb5fe65910894fe909bd6
Signed-off-by: Sahitya Tummala <stummala@codeaurora.org>
Signed-off-by: Sayali Lokhande <sayalil@codeaurora.org>
This deliberately changes the behavior of the per-cpuset
cpus file to not be effected by hotplug. When a cpu is offlined,
it will be removed from the cpuset/cpus file. When a cpu is onlined,
if the cpuset originally requested that that cpu was part of the cpuset, that
cpu will be restored to the cpuset. The cpus files still
have to be hierachical, but the ranges no longer have to be out of
the currently online cpus, just the physically present cpus.
Change-Id: I3efbae24a1f6384be1e603fb56f0d3baef61d924
[ohaugan@codeaurora.org: Port to 4.4]
Git-commit: f180bcac788464a0baf3d79d76dd86d6972ea413
Git-repo: https://android.googlesource.com/kernel/common/msm.git
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
The location of some fuel gauge SRAM registers have changed in
PMICOBALT v2. Add a new SRAM register map for v2 to handle these changes.
Change-Id: I1fcfce8e56b1d4e8b8f54457193cd547fb5e3de7
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
IPA-driver should request for
aggre2_noc_clk via bus driver.
Change-Id: I2f44b44a27ae93c6dd46cc6829d68ea1117ba237
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
Wlan need to pass the VA to let the IPA-driver
decide when to suspend the WDI pipe in SMMU
enabled scenario.
Change-Id: I00ae7f088c7411c8a6420f5e7ab12276d65fd269
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
This change is to fix issues reported when OUTPUT and OUTPUT2
ports enabled in Venus. In this case following are the rules
- s_fmt on OUTPUT port updates OUTPUT port dimensions.
- s_fmt on CAPTURE port updates CAPTURE port dimensions.
- reconfig dimensions are always updated on OUTPUT port.
- All clocks scaling, bus scaling uses max of both ports.
- DCVS is based on reconfig, CAPTURE and OUTPUT port dims.
CRs-Fixed: 1044772
Change-Id: Ib45424c70f995d856ad27107ae3ea24a59ca4e74
Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>
Signed-off-by: Abdulla Anam <abdullahanam@codeaurora.org>
Set the status property of the qcom,memlat-mon-cpu4 device. This is
required for partial binned devices.
Change-Id: I246a5f5149e492aba4f7c3920296d4bd3d873de0
Signed-off-by: David Keitel <dkeitel@codeaurora.org>
Using first fit algorithm to select the remote rx intent from the
list is not optimal way.
Optimize the selection of intent from list using the best fit algorithm.
CRs-Fixed: 1058750
Change-Id: I7b2a70188975b75a0fbcd2a6cb26f28cc0258532
Signed-off-by: Dhoat Harpal <hdhoat@codeaurora.org>
Antenna Sharing GPIO need to be toggled between QCA PCIe and SDIO
devices based on the requirement. If SDIO device is to be operational,
this GPIO should be turned ON high.
Expose API to CLD Driver to control this GPIO for dual-wifi platforms.
CRs-Fixed: 1013494
Change-Id: I271ba273a4c70717f066d219ff02e8f0f56e2ac3
Signed-off-by: Komal Kumar <kseelam@codeaurora.org>
Dynamic Mode Change Feature Request, needs to power ON
QCA Chip during system bootup to get Firmware Capabilities.
Today the implementation is only during driver load, platform driver
power up the chip and call the device driver probe and call device driver
remove and cut the chip power during driver unload.
As part of this feature request, driver needs API to power down and
power up chip after ifconfig down and before ifconfig up.
CRs-Fixed: 1009901
Change-Id: I8e964c6bb8d6d8fb6f4bfba17a6b24b97509953c
Signed-off-by: Komal Kumar <kseelam@codeaurora.org>
Interrupt Storm is observed on the APPS side, when PCIe link down is
simulated, as FW keeps generating interrupts to host, as it's not aware
of the PCIe link down.
When PCIe link down is identified, wlan platform driver schedules work
to start recovery. During Recovery we cut down power to QCA6174, which
stops the interrupt storm. During the window where platform driver
schedule work and the work actually gets schedules, interrupt storm
happened and the APPS triggered watchdog.
Change-Id: Ica3c32007bc9b8acce79c5bb2175790ff27180d0
CRs-Fixed: 967956
Signed-off-by: Komal Seelam <kseelam@codeaurora.org>
The WIFI PCIe Clock is controlled by WLAN_EN gpio.
On Dual-WiFi Platforms, QCA WIFI SDIO chip clock sourced by PCIe Clock.
Turning off WLAN_EN gpio would result in SDIO WIFI Functional Failures.
Control the gpio, based on the platform.
CRs-Fixed: 990796
Change-Id: I1399cd8aa53d1c6fd6b8ff0c5cce66b978770dbd
Signed-off-by: Komal Seelam <kseelam@codeaurora.org>
Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
Fix issues raised by static analyzer:
1. initialize "retval" before being returned from the driver function.
2. Check return value of the function create_singlethread_workqueue()
and return -ENOMEM if it failed. If creation of the workqueue
failed, then both queue_work() and queue_delayed_work() calls will
later crash, as they expect the workqueue pointer to be a non-NULL
value. Also add clean-up code for this.
3. check return value of the snprintf() call as array 'buf' of size
16 may use index value(s) 16...20.
CRs-Fixed: 995687
Change-Id: I89d9f7cacbcf23de43a7e96556d1ac65911126d6
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
vdd-wlan-xtal-aon-supply(LD0-4) need to be voted by cnss platform
driver to keep wlan XO(LDO-5) ON during APPS suspend on mdmcalifornium
platforms when wlan is turned ON as per Power UP sequence. Currently
LDO-4 is only voted by USB driver when USB is connected. On removing USB,
LDO-4 is turned off resulting LDO-5 turned off.
When WLAN is turned on removing LDO-5 vote resulted in beaconing failures
on mdmcalifornium platforms. Hence add a dummy vote to LDO-4 when WLAN is
turned ON.
Change-Id: I0c6e7a6c2dc6a51fb19a9d31ceb6823fe9a05ae2
CRs-Fixed: 996537
Signed-off-by: Komal Seelam <kseelam@codeaurora.org>
Synaptics touch controller does not go to sleep in suspend because
L6 is still enabled. Disable L6 in suspend to ensure CTP go into
sleep mode.
Change-Id: I40f3f380c1a85c292029d4e22e49bebf25bd198c
Signed-off-by: Mao Li <maol@codeaurora.org>
During device resume, the touch resume function is called after
display resume. Touch resume function will take about >200ms.
Defer the touch resume function to a workqueue to reduce the total
device resume time. An optional DT property is added to enable this
on targets that need this feature.
This change has been merged. Now, touch driver was updated to V2.6,
so, merge this change to V2.6 driver.
Change-Id: Ica477f35bd4fda59eb49c9b4f5e88b460366c761
Signed-off-by: zhaoyuan <yzhao@codeaurora.org>
Because of a change in the underlying bus driver, the secure touch
layer in the input drivers is now required to control directly the
clocks which are needed during the touch sessions. The clocks which
are associated with the underlying I2C bus are clk_gcc_blsp1_ahb_clk
and clk_gcc_blsp1_qup3_i2c_apps_clk. These clocks are turned on/off
when the secure touch session is started/ended.
CRs-Fixed: 990820
Change-Id: Ie2f6f5b736b27792e6e4dc2c39064e0ebdc03d7b
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
Signed-off-by: Abinaya P <abinayap@codeaurora.org>
Update F12 touch report function with adding input_sync to
correct the pointer reporting status.
Change-Id: Iefe24525a9551736a6044697b447a25e2c5c65ca
Signed-off-by: Mao Li <maol@codeaurora.org>
This patch creates two sysfs files for secure touch - secure_touch
and secure_touch_enable, which will be accessed by secure UI app.
We also define the store and show function for these sysfs files.
Change-Id: Id43118120d4a1f0682904f48b3584d3ba62ef1dd
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>