Commit graph

571366 commits

Author SHA1 Message Date
Srinivas Ramana
1d0f3783d5 arm: topology: fix the topology reset path during init
init_cpu_topology has a bug where
1. It's referring to out of bounds array.
2. It's not actually resetting topology for each cpu.

Fix this by iterating for each cpu for resetting topology.

Change-Id: I4df03fb4fbe9cb636f135de982e35173b1900ec2
Signed-off-by: Srinivas Ramana <sramana@codeaurora.org>
2016-06-30 15:10:51 -07:00
Srinivas Ramana
7af744ebdf arm: qcom: Add support for msmfalcon chipset
Add support in Kconfig for msmfalcon chipset 32-bit platform.

Change-Id: I5509787b16e7837c674203a3a900159f449b14a6
Signed-off-by: Srinivas Ramana <sramana@codeaurora.org>
2016-06-30 15:10:38 -07:00
Srinivas Ramana
45e27cd237 msmfalcon: add board files for 32-bit boot
Add board file to support msmfalcon 32-bit boot.

Change-Id: I4a7c9fd54983e58e5fdd73ae080702018a813cd7
Signed-off-by: Srinivas Ramana <sramana@codeaurora.org>
2016-06-30 15:10:24 -07:00
Amir Samuelov
a90c874c80 spcom: increase timeout for TX-Done notification
Normally, it takes few msec for SPSS to responde with ACK for TX data.
However, due to SPSS HW issue, the SPSS might disable interrupts
for a very long time, and not ACK for the data.

Change-Id: I88a0b7a0637fb62d62ac760e9a8a946a5888d406
Signed-off-by: Amir Samuelov <amirs@codeaurora.org>
2016-06-30 15:10:10 -07:00
Shiv Maliyappanahalli
ee021f5fba defconfig: msmcortex: Enable CONFIG_MSM_ADSP_LOADER
Enable CONFIG_MSM_ADSP_LOADER in order to enable
ADSP PIL loading during bootup.

Change-Id: I0d8a15283ec43bdf0818c4d9cbe92ac4474cb833
Signed-off-by: Shiv Maliyappanahalli <smaliyap@codeaurora.org>
2016-06-30 15:09:57 -07:00
Fred Fettinger
603255f546 base: sync: increase size of sync_timeline name
This makes it possible for drivers to use a longer, more descriptive
name for a sync_timeline, which improves the readability of the
sync dump in debugfs.

