summaryrefslogtreecommitdiff
path: root/drivers/soc
AgeCommit message (Collapse)Author
2016-03-23soc: qcom: Add in-rush current mitigation driverArun KS
On few recent targets APSS L2 memory is moved to APC domain which were earlier on Mx domain. This can cause inrush current while bringing up huge memories like modem and adsp. To mitigate inrush current, bring up comparatively lesser memory in size(for eg MDP memory) before bringing up huge memories like modem or adsp. This way MDP memory introduce an intermediate load on MX rail. During boot, gdsc driver will set MEM and PERIPHERAL bits. This driver makes sure that dependent subsystems are powered up. Once done, call gdsc_allow_clear_retention() API to allow retention of MDP memories. Change-Id: I54011eb1b6cc38b2c33a67b8b9cc5eaadbd42c6a Signed-off-by: Arun KS <arunks@codeaurora.org>
2016-03-23qcom: core_ctl_helper: Add wrapper for CPU hotplugJunjie Wu
Different kernel version needs to use different kernel APIs for hotplug. Add wrapper for CPU hotplug so that external module can be used across different kernel releases. Use device_online/offline() API for CPU hotplug. Change-Id: Id21855f4ddc62bc9e9e6b45a856c245fd18d1514 Signed-off-by: Junjie Wu <junjiew@codeaurora.org>
2016-03-23qcom: core_ctl: Add support functions for core controlBryan Huntsman
Add support functions for core control driver. Also introduce Kconfig for enabling core control. Change-Id: Ic127b6ed7d9450338883b13d9c42abfe49ff8b35 Signed-off-by: Bryan Huntsman <bryanh@codeaurora.org> [satyap: trivial merge conflict resolution] Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org>
2016-03-23qcom: fix kryo CPU PMU functional issues on kernel 4.4Satya Durga Srinivasu Prabhala
While porting kryo CPU PMU driver to kernel 4.4, some functionality got dropped unintentionally. This commit adds the dropped functionality back. Also, update driver to be compliant to kernel 4.4. Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org>
2016-03-23soc: qcom: Add kernel_protect library and initcallMitchel Humpherys
It's good security practice to make your executable code read-only. On hypervisor-enabled targets, this can be trivially accomplished by removing the writable attribute from all stage-2 mappings of the kernel text. Add a small library and initcall to do this. Due to constraints on the hypervisor, this needs to happen before all of the cores are brought out of reset, so make it an early_initcall. Change-Id: I2d3ee4ad69402d98f0f6a9078c58e66cd227d222 Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
2016-03-23qcom: add support for kryo CPU PMUNeil Leeder
The performance Monitor Unit on the kryo processor has additional performance events over the architected events in ARM processors. This adds support for these additional events. Change-Id: I90356b7d2cfebd9d985ec6f92c6d000be9911a7c Signed-off-by: Neil Leeder <nleeder@codeaurora.org> [satyap: trivial merge conflict resolution and remove check_event & map_event functionality to align with kernel 4.4] Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org>
2016-03-23ASoC: msm: Add Audio drivers for MSM targetsSudheer Papothi
Add snapshot for audio drivers for MSM targets. The code is migrated from msm-3.18 kernel at the below commit/AU level - AU_LINUX_ANDROID_LA.HB.1.3.1.06.00.00.187.056 (e70ad0cd5efdd9dc91a77dcdac31d6132e1315c1) (Promotion of kernel.lnx.3.18-151201.) Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2016-03-23ASoC: Add AV timer changes for MSM targetsSudheer Papothi
Add snapshot of avtimer changes for MSM targets. The code is migrated from msm-3.18 kernel. Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org> Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2016-03-22icnss: Fix minor compilation bug for upgrading to msm-4.4 kernelYue Ma
Add corresponding header file for ioremap() in order to compile icnss driver for msm-4.4 kernel. Signed-off-by: Yue Ma <yuem@codeaurora.org>
2016-03-22net: icnss: Add snapshot of icnss driverYue Ma
This is a snapshot of the icnss driver and associated files as of msm-3.18 commit: e70ad0cd5efdd9dc91a77dcdac31d6132e1315c1 (Promotion of kernel.lnx. 3.18-151201.) Signed-off-by: Yue Ma <yuem@codeaurora.org>
2016-03-22clocksource: migrate users of arch_get_cnt_pct to use virtual timersAbhimanyu Kapur
Software running in non secure EL1(on arm64) and non secure supervisor mode(on arm) should use virtual timer for time stamping. Migrate users to arch_get_cnt_vct instead of using arch_get_cnt_pct. Change-Id: Ic3cf52a2ca3b0a2f83b926df26cecf479080320c Signed-off-by: Abhimanyu Kapur <abhimany@codeaurora.org>
2016-03-22soc: qcom: pil-q6v5: Read the written value back in reset sequenceAvaneesh Kumar Dwivedi
Read back value of QDSP6SS_MEM_PWR_CTL after writing, to comply with reset sequence specification. Change-Id: Ib803656355c4d498c83fe5cd017823afc5db2c60 Signed-off-by: Avaneesh Kumar Dwivedi <akdwived@codeaurora.org>
2016-03-22soc: qcom: pil-q6v5: Add support to read acc register value and override itAvaneesh Kumar Dwivedi
Update the reset sequence to read and override acc register based on msm specific value provided in device tree. Change-Id: I8ed290f5ab5e48e94ef5c8c91fd1d8f8414e86f7 Signed-off-by: Avaneesh Kumar Dwivedi <akdwived@codeaurora.org>
2016-03-22soc: qcom: Add generic irq handler for secure processorPuja Gupta
This patch adds the code to handle watchdog, err_ready and other interrupts from secure processor subsystem to the PIL driver. CRs-Fixed: 972423 Change-Id: I65455229ee14bd4da357358ac3977f2137f3c07e Signed-off-by: Puja Gupta <pujag@codeaurora.org>
2016-03-22soc: qcom: hvc: add missing x7 argument to the 32bit __hvc stubPratik Patel
__hvc should take 11 arguments instead of 10. Add the missing x7 argument to avoid compilation error if the driver gets enabled on 32bit targets. Change-Id: I09985235fdbfb64e81743a71ceb2764c32d3a3b1 Signed-off-by: Pratik Patel <pratikp@codeaurora.org>
2016-03-22soc: qcom: hvc: add hypervisor call supportPratik Patel
Add API support for calling into the hypervisor. This will allow various drivers to avail hypervisor services. Change-Id: I0a0e8f8fe13a550ad20c5421b712e207933c82f3 Signed-off-by: Pratik Patel <pratikp@codeaurora.org> [pdaly@codeaurora.org Resolve minor conflicts] Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
2016-03-22soc: qcom: add library for SMMU TZ interfaceMitchel Humpherys
Some targets require calling into TZ for various bits of SMMU configuration. Add a library to provide a clean interface for such configuration. Change-Id: I1dc5cd21d4a09e321039d69cc760eaf6f356c6cf Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org> [pdaly@codeaurora.org Resolve minor conflicts] Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
2016-03-22input: qpnp-power-on: move qpnp-power-on driver as input driverJigarkumar Kishorkumar Zala
Move qpnp-power-on driver as input driver, also update regulator related api in order to accomodate regualtor framework Signed-off-by: Jigarkumar Kishorkumar Zala <j_zala@codeaurora.org>
2016-03-22soc: qcom: scm: Skip Kasan sanitization of the SCM driverTrilok Soni
SCM (Secure Channel Manager) driver is used to communicate with the secure world entities like trustzone and hypervisor. As a part of the communication we expect to give certain input, output operands and the caller of the scm_callX API would expect that output values or return values of the scm_callX should not get corrupted (if they depend on it). Due to Kasan instrumentation of the SCM driver following code is getting instrumented with Kasan __asan_store8_noabort APIs which would internally check if the memory access is allowed and it is the functionality of the Kasan to check/instrument the load and stores. if (ret1) *ret1 = r1; if (ret2) *ret2 = r2; if (ret3) *ret3 = r2; All will be fine for the first *ret1 = r1; execution since GCC has generated the code which saves the x1 value (r1) into the another register but the execution of the __asan_store8_noabort API after the saving of the register corrupts the x2 and x3 when it returns. GCC has no knowledge at this point to save the x2 and x3. Due to this x2 and x3 is loaded with the Kasan shadow offset value and Kasan shifted (>> 3) address. Since x2 and x3 (r2 and r3 in the code above) would be used as the ret2 and ret3 for the caller of the scm_callX API the caller would get the wrong return values (if it needs them). QSEECOM is one such driver which uses these ret2 and ret3 values and due to this corruption QSEECOM driver was treating it as SCM call failure, though the bug described above due to Kasan instrumentation would be applicable to any caller needing the right values of the ret2 and ret3. SCM driver is very small and simple and we would not expect the Out of bound or use-after-free errors for it, so it would be fine to skip it from the Kasan instrumentation. Change-Id: I8b2a17759295375c21abc520110f855f349faf4b Signed-off-by: Trilok Soni <tsoni@codeaurora.org> [satyap: trivial merge conflict resolution] Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org>
2016-03-22soc: qcom: Add snapshot of System Health MonitorKarthikeyan Ramasubramanian
This snapshot is taken as of msm-3.18 commit e70ad0cd (Promotion of kernel.lnx.3.18-151201.) Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
2016-03-22soc: qcom: Add snapshot of GLINK_PKT DriverKarthikeyan Ramasubramanian
This snapshot is taken as of msm-3.18 commit e70ad0cd (Promotion of kernel.lnx.3.18-151201.) Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
2016-03-22msm: boot_stats: Add snapshot of boot_stats driverAbhimanyu Kapur
Add a snapshot of the msm boot_stats driver as of commit acdce027751d5a7488b283f0ce3111f873a5816d (Merge "defconfig: arm64: Enable ONESHOT_SYNC for msm8994") Change-Id: Iee7ec288fe44606b468dc533bb4221f8d018b3cb Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org> [abhimany: resolve trivial merge conflicts and add header file] Signed-off-by: Abhimanyu Kapur <abhimany@codeaurora.org>
2016-03-22soc: qcom: rq_stats: add snapshot of run queue stats driverMatt Wagantall
Add a snapshot of the run queue stats driver as of msm-3.10 commit 4bf320bd ("Merge "ASoC: msm8952: set async flag for 8952 dailink"") Resolve checkpatch warnings in the process, notably the replacement of sscanf with kstrtouint. Change-Id: I7e2f98223677e6477df114ffe770c0740ed37de9 Signed-off-by: Matt Wagantall <mattw@codeaurora.org> Signed-off-by: Abhimanyu Kapur <abhimany@codeaurora.org>
2016-03-22soc: qcom: core_hang: Add core hang driverPrasad Sodagudi
Add driver for core hang detection. This drivers provides sysfs entries to configure threshold, pmu event select and enable parameters for core hang detection feature. Change-Id: Ieb19b309238fc11f1a631842564a7e43b16651dc Signed-off-by: Prasad Sodagudi <psodagud@codeaurora.org>
2016-03-22soc: qcom: gladiator_hang: Add gladiator hang driverRunmin Wang
Add driver for gladiator hang detection. This driver provides sysfs entries to configure thresholds, enable parameters for ACE, IO, M1, M2, PCIO gladiator ports. Change-Id: Ib4bfa084a4265d6b6a149e8c932a5e6f884a043e Signed-off-by: Runmin Wang <runminw@codeaurora.org>
2016-03-22soc: qcom: Correct the logic to determine if device is secure boot or not.Aparna Mallavarapu
Correct the logic to determine if device is secure boot or not and accordingly disable the gladiator ERP driver for secure boot devices. Change-Id: I7fc38983f293eb48abbeb3e4996bc3e03046b962 Signed-off-by: Aparna Mallavarapu <aparnam@codeaurora.org>
2016-03-22soc: qcom: Add support for gladiator error reportingAbhimanyu Kapur
Add support for gladiator cache interconnect error detection and reporting. The Gladiator is the cache coherent interconnect in between two or more CPU clusters. This driver helps detect the errors related to snoop data transfer and Distributed Virtual Memory(DVM) on READ/WRITE transactions. Change-Id: Ic1aa2066df239672a8ed3d99a63318ed32a11af2 Signed-off-by: Abhimanyu Kapur <abhimany@codeaurora.org> Signed-off-by: Srinivas Ramana <sramana@codeaurora.org>
2016-03-22memshare: Release the memory only if no allocation is doneKatish Paran
Currently, memshare relies on the system monitor only for releasing memory for the allocated clients. It may happen that XPU is still intact on the modem side while driver tries to release the memory. This patch ensures that memory release only happens if XPU is released. Change-Id: I45716c0abe6bc08559854782ff73a332e148a7cb Signed-off-by: Katish Paran <kparan@codeaurora.org>
2016-03-22memshare: Port and add snapshot of changes from msm-3.10Mohit Aggarwal
Port the memshare driver and apply the following memshare driver changes taken from msm-3.10 kernel branch as of msm-3.10 commit 4493220f memshare: Boot time allocation and handling multiple clients 2ae4997a memshare: Donot re-allocate the memory for the clients 059dcd59 memshare: Do not overwrite the response for the failure case ed6d183f memshare: Change the compatible property field for child node b473fc4e2 memshare: Free the memory after XPU unlocking is done 95c114c39 memshare: Add query size api support for clients 60f310d4e memshare: Change dma attribute to DMA_ATTR_NO_KERNEL_MAPPING 73075545 memshare: Remove local connection status variable 98dd2908 memshare: Place error check to prevent out of bound access Change-Id: Iecf0a9828efd1d56c309a2af882c13ce36e7fc06 Signed-off-by: Katish Paran <kparan@codeaurora.org> Signed-off-by: Mohit Aggarwal <maggarwa@codeaurora.org>
2016-03-22soc: qcom: Add snapshot of QMIKarthikeyan Ramasubramanian
This snapshot is taken as of msm-3.18 commit e70ad0cd (Promotion of kernel.lnx.3.18-151201.) Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
2016-03-22soc: qcom: Add snapshot of ipc_router_glink_xprtKarthikeyan Ramasubramanian
This snapshot is taken as of msm-3.18 commit e70ad0cd (Promotion of kernel.lnx.3.18-151201.) Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
2016-03-22soc: qcom: Add snapshot of ipc_router_mhi_xprtKarthikeyan Ramasubramanian
This snapshot is taken as of msm-3.18 commit e70ad0cd (Promotion of kernel.lnx.3.18-151201.) Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
2016-03-22soc: qcom: Add snapshot of ipc_router_hsic_xprtKarthikeyan Ramasubramanian
This snapshot is taken as of msm-3.18 commit e70ad0cd (Promotion of kernel.lnx.3.18-151201.) Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
2016-03-22soc: qcom: Add snapshot of ipc_router_smd_xprtKarthikeyan Ramasubramanian
This snapshot is taken as of msm-3.18 commit e70ad0cd (Promotion of kernel.lnx.3.18-151201.) Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
2016-03-22soc: qcom: Add snapshot of SMEM_LOG DriverKarthikeyan Ramasubramanian
This snapshot is taken as of msm-3.18 commit e70ad0cd (Promotion of kernel.lnx.3.18-151201.) Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
2016-03-22soc: qcom: subsys-pil-tz: initialize DMA opsDavid Keitel
Initialize the DMA operations for the MDT data DMA allocation. Change-Id: If8eae5e91b4145be8d9e5eeeb28c14cda88e617f Signed-off-by: David Keitel <dkeitel@codeaurora.org>
2016-03-22soc: qcom: add snapshot of PIL, SSR and SYSMON drivers/librariesDavid Keitel
This is a snapshot of PIL, SSR and SYSMON drivers and libraries as of msm-3.18 commit 5cef33a285e91869cebe40a25e6294ae1e5fc9cc (Merge "ASoC: msm: Update the AFE clock API support") Change-Id: Ibebddee32b15fbcb5b18cceac43769d3309e609c Signed-off-by: David Keitel <dkeitel@codeaurora.org>
2016-03-22soc: qcom: Use arch_counter_get_cntvct instead of arch_counter_get_cntpctMahesh Sivasubramanian
Kernel version 4.4 has deprecated the use of *pct versions for 64 bit targets. Hence moving to vct as recommended. Change-Id: Ibabf3eb28f58daccd58cde207262b34ed3b1c04f Use vct instead of pct() Change-Id: Ibabf3eb28f58daccd58cde207262b34ed3b1c04f Signed-off-by: Mahesh Sivasubramanian <msivasub@codeaurora.org>
2016-03-22soc: qcom: idle: Snapshot of idle/sleep driver as of msm-3.18Mahesh Sivasubramanian
This is a snapshot of the Sleep driver and realted functionality as of e70ad0cd5efdd9dc91a77dcdac31d6132e1315c1 on msm-3.18 branch Change-Id: I98fec26849898c5c66abbb1b094439780c23964d
2016-03-22soc: qcom: mpm-of: Add gpio_arch_extn supportMahesh Sivasubramanian
To wake up from system sleep, the MPM driver needs to keep track of enabled GPIO interrupts. Add gpio_arch_extn to support monitoring of GPIO interrupts Change-Id: If97f566e11eaab452e4b55db1a05e5457f1a8d3f Signed-off-by: Mahesh Sivasubramanian <msivasub@codeaurora.org>
2016-03-22soc: qcom: Add snapshot of MPM driverMahesh Sivasubramanian
This snapshot is taken as of msm-3.18 commit e70ad0cd (Promotion of kernel.lnx.3.18-151201.) Change-Id: I93b163cdd379e3cb9601512d2a06424987b5a132 Signed-off-by: Mahesh Sivasubramanian <msivasub@codeaurora.org>
2016-03-22msm: secure_buffer: Ensure shared buffers are cache-alignedMitchel Humpherys
Buffers shared with hypervisor might undergo some cache maintenance on the hypervisor side. Currently, we're passing a buffer that might not be cache-aligned (source_vm_list), so when the hypervisor does some cache maintenance on it they might be corrupting data. Fix this by ensuring that all buffers being shared with the hypervisor are cache-aligned by kmalloc'ing and memcpy'ing the source_vm_list before sending it across. Change-Id: I661f8ca852ade159e3432904086b060be8bfb806 Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
2016-03-22msm: secure_buffer: Add helper function to convert VMIDs into stringsMitchel Humpherys
It can be useful to convert secure VMID values into strings. Provide a helper function to do so. Change-Id: If907a0bac92c5d164154c0e5dfe67933115163c8 Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
2016-03-22msm: secure_buffer: Update the hyp_assign_phys() apiNeeti Desai
The hyp_assign_phys() api can be called by different usecases where it is not guaranteed that the source vm is always VMID_HLOS. Pass the responsibility of setting the source_vm to caller of the function. Change-Id: I3851a6681f49d4bb6fa5b7a889a16a158497e9e6 Signed-off-by: Neeti Desai <neetid@codeaurora.org>
2016-03-22msm: Update the assign api to secure buffersNeeti Desai
The assign call apis have been updated by TZ to include more usecases. Update the secure_buffer api files with the same. The system secure heap needs to be updated to reflect the change in the api calls. Change-Id: Idc784ddac222e6ad9f5defafc422e6e3fb88aa0c Signed-off-by: Neeti Desai <neetid@codeaurora.org>
2016-03-22msm: move types and declarations to header fileNeeti Desai
Move all function declarations and types to the header file to make the macros and definitions available even when the CONFIG_MSM_SECURE_BUFFER is not enabled. Rename rid of the msm_ion_secure_table and msm_ion_unsecure_table to something more generic. Change-Id: Ia5ca0c52f971a67c7936c64b42cd2522aa1773fa Signed-off-by: Neeti Desai <neetid@codeaurora.org>
2016-03-22msm: Move the secure_buffer.c file to a new locationNeeti Desai
The secure_buffer.c files does not have anything specific to ion. The functions defined here might be needed by other drivers as well. If the ion driver is disabled that might not work. So move the file to a new location. Change-Id: I3498de791c01019b7933feb65d196152887fcf24 Signed-off-by: Neeti Desai <neetid@codeaurora.org>
2016-03-22soc: qcom: msm_bus: relocate msm bus into soc/qcomDavid Dai
Change-Id: I80780a6f8d80143c697847abf82579c8e8194090 Signed-off-by: David Dai <daidavid1@codeaurora.org>
2016-03-22soc: qcom: socinfo: Add MSMCOBALT chip IDRunmin Wang
Add MSMCOBALT chip ID and relevant macros. Change-Id: I0f97ed3eafdc54636849a58e5dfc34750d5dcea3 Signed-off-by: Trilok Soni <tsoni@codeaurora.org> Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org> Conflicts: include/soc/qcom/socinfo.h
2016-03-22soc: qcom: socinfo: Fix to print correct images informationSe Wang (Patrick) Oh
'images' sysfs node is supposed to dump information about all images without the need to write to select_image. But As it doesn't look up the next image correctly after a image which doesn't have information in SMEM, it prints only the information of the fist a few images. After increase the correct offset of SMEM address, 'images' can print all information correctly. Change-Id: I08dfb2812bde42dd661d5a85d473eaf60ef215c5 Signed-off-by: Se Wang (Patrick) Oh <sewango@codeaurora.org>