summaryrefslogtreecommitdiff
path: root/include (follow)
Commit message (Collapse)AuthorAge
...
* | | | | | soc: qcom: msm_perf: Detect and notify when peak perf Cluster load is seenVijay Ganti2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Detect Perf cluster peak loads near FMAX based on the trigger thresholds set. On meeting the peak load criteria, the userspace is notified to take action by applying parameters to enhance performance. CRs-Fixed: 969499 Change-Id: Ie9687bf1aa832434dc61d20056f91a096d7be4f0 Signed-off-by: Vijay Ganti <viganti@codeaurora.org>
* | | | | | soc: qcom: msm_perf: Add support for enter/exit cycle for io detectionTapas Kumar Kundu2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for enter/exit cycle sysfs nodes for io detection There are some usecases which may benefit from different enter/exit cycle load criteria for IO load. This change adds support for that. Change-Id: Iff135ed11b92becc374ace4578e0efc212d2b731 Signed-off-by: Tapas Kumar Kundu <tkundu@codeaurora.org>
* | | | | | soc: qcom: msm_perf: Add support for multi_cycle entry/exit nodesTapas Kumar Kundu2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for multi_enter_cycles/multi_exit_cycles per cluster There are some usecases which may benefit from different enter/exit cycle load criteria for multimode cpu load. This change adds support for that. Change-Id: I3408405307ca03b9bba3f03e216ef59b98f29832 Signed-off-by: Tapas Kumar Kundu <tkundu@codeaurora.org>
* | | | | | soc: qcom: msm_perf: Add timers to exit SINGLE modeTapas Kumar Kundu2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Certain governors may stop sending out notifications once CPUs enter idle at min frequency.If governor's notifications stop then single mode will not exit for long time. It can happen only if the exit conditions are set in such a way that the time taken to exit single mode exceeds the time for the governor to ramp down, idle out and hence stop sending notifications leaving the system in single mode indefinitely. This change adds separate enter/exit cycle sysfs nodes along with a per cluster non-deferrable timer for single mode exit. The timer is armed only when the load starts falling below the exit load threshold and is cancelled when either the load starts going up or SINGLE mode is exited due to exceeding exit cycle count. On expiry the timer resets SINGLE mode and the enter/exit cycle counts. Change-Id: I13552b2f4085c435b917833a2993f8c64ff4ed2f Signed-off-by: Tapas Kumar Kundu <tkundu@codeaurora.org>
* | | | | | soc: qcom: msm_perf: Detect & notify userspace about heavy CPU loadsRohit Gupta2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Detect single and multi threaded heavy workloads based on loads received from interactive governor. - If the max load across all the CPUs is greater than a user-specified threshold for certain number of governor windows then the load is detected as a single-threaded workload. - If the total load across all the CPUs is greater than a user-specified threshold for certain number of governor windows then the load is detected as a multi-threaded workload. If one of these is detected then a notification is sent to the userspace so that an entity can read the nodes exposed to get an idea of the nature of workload running. Change-Id: Iba75d26fb3981886b3a8460d5f8999a632bbb73a Signed-off-by: Rohit Gupta <rohgup@codeaurora.org>
* | | | | | soc: qcom: msm_perf: Add detection for heavy IO workloadsRohit Gupta2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some workloads spend a lot of time in IO activity and need higher performance from system resources (for eg. CPU/DDR frequencies)to complete with decent performance. Unfortunately cpufreq governors and other system resources crucial for IO are tuned for general usecases and hence might be slower to react to such demanding IO workloads. This patch adds functionality to detect IO workloads and then send hints to userspace of the detected activity so that userspace can take necessary tuning action to prepare the system for such activity. IO activity is tracked every interactive governor timer boundary and if the percentage of iowait time in each cycle exceeds certain threshold continuously for certain number of cycles then heavy IO activity is detected. Change-Id: I73859517cb436e50340ef14739183e61fc62f90f Signed-off-by: Rohit Gupta <rohgup@codeaurora.org>
* | | | | | soc: qcom: Add a msm_performance moduleRohit Gupta2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sometimes for power saving reasons we might want to keep fewer CPUs online without adversely affecting performance for certain real world usecases. This module helps to provide that hotplug support to the userspace such that it tries to make a best effort in keeping a certain number of CPUs online as specified by the userspace. It allows any userspace entity to specify the CPUs that it wants to manage with this module and of those, the number of CPUs that should be kept online. Change-Id: I82c6d6e998d3740ad6f8c67b47344ce87f328b8b Signed-off-by: Rohit Gupta <rohgup@codeaurora.org>
* | | | | | vmstat: make vmstat_updater deferrable again and shut down on idleChristoph Lameter2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently the vmstat updater is not deferrable as a result of commit ba4877b9ca51 ("vmstat: do not use deferrable delayed work for vmstat_update"). This in turn can cause multiple interruptions of the applications because the vmstat updater may run at Make vmstate_update deferrable again and provide a function that folds the differentials when the processor is going to idle mode thus addressing the issue of the above commit in a clean way. Note that the shepherd thread will continue scanning the differentials from another processor and will reenable the vmstat workers if it detects any changes. Change-Id: Idf256cfacb40b4dc8dbb6795cf06b34e8fec7a06 Fixes: ba4877b9ca51 ("vmstat: do not use deferrable delayed work for vmstat_update") Signed-off-by: Christoph Lameter <cl@linux.com> Cc: Michal Hocko <mhocko@suse.cz> Cc: Johannes Weiner <hannes@cmpxchg.org> Cc: Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git Git-commit: 0eb77e9880321915322d42913c3b53241739c8aa [shashim@codeaurora.org: resolve minor merge conflicts] Signed-off-by: Shiraz Hashim <shashim@codeaurora.org> [satyap: resolve trivial merge conflicts] Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org>
* | | | | | cpuidle: lpm-levels: Add API to get low power mode latencySrinivas Rao L2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add API to get latency for a low power mode with particular affinity level and reset level. Reset level is level at which only control logic power collpase happen or both control and memory logic power collapse happen or Retention state. The API returns the minum latency out of all clusters in the particular affinity level and reset level if cluster name is not passed or the latency of the specific cluster for which the cluster name is passed. Change-Id: I2facd9a1fa2dba7e7103d65544537799bd8ba518 Signed-off-by: Srinivas Rao L <lsrao@codeaurora.org> Conflicts: arch/arm/boot/dts/qcom/mdm9607-pm.dtsi arch/arm/boot/dts/qcom/mdm9640-pm.dtsi arch/arm/boot/dts/qcom/mdmcalifornium-pm.dtsi arch/arm/boot/dts/qcom/msm8909-pm8909-pm.dtsi arch/arm/boot/dts/qcom/msm8909-pm8916-pm.dtsi arch/arm/boot/dts/qcom/msm8937-pm.dtsi arch/arm/boot/dts/qcom/msm8952-pm.dtsi arch/arm/boot/dts/qcom/msmgold-pm.dtsi arch/arm/boot/dts/qcom/msmtitanium-pm.dtsi
* | | | | | lpm-stats: Optimize stats pathArchana Sathyakumar2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Stats for cpu and cluster exit path query the ktime for every level and this increases the overall idle exit latency. Get the timestamp only once and use the same information to populate into different level. Change-Id: Iece36015910fcb16bd04a25dae1bf0396ab463e2 Signed-off-by: Archana Sathyakumar <asathyak@codeaurora.org> Conflicts: drivers/cpuidle/lpm-levels.c drivers/power/qcom/lpm-stats.c
* | | | | | usb: Remove DPDM pulsing functionalityMayank Rana2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change removes DP DM pulsing functionality related support from QUSB PHY driver as it is not required. Signed-off-by: Mayank Rana <mrana@codeaurora.org>
* | | | | | input: synaptics: defer touch resume to workqueuezhaoyuan2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During device resume, the touch resume function is called after display resume. Touch resume function will take about >200ms. Defer the touch resume function to a workqueue to reduce the total device resume time. An optional DT property is added to enable this on targets that need this feature. Change-Id: Ia9b055144c5a7f29f0f0d57428cccbe15a7d7a87 Signed-off-by: zhaoyuan <yzhao@codeaurora.org>
* | | | | | modules: fix longstanding /proc/kallsyms vs module insertion race.Rusty Russell2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For CONFIG_KALLSYMS, we keep two symbol tables and two string tables. There's one full copy, marked SHF_ALLOC and laid out at the end of the module's init section. There's also a cut-down version that only contains core symbols and strings, and lives in the module's core section. After module init (and before we free the module memory), we switch the mod->symtab, mod->num_symtab and mod->strtab to point to the core versions. We do this under the module_mutex. However, kallsyms doesn't take the module_mutex: it uses preempt_disable() and rcu tricks to walk through the modules, because it's used in the oops path. It's also used in /proc/kallsyms. There's nothing atomic about the change of these variables, so we can get the old (larger!) num_symtab and the new symtab pointer; in fact this is what I saw when trying to reproduce. By grouping these variables together, we can use a carefully-dereferenced pointer to ensure we always get one or the other (the free of the module init section is already done in an RCU callback, so that's safe). We allocate the init one at the end of the module init section, and keep the core one inside the struct module itself (it could also have been allocated at the end of the module core, but that's probably overkill). CRs-Fixed: 982779 Change-Id: I519f081967785e44a6ea33b16b1da64b14979963 Reported-by: Weilong Chen <chenweilong@huawei.com> Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=111541 Cc: stable@kernel.org Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Git-commit: 8244062ef1e54502ef55f54cced659913f244c3e Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git [salvares@codeaurora.org: resolved context conflicts in module.c] Signed-off-by: Sanrio Alvares <salvares@codeaurora.org>
* | | | | | trace, scm: trace scm callsSanrio Alvares2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Create a scm group to enable profiling time spent in a scm call. This will help determine which scm call is spending how much time in a higher execution level. To enable "echo 1 > /sys/kernel/debug/tracing/events/scm/enable". It is disabled by default. If enabled, traces can be found in Ftrace logs. Ftrace Output Example: PROCESS CPU TIME SCM ID, X0, Number of args, args[0-2], X5, return values [0-2] kworker/u8:4-329 [002] 128.201129: scm_call_start: func id=0x42000904 (args: 0x6, 0x2, 0x200000000, 0x65b8000000019, 0x142e0f000) kworker/u8:4-329 [002] 128.201383: scm_call_end: ret: 0, 0, 0x4a07e00000001 kworker/u8:4-329 [002] 128.201464: scm_call_start: func id=0x42000904 (args: 0x6, 0x3, 0x1312d0000000000, 0x17900000000, 0x142e0f000) kworker/u8:4-329 [002] 128.201542: scm_call_end: ret: 0x1bf03dddddd, 0x2f72656b726f776b, 0x343a32 CRs-Fixed: 969770 Change-Id: I4e5aaff796dbc9457c55fa529114dcb57780b7ec Signed-off-by: Sanrio Alvares <salvares@codeaurora.org>
* | | | | | cnss: Expose dump stack functionalityAbhishek Singh2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add changes to expose dump stack functionality which can be used by driver to dump stack information when it requires. CRs-Fixed: 979886 Change-Id: Ib929ad0a510b996ac54d17afd2957ea487c62851 Signed-off-by: Abhishek Singh <absingh@codeaurora.org>
* | | | | | clk: msm: clock-cpu-8996: Increase CBF PLL post-divider to 4 for 8996proVikram Mulukutla2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To open up the frequency range from 150 to 300MHz, change the fixed CBF PLL post divider from 2 to 4. That way, to generate frequencies less than 300MHz, the VCO can be run at 4x with the CBF mux set to use the main output. While we're here, add the cbf_pll_main clock to the lookup table. CRs-Fixed: 980903 Change-Id: I9f70f18e01199c41e1940857afb7bdd477c1c04c Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
* | | | | | misc: Add snapshot of QPNP misc driverAndy Gross2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds a snapshot of the QPNP misc driver as of msm-3.14 commit: e016c39467094409c9c872b02ec619164913054a (Merge "msm: thermal: Fix compilation issue when THERMAL_MONITOR is disabled") CRs-Fixed: 972331 Change-Id: I48dc9857379c388ddff86b20320cdfa23bb22af8 Signed-off-by: Andy Gross <agross@codeaurora.org> Signed-off-by: Devesh Jhunjhunwala <deveshj@codeaurora.org>
* | | | | | ASoC: msm: Use legacy ASM APIs for older targetsAshish Jain2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With 3.18 kernel, get_session_time command to DSP is updated to new command. This command is not supported on older targets as they have an older DSP version. To have backwards compatibility, based on DSP version choose which command to use. CRs-Fixed: 978676 Change-Id: I76b0cfcd84df90d7a206690cb8aa1eb773fdc53d Signed-off-by: Ashish Jain <ashishj@codeaurora.org>
* | | | | | input: touchpanel: Add Synaptics latest version 2.6 touchpanel driverMao Li2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the reference driver source code for synaptics touch driver, the version is 2.6. All the new files are copied from the git commit: 7b6b9d126aca1f371e8abf3ae56d7a5a4e538f13 drivers/input/touchscreen/synaptics_dsx_2.6/synaptics_dsx_active_pen.c is copied from kernel/drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_active_pen.c; drivers/input/touchscreen/synaptics_dsx_2.6/synaptics_dsx_core.c is copied from kernel/drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_core.c; drivers/input/touchscreen/synaptics_dsx_2.6/synaptics_dsx_core.h is copied from kernel/drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_core.h; drivers/input/touchscreen/synaptics_dsx_2.6/synaptics_dsx_fw_update.c is copied from kernel/drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_fw_update.c; drivers/input/touchscreen/synaptics_dsx_2.6/synaptics_dsx_gesture.c is copied from kernel/drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_gesture.c; drivers/input/touchscreen/synaptics_dsx_2.6/synaptics_dsx_i2c.c is copied from kernel/drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_i2c.c; drivers/input/touchscreen/synaptics_dsx_2.6/synaptics_dsx_proximity.c is copied from kernel/drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_proximity.c; drivers/input/touchscreen/synaptics_dsx_2.6/synaptics_dsx_rmi_dev.c is copied from kernel/drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_rmi_dev.c; drivers/input/touchscreen/synaptics_dsx_2.6/synaptics_dsx_rmi_hid_i2c.c is copied from kernel/drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_rmi_hid_i2c.c; drivers/input/touchscreen/synaptics_dsx_2.6/synaptics_dsx_spi.c is copied from kernel/drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_spi.c; drivers/input/touchscreen/synaptics_dsx_2.6/synaptics_dsx_test_reporting.c is copied from kernel/drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_test_reporting.c drivers/input/touchscreen/synaptics_dsx_2.6/synaptics_dsx_video.c is copied from kernel/drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_video.c include/linux/input/synaptics_dsx_v2_6.h is copied from kernel/include/linux/input/synaptics_dsx.h Change-Id: Ifda2c38ca5b4a82c3363d8c59ae9da3839568e82 Signed-off-by: Mao Li <maol@codeaurora.org>
* | | | | | clk: msm: clock-osm: add OSM clock driverOsvaldo Banuelos2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Operating State Manager is a hardware block which deals with performing voltage and frequency change operations in the CPUSS. Two instances exist, one for each cluster, in the msmcobalt chip. Introduce the OSM clock driver to perform the required OSM hardware block initialization and support DCVS scale requests. Change-Id: I3e155db5cd580e371ca1791815e4942f442a3d20 CRs-Fixed: 967319 Signed-off-by: Pushkar Joshi <pushkarj@codeaurora.org> Signed-off-by: Osvaldo Banuelos <osvaldob@codeaurora.org>
* | | | | | ASoC: msm: Add support to query speaker parametersVidyakumar Athota2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add SET and GET parameter APIs to query speaker parameters in feedback speaker protection FTM mode. CRs-Fixed: 974621 Change-Id: I1a51e5033d7836c0c996621593cd2f4dd6982dcd Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
* | | | | | mdss: msm: Update dither driver interfaceGopikrishnaiah Anandan2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Post processing driver clients can program the dither table in mdp. If length of the dither table is set to 0, driver will program the default table. If driver client would like to program the table it needs to update the length field as per mdp hardware version. CRs-fixed: 983164 Change-Id: I5e6aaa3d9376884e5ea1fe153cdf2798e3a52d1e Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
* | | | | | drivers: mfd: Move codec reset gpio config to early bootPhani Kumar Uppalapati2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Codec reset gpio configuration needs to be updated before slimbus master component is initialized otherwise codec cannot be enumerated on the bus. Add a new platform device driver to update the codec reset gpio configuration to valid state (output, drive-strength) before slimbus is initialized. CRs-Fixed: 968161 Change-Id: I7227212e6b846d58196718255aa4b0923352d120 Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
* | | | | | clk: msm: clock-local: Add support to set the post_div for debug muxOdelu Kukatla2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update the clock framework to support the setting of post_div for debug mux so as to divide the clock by post_div. CRs-Fixed: 977413 Change-Id: I7299bdb0953dcf65fbf2a38b7578e2e54446c0d7 Signed-off-by: Odelu Kukatla <okukatla@codeaurora.org>
* | | | | | net: cnss: refactor PM QoS request wrapper APISarada Prasanna Garnayak2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make PM QoS request API generic to pass the type of latency requirement needed by the client instead of hard coding latency type. Add latency type as a function parameter. CRs-Fixed: 972761 Change-Id: Ic912148d2068fe8a758b6a4b3be570ccf870f03a Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
* | | | | | msm: kgsl: Set the DDR high bank bit if specified in the device treeJordan Crouse2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On 5XX targets we need to program the bit of the highest DDR bank into a number of registers, one of which is protected which would cause problems if the user mode driver tried to write to it. Specify the high bank bit in the device tree files, set the problematic register in the kernel and then pass the value up to the user mode driver as a property and let them program the other registers. This makes the device tree the authoratative source of the high bit value which is exactly how it should be. If the value isn't specified by the device tree for whatever reason return an error for the property request - that will give the UMD a clue that the value wasn't specified and they should just set a default. CRs-Fixed: 970272 Change-Id: Ic0dedbad830321329b74da7fa3e172fdaf765c4d Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
* | | | | | msm: kgsl: Add disable-busy-time-burst to disable ceiling thresholdDivya Ponnusamy2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a devicetree property disable-busy-time-burst to disable ceiling threshold in the governor. The ceiling threshold cause busy time burst that switch power level for large frames based on busy time. Change-Id: I44f8a51e0aa49bb0b2210703f57874fd5f219c18 Signed-off-by: Divya Ponnusamy <pdivya@codeaurora.org>
* | | | | | msm: gsi: data path statisticsSkylar Chang2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add capabilities to GSI driver to collect data path statistics in order to help debugging throughput issues. This change also exposes the a debugfs interface to print stats. CRs-Fixed: 975119 Change-Id: If97512af034bd419cf4f679b1c19419605529fa6 Acked by: Ady Abraham <adya@qti.qualcomm.com> Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
* | | | | | soc: qcom: Expose TZ specific device id to other functionsSusheel Khiani2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need to pass TZ specific device id when calling into TZ for SMMU configuration. Expose these device ids and an interface function which can be used to extract these device id. CRs-Fixed: 959535 Change-Id: I31239d187c893e1bf419a5e9b5add127699ef701 Signed-off-by: Susheel Khiani <skhiani@codeaurora.org>
* | | | | | socinfo: Add MSM8996AU automotive supportAjit Khare2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add CPU IDs to the socinfo table needed to support MSM8996AU. CRs-fixed: 971957 Change-Id: Ifaed6df0a99999566e6241fbf98f45ab92f8c0fe Signed-off-by: Ajit Khare <ajitk@codeaurora.org> Signed-off-by: Mathew Joseph Karimpanal <mkarim@codeaurora.org>
* | | | | | APR: Add G-link transport layer for packet routingDeven Patel2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | APR driver was using SMD as the underlying transport layer. In order to provide a unified IPC solution, G-link is introduced as the replacement which APR adapts as the new transport layer for audio packet routing. Change-Id: I60d96e39ce665b808498d1130e371df8288e370a Signed-off-by: Helen Zeng <xiaoyunz@codeaurora.org> Signed-off-by: Deven Patel <cdevenp@codeaurora.org>
* | | | | | mm/memblock: fix a race between search and removeShiraz Hashim2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | no-map-fixup feature for dma-removed reserve region does a late memblock remove. This late removal is a slight deviation from conventional memblock flow. That leads to a race between pfn_valid->memblock_search, and memblock_remove. To fix this, use a read seqlock in memblock_search, which would ensure minimum overhead in search path. And export two APIs to let code doing late memblock remove apply write seqlock. write seqlock would ensure that search retries if the list is updated concurrently. The two exported APIs which should be called before and after modifying memblock regions, late in boot, are - memblock_region_resize_late_begin - memblock_region_resize_late_end The code to alter memblock regions should be guarded by these APIs. CRs-fixed: 967728 Change-Id: I6a10c3e980002048aafeaf829a16119848c6a099 Signed-off-by: Shiraz Hashim <shashim@codeaurora.org>
* | | | | | msm: kgsl: Add a cmdbatch profiling flag to get time since bootJonathan Wicks2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a new cmdbatch profiling flag that populates the seconds and nanosecond fields of the cmdbatch structure with the time since boot instead of the wall time. CRs-Fixed: 968114 Change-Id: I4e752d5237a74192b3ea9cc125c11bae574c1b36 Signed-off-by: Jonathan Wicks <jwicks@codeaurora.org>
* | | | | | SSM: Integrating the SSM driver codeAshay Jaiswal2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for SSM driver which is a framework to which a client can register itself specifying different attributes and defining various permission levels associated with different combination of attribute values and mode of the system. CRs-Fixed: 970190 Change-Id: Ia030ebad56a22ba9103af17f6557c7906b762b76 Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org> Signed-off-by: Manoj Prabhu B <bmanoj@codeaurora.org>
* | | | | | pm: Update L2 Flag for GDHS mode to pass in TZSrinivas Rao L2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change L2 GDHS flag passing to TZ to trigger L2 gdhs mode on non-psci targets. Change-Id: I0d4fed45fa8afa6c9a73661b9169c29644169ba4 Signed-off-by: Srinivas Rao L <lsrao@codeaurora.org>
* | | | | | ASoC: msm: qdsp6v2: move adsp_err to c source filePatrick Lai2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In preparation to add more debugging hooks to LPASS driver, convert adsp error code and string conversion functions to C source file. CRs-fixed: 968775 Change-Id: Ic074a318ede4188a8fd603efddce71ed820ee560 Signed-off-by: Patrick Lai <plai@codeaurora.org> Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
* | | | | | soc: qcom: sysmon: Enable back MSM_SYSMON_COMM interface supportAvaneesh Kumar Dwivedi2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MSM_SYSMON_GLINK_COMM is currently enabled for all targets which breaks few existing targets, which do not support GLINK protocol and therefore are still dependent on MSM_SYSMON_COMM support. Enable back sysmon communication over SMD interface to preserve backward compatibility until all targets support GLINK. Change-Id: I06b6c8cd9c079494998463bbf30e27ad224d7124 Signed-off-by: Avaneesh Kumar Dwivedi <akdwived@codeaurora.org>
* | | | | | mm: swap: swap ratio supportVinayak Menon2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support to receive a static ratio from userspace to divide the swap pages between ZRAM and disk based swap devices. The existing infrastructure allows to keep same priority for multiple swap devices, which results in round robin distribution of pages. With this patch, the ratio can be defined. CRs-fixed: 968416 Change-Id: I54f54489db84cabb206569dd62d61a8a7a898991 Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
* | | | | | clk: msm: clock: Add the MMSS clock driver support for MSMCOBALTDeepak Katragadda2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support to model the multimedia clocks on MSMCOBALT. Change-Id: Iec33fa93e745a65205cf4206759289d7e842fe36 Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
* | | | | | soc: qcom: Add debugfs interface for enabling SOC debug eventsPatrick Daly2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Other processors/execution environments may support debug events. Implement an 'smc instruction' based communications protocol and hook it up to debugfs. Change-Id: I3a99dfdac5df7edb874bd449d9abc5a929787758 Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
* | | | | | ASoC: Add check for pointer and array indexViraja Kommaraju2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add check for NULL pointer access and array index boundary. Change-Id: Ia12a28c43b99158a90d27eecd23bdfd4b42b346e Signed-off-by: Viraja Kommaraju <virajak@codeaurora.org>
* | | | | | ASoC: apr: add API to read subsys stateLaxminath Kasam2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As audio DSP can be running in lpass or modem based on chipset, add API to get the subsys state from apr_v2(lpass) and apr_v3(modem) accordingly. Change-Id: I7a2b6f12574edcc5f609ce8ddf684a840f86d676 Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
* | | | | | ASoC: qdsp6v2: move AFE clock macros to headerLaxminath Kasam2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As AFE clock version macros can be used in other drivers, move them to header file. Change-Id: Iae5717c181e81bf7a6161742e8d062d09bedfb78 Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
* | | | | | clk: msm: clock-local2: Add support for branch clocks rate aggregationDeepak Katragadda2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are cases when multiple branch clocks need to be able to scale their RCG independently. The RCG should then be configured to run at the maximum rate of all it's children clocks which are enabled at that point. Add support for this. Change-Id: I90b7a9a3007792f65e0292d375e409ce1dbf0c08 Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
* | | | | | msm: mdss: Add mdss capabilities for msmgoldKrishna Chaitanya Devarakonda2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add MDSS version info along with other capabilities for msmgold. Change-Id: Ia4602fdaf29bad28dffab4bb08a43a6eb6f32178 Signed-off-by: Krishna Chaitanya Devarakonda <kdevarak@codeaurora.org> Signed-off-by: Kalyan Thota <kalyant@codeaurora.org> Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
* | | | | | msm: mdss: Add mdss capabilities for msmtitaniumJayant Shekhar2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add MDSS version info along with other capabilities for msmtitanium. Change-Id: If9544098e8bb7f4b0d8198a931e5a7ef8eb561d4 Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
* | | | | | msm: camera: add slave write array supportTerence Ho2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for slave_write_array and to pass addr_type with slave_read. Change-Id: Ia530dcf684739f43e36fc67fec83bc0be0c8cf78 Signed-off-by: Terence Ho <terenceh@codeaurora.org>
* | | | | | Net: CNSS_SDIO: Add cnss_get_restart_level CNSS APILiangwei Dong2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | export cnss_get_restart_level cnss API for wlan driver to get current subsystem restart level. Change-Id: I7e5d9b0055707bbad06b6cd1496723da6c28d4d5 CRs-Fixed: 961579 Signed-off-by: Liangwei Dong <liangwei@codeaurora.org>
* | | | | | soc: qcom: add API for matching voltages across CPUsAmir Vajid2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Create an API to match voltages across asymmetric CPUs as this can be useful in systems with a shared rail across CPUs. The API takes in one input argument which is the frequency of a big cluster CPU for which a voltage-equivalent little cluster CPU frequency is desired. The return value is this little cluster CPU frequency. All frequencies are in units of kHz. Change-Id: I821819a0761566984dd7f92014599ff0fcb85e90 Signed-off-by: Amir Vajid <avajid@codeaurora.org>
* | | | | | clk: msm: clock: Add GPUCC clock driver support for MSMCOBALTDeepak Katragadda2016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support to model the graphics clocks on MSMCOBALT. Change-Id: I31c3dda59a0bb7e9b6b6cee8176fb46f46767629 Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>