summaryrefslogtreecommitdiff
path: root/include/linux (follow)
Commit message (Collapse)AuthorAge
* workqueue: implement lockup detectorTejun Heo2016-05-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Workqueue stalls can happen from a variety of usage bugs such as missing WQ_MEM_RECLAIM flag or concurrency managed work item indefinitely staying RUNNING. These stalls can be extremely difficult to hunt down because the usual warning mechanisms can't detect workqueue stalls and the internal state is pretty opaque. To alleviate the situation, this patch implements workqueue lockup detector. It periodically monitors all worker_pools periodically and, if any pool failed to make forward progress longer than the threshold duration, triggers warning and dumps workqueue state as follows. BUG: workqueue lockup - pool cpus=0 node=0 flags=0x0 nice=0 stuck for 31s! Showing busy workqueues and worker pools: workqueue events: flags=0x0 pwq 0: cpus=0 node=0 flags=0x0 nice=0 active=17/256 pending: monkey_wrench_fn, e1000_watchdog, cache_reap, vmstat_shepherd, release_one_tty, release_one_tty, release_one_tty, release_one_tty, release_one_tty, release_one_tty, release_one_tty, release_one_tty, release_one_tty, release_one_tty, release_one_tty, release_one_tty, cgroup_release_agent workqueue events_power_efficient: flags=0x80 pwq 0: cpus=0 node=0 flags=0x0 nice=0 active=2/256 pending: check_lifetime, neigh_periodic_work workqueue cgroup_pidlist_destroy: flags=0x0 pwq 0: cpus=0 node=0 flags=0x0 nice=0 active=1/1 pending: cgroup_pidlist_destroy_work_fn ... The detection mechanism is controller through kernel parameter workqueue.watchdog_thresh and can be updated at runtime through the sysfs module parameter file. v2: Decoupled from softlockup control knobs. CRs-Fixed: 1007459 Change-Id: Id7dfbbd2701128a942b1bcac2299e07a66db8657 Signed-off-by: Tejun Heo <tj@kernel.org> Acked-by: Don Zickus <dzickus@redhat.com> Cc: Ulrich Obergfell <uobergfe@redhat.com> Cc: Michal Hocko <mhocko@suse.com> Cc: Chris Mason <clm@fb.com> Cc: Andrew Morton <akpm@linux-foundation.org> Git-commit: 82607adcf9cdf40fb7b5331269780c8f70ec6e35 Git-repo: git://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git Signed-off-by: Trilok Soni <tsoni@codeaurora.org>
* watchdog: introduce touch_softlockup_watchdog_sched()Tejun Heo2016-05-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | touch_softlockup_watchdog() is used to tell watchdog that scheduler stall is expected. One group of usage is from paths where the task may not be able to yield for a long time such as performing slow PIO to finicky device and coming out of suspend. The other is to account for scheduler and timer going idle. For scheduler softlockup detection, there's no reason to distinguish the two cases; however, workqueue lockup detector is planned and it can use the same signals from the former group while the latter would spuriously prevent detection. This patch introduces a new function touch_softlockup_watchdog_sched() and convert the latter group to call it instead. For now, it just calls touch_softlockup_watchdog() and there's no functional difference. CRs-Fixed: 1007459 Change-Id: I6fe77926acd4240458cab29d399f81d8739a16c0 Signed-off-by: Tejun Heo <tj@kernel.org> Cc: Ulrich Obergfell <uobergfe@redhat.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Andrew Morton <akpm@linux-foundation.org> Git-commit: 03e0d4610bf4d4a93bfa16b2474ed4fd5243aa71 Git-repo: git://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git Signed-off-by: Trilok Soni <tsoni@codeaurora.org>
* msm: mdss: update header file with DP audio APIsChandan Uddaraju2016-04-29
| | | | | | | | | | | The current header file supports hdmi and audio interaction using the exposed APIs. Update the common structures and the APIs to support display port and hdmi interaction with audio codec driver. CRs-Fixed: 1009284 Change-Id: I3962fd0cbc278c403584e767611f11d841e14d4e Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
* sched: use proper typedef for cpumaskJeevan Shriram2016-04-28
| | | | | | | | | | commit 55b8e041e6b3 ("sched: take into account of limited CPU min and max frequencies") has introduced a typedef bug and is fixed in this change. CRs-Fixed: 1006303 Change-Id: I6f75d4d0179a79544b4180a3ba155916c861edb5 Signed-off-by: Jeevan Shriram <jshriram@codeaurora.org>
* sched: take into account of limited CPU min and max frequenciesJoonwoo Park2016-04-27
| | | | | | | | | | | | Actual CPU's min and max frequencies can be limited by hardware components while governor's not aware of. Provide an API for them to notify for scheduler to be able to notice accurate currently operating frequency boundaries which helps better task placement decision. CRs-fixed: 1006303 Change-Id: I608f5fa8b0baff8d9e998731dcddec59c9073d20 Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
* sched: add support for CPU frequency estimation with cycle counterJoonwoo Park2016-04-27
| | | | | | | | | | | | | | | | | | At present scheduler calculates task's demand with the task's execution time weighted over CPU frequency. The CPU frequency is given by governor's CPU frequency transition notification. Such notification may not be available. Provide an API for CPU clock driver to register callback functions so in order for scheduler to access CPU's cycle counter to estimate CPU's frequency without notification. At time point scheduler assumes the cycle counter increases always even when cluster is idle which might not be true. This will be fixed by subsequent change for more accurate I/O wait time accounting. CRs-fixed: 1006303 Change-Id: I93b187efd7bc225db80da0184683694f5ab99738 Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
* drivers/perf: arm_pmu: implement CPU_PM notifierLorenzo Pieralisi2016-04-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a CPU is suspended (either through suspend-to-RAM or CPUidle), its PMU registers content can be lost, which means that counters registers values that were initialized on power down entry have to be reprogrammed on power-up to make sure the counters set-up is preserved (ie on power-up registers take the reset values on Cold or Warm reset, which can be architecturally UNKNOWN). To guarantee seamless profiling conditions across a core power down this patch adds a CPU PM notifier to ARM pmus, that upon CPU PM entry/exit from low-power states saves/restores the pmu registers set-up (by using the ARM perf API), so that the power-down/up cycle does not affect the perf behaviour (apart from a black-out period between power-up/down CPU PM notifications that is unavoidable). Cc: Will Deacon <will.deacon@arm.com> Cc: Sudeep Holla <sudeep.holla@arm.com> Cc: Daniel Lezcano <daniel.lezcano@linaro.org> Cc: Mathieu Poirier <mathieu.poirier@linaro.org> Cc: Mark Rutland <mark.rutland@arm.com> Acked-by: Ashwin Chaugule <ashwin.chaugule@linaro.org> Acked-by: Kevin Hilman <khilman@baylibre.com> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> Signed-off-by: Will Deacon <will.deacon@arm.com> Git-commit: da4e4f18afe0f3729d68f3785c5802f786d36e34 Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git CRs-Fixed: 1008368 Change-Id: I2901cd11e3832ef671581ac6e4f0e3edce630e6d Signed-off-by: Jeremy Gebben <jgebben@codeaurora.org>
* ARM: perf: Set ARMv7 SDER SUNIDEN bitMartin Fuzzey2016-04-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ARMv7 counters other than the CPU cycle counter only work if the Secure Debug Enable Register (SDER) SUNIDEN bit is set. Since access to the SDER is only possible in secure state, it will only be done if the device tree property "secure-reg-access" is set. Without this: Performance counter stats for 'sleep 1': 14606094 cycles # 0.000 GHz 0 instructions # 0.00 insns per cycle After applying: Performance counter stats for 'sleep 1': 5843809 cycles 2566484 instructions # 0.44 insns per cycle 1.020144000 seconds time elapsed Some platforms (eg i.MX53) may also need additional platform specific setup. Acked-by: Rob Herring <robh@kernel.org> Signed-off-by: Martin Fuzzey <mfuzzey@parkeon.com> Signed-off-by: Pooya Keshavarzi <Pooya.Keshavarzi@de.bosch.com> Signed-off-by: George G. Davis <george_davis@mentor.com> [will: add warning if property is found on arm64] Signed-off-by: Will Deacon <will.deacon@arm.com> Git-commit: 8d1a0ae724ad74ef7946a45e3b2d3e01f39df02b Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git CRs-Fixed: 1008368 Change-Id: Ic946deff2433ada458eb8040ddf40615a0a80959 Signed-off-by: Jeremy Gebben <jgebben@codeaurora.org>
* drivers/perf: kill armpmu_registerMark Rutland2016-04-27
| | | | | | | | | | | | | | | | | | | | | | | | Nothing outside of drivers/perf/arm_pmu.c should call armpmu_register any more, so it no longer needs to be in include/linux/perf/arm_pmu.h. Additionally, by folding it in to arm_pmu_device_probe we can allow drivers to override struct pmu fields without getting blatted by the armpmu code. This patch folds armpmu_register into arm_pmu_device_probe. The logging to the console is moved to after the PMU is successfully registered with the core perf code. Signed-off-by: Mark Rutland <mark.rutland@arm.com> Suggested-by: Will Deacon <will.deacon@arm.com> Cc: Drew Richardson <drew.richardson@arm.com> Cc: Pawel Moll <pawel.moll@arm.com> Signed-off-by: Will Deacon <will.deacon@arm.com> Git-commit: b916b785af99088916a122cb37de1bda3fa7f70e Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git [jgebben@codeaurora.org: minor merge conflict in arm_pmu.h] CRs-Fixed: 1008368 Change-Id: Ief4b49a866ec8b056b6552bbd1745be8f002a1da Signed-off-by: Jeremy Gebben <jgebben@codeaurora.org>
* Revert "Perf: arm64: support hotplug and power collapse"Jeremy Gebben2016-04-27
| | | | | | | | | | | | This reverts commit 0e4ee435ac293483 ("Perf: arm64: support hotplug and power collapse") This change is being reverted so that it can be replaced by equivalent functionality from upstream. CRs-Fixed: 1008368 Change-Id: I464549b185625314a9f2844272bdce617ce988e4 Signed-off-by: Jeremy Gebben <jgebben@codeaurora.org>
* Revert "Perf: arm64: fix disable of pmu irq during hotplug"Jeremy Gebben2016-04-27
| | | | | | | | | | | | This reverts commit 09e03e5113703a70 ("Perf: arm64: fix disable of pmu irq during hotplug") This change is being reverted so that it can be replaced by equivalent functionality from upstream. CRs-Fixed: 1008368 Change-Id: Ie3140289f1f4dd2bdf0c3fdb315369d763d53b22 Signed-off-by: Jeremy Gebben <jgebben@codeaurora.org>
* Revert "Perf: arm64: stop counters when going into hotplug"Jeremy Gebben2016-04-27
| | | | | | | | | | | | This reverts commit 182eeb0c0daf70acd8 ("Perf: arm64: stop counters when going into hotplug") This change is being reverted so that it can be replaced by equivalent functionality from upstream. CRs-Fixed: 1008368 Change-Id: Ibf007132366486ae70c1d919f32e933744a1721e Signed-off-by: Jeremy Gebben <jgebben@codeaurora.org>
* platform: qpnp-revid: switch to PMCOBALT and PMICOBALT namesDavid Collins2016-04-27
| | | | | | | | Change the PMIC names to use PMCOBALT and PMICOBALT. Change-Id: Ia2c9be4ec36f522968364ebb66190278cfbb9244 CRs-Fixed: 1007932 Signed-off-by: David Collins <collinsd@codeaurora.org>
* msm: ipa3: use user parameter for GSI ring lenSkylar Chang2016-04-27
| | | | | | | | | | Calculate GSI ring length based on the input parameter to setup pipe API. Change-Id: I151400624f374262a955a04d211a96c43feb6d98 CRs-Fixed: 996292 Acked-by: Ady Abraham <adya@qti.qualcomm.com> Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
* PFK: fix race between key set and key invalidate in TZAndrey Markovytch2016-04-25
| | | | | | | | | | | | | | | | | | | | When working with multiple files and multiple threads, the following scenario can occur: 1. File Close -> Key cache removal -> context switch 2. Open new file -> occupy the entry cleaned in 1 -> TZ_ES_SET_ICE_KEY -> context switch 3. Back to 1 -> TZ_ES_INVALIDATE_ICE_KEY 4. Back to 2 -> ICE uses the key that is already invalid 5. Crash due to PARTIALLY_SET_KEY_USED To fix this, pfk must know when requests using some key are completed. Only then key removal shall be allowed and until then key invalidation must wait. A new callback was added to let clients inform PFK when requests end. Change-Id: Id7f8a3302fac9fafd1203d8d56ca13d59b45bbd5 Signed-off-by: Gilad Broner <gbroner@codeaurora.org> Signed-off-by: Andrey Markovytch <andreym@codeaurora.org>
* soc: qcom: msm_bus: remove legacy msm_bus supportDavid Dai2016-04-22
| | | | | | | | Remove unused legacy bus code and APIs CRs-Fixed: 1006336 Change-Id: I15811b787b54004e1aaba859e4c911be8f9eb285 Signed-off-by: David Dai <daidavid1@codeaurora.org>
* msm: mdss: remove obsolete code related to write-back and rotatorUjwal Patel2016-04-22
| | | | | | | | | | Remove write-back and rotator related obsolete code in order to reduce dead code maintenance. CRs-Fixed: 987777 Change-Id: I917d9b5b777fb41f3f87213d8d9e6e7ddf73f92c Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org> Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* drivers: mfd: Move codec reset gpio config to early bootSudheer Papothi2016-04-22
| | | | | | | | | | | WCD and WSA codecs uses MSM gpios that are accessed through pinctrl mechanism. Codec reset gpios need to be configured before master controller is initialized otherwise codec cannot be enumerated on the bus. Add a new platform device driver to update reset gpio configuration to valid state before bus initialization. Change-Id: I1e36f4a85334704652c6b50950f50b90224a472e Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
* drivers: soc: Add intent notification callback for APR GlinkJosh Kirsch2016-04-22
| | | | | | | | | APR is required not to send any packet until the far end queues at least one intent. Add the wait during client registration time. Change-Id: Ie29ddda4527ae7a70afff2c595d6e3c76500a8af Signed-off-by: Deven Patel <cdevenp@codeaurora.org> Signed-off-by: Josh Kirsch <jkirsch@codeaurora.org>
* coresight-tmc: add support to set default sinkShashank Mittal2016-04-22
| | | | | | | Add support to set default sink at probe time. Change-Id: I62abe39a5cb5e7f8b1bb1198cecd3b529b124de8 Signed-off-by: Shashank Mittal <mittals@codeaurora.org>
* drivers: mfd: Allocate and register irq domain for codec interruptsSudheer Papothi2016-04-22
| | | | | | | | | During codec interrupt controller probe, allocate and register irq domain for codec interrupts for mapping between hwirq and irq numbers. Change-Id: I3e32043499f2b1e2616cf74864969815e626a23b Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
* msm: gsi: update channel scratch structuresSkylar Chang2016-04-19
| | | | | | | | | | Update channel scratch data structure according to GSI ver 83. CRs-Fixed: 1000819 Change-Id: I428963f9cd7885015e5185ef6c666bf26e0851bb Acked-by: Ady Abraham <adya@qti.qualcomm.com> Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
* mm: Increase number of GFP masksLaura Abbott2016-04-13
| | | | | | | | | | | | The __GFP_CMA mask is now placed after all available GFP masks. With this we need to increase the total number of GFP flags. Do so accordingly. CRs-Fixed: 648978 Change-Id: I53f5f064ac16a50ee10c84ff2bb50fdb7e085bd0 Signed-off-by: Laura Abbott <lauraa@codeaurora.org> [lmark@codeaurora.org: resolve trivial merge conflicts] Signed-off-by: Liam Mark <lmark@codeaurora.org>
* mm: add cma pcp listLiam Mark2016-04-13
| | | | | | | | | | | | | | | | | | Add a cma pcp list in order to increase cma memory utilization. Increased cma memory utilization will improve overall memory utilization because free cma pages are ignored when memory reclaim is done with gfp mask GFP_KERNEL. Since most memory reclaim is done by kswapd, which uses a gfp mask of GFP_KERNEL, by increasing cma memory utilization we are therefore ensuring that less aggressive memory reclaim takes place. Increased cma memory utilization will improve performance, for example it will increase app concurrency. Change-Id: I809589a25c6abca51f1c963f118adfc78e955cf9 Signed-off-by: Liam Mark <lmark@codeaurora.org>
* cma: redirect page allocation to CMAHeesub Shin2016-04-13
| | | | | | | | | | | | | | | | | | | | | CMA pages are designed to be used as fallback for movable allocations and cannot be used for non-movable allocations. If CMA pages are utilized poorly, non-movable allocations may end up getting starved if all regular movable pages are allocated and the only pages left are CMA. Always using CMA pages first creates unacceptable performance problems. As a midway alternative, use CMA pages for certain userspace allocations. The userspace pages can be migrated or dropped quickly which giving decent utilization. Change-Id: I6165dda01b705309eebabc6dfa67146b7a95c174 CRs-Fixed: 452508 Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Heesub Shin <heesub.shin@samsung.com [lauraa@codeaurora.org: Missing CONFIG_CMA guards, add commit text] Signed-off-by: Laura Abbott <lauraa@codeaurora.org> [lmark@codeaurora.org: resolve conflicts relating to MIGRATE_HIGHATOMIC and some other trivial merge conflicts] Signed-off-by: Liam Mark <lmark@codeaurora.org>
* lowmemorykiller: Don't count swap cache pages twiceLiam Mark2016-04-13
| | | | | | | | | | | | | | | The lowmem_shrink function discounts all the swap cache pages from the file cache count. The zone aware code also discounts all file cache pages from a certain zone. This results in some swap cache pages being discounted twice, which can result in the low memory killer being unnecessarily aggressive. Fix the low memory killer to only discount the swap cache pages once. Change-Id: I650bbfbf0fbbabd01d82bdb3502b57ff59c3e14f Signed-off-by: Liam Mark <lmark@codeaurora.org> Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
* android/lowmemorykiller: Selectively count free CMA pagesLiam Mark2016-04-13
| | | | | | | | | | | | | | | | | In certain memory configurations there can be a large number of CMA pages which are not suitable to satisfy certain memory requests. This large number of unsuitable pages can cause the lowmemorykiller to not kill any tasks because the lowmemorykiller counts all free pages. In order to ensure the lowmemorykiller properly evaluates the free memory only count the free CMA pages if they are suitable for satisfying the memory request. Change-Id: I7f06d53e2d8cfe7439e5561fe6e5209ce73b1c90 CRs-fixed: 437016 Signed-off-by: Liam Mark <lmark@codeaurora.org>
* android/lowmemorykiller: Ignore tasks with freed mmLiam Mark2016-04-13
| | | | | | | | | | A killed task can stay in the task list long after its memory has been returned to the system, therefore ignore any tasks whose mm struct has been freed. Change-Id: I76394b203b4ab2312437c839976f0ecb7b6dde4e CRs-fixed: 450383 Signed-off-by: Liam Mark <lmark@codeaurora.org>
* platform: qpnp-revid: add support for PM8005David Collins2016-04-12
| | | | | | | | | The subtype register value for PM8005 is 0x18. Add this to the list of known PMICs. Change-Id: I5cd316784f1339975a973e63c962fae6cb9db852 CRs-Fixed: 986619 Signed-off-by: David Collins <collinsd@codeaurora.org>
* bluetooth: Add WCN3990 power controlSungjun Park2016-04-07
| | | | | | | | To support WCN3990 chipset, add control to configure regulators and clock. Change-Id: Ibf0e4a0ebd55adaadb6d26b335c3d0a9edbe8845 Signed-off-by: Sungjun Park <sjpark@codeaurora.org>
* msm: ipa3: include ipa.h from ipa_odu_bridge.hAmir Levy2016-04-07
| | | | | | | | | | | | 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>
* msm: ipa3: remove odu_bridge functions from ipa.hAmir Levy2016-04-07
| | | | | | | | | | | | | | | | 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>
* msm: ipa3: add odu_bridge to ipa_clients folderAmir Levy2016-04-07
| | | | | | | | | | | | | | 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>
* msm: ipa: header change for wlan VA mappingSkylar Chang2016-04-07
| | | | | | | | | | 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>
* msm: ipa: header file change for WDI2.0Skylar Chang2016-04-07
| | | | | | | | structure changes for WDI2.0, wlan needs pass comp_ring_base_pa and comp_ring_wp_pa to ipa-uc Change-Id: Ib0cdd0c7614916e53f2731f61d0399959d4b739d Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
* msm_serial_hs: Fix race condition blocking suspend and remove wakeup sourceGirish Mahadevan2016-03-25
| | | | | | | | | | | | | | | | | | | | | | | The __pm_stay_awake/relax() calls were moved to runtime callbacks as a means to fix data loss due to race conditions between incoming userspace commands and executing PM related callbacks. However calling the __pm_relax (to notify wakeup event processing) as part of the runtime suspend callback could be race prone between the system suspend and the runtime framework. If the system suspend gets to run before the runtime callback, the wakeup event will block system suspend. Remove the use of the wakeup source altogether, instead do these: 1. Block system suspend based on the current clk request count and the RPM state of the device (to detect potential inbound userspace requests). 2. If the driver is in the process of executing the system suspend callback, ignore any userspace requests. 3. If the client calls a shutdown without an unvote ioctl, zero out the client_count vote forcefully to allow suspend. CRs-Fixed: 977421 Change-Id: I17de85f29b555c1a4563dd59bec3ba3084c3604f Signed-off-by: Girish Mahadevan <girishm@codeaurora.org>
* iommu: Introduce DOMAIN_ATTR_S1_BYPASSPatrick Daly2016-03-25
| | | | | | | | | Certain configurations may require nested translation, but may want to avoid software performance limitation on map/unmap operations. Change-Id: I69bed6cc9d801709849ebc91b76d2a9d6649865a Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
* adreno_tz: Use context aware dcvs calls, if availableDeepak Kumar2016-03-25
| | | | | | | | | | Add support to use context aware dcvs, if it is supported by TZ. Context aware dcvs helps in handling sudden workload scenarios. Change-Id: I5e6e6003a5c61eacb4f5af91910994919a5a7684 Signed-off-by: Deepak Kumar <dkumar@codeaurora.org> Signed-off-by: Divya Ponnusamy <pdivya@codeaurora.org>
* eCryptfs: fixed bug in cipher handlingGilad Broner2016-03-25
| | | | | | | | | Cipher was sometimes not treated properly, causing valid requests belonging to eCryptfs to be treated as regular. Change-Id: Iabfb93cc4c9e9e167901043482eb99613ed70343 Signed-off-by: Andrey Markovytch <andreym@codeaurora.org> Signed-off-by: Gilad Broner <gbroner@codeaurora.org>
* msm: gsi: update MHI channel scratchSkylar Chang2016-03-25
| | | | | | | | | Add new fields to MHI channel scratch according to MHI spec. CRs-Fixed: 990237 Change-Id: I36476b8a24b2a1b3bc55fa5832404bb106d810ec Acked-by: Ady Abraham <adya@qti.qualcomm.com> Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
* mm: vmstat: add pageoutcleanVinayak Menon2016-03-25
| | | | | | | | | | vmstat events currently count pgpgout, but that includes only the writebacks, and not the reclaim of clean pages. Add an event to count clean page evictions. This is helpful to evaluate page thrashing cases. Change-Id: Icfb797877a544a58c289074bdc290dfbc1384514 Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
* msm: ipa3: Add the ability to set dynamically HPS/DPS seq typeNadine Toledano2016-03-25
| | | | | | | | | | | HPS/DPS sequencer type is configured statically for PROD EPs according to ipa3_ep_mapping table. This change adds the ability to set a different HPS/DPS sequencer configuration for PRODs, which mainly be used in testing CRs-Fixed: 986167 Change-Id: I47dec10e757694596385f5118486603c702fe302 Signed-off-by: Nadine Toledano <nadinet@codeaurora.org>
* msm: ipa: add support for AGGR_SW_EOF_ACTIVESkylar Chang2016-03-25
| | | | | | | | | | | | Configure AGGR_SW_EOF_ACTIVE for WAN_CONS pipe in order to allow modem to close aggregation on this pipe. This is needed in order for modem to ensure a QMAP command packet always resides in the end of aggregated frame. Change-Id: I7412f1f0af8d2109853e311de815a1f1ec3220e3 CRs-Fixed: 979484 Acked-by: Ady Abraham <adya@qti.qualcomm.com> Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
* input: synaptics_dsx_2.6: update driver to enable touch S332UMao Li2016-03-25
| | | | | | | | | | Synaptics reference driver V2.6 is being cleaned up to enable touch controller S332U. Add Kconfig and Makefile changes to enable Synaptics dsx V2.6 driver's compilation. CRs-Fixed: 943896 Change-Id: I7e79e9ee321b7a7c90d27f065281dc73cee65391 Signed-off-by: Mao Li <maol@codeaurora.org>
* ipc_router: Fix compilation error when CONFIG_IPC_ROUTER is not enabledMayank Rana2016-03-23
| | | | | | | | diagfwd_socket.c is using few IPC router APIs. diagfwd_socket.c is showing compilation error due to CONFIG_IPC_ROUTER is not enabled. Fix this issue by adding missing APIs as part of !ifdef CONFIG_IPC_ROUTER. Signed-off-by: Mayank Rana <mrana@codeaurora.org>
* usb: qdss: Fix compilation error with USB QDSSMayank Rana2016-03-23
| | | | | | | | compilation error seen with redefinition of usb_bam_alloc_fifos and usb_bam_free_fifos APIs. Fix this issue by adding proper check, removing usb_bam.h as part of f_qdss.h and fixing makefile. Signed-off-by: Mayank Rana <mrana@codeaurora.org>
* bluetooth: Add snapshot of bluetooth driverSungjun Park2016-03-23
| | | | | | | This snapshot is taken as of msm-3.18 commit d580948 (Merge "msm: ipa: fix race condition when teardown pipe") Signed-off-by: Sungjun Park <sjpark@codeaurora.org>
* ufs: qcom: add dts property to disable LPM modesGilad Broner2016-03-23
| | | | | | | | | | | | | | | Since msmcobalt RUMI uses QRBTC-V2 UFS PHY, there are a few limitations that must be applied in order to be able to initialize UFS: 1. UFS should remain in PWM-G1 1-Lane and never change its gear, as other gears are not stable 2. hibern8 enter/exit should be bypassed 3. we should avoid any power change (as in runtime suspend/resume) Add "qcom,disable-lpm" property to facilitate disabling of these. Change-Id: I3f1801da1e2bf1ce8ce98f5ab08211683106ae8c Signed-off-by: Yaniv Gardi <ygardi@codeaurora.org> Signed-off-by: Gilad Broner <gbroner@codeaurora.org>
* sched: fix compile failure with !CONFIG_SCHED_HMPJoonwoo Park2016-03-23
| | | | | | | | Fix various compilation failures when CONFIG_SCHED_HMP or CONFIG_SCHED_INPUT isn't enabled. Change-Id: I385dd37cfd778919f54f606bc13bebedd2fb5b9e Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
* sched: restrict sync wakee placement bias with waker's demandJoonwoo Park2016-03-23
| | | | | | | | | | | | | | | | | | Biasing sync wakee task towards waker CPU's cluster makes sense when the waker's demand is high enough so the wakee also can take advantage of high CPU frequency voted because of waker's load. Placing sync wakee on the low demand waker's CPU can lead placement imbalance which can lead unnecessary migration. Introduce a new tunable "sched_big_waker_task_load" that defines the big waker so scheduler avoid wakee on waker's cluster bias when the waker's load is below the tunable. CRs-fixed: 971295 Change-Id: I1550ede0a71ac8c9be74a7daabe164c6a269a3fb Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org> [joonwoop@codeaurora.org: fixed a minor conflict in include/linux/sched/sysctl.h.]