summaryrefslogtreecommitdiff
path: root/include (follow)
Commit message (Collapse)AuthorAge
...
* | | | | | power_supply: Add additional USB Type-C propertiesJack Pham2016-05-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce the power_supply_typec_mode enum definitions which will allow a charger to indicate the type of USB Type-C connection that is established. Also add additional properties for indicating CC pin orientation, changing source/sink power role (useful for dynamic power role swap), and a flag to allow the charger to expect VBUS changes during USB Power Delivery power negotiation. CRs-Fixed: 1005389 Change-Id: Iba9b652335fba4ee4f24a17eba8abdd5c85c21bb Signed-off-by: Jack Pham <jackp@codeaurora.org> Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
* | | | | | soundwire: Add API to control slave device data pathPhani Kumar Uppalapati2016-05-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add soundwire API to control slave device data path enable or disable. This gives slave device drivers more flexibility for data path control during device path enablement. CRs-fixed: 996586 Change-Id: Ic0ab015098035418458a5ba7c2ffad9df20f933c Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
* | | | | | 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: jpeg: Expose JPEG DMA max downscale to user spaceGautham Mayyuri2016-05-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change will retrieve JPEG DMA max downscale factor from dtsi and expose it to user space. CRs-Fixed: 1009871 Change-Id: I57496aeb47d907f540a25c854ef7b35c6b5ab399 Signed-off-by: Gautham Mayyuri <gmayyuri@codeaurora.org>
* | | | | | clk: msm: clock-gcc-cobalt: Add clock reset support for additional clocksDeepak Katragadda2016-05-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add the BCR register for the gcc_ufs_axi_clk and gcc_blsp1/2_ahb_clk clocks. CRs-Fixed: 1005036 Change-Id: I8cd2403bed66141c99ccf8b9c57e59b936c1d90e Signed-off-by: Deepak Katragadda <dkatraga@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>
* | | | | | clk: msm: clock: Support peripheral clocks on MSMHAMSTERDeepak Katragadda2016-04-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for controlling the peripheral clocks on MSM HAMSTER. CRs-Fixed: 1004885 Change-Id: If77ad3d662fbba145374abe38ea14a1a6e540fee Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
* | | | | | ARM: dts: msm: Add initial device tree files for MSMHAMSTERRunmin Wang2016-04-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add the device tree files necessary to support the MSMHAMSTER SoC. CRs-Fixed: 1009230 Change-Id: I4370d561af7a34494accf00b4098ffa13c60410b Signed-off-by: Runmin Wang <runminw@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>
* | | | | | msm: mdss: add support for multi-rect featureAdrian Salido-Moreno2016-04-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for DMA multirect pipes available in new MDP revision. These pipes are able to fetch two different buffers and rectangles to allow more layers to be fetched. Add support and proper validation checks for limitations. CRs-Fixed: 987777 Change-Id: I588ecd7829a45908241f6d9fa1e97147e79798f6 Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org> Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
* | | | | | msm: mdss: Adding interface for supporting destination scaler.Naseer Ahmed2016-04-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MSM mdss 3xx hardware supports destination scaling for upscaling the layer mixer output to the panel resolution. This change adds the new interface to support the user space client using this feature. CRs-Fixed: 988990 Change-Id: Ie267f0fd81cd8cf04a5c1f1c6a8c48d456a3035e Signed-off-by: Benjamin Chan <bkchan@codeaurora.org> Signed-off-by: Naseer Ahmed <naseer@codeaurora.org>
* | | | | | dt-bindings: clock: Add audio external clock of_idx entriesPhani Kumar Uppalapati2016-04-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add clock of_idx entries for audio external clock registered to the msm clock framework. CRs-fixed: 1006637 Change-Id: Ia300cafb7246c08ba35fb24c2dc79489edb280a3 Signed-off-by: Phani Kumar Uppalapati <phaniu@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>
* | | | | | clk: msm: osm: model LMh RCG to ensure OSM clock runs at 200 MHzOsvaldo Banuelos2016-04-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The OSM clock is sourced from the LMh RCG. Model this RCG so that it can be configured properly to provide the OSM a 200 MHz clock source. Change-Id: Ib799e8c082977ac226d6bd31ffad8ca63597c0fc CRs-Fixed: 1007896 Signed-off-by: Osvaldo Banuelos <osvaldob@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: vidc: Add support for output crop extra dataArun Menon2016-04-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Venus firmware reports the crop dimensions for each FBD in the extra data buffer. This change is needed to support the new extra data type - MSM_VIDC_EXTRADATA_OUTPUT_CROP. CRs-Fixed: 999551 Change-Id: I3d1aa4a44701192e4bd85bdee29d6f2a49b9e5a7 Signed-off-by: Arun Menon <avmenon@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>
* | | | | | ARM: msm: dts: Add interrupt and clock gpios for codec on msmcobaltSudheer Papothi2016-04-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add interrupt and clock gpios for wcd9335 codec on msmcobalt target. These changes will provide interrupts from the codec and clock to the codec. Change-Id: I4bd278c9f6e22cdaeed012d0d0d6314acfacd36e Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
* | | | | | crypto: ice: split the config callbackAndrey Markovytch2016-04-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The requests configuration has to be split so clients can inform ICE laeyr when the request is completed. Rename the 'config' callback to 'config_start' and add 'config_end' callback. Change-Id: Ife0b5b62805b827449a1bb1002348db445f03c60 Signed-off-by: Gilad Broner <gbroner@codeaurora.org> Signed-off-by: Andrey Markovytch <andreym@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>
* | | | | | clk: msm: mdss: add support for dsi pll on msmcobaltAravind Venkateswaran2016-04-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support to program the DSI PLL on msmcobalt which is needed to drive the DSI byte and pixel clocks. CRs-Fixed: 1000576 Change-Id: Ic11a3747a0e008e1f71df91a1a79d33242d2a2a4 Signed-off-by: Aravind Venkateswaran <aravindh@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>
* | | | | | cnss: Fix compilation error of missing CONFIG_CNSS_SECURE_FWYuanyuan Liu2016-04-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add #ifdef CONFIG_CNSS_SECURE_FW for cnss_get_fw_ptr and cnss_get_sha_hash. Change-Id: I884b4ab3d552b12dd83f852be565a5dc4e69e21a CRs-Fixed: 971688 Signed-off-by: Yuanyuan Liu <yuanliu@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>
* | | | | | clk: msm: clock-gcc-cobalt: Remove support for glm clocksDevesh Jhunjhunwala2016-04-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The glm clocks are controlled by TZ, so remove support for these clocks from the clock-gcc-cobalt driver. Change-Id: Ibfb8f211ca8c29617aca4ff0ee885366f95aac00 Signed-off-by: Devesh Jhunjhunwala <deveshj@codeaurora.org>
* | | | | | clk: msm: clock-mmss-cobalt: Do not model the Throttle clock registersDeepak Katragadda2016-04-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The throttle clocks are managed by XBL and HLOS does not need to control them. Remove support for these clocks from the clock driver. CRs-Fixed: 1006824 Change-Id: I1a33b3dbde6d5526be1073874e28b12350adad5e Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
* | | | | | spcom: add ION buffer supportAmir Samuelov2016-04-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add new spcom API to allow user to send request/response with ION buffer. The spcom kernel driver modify the request/response by replacing the user ION buffer virtual address with the buffer physical address. spcom also provide API to lock/unlock the ION buffer to avoid the SP side using an ION buffer that was free when HLOS App crashed. CRs-Fixed: 986215 Change-Id: I5dca692cd3c4fac63be5ec73f89e6c39a593a50b Signed-off-by: Amir Samuelov <amirs@codeaurora.org>
* | | | | | crypto: ice: general driver clean-upAndrey Markovytch2016-04-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Removed spinlock as it was not locking against anything * Removed conversion of interrupt status to error number as it is not used by API client, and in case several bits are set only 1 error is ever handled and the rest get lost. Instead pass to the client the complete status. * Removed redundant includes, variables * vops structure is returned after performing a lookup in the DTS. There's no need for that as we already know the structure to return. * Other minor corrections Change-Id: I6d2549ce04c9e4b19fdd8fe3dfee03d83bfd9d77 Signed-off-by: Gilad Broner <gbroner@codeaurora.org> Signed-off-by: Andrey Markovytch <andreym@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>
* | | | | | soc: qcom: Export Service notifier driver APIsPushkar Joshi2016-04-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Export the service notifier APIs so that other kernel clients can use them. CRs-Fixed: 999530 Change-Id: I48fd55ae7991b64f818543dfcc963bc75135f714 Signed-off-by: Pushkar Joshi <pushkarj@codeaurora.org> Signed-off-by: Puja Gupta <pujag@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>
* | | | | | msm: jpeg: DMA V4L2 driver changesAshwini Rao2016-04-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed issues in jpeg DMA v4l2 driver, related to incorrect clock index, incorrect buffer offset, incorrect dtsi node names for VBIF, QOS and mmu prefetch. CRs-Fixed: 1001324 Change-Id: Ice15afd63e006401a469376277b50a129ef177b4 Signed-off-by: Ashwini Rao <ashwinik@codeaurora.org>
* | | | | | clk: msm: clock: Add support for the mdss byte_intf_div clocksDeepak Katragadda2016-04-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is a configurable divider between the byte_clk_src RCGs and the mmss_mdss_byte_intf_clk clocks. Add support to program it. CRs-Fixed: 1003173 Change-Id: I976c2b9e9739b603f6cfb10d11c7b1d64cb577c5 Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
* | | | | | uapi: Add MHI deviceSiddartha Mohanadoss2016-04-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Export MHI device header for user space clients. Change-Id: I0f68975dfcad9483182e5af5477153f39a98ac1f Signed-off-by: Siddartha Mohanadoss <smohanad@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>
* | | | | | lowmemorykiller: adapt to vmpressureVinayak Menon2016-04-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There were issues reported, where page cache thrashing was observed because of LMK not killing tasks when required, resulting in sluggishness and higher app launch latency. LMK does not kill a task for the following reasons. 1. The free and file pages are above the LMK thresholds 2. LMK tries to pick task with an adj level corresponding to current thresholds, but fails to do so because of the absence of tasks in that level. But sometimes it is better to kill a lower adj task, than thrashing. And there are cases where the number of file pages are huge, though we dont thrash, the reclaim process becomes time consuming, since LMK triggers will be delayed because of higher number of file pages. Even in such cases, when reclaim path finds it difficult to reclaim pages, it is better to trigger lmk to free up some memory faster. The basic idea here is to make LMK more aggressive dynamically when such a thrashing scenario is detected. To detect thrashing, this patch uses vmpressure events. The values of vmpressure upon which an action has to be taken, was derived empirically. This patch also adds tracepoints to validate this feature, almk_shrink and almk_vmpressure. Two knobs are available for the user to tune adaptive lmk behaviour. /sys/module/lowmemorykiller/parameters/adaptive_lmk - Write 1 to enable the feature, 0 to disable. By default disabled. /sys/module/lowmemorykiller/parameters/vmpressure_file_min - This parameter controls the behaviour of LMK when vmpressure is in the range of 90-94. Adaptive lmk triggers based on number file pages wrt vmpressure_file_min, when vmpressure is in the range of 90-94. Usually this is a pseudo minfree value, higher than the highest configured value in minfree array. Change-Id: I1a08160c35d3e33bdfd1d2c789c288fc07d0f0d3 Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>