Change-Id: Ifb83aebf6fd820ebb26aca2ff230ac1116e65ce9
Git-commit: cb63e61b80ec905f01cbe1c21081aa0d1fef082d
Git-repo: https://www.codeaurora.org/gitweb/quic/la/?p=kernel/msm.git
Signed-off-by: Fred Fettinger <fred.fettinger@motorola.com>
Signed-off-by: Harsh Vardhan Dwivedi <hdwivedi@codeaurora.org>
Signed-off-by: Omprakash Dhyade <odhyade@codeaurora.org>
2016-06-30 15:09:42 -07:00
Kyle Yan
4ba4c5041b Revert "arm64: defconfig: msm: enable MODULE_SIG for msm chipsets"
This reverts commit 931a5101df ("arm64: defconfig: msm: enable
MODULE_SIG for msm chipsets").

Compilation of Android/DLKMs failing with below error:

Signing kernel module:  bus_timeout_mod.ko
Can't open perl script "./kernel/msm-4.4/scripts/sign-file": \
                                       No such file or directory
ninja: build stopped: subcommand failed.
make: *** [ninja_wrapper] Error 1

CRs-Fixed: 1035494
Change-Id: Iddc618a2467b8ba72a8466c2678b3195ef8fa1c7
Signed-off-by: Kyle Yan <kyan@codeaurora.org>
2016-06-30 11:09:50 -07:00
David Dai
6cf750b971 soc: qcom: msm_bus: Remove panic for no aggregation scheme
Remove default panic error when no aggregation scheme is selected,
this is to support virtual fabrics that have no clocks or bandwidth
to aggregate.

Change-Id: I4fd8977845dd123890afc5076cd55499992e488e
Signed-off-by: David Dai <daidavid1@codeaurora.org>
2016-06-30 11:09:17 -07:00
Mitchel Humpherys
0fa63fe11a iommu: dma-mapping-fast: Remove unused #define
There's a stray #define left over from initial development of the fast
map feature.  Rip it out.

CRs-Fixed: 1035430
Change-Id: Iae0649dc3fe878f948ad872803317eb4bf7ec1c6
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
2016-06-30 11:09:16 -07:00
David Dai
47335704fb dev_freq: devfreq_spdm: make cci_clk optional indicator
Enable dev_freq SPDM support in order to increase BIMC
vote based on bus rejection rate. Make cci_clk an optional
property as it's not always a relevant indicator of cpu performance.

CRs-Fixed: 1025515
Change-Id: I713cc396c8d563735981547e0dc18a63f6f15180
Signed-off-by: David Dai <daidavid1@codeaurora.org>
2016-06-29 15:12:37 -07:00
Vinayak Menon
7da300d6a3 mm: ksm: avoid trageted reclaim of ksm pages
Per Process Reclaim tries to avoid reclaiming of
shared pages by passing the target VMA. For anon and
file pages this works, but not for KSM. This is because
vma_address(page) will not return the intended value
resulting in crashes like this

[From 3.10 kernel]
kernel BUG at kernel/mm/rmap.c:534!
(vma_address+0x28/0x2c) from [<c01eff94>] (try_to_unmap_ksm+0x4c/0x170)
(try_to_unmap_ksm+0x4c/0x170) from [<c01e4834>] (try_to_unmap+0x34/0xa4)
(try_to_unmap+0x34/0xa4) from [<c01c8e64>] (shrink_page_list+0x3f0/0xa34)
(shrink_page_list+0x3f0/0xa34) from [<c01c9688>] (reclaim_pages_from_list)
(reclaim_pages_from_list+0xb0/0x100) from [<c0240ed0>] (reclaim_pte_range)
(reclaim_pte_range+0xf0/0x164) from [<c01e79a4>] (walk_page_range+0x1d0)
(walk_page_range+0x1d0/0x260) from [<c0241ccc>] (reclaim_task_anon+0xb0)
(reclaim_task_anon+0xb0/0x114) from [<c01f8d98>] (swap_fn+0x220/0x460)
(swap_fn+0x220/0x460) from [<c0133a38>] (process_one_work+0x294/0x430)
(process_one_work+0x294/0x430) from [<c0134720>] (worker_thread)
(worker_thread+0x224/0x358) from [<c01390d4>] (kthread+0xa0/0xac)
(kthread+0xa0/0xac) from [<c0105f38>] (ret_from_fork+0x14/0x3c)

CRs-Fixed: 984947
Change-Id: I5208fb68372f7af72868e39399bf545fb7b774f3
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
2016-06-29 15:12:23 -07:00
Shiraz Hashim
1be1715f14 mm: process_reclaim: use unbounded cpu workqueue
It is observed that in some cases process reclaim work
doesn't get chance to run due to presence of RT scheduled
on the same CPU. This is leading to user space freeze and
a live-lock situation where RT itself is looping for a
page to be present in swap cache while process reclaim
work is unable to schedule and do the same.

Schedule process reclaim work on unbounded cpu workqueue
so that the work has opportunity to be scheduled on to
other cpu.

Change-Id: I6852f7e8d0a344ab5631b188627263f11414f27e
Signed-off-by: Shiraz Hashim <shashim@codeaurora.org>
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
2016-06-29 15:12:09 -07:00
Vinayak Menon
9ff0477006 mm: process_reclaim: do not iterate over stale task structs
swap_fn iterates through the threads of selected tasks after
a rcu_read_unlock which is wrong. But we can't extend the
rcu_read_lock since it will result in severe performance
issues. So better avoid iterating over the threads. Just
lock the group leader and use it further.

Change-Id: I36269b1b6619315f33f6f3b49ec73571a66796f2
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
2016-06-29 15:11:56 -07:00
Vinayak Menon
1ad1a93af4 mm: process_reclaim: fix reclaim skip on low efficiency
The logic used to skip reclaim on low efficiency results
in process reclaim not triggering at all. Fix it by
properly handling the skip_reclaim atomic variable.

Change-Id: I119097bb9b1baf8f3e8d4afa0a6dc2c30c0de6e7
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
2016-06-29 15:11:36 -07:00
Vinayak Menon
9caa3b38bb mm: process reclaim: vmpressure based process reclaim
With this patch, anon pages of inactive tasks can be reclaimed,
depending on memory pressure. Memory pressure is detected
using vmpressure events. 'N' best tasks in terms of anon
size is selected and pages proportional to their tasksize
is reclaimed. The total number of pages reclaimed at each
run of the swap work, can be tuned from userspace, the
default being SWAP_CLUSTER_MAX * 32.

The patch also adds tracepoints to debug and tune the
feature.

echo 1 > /sys/module/process_reclaim/parameters/enable_process_reclaim
to enable the feature.

echo <pages> > /sys/module/process_reclaim/parameters/per_swap_size,
to set the number of pages reclaimed in each scan.

/sys/module/process_reclaim/parameters/reclaim_avg_efficiency, provides
the average efficiency (scan to reclaim ratio) of the algorithm.

/sys/module/process_reclaim/parameters/swap_eff_win, to set the window
period (in unit of number of times reclaim is triggered) to detect
low efficiency runs.

/sys/module/process_reclaim/parameters/swap_opt_eff, to set the optimal
efficiency threshold for low efficiency detection.

Change-Id: I895986f10c997d1715761eaaadc4bbbee60db9d2
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
2016-06-29 15:11:26 -07:00
Dinesh K Garg
82b3ab0380 md: Enable discard option for dm-req-crypt based devices
dm-req-crypt based devices are capable of supporting discard option.
DM layer by default does not enable discard option for DM devices.
Since underlying device supports discard option, mapped target should
also allow it.

Change-Id: Ia540a814c3dcd91f573d1f25d637107a48309a58
Signed-off-by: Dinesh K Garg <dineshg@codeaurora.org>
2016-06-29 15:11:15 -07:00
Karthik Reddy Katta
566b0758b6 ASoC: msm: qdsp6v2: Fix Tx mute issue over BT-SCO
Backend DAIs are not enabled for low-latency-record
bt-sco. Update mixer control array of MultiMedia5
mixer to enable backend DAIs.

CRs-Fixed: 1029460
Change-Id: I8e01302baf2d78afca930ef1f251906a971a8234
Signed-off-by: Karthik Reddy Katta <a_katta@codeaurora.org>
2016-06-29 15:11:04 -07:00
Arun Kumar Neelakantam
14582c3ab3 soc: qcom: qsee_ipc_irq_bridge: Add initial driver version
This driver handles the Inter-Processor Communication(IPC) Interrupt(IRQ)
from remote subsystems directed towards Qualcomm Technologies, Inc. Secure
Execution Environment(QSEE) and notifies the QSEE listeners waiting in
the userspace.

CRs-Fixed: 1021749
Change-Id: Id0cab5773099e2f6267f8a5bd4fd5aeb3324e68b
Signed-off-by: Arun Kumar Neelakantam <aneela@codeaurora.org>
2016-06-29 15:02:33 -07:00
Girish Mahadevan
538198f2f8 ARM: dts: msm: Correct the TLMM IRQs for UART instances
The TLMM IRQ numbers were set incorrectly. This can prevent the UART
peer devices from waking up the core from sleep.

Change-Id: I11e725ac31f78f838ac9b8e1e08c384d11ea14a6
Signed-off-by: Girish Mahadevan <girishm@codeaurora.org>
2016-06-29 15:02:17 -07:00
Oleg Perelet
6e4ffe07ab msm: kgsl: Add gcc_gpu_iref_clk to list of GPU clocks
GPU will vote off gcc_gpu_iref_clk when going to low power modes.

CRs-Fixed: 1024948
Change-Id: I13b7a70f1fa748f2f4cdfb485dda2f7857e0b3d2
Signed-off-by: Oleg Perelet <operelet@codeaurora.org>
2016-06-29 15:02:05 -07:00
Abdulla Anam
a0605c537e msm: vidc: ensure venus is in power on before scaling clocks
It is to be ensured that venus is in power on state before scaling
clocks. When venus goes to power collapse, a resume can happen
either when driver writes some command to the command queue or any
response comes from firmware. So when client requests a particular
perf_level, venus is not resumed and scale clocks is called.

CRs-Fixed: 1000809

Change-Id: I2ac46c481065ada2b62a5eb248fbdf18f2b1a91f
Signed-off-by: Abdulla Anam <abdullahanam@codeaurora.org>
2016-06-29 15:01:53 -07:00
Abdulla Anam
9a3382024f msm: vidc: Communicate session error to client if aborted.
msm_comm_kill_session is called in driver only in situations where
the driver state goes bad. session_abort is called on firmware
which may be honored. But still the session_error needs to be
communicated to the client or else client will operate oblivious
about the bad video driver state.

Change-Id: Iafb90cde31a985bf5377fdcdd1a9653a965c5600
Signed-off-by: Abdulla Anam <abdullahanam@codeaurora.org>
2016-06-29 15:01:40 -07:00
Susheel Khiani
ed6ef4b170 ARM: mm: Update the kernel log messages
After reclaiming vmalloc and adjusting lowmem, the two
regions are no longer contiguous. Update the messages
printed during bootup to list all regions corresponding
to low memory and vmalloc respectively.

Change-Id: Ib3e25b530b3dfbd1f9796cdc580fb79da484e850
Signed-off-by: Susheel Khiani <skhiani@codeaurora.org>
2016-06-29 15:01:29 -07:00
Susheel Khiani
fbcc212e73 ARM: mm: Adjust the low memory boundary
The unused virtual address space in low memory is given to
vmalloc for use. This reduces the low memory space and
increases vmalloc space. Adjust the vmalloc_min in order
to increase the low memory.

Change-Id: I0dbef5b6e5ec3d19f5f93f06ed03a4cf1215dc4d
Signed-off-by: Neeti Desai <neetid@codeaurora.org>
Signed-off-by: Susheel Khiani <skhiani@codeaurora.org>
2016-06-29 15:00:52 -07:00
Manaf Meethalavalappu Pallikunhi
d2cb754944 msm: thermal: Maintain state in the mitigation device monitor
If KTM get a trip threshold trigger notification and if the
temperature stays the same as the recent trip threshold, KTM will
re-activate the recently triggered threshold, resulting in back to
back interrupts. To avoid this add support in KTM to maintain the
recently triggered threshold state and then re-active the threshold
based on the last threshold trip.
This state is updated for mitigation features like VDD MX retention,
CX phase control, VDD restriction, OCR monitor and external clients
like CPR low temperature monitor etc.

CRs-Fixed: 969112 972634
Change-Id: I44c0a93e1507a9f0b8a65e5c2ce5a98962bb335b
Signed-off-by: Manaf Meethalavalappu Pallikunhi <manafm@codeaurora.org>
2016-06-29 15:00:39 -07:00
Oleg Perelet
9ba8db37da msm: kgsl: Fix calculation error for deep nap timer value.
Deep nap timer value was not calculated right when read from dts file.

CRs-Fixed: 973565
Change-Id: I11a70c61d408921edd89b1417b209c5c5a3ddf24
Signed-off-by: Oleg Perelet <operelet@codeaurora.org>
2016-06-29 15:00:26 -07:00
Stephen Boyd
d822846701 clk: qcom: Add gfx3d ping-pong PLL frequency switching
The GPU clocks on msm8996 have three dedicated PLLs, MMPLL2,
MMPLL8, and MMPLL9. We leave MMPLL9 at the maximum speed (624
MHz), and we use MMPLL2 and MMPLL8 for the other frequencies. To
make switching frequencies faster, we ping-pong between MMPLL2
and MMPLL8 when we're switching between frequencies that aren't
the maximum. Implement custom rcg clk ops for this type of
frequency switching.

Change-Id: Ia71dfc9947f858b485e7c7ea254d6f52de0e7f7d
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Taniya Das <tdas@codeaurora.org>
2016-06-29 11:23:17 -07:00
Rajendra Nayak
c77ec9d326 clk: qcom: gdsc: Add support for votable gdscs
Some gdscs might be controlled via voting registers and might not
really disable when the kernel intends to disable them (due to other
votes keeping them enabled)
Mark these gdscs with a flag for we do not check/wait on a disable
status for these gdscs within the kernel disable callback.

Also at boot, if these GDSCs are found to be ON, we make sure we
vote for them before we inform the genpd framework about their
status. If genpd gets no users, it then disables (removes the vote)
them as part of genpd_poweroff_unused()

Change-Id: Idd26e1460aea84834cccac15a86adf35681e511e
Signed-off-by: Rajendra Nayak <rnayak@codeaurora.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Taniya Das <tdas@codeaurora.org>
2016-06-29 11:23:16 -07:00
Rajendra Nayak
530b25ca47 clk: qcom: gdsc: Add support for gdscs with gds hw controller
Some gdsc power domains can have a gds_hw_controller block inside
to help ensure all slave devices within the power domain are idle
before the gdsc is actually switched off.
This is mainly useful in power domains which host a MMU, in which
case its necessary to make sure there are no outstanding MMU operations
or pending bus transactions before the power domain is turned off.

In gdscs with gds_hw_controller block, its necessary to check the
gds_hw_ctrl status bits instead of the ones in gdscr, to determine
the state of the powerdomain.

While at it, also move away from using jiffies and use ktime APIs
instead for busy looping on status bits.

Change-Id: I9e435ba071a9d1aa67bddc5d2c7cd7b66fb86c58
Signed-off-by: Rajendra Nayak <rnayak@codeaurora.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Taniya Das <tdas@codeaurora.org>
2016-06-29 11:23:16 -07:00
Sudip Mukherjee
7546cb41d8 devm: add helper devm_add_action_or_reset()
Add a helper function devm_add_action_or_reset() which will internally
call devm_add_action(). But if devm_add_action() fails then it will
execute the action mentioned and return the error code.

Change-Id: I70562e95e0ef672db7dc9bd9f24d9a3b356bf89c
(cherry picked from commit a3499e9bf0fe ("devm: add helper
devm_add_action_or_reset()")
Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Taniya Das <tdas@codeaurora.org>

Signed-off-by: Kyle Yan <kyan@codeaurora.org>
2016-06-29 11:23:04 -07:00
Runmin Wang
d1a6faf956 drivers: GICv3: Enable logging of interrupts that triggered wakeup
This change enables logging of irq number and name which triggered
wake up of the system from deep sleep. This helps in debugging the
spurious wakeups due to interrupts from various subsystems.

CRs-Fixed: 1033023
Change-Id: Ieeec5959475740e2b0cc75871c1f7e10e1098fa4
Signed-off-by: Runmin Wang <runminw@codeaurora.org>
2016-06-29 11:09:23 -07:00
Abhimanyu Kapur
4689ca86b6 irqchip: add snapshot of msm_show_resume_irq
This is a snapshot of drivers/irqchip/msm_show_resume_irq.c as of
msm-3.18 commit <e17a72ad7344065> ("Merge "ARM: dts: mdm: Adjust
memory region peripheral1_mem for MDM9640"").

CRs-Fixed: 1033023
Change-Id: Ia928cf5e23eebc7a0f80638f4be81beec7ed2878
Signed-off-by: Runmin Wang <runminw@codeaurora.org>
Signed-off-by: Kyle Yan <kyan@codeaurora.org>
2016-06-29 11:09:08 -07:00
Harsh Shah
149dce7c6c msm: camera: isp: Add drop reporting in RESUMING state
In RESUMING state, WM is stopped causing skip in diverted buffers.
Add drop reporting for these frames, so that modules down stream can
be notified in case of reg_update miss.

CRs-Fixed: 1012335
Change-Id: I67d700c5c844fd6be3bf6ded756fb93e0ebfb537
Signed-off-by: Harsh Shah <harshs@codeaurora.org>
Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org>
2016-06-29 11:00:34 -07:00
Praneeth Paladugu
716216089b msm: vidc: Destroy mutexes used by vidc driver
Currently vidc driver is not destroying the mutexes that it
used. This can cause mutex resources leak. This changes fixes
the same.

Change-Id: I293ad3c4c5ed46c692ae066e7188efe41e5dc482
Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>
2016-06-29 11:00:34 -07:00
Satya Krishna Pindiproli
4ff0e8648b ASoC: msm: qdsp6v2: fix non-gapless transition failure
During non-gapless transition, there is an indefinite wait in
drain until either eos_ack or cmd_interrupt is set. This results
in playback getting stuck and occurs because cmd_interrupt is
not set in TRIGGER_STOP as gapless_transition is set to 1 during
partial drain of earlier stream.

Fix the issue by setting gapless_transition to 0 when gapless
fails which ensures that cmd_interrupt is set in TRIGGER_STOP.

CRs-Fixed: 1027991
Change-Id: I47d2d45df8686f25e8170a84fcaf68e143f6e4f6
Signed-off-by: Satya Krishna Pindiproli <satyak@codeaurora.org>
2016-06-29 11:00:33 -07:00
Ram Chandrasekar
9ee577f0c1 ARM: dts: msm: Update thermal sensor for GPU in MSMCobalt
Temperature sensor 13 tracks the GPU temperature closely. Update the
sensor alias for gpu to point to tsens 13 in MSMCobalt.

CRs-Fixed: 1034178
Change-Id: I8a644440eca0bc8996e777b76670f2aead601732
Signed-off-by: Ram Chandrasekar <rkumbako@codeaurora.org>
2016-06-29 11:00:32 -07:00
Xiaojun Sang
389b270f52 ARM: dts: msm: add HDMI support for 8996 mtp
add HDMI node for 8996 mtp to enable audio over HDMI.

CRs-Fixed: 1028336
Change-Id: I1aade4b197b1705ac116db66168f73253b6ea04d
Signed-off-by: Xiaojun Sang <xsang@codeaurora.org>
2016-06-29 11:00:32 -07:00
Manish Dewangan
ba2ec87dad ASoC: msm: add support for packed 24 bit
Changes to support packed 24 bit (SNDRV_PCM_FORMAT_S24_3LE).

CRs-Fixed: 1011048
Change-Id: I5c49091d6bbff98ed8665446fffdba08446073cd
Signed-off-by: Manish Dewangan <manish@codeaurora.org>
2016-06-28 17:03:25 -07:00
Manish Dewangan
bd8f954881 ASoC: wcd9335: add support for packed 24 bit
Changes to support packed 24 bit (SNDRV_PCM_FORMAT_S24_3LE).

CRs-Fixed: 1011048
Change-Id: If81f3053629dc4f80a08392f392c7be735ad33c2
Signed-off-by: Manish Dewangan <manish@codeaurora.org>
2016-06-28 17:03:12 -07:00
Manish Dewangan
8b8d412617 ASoC: msm: qdspv2: add support for MULTI_CHANNEL_PCM_V3 command
Driver changes to use ASM_MEDIA_FMT_MULTI_CHANNEL_PCM_V3 command.
This command supports playback/record of both 32 bit
(24 bit data in 32 bit word) and 24 bit packed. Update platform
drivers to use this for SNDRV_PCM_FORMAT_S24_LE record and playback.

CRs-Fixed: 1011048
Change-Id: I6f98bf3402a737bc21daff33b13b137850a690ea
Signed-off-by: Manish Dewangan <manish@codeaurora.org>
2016-06-28 17:03:02 -07:00
Ghanim Fodi
e335b6b9da msm: ipa3: Do not use APPS pipes for IPA kernel-test
IPA Endpoint 16 is the one assigned to APPS for WAN data.
This pipe is connected when modem is up. Kernel-tests
framework should not use it for testing purposes as this
pipe is already allocated for APPS. Update the code
to use another IPA Endpoint.

Change-Id: Ia0ed2ad9041353def1b3055d394281bca2893f88
CRs-fixed: 1034319
Signed-off-by: Ghanim Fodi <gfodi@codeaurora.org>
2016-06-28 17:02:51 -07:00
Fenglin Wu
6dfd4af57b ARM: dts: msm: Change LAB precharge time to 500us for PMI8994
Set LAB's precharge time to max 500us to optimize the precharge
behavior.

CRs-Fixed: 1028321
Change-Id: I13eaca8f50080457b95f4c88f9987df6ba0f05c5
Signed-off-by: Fenglin Wu <fenglinw@codeaurora.org>
2016-06-28 17:02:40 -07:00
Skylar Chang
e9e09e35af msm: ipa: change default low watermark for rx buffers
Change the threshold for resubmitting RX buffers to IPA in case
of allocation errors to a bigger number than 0.
In some corner cases a packet from IPA to AP might be larger than
the side of 1 buffer, which can result in IPA stall if threshold
is 0.

CRs-Fixed: 1027726
Change-Id: Ic841de25597c2cd4ce007823f9b9727e858a73cb
Acked-by: Ady Abraham <adya@qti.qualcomm.com>
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
2016-06-28 17:02:27 -07:00
Vinayak Menon
0806bdaa9a arm: dma-mapping: return NULL on remap error
Currently arm_dma_remap returns the offset value when it fails
because of reasons like unavailability of vmalloc space. This
is wrong as the caller expects NULL on failure, and can result
in kernel panic on dereferencing the returned pointer.

Change-Id: Ic851efecd1b5ff1c5e3105f28f392307857e63e3
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
2016-06-28 17:02:16 -07:00
Archana Sathyakumar
226509c1ee lpm-levels: Fix cpu idle trace and stats event
In the event that the cpu needs to be rescheduled for another task
before it enters psci sleep, the stats and trace exit events are
considered without the enter events. Fix this issue by moving enter
events before the cpu gets scheduled.

Change-Id: I8e477c434d218960b48aab4e61cacf99476b607f
Signed-off-by: Archana Sathyakumar <asathyak@codeaurora.org>
2016-06-28 17:02:04 -07:00
Dibyendu Roy
b378543680 Bluetooth: Replace %p with %pK
The %pK restrictions are used to eliminate exposing kernel addresses.
When kptr_restrict is set to "0" there are no restrictions. When
kptr_restrict is set to "1", kernel pointers printed using the %pK
format specifier will be replaced with 0's unless the user has
CAP_SYSLOG. When kptr_restrict is set to "2", kernel pointers printed
using %pK will be replaced with 0's regardless of privileges.

Change-Id: Iacd8f7b7cdafed3a111507d3da899be9261ff09f
Signed-off-by: Dibyendu Roy <dibyen@codeaurora.org>
2016-06-28 17:01:54 -07:00
Harry Yang
88196d6678 qcom-charger: qpnp-smb2: Remove unnecessary watchdog interrupts
Watchdog interrupts bark and snarl get triggered frequently, causing
flood messages when enabled in debug_mask. However, neither irq is
essentially being used in charger driver.

Remove both interrupts by setting their irq handlers to NULL, and
skipping irq registration in case of NULL handlers.

CRs-Fixed: 1033724
Change-Id: I9414f3238d1568ec29973a7ec74054c779a7a196
Signed-off-by: Harry Yang <harryy@codeaurora.org>
2016-06-28 17:01:43 -07:00
Nicholas Troast
f6f4829b35 regulator: rpm-smd-regulator: implement set_load
A recent change to regulator framework replaced the
regulator_set_optimum_mode API with regulator_set_load.

The regulator_set_load API does the following for regulators which have
not implemented set_load().

- determines the most optimal mode for the given load by calling
  get_optimum_mode()
- gets the current mode by calling get_mode()
- calls set_mode() if the modes are different and expects the mode to be
  committed to the hardware

The rpm-smd-regulator's get_optimum_mode() remembers the load and uses that
for the upcoming get_mode() call. This causes the framework to never call
the set_mode API, thereby causing rpm-smd-regulator to never send the load
to the RPM.

The set_load op was introduced for hardware which does not support the
set_mode op. This is convenient since the RPM sets the mode according to
the aggregated load requirements. In addition the RPM also supports forcing
certain modes which fits well with the set_mode op.

Implement the set_load op to send the aggregated load vote to RPM, and
repurpose the set_mode op to send the aggregated mode vote to RPM.
Remove the get_optimum_mode op since it is no longer required with this
change.

Repurposing of set_mode should not impact consumers since it has the same
effect as before. Instead of sending a load vote which would cause the RPM
to select the desired mode the mode will be sent directly.

Furthermore, the hpm-min-load device tree property is no longer required
since the mode is no longer set based on the hpm-min-load threshold.
Remove it.

Change-Id: I75cf0b4cfc7a6aec3e6d79da9172ce37ec9d91c1
CRs-Fixed: 1023326
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
2016-06-28 17:01:30 -07:00
Mahesh Sivasubramanian
a639c08b80 defconfig: arm64: msmcortex: Enable RPM stats/logs
RPM stat/logs provide stats about system sleep modes.

Change-Id: I10dc1bdb2fcfe216cdcf147eab936c2f92b5217a
Signed-off-by: Mahesh Sivasubramanian <msivasub@codeaurora.org>
2016-06-28 17:01:17 -07:00
Mahesh Sivasubramanian
54e952dabc defconfig: arm64: msm: Enable RPM stats/logs
RPM stat/logs provide stats about system sleep modes.

Change-Id: Idf7b30586d5e3c34929b348628f90e5d88f2a9ff
Signed-off-by: Mahesh Sivasubramanian <msivasub@codeaurora.org>
2016-06-28 17:01:06 -07:00