summaryrefslogtreecommitdiff
path: root/include/linux (follow)
Commit message (Collapse)AuthorAge
...
* | | | | | 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.]
* | | | | | sched: add preference for waker cluster CPU in wakee task placementJoonwoo Park2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If sync wakee task's demand is small it's worth to place the wakee task on waker's cluster for better performance in the sense that waker and wakee are corelated so the wakee should take advantage of waker cluster's frequency which is voted by the waker along with cache locality benefit. While biasing towards the waker's cluster we want to avoid the waker CPU as much as possible as placing the wakee on the waker's CPU can make the waker got preempted and migrated by load balancer. Introduce a new tunable 'sched_small_wakee_task_load' that differentiates eligible small wakee task and place the small wakee tasks on the waker's cluster. CRs-fixed: 971295 Change-Id: I96897d9a72a6f63dca4986d9219c2058cd5a7916 Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org> [joonwoop@codeaurora.org: fixed a minor conflict in include/linux/sched/sysctl.h.]
* | | | | | sched: Add separate load tracking histogram to predict loadsPavankumar Kondeti2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Current window based load tracking only saves history for five windows. A historically heavy task's heavy load will be completely forgotten after five windows of light load. Even before the five window expires, a heavy task wakes up on same CPU it used to run won't trigger any frequency change until end of the window. It would starve for the entire window. It also adds one "small" load window to history because it's accumulating load at a low frequency, further reducing the tracked load for this heavy task. Ideally, scheduler should be able to identify such tasks and notify governor to increase frequency immediately after it wakes up. Add a histogram for each task to track a much longer load history. A prediction will be made based on runtime of previous or current window, histogram data and load tracked in recent windows. Prediction of all tasks that is currently running or runnable on a CPU is aggregated and reported to CPUFreq governor in sched_get_cpus_busy(). sched_get_cpus_busy() now returns predicted busy time in addition to previous window busy time and new task busy time, scaled to the CPU maximum possible frequency. Tunables: - /proc/sys/kernel/sched_gov_alert_freq (KHz) This tunable can be used to further filter the notifications. Frequency alert notification is sent only when the predicted load exceeds previous window load by sched_gov_alert_freq converted to load. Change-Id: If29098cd2c5499163ceaff18668639db76ee8504 Suggested-by: Saravana Kannan <skannan@codeaurora.org> Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org> Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org> Signed-off-by: Junjie Wu <junjiew@codeaurora.org> [joonwoop@codeaurora.org: fixed merge conflicts around __migrate_task() and removed changes for CONFIG_SCHED_QHMP.]
* | | | | | sched: Provide a wake up API without sending freq notificationsJunjie Wu2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Each time a task wakes up, scheduler evaluates its load and notifies governor if the resulting frequency of destination CPU is larger than a threshold. However, some governor wakes up a separate task that handles frequency change, which again calls wake_up_process(). This is dangerous because if the task being woken up meets the threshold and ends up being moved around, there is a potential for endless recursive notifications. Introduce a new API for waking up a task without triggering frequency notification. Change-Id: I24261af81b7dc410c7fb01eaa90920b8d66fbd2a Signed-off-by: Junjie Wu <junjiew@codeaurora.org>
* | | | | | sched: Revise the inter cluster load balance restrictionsPavankumar Kondeti2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The frequency based inter cluster load balance restrictions are not reliable as frequency does not provide a good estimate of the CPU's current load. Replace them with the spill_load and spill_nr_run based checks. The higher capacity cluster is restricted from pulling the tasks from the lower capacity cluster unless all of the lower capacity CPUs are above spill. This behavior can be controlled by a sysctl tunable and it is disabled by default (i.e. no load balance restrictions). Change-Id: I45c09c8adcb61a8a7d4e08beadf2f97f1805fb42 Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org> Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org> [joonwoop@codeaurora.org: fixed merge conflicts due to omitted changes for CONFIG_SCHED_QHMP.]
* | | | | | sched: colocate related threadsSrivatsa Vaddagiri2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Provide userspace interface for tasks to be grouped together as "related" threads. For example, all threads involved in updating display buffer could be tagged as related. Scheduler will attempt to provide special treatment for group of related threads such as: 1) Colocation of related threads in same "preferred" cluster 2) Aggregation of demand towards determination of cluster frequency This patch extends scheduler to provide best-effort colocation support for a group of related threads. Change-Id: Ic2cd769faf5da4d03a8f3cb0ada6224d0101a5f5 Signed-off-by: Srivatsa Vaddagiri <vatsa@codeaurora.org> [joonwoop@codeaurora.org: fixed minor merge conflicts. removed ifdefry for CONFIG_SCHED_QHMP.] Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org> Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
* | | | | | sched: Update fair and rt placement logic to use scheduler clustersSrivatsa Vaddagiri2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make use of clusters in the fair and rt scheduling classes. This is needed as the freq domain mask can no longer be used to do correct task placement. The freq domain mask was being used to demarcate clusters. Change-Id: I57f74147c7006f22d6760256926c10fd0bf50cbd Signed-off-by: Srivatsa Vaddagiri <vatsa@codeaurora.org> Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org> [joonwoop@codeaurora.org: fixed merge conflicts due to omitted changes for CONFIG_SCHED_QHMP.] Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
* | | | | | msm: ipa: snapshot of IPA changesSkylar Chang2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This snapshot is taken as of msm-3.18 commit d5809484b (Merge "msm: ipa: fix race condition when teardown pipe" ) Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>