During modem WDOG bite scenarios, error handlers are not executed
in modem. So Adrastea may not be in reset when SSR notifications
are received in HLOS. Remapping MSA0 during SSR could cause SMMU
fault at Adrastea, as it may be still accessing it. Skip collecting
MSA0 dump in WDOG bite scenarios.
CRs-Fixed: 1102057
Change-Id: I9082d4d40b70d0ca8cc8fbc6aadf14b2f0aedd0c
Signed-off-by: Sameer Thalappil <sameert@codeaurora.org>
In some specific cases, clients may want to know why subsystem
crashed, for example, in case of watch dog bite, subsystem may not
be able to execute error handling. Which would need different code
paths to be exercised on the apps processor.
Change-Id: I073733b8a56b57f14906b25cba08012c2f0b414a
Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org>
As it turns out, the KASLR code breaks CONFIG_MODVERSIONS, since the
kcrctab has an absolute address field that is relocated at runtime
when the kernel offset is randomized.
This has been fixed already for PowerPC in the past, so simply wire up
the existing code dealing with this issue.
Change-Id: Ib01e32f2c5cd3d6feff6321a897ed8d276bc3be3
Cc: <stable@vger.kernel.org>
Fixes: f80fb3a3d508 ("arm64: add support for kernel ASLR")
Tested-by: Timur Tabi <timur@codeaurora.org>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Git-commit: 9c0e83c371cf4696926c95f9c8c77cd6ea803426
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Signed-off-by: Runmin Wang <runminw@codeaurora.org>
Right now the vmpressure window is of constant size 2MB, which
works well with the following exceptions.
1) False vmpressure triggers are seen when the RAM size is greater
than 3GB. This results in lowmemorykiller, which uses vmpressure
events, killing tasks unnecessarily.
2) Vmpressure events are received late under memory pressure. This
behaviour is seen prominently in <=2GB RAM targets. This results in
lowmemorykiller kicking in late to kill tasks resulting in avoidable
page cache reclaim.
The problem analysis shows that the issue is with the constant size
of the vmpressure window which does not adapt to the varying memory
conditions. This patch recalculates the vmpressure window size at
the end of each window. The chosen window size is proportional to
the total of free and cached memory at that point.
Change-Id: I7e9ef4ddd82e2c2dd04ce09ec8d58a8829cfb64d
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
Low Power Island(LPI) has a GPIO controller which can
support 32 GPIOs, add pinctrl driver to handle GPIOs of LPI.
Change-Id: Id7d5d9a9b3a0ced59e1cc893ce0eb27dab6674a6
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
Remove rpm-standalone flag under rpm_bus to allow communication
between APPS and RPM processors for msmfalcon.
Change-Id: I1736dc8a2a34ece02aaec70c867c7a0993fa82c7
Signed-off-by: Raju P.L.S.S.S.N <rplsssn@codeaurora.org>
Similar to tracking average burst length for tasks, average sleep time
indicates how much a task sleeps on an average before waking up to run.
Very low sleep and burst lengths indicates tasks that could be
sensitive to task-wake latencies and hence should not be packed.
Change-Id: Ife68a9a9a9e596246aab5029f60e41c5bad781e4
Signed-off-by: Srivatsa Vaddagiri <vatsa@codeaurora.org>
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
Introduce sched_short_burst tunable to classify "short-burst" tasks.
These tasks are eligible for packing to avoid overhead associated with
waking up an idle CPU. select_best_cpu() ignores power-cost and selects
the CPU with least wakeup latency which is not loaded with IRQs and
can accommodate this task without exceeding spill limits. The ties are
broken with load followed by previous CPU.
This policy does not affect cluster selection but only CPU selection
in the selected cluster. The tasks eligible for "wakeup-up-idle" and
"boost" are not considered for packing. This policy is applied for
both "fair" and "rt" scheduling class tasks.
Change-Id: I2a05493fde93f58636725f18d0ce8dbce4418a30
Signed-off-by: Srivatsa Vaddagiri <vatsa@codeaurora.org>
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
Track burst length for tasks as time they ran from wakeup to sleep.
This is used to predict average time a task may run when it wakes up
and thus avoid waking up idle cpu for "short-burst" tasks.
Change-Id: Ie71d3163630fb8aa0db8ee8383768f8748270cf9
Signed-off-by: Srivatsa Vaddagiri <vatsa@codeaurora.org>
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
Initialize the spin lock only once per memory device channel
while initializing the channel and channel buffers.
Change-Id: Iabf2db03436102310ef85f04b59e6160d49ef5f5
Signed-off-by: Sreelakshmi Gownipalli <sgownipa@codeaurora.org>
Signed-off-by: Manoj Prabhu B <bmanoj@codeaurora.org>
Model and configure MDSS DSI PLL using upstream clock framework
APIs. Add changes to define and register vco, divider, mux clcoks
as per common clock infrastructure.
Change-Id: Idc51070e2bb36d1a757d2714d2875a99901321a7
Signed-off-by: Sandeep Panda <spanda@codeaurora.org>
Currently, on open and close notification for channels,
the dci clients are updated accordingly. The list
traversal for active dci clients are not mutex protected.
Also searching for command registration in table is not
properly protected. This patch mutex protect the list
traversal and command registration table search to avoid
stale entries.
Change-Id: I015d6674afd605c63cd01ceec0109d9da5462629
Signed-off-by: Mohit Aggarwal <maggarwa@codeaurora.org>
HPG Rev 1.0 is a basic bring up implementation of HDMI PHY/PLL.
This change absorbs the changes upgrade to HPG Rev2.0.
CRs-Fixed: 1033918
Change-Id: I768463aaad17f7be5d3fe11d7ca23d422833cfe5
Signed-off-by: Lei Chen <chenl@codeaurora.org>
In smblib_get_prop_usb_online() and smblib_get_prop_dc_online(),
used incorrect VALID_INPUT_POWER_SOURCE_BIT check. Now change
to VALID_INPUT_POWER_SOURCE_STS_BIT check.
Change-Id: I70489775b2a99afff8b26366758834a98b1ffb30
Signed-off-by: Vic Wei <vwei@codeaurora.org>
CRs-Fixed: 1102132
Move topology_init to postcore initcall to retrieve
cpu frequency table early in boot from OPP.
Change-Id: If715f611c48e91e360caa58f44e20ee17fcb6948
Signed-off-by: Srinivas Ramana <sramana@codeaurora.org>
Add POWER_SUPPLY_PROP_SET_SHIP_MODE property to set ship mode. In
ship-mode, the bat-fet is opened and battery is completely disconnected
from the system.
CRs-Fixed: 1092969
Change-Id: Idc50342df8600f482a16f9a2f3a97773c3487eb8
Signed-off-by: Fenglin Wu <fenglinw@codeaurora.org>
In ship mode the charger module opens the bat-fet and disconnects the
battery from the system. This is for the non-removable battery designs
to avoid them from being discharged when shipped/on-shelf.
The ship mode is enabled during the final stage of power-off typically
from the PON driver. Hence, add property POWER_SUPPLY_PROP_SET_SHIP_MODE
to force the device into ship-mode.
CRs-Fixed: 1092969
Change-Id: I43893355db063d99b6faf965093fad74ec0c9253
Signed-off-by: Fenglin Wu <fenglinw@codeaurora.org>
The previous commit added support for specifying the beacon rate
for AP mode. Add features checks to this, and extend it to also
support the rate configuration for mesh networks. For IBSS it's
not as simple due to joining etc., so that's not yet supported.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Git-commit: 8564e38206de2ff005a27c8d7c2ce3869a44f0dd
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git
CRs-fixed: 1096202
Change-Id: I3bf27dc2f3f5ee035434da96b3b6caeda29bed7b
[pkushwah@codeaurora.org: an additional check for NULL chan in chandef is
added before the validation.
backport to 4.4-This commit includes the changes from following commits
in include/uapi/linux/nl80211.h to compile for msm-4.4.
0c9ca11b1ae8eb16c1b6bbae91991392d2321372 :
cfg80211: Add global RRM capability
c6e6a0c8be575c830a97b1942dabeab70f423fe0 :
nl80211: Add API to support VHT MU-MIMO air sniffer
1d76250bd34af86c6498fc51e50cab3bfbbeceaa :
nl80211: support beacon report scanning ]
Signed-off-by: Purushottam Kushwaha <pkushwah@codeaurora.org>
GPIO5 on PMI8998 is used for home key on QRD8998HB device, configure it
to input and pull up for GPIO key detection.
CRs-Fixed: 1098764
Change-Id: I3aa8da3222668739042215a55e2a10b582d44c8b
Signed-off-by: cyizhao <cyizhao@codeaurora.org>
It is needed to enable remote file system on modem processor, which
needs access to store data onto eMMC/UFS device.
The shared memory size used by modem and apps for this purpose is 2MB
on msmfalcon.
Change-Id: Id0cdd7f27b42c261966bb5e92d8229fa234445c4
Signed-off-by: Sahitya Tummala <stummala@codeaurora.org>
For a full battery, the driver currently reports battery full
only when the charger is online and switches back to reporting
discharging when charger is removed.
This is incorrect because a user might reinsert the charger
seeing discharging status right after he removes it only to
realize that the battery is full after he plugs it back.
So allow the full status to be reported even when no charger is
online.
Change-Id: I0c31e2fbe984420a6754e923cfc3abe77bc54991
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
usb audio qmi driver is incorrectly passing non-zero alternate
interface related class specific buffer to parse the UAC header.
This is causing driver to respond with incorrect bcdADC value.
Fix this issue by reading the cached audio control interface
context which is saved upon driver probe for the first audio
interface. Also differentiate UAC version of header when type
casting the UAC header descriptor.
Change-Id: Ice62887451e91901cb16a6356b64f554b95eacc4
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Don't print err message for clocks that are optional, this
leads to unnecessary confusion about failure.
Change-Id: Ieb16f2203210963d7035447547b5779fadb17f6d
Signed-off-by: Venkat Gopalakrishnan <venkatg@codeaurora.org>
This reverts commit 2f36db71009304b3f0b95afacd8eba1f9f046b87.
It fixed a local root exploit but also introduced a dependency on
the lower file system implementing an mmap operation just to open a file,
which is a bit of a heavy hammer. The right fix is to have mmap depend
on the existence of the mmap handler instead.
Change-Id: I78753c9cadef7b43cd277d4827a096b45697c288
Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Cc: stable@vger.kernel.org
Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
Git-repo: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
Git-commit: 78c4e172412de5d0456dc00d2b34050aa0b683b5
Signed-off-by: Dennis Cagle <d-cagle@codeaurora.org>
In case of HW FBE, O_DIRECT flag can be supported since FS is not
required for crypto operations
Change-Id: I2e6a7abb56f0e3efdf314a57db131837d029de2e
Signed-off-by: Andrey Markovytch <andreym@codeaurora.org>
Update required MPM pin mappings for USB for msmfalcon for remote wakeup
to be working during system suspend.
Change-Id: I26893b0d5974e8aff3c2ed7147560ba113af0155
Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
ULL playback is not working over a2dp.
Add DAPM widget in routing driver for ULL playback
over SLIM_7_RX backend.
CRs-Fixed: 1101825
Change-Id: I9a9bcbf52ccb1f48b4e37e674a29c8c312b5ba1a
Signed-off-by: Preetam Singh Ranawat <apranawat@codeaurora.org>
Add logic to support sensor compatibility to fix same
slave address of sensor but different modules on one platform.
Change-Id: I6c6721e8ff890feaf2d618c8170e346367a68c28
Signed-off-by: penliu <pengfeiliu@codeaurora.org>
Signed-off-by: Wei Ding <weiding@codeaurora.org>
A boost current threshold will be referenced in deciding
optimal boost switching frequency for efficiency.
CRs-Fixed: 1095917
Change-Id: I1e738e66cdfb72305dd4256dc0a6e05b03de585e
Signed-off-by: Harry Yang <harryy@codeaurora.org>
Currently, the default boost switching frequency is fixed at 800KHz,
which shows low efficiency in low USB load.
To improve it, only use the default 800KHz when boost current goes
above 100mA; otherwise, switch to 2MHz.
CRs-Fixed: 1095917
Change-Id: Iebb62303febfb78738ada4553fdb9b9eb4810ed5
Signed-off-by: Harry Yang <harryy@codeaurora.org>
If HPH PA is on, the result of impedance detection is not
reliable. So check the HPH PA status before impedance detection.
CRs-Fixed: 1100622
Change-Id: I9c2063011247cca8105b39c913633cd7619a89eb
Signed-off-by: Walter Yang <yandongy@codeaurora.org>
This reverts commit 2a8225ef46
("sched/cputime: Fix steal time accounting vs. CPU hotplug").
The commit introduces a bug in scheduler book-keeping whereby if a CPU
is hotplugged out for a small duration of time, subsequent time spent
executing tasks gets mis-attributed to interrupts. This in turn results
in unfair scheduling whereby a task can keep executing for a very long
time without any update to it's vruntime. This revert has no side
effects for msm based systems.
Change-Id: Ibb506824c4223551bceb449594ac99f9dfd8064b
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
Disable the aio interface as we do not use this for performance
benefits.
Change-Id: Ibbe1845c673f3a422b013d17492790c79c78d076
Signed-off-by: Runmin Wang <runminw@codeaurora.org>
The original change to set 200mV boost PFM threshold at request
of a HW workaround is no longer needed, set as default now in
SBL. Remove it.
CRs-Fixed: 1095917
Change-Id: I4e041dafa83d935a5c16c96bea7a3ea488e80d87
Signed-off-by: Harry Yang <harryy@codeaurora.org>
Fix packet handling in case packet received from IPA hardware
is scattered across multiple buffers.
Change-Id: I4935ecb8eaa438d259c1c27a66f62c78f874c9ee
CRs-Fixed: 1097420
Acked-by: Ady Abraham <adya@qti.qualcomm.com>
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
Allow driver to get pages from the system incase mempool configuration
is not defined from the device tree. This will fix kgsl driver probe
failure for without gpu mempool configuration devices.
Change-Id: I3142a5d2e13ed40f643c91594fd868c37620ce54
Signed-off-by: Hareesh Gundu <hareeshg@codeaurora.org>
Properly initialize variables at the time of declaration.
Change-Id: I6eab6b08cb9ec7bfa6523ab3ed66d086eab89544
Signed-off-by: Rama Krishna Phani A <rphani@codeaurora.org>
Remove the write of acc strap register by default value during Q6 reset
as per Hardware Programming Guide.
Change-Id: Id5b8aaae0783893290e95626b394841a7d3808a3
Signed-off-by: Gaurav Kohli <gkohli@codeaurora.org>
This change adds DPL support using IPA over BAM2BAM.
Initialises two instances of the RmNet Opts structure,
one for RmNet itself and one for DPL. Uses APIs for
QTI and IPA support from RmNet driver.
Change-Id: I76e0c86643331b9623d634bb462faaeb816c0935
Signed-off-by: Ajay Agarwal <ajaya@codeaurora.org>
Add required QMP PHY initialization sequence for msmfalcon for
USB SS mode working.
Change-Id: I14a9f7a1079956efcb3b31ffeca1235a62856bf5
Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
Update the reset sequence to read each write while enabling QDSP6 memory
bank one at a time. This will make sure whether write is complete or not.
Also add logs during Mss shutdown, It will help to debug Mss restart
and shutdown case.
Change-Id: I9f2cb058a7e59b573fc64662ee7b5bff49b18ea7
Signed-off-by: Gaurav Kohli <gkohli@codeaurora.org>
Calling copy_to_user(to, from, size) with negative value
might cause heap overflow since size is unsigned parameter
and negative value is cast to big unsigned value.
CRs-Fixed: 1092683
Change-Id: I9b4a0710aa33942de2976f7ee158a8025dd6a20e
Signed-off-by: Amir Samuelov <amirs@codeaurora.org>
Whenever composition switch happens, android driver stops data transfers &
removes configuation before disabling pullup. Due to this, there is small
window during which pullup is active and device ends up sending device
descriptor with zero confiurations in certain scenarios of Host PC reboot.
Hence fix the issue by stalling control endpoint in this scenario.
Change-Id: I3d3c0321d9311617c6ee492c55809f36de6ae412
Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
Signed-off-by: Chandana Kishori Chiluveru <cchiluve@codeaurora.org>
During composition switch, android driver stops data transfers first and
removes configuration before disabling pullup for USB3 controller. With
this sequence there is a possibility for a race where usb_remove_config is
in progress during which pullup is active and sending the setup request for
configuration descriptor with zero configuration value. Hence fix the issue
by adding spinlock protection for get_config descriptor.
CRs-Fixed: 1052608
Change-Id: I65d38387f77addc9a8894a74f427d97313f90a9e
Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
Signed-off-by: Chandana Kishori Chiluveru <cchiluve@codeaurora.org>
Commit 3dd2172dfecc ("USB: dwc3-msm: Enable power event irq in case of
host bus suspend") is added to enable power_event_irq during host bus
suspend. This is to map MPM pin for DM to power_event_irq to wakeup during
system suspend in host mode. Currently MPM driver has support for mapping
multiple MPM pins to single IRQ. Hence it is not required to enable
power_event_irq during host bus suspend.
Change-Id: I5c7d6b4d43baa0b387342a8bd261361a5c07fe23
Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
On qdsss channel close, driver is dequeuing endless request without
checking whether qdss is active or not. This might crash if qdss channel
is closed when non QDSS composition is active. Fix the issue by having
proper checks and if qdss is not active, just return without performing
dequeue operation.
Change-Id: I667ea843f77794e9384c22ece218853331751db6
Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
Signed-off-by: Chandana Kishori Chiluveru <cchiluve@codeaurora.org>