Commit graph

569123 commits

Author SHA1 Message Date
Mahesh Sivasubramanian
05cb6f5290 power: soc: qcom: Fix sensor APIs signatures
The sensor APIs have changed from using long to int for temperatures. Update
the variables types from long to int.

Change-Id: Id183b83339ceaacb6d340cca138845dd5ac6fbdf
Signed-off-by: Mahesh Sivasubramanian <msivasub@codeaurora.org>
2016-03-23 21:24:36 -07:00
Zhen Kong
56627ae589 crypto: msm: support aead aes 192 fallback on 4.4 kernel
make change to support aead aes 192 fallback on 4.4 kernel

Signed-off-by: Zhen Kong <zkong@codeaurora.org>
2016-03-23 21:24:35 -07:00
Clarence Ip
246eca28e0 msm: mdss: create u32 debugfs for enable_gate/wait4autorefresh
Match debugfs creation to variable type instead of a 'bool' one.
This fixes a compile issue under 4.4 since debugfs_create_bool now
expects a bool* instead of a u32*.

Signed-off-by: Clarence Ip <cip@codeaurora.org>
2016-03-23 21:24:34 -07:00
Nikhilesh Reddy
011cf1fe1e uio: msm_sharedmem: Fix format specifier to print resource_size_t
Use proper printk format specifier %pa to print resource_size_t
type variable.

Signed-off-by: Nikhilesh Reddy <reddyn@codeaurora.org>
2016-03-23 21:24:33 -07:00
Nicholas Troast
2109054e5e ARM: dts: msm: add PMCOBALT and PMICOBALT devices for MSMCOBALT
Configure the PMCOABLT and PMICOABLT devices for MSMCOBALT.

Change-Id: Ic896d7faea6405f260117fdd7ec84a88b3c74aac
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
2016-03-23 21:24:32 -07:00
Nicholas Troast
7273d3ab9d ARM: dts: msm: add SPMI PMIC arbiter device for MSMCOBALT
Configure the SPMI PMIC arbiter device for MSMCOBALT.

Change-Id: I6ce0e9724acff8309e0f518a243b3e2b25c80bcf
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
2016-03-23 21:24:31 -07:00
Junjie Wu
0ea6cc5218 tracing: power: Add trace events for core control
Add trace events for core control module.

Change-Id: I36da5381709f81ef1ba82025cd9cf8610edef3fc
Signed-off-by: Junjie Wu <junjiew@codeaurora.org>
2016-03-23 21:24:30 -07:00
David Keitel
4425c47db6 soc: qcom: pil-msa: add arch_setup_dma_ops call
Make sure that DMA ops are initialized before attempting to allocate
the MBA buffer.

Signed-off-by: David Keitel <dkeitel@codeaurora.org>
2016-03-23 21:24:30 -07:00
David Keitel
1ad793626b defconfig: remove manually added CRYPTO defconfig options
These are selected by other options already.

Signed-off-by: David Keitel <dkeitel@codeaurora.org>
2016-03-23 21:24:29 -07:00
David Keitel
7da84b3c55 defconfig: enable FW_LOADER_USER_HELPER_FALLBACK for msm and msmcortex
To allow fallback to user helper firmware loading when direct firmware
loading fails.

Signed-off-by: David Keitel <dkeitel@codeaurora.org>
2016-03-23 21:24:28 -07:00
Venkat Gopalakrishnan
4ef8ad6e6c ARM: dts: qcom: update ufs driver compatible for msmcobalt
Use the upstream naming convention and update the ufs driver
compatible string.

Change-Id: Iee4d316c99d0d47537514a93ad91e14630970712
Signed-off-by: Venkat Gopalakrishnan <venkatg@codeaurora.org>
2016-03-23 21:24:27 -07:00
David Keitel
286601f9a2 firmware_class: fix direct firmware loading API support
The direct firmware class API support original relied
on the destination address to determine which file operations
to link to the data binary file. Since the 4.4 kernel version,
this was changed to an attribute group.

Fix this by adding a direct firmware API attribute group and
appropriately assign it when necessary.

Signed-off-by: David Keitel <dkeitel@codeaurora.org>
2016-03-23 21:24:26 -07:00
Jordan Crouse
881d8ec58a sync: oneshot_sync: Add oneshot_sync driver
Add the oneshot_sync driver as of msm-3.18 commit
7892968f (sync: oneshot_sync: Update oneshot_sync for new sync APIs).

Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2016-03-23 21:24:25 -07:00
David Keitel
39d07c3f5e defconfig: enable PIL, SYSMON and SSR for msmcortex
This enables the sysmon, subsystem restart and PIL drivers for
msmcortex.

Signed-off-by: David Keitel <dkeitel@codeaurora.org>
2016-03-23 21:24:25 -07:00
David Keitel
5a31ac2a3e defconfig: enable SYSMON_GLINK
This enables the SYSMON GLINK driver for msm targets.

Signed-off-by: David Keitel <dkeitel@codeaurora.org>
2016-03-23 21:24:24 -07:00
David Keitel
4d12cd6ee1 soc: qcom: add snapshot of sysmon-glink driver
This is a snapshot of the sysmon glink library as of
msm-3.18 commit
	d5809484
	(Merge "msm: ipa: fix race condition when teardown pipe")

Signed-off-by: David Keitel <dkeitel@codeaurora.org>
2016-03-23 21:24:23 -07:00
Jeevan Shriram
48d195bfd6 sched: remove init_new_task_load from CONFIG_SMP
Move init_new_task_load function from CONFIG_SMP to avoid
linking error for ARCH=um

Signed-off-by: Jeevan Shriram <jshriram@codeaurora.org>
2016-03-23 21:24:22 -07:00
Jeevan Shriram
643a137249 net: initialize variables to avoid UML compilation failure
While compiling for usermode linux for x86 architecture, observed
compilation issues with probable usage of uninitialized variables.
This change initializes the variables.

Signed-off-by: Jeevan Shriram <jshriram@codeaurora.org>
2016-03-23 21:24:21 -07:00
Gilad Broner
28e3a4040e selinux: removed redundant headers from objsec.h
flask.h was included in the above file. This is autogenerated header
which gets produced during compilation of selinux. This causes issues
for other module (PFK) which includes objsec.h and compiles after
selinux. Since removal of the above headers does not break compilation,
they seem to be redundant and can be removed.

Signed-off-by: Gilad Broner <gbroner@codeaurora.org>
2016-03-23 21:24:20 -07:00
Andrey Markovytch
eca2a5ea72 defconfig: msm: set SELinux as default security module
SELinux has to be the default security module for 'flask.h'
to be generated and compilation error to be resolved.

Signed-off-by: Gilad Broner <gbroner@codeaurora.org>
Signed-off-by: Andrey Markovytch <andreym@codeaurora.org>
2016-03-23 21:24:19 -07:00
Gilad Broner
1a40590860 defconfig: msm: enable Inline Crypto Module (ICE) for UFS
Enable ICE driver for UFS storage encryption support

Signed-off-by: Gilad Broner <gbroner@codeaurora.org>
2016-03-23 21:24:19 -07:00
Gilad Broner
137bd5a4c4 defconfig: msm: enable dm-req-crypt
Enable dm-req-crypt to support full disk encryption (FDE).

Signed-off-by: Gilad Broner <gbroner@codeaurora.org>
2016-03-23 21:24:18 -07:00
Andrey Markovytch
641612595c defconfig: msm: enable Per-File-Key (PFK)
Enable PFK for file based encryption support.

Signed-off-by: Gilad Broner <gbroner@codeaurora.org>
2016-03-23 21:24:17 -07:00
Gilad Broner
1751e821a5 defconfig: msm: enable eCryptFS
Enable eCryptFS to support file based encryption.

Signed-off-by: Gilad Broner <gbroner@codeaurora.org>
2016-03-23 21:24:16 -07:00
Gilad Broner
c3b854ad6c dm: add snapshot of dm-req-crypt
This snapshot is taken as of msm-3.18 commit:
5684450d70 ("Promotion of kernel.lnx.3.18-151201").
dm-req-crypt is necessary for full disk encryption.

Signed-off-by: Gilad Broner <gbroner@codeaurora.org>
2016-03-23 21:24:15 -07:00
Gilad Broner
ca838eec7c crypto: msm: fix ICE Kconfig and makefile
Update Kconfig and Makefile to enable ICE driver compilation.

Signed-off-by: Gilad Broner <gbroner@codeaurora.org>
2016-03-23 21:24:14 -07:00
Gilad Broner
ce93b221ca crypto: msm: add inline crypto engine (ICE) driver snapshot
This snapshot is taken as of msm-3.18 commit e70ad0c ("Promotion of kernel.lnx.3.18-151201")

Signed-off-by: Gilad Broner <gbroner@codeaurora.org>
2016-03-23 21:24:13 -07:00
Andrey Markovytch
03bad71331 eCryptfs: fixes issue where files sometimes got corrupted upon close
Fixes implementation of cache cleaning, it was implemented using outdated
code which cleaned valid pages as well by mistake. The fix uses the
original implementation from mm layer which was tweaked to zero pages
after releasing them. Also it is now invoked only when there is HW
encryption (meaning that cache is unencrypted)

Change-Id: If713fd17a89be6d998c1a7ba86bee4c17d2bca0f
Signed-off-by: Andrey Markovytch <andreym@codeaurora.org>

Conflicts:
	fs/ecryptfs/caches_utils.c
2016-03-23 21:24:13 -07:00
Andrey Markovytch
b61ac21fb0 mm + fs: extends support for cache dropping
Exposes drop_pagecache_sb (required by eCryptfs cache wiping)
Adds truncate_inode_pages_fill_zero (required by eCryptfs cache wiping),
which not only truncates pages but also fills them with 0, so that the
cached data can no longer be retrieved.

Change-Id: Icfc18a2c8cdc922e71ee17add6459a1355e77ba6
Signed-off-by: Andrey Markovytch <andreym@codeaurora.org>
[gbroner@codeaurora.org: fix merge conflict]
Signed-off-by: Gilad Broner <gbroner@codeaurora.org>
2016-03-23 21:24:12 -07:00
Andrey Markovytch
36f1ad69fd eCryptfs: fixed some major bugs
1. Fixed bug which didn't allow several threads to work simultaneously
on files in eCryptfs mounted folder

2. Fixed bug where PFK close callback was invoked multiple times when
files was opened and closed multiple times. Now it is invoked just once
when files is closed for the last time

Change-Id: Iaa3ada03500e5a12752918b5d2bb4a852ddca5f0
Signed-off-by: Andrey Markovytch <andreym@codeaurora.org>
2016-03-23 21:24:11 -07:00
Andrey Markovytch
aaf495b3ab pfk: added some additional debug prints
Also added useful function for translation between inode to filename

Change-Id: If0d5db3545a71c85223ef53980ee61f9dbd002d9
Signed-off-by: Andrey Markovytch <andreym@codeaurora.org>
2016-03-23 21:24:10 -07:00
Andrey Markovytch
5c84da193d pfk: fixed bug that caused eCryptfs ignore some of its files
Our logic that distinguished eCryptfs files from non eCryptfs ones
checked bi_vcnt field in bio to make sure it has valid bio vecs.
Apparently this field is not updated in some cases by block layer
and in general can't be trusted outside of code that own bio.
There is another field that need to be used for this purpose - bi_size

Change-Id: Ibf225543618373699a0d5adc3295daf9ded6169a
Signed-off-by: Andrey Markovytch <andreym@codeaurora.org>
2016-03-23 21:24:09 -07:00
Andrey Markovytch
f707680de8 PFK: fixed bug where key was cleared without turning on clocks first
ICE clocks need to be turned on to clear the key, fixed

Change-Id: I1cd5a10899c2f128b138fe380beb34a5a310fa05
Signed-off-by: Andrey Markovytch <andreym@codeaurora.org>
2016-03-23 21:24:08 -07:00
Andrey Markovytch
8928f8683b PFK: fixed issue where key in TZ was not set properly
When key is set in ICE via TZ, HLOS should send two parts, SALT and
the KEY itself according to AES standards. KEY was used for both parts.

Change-Id: I453dea289b01bdf49352d5209255966052f5dc1b
Signed-off-by: Andrey Markovytch <andreym@codeaurora.org>
2016-03-23 21:24:07 -07:00
Andrey Markovytch
584531e72e PFK: new module to work with ecryptfs
PFK is a new module that accompanies eCryptfs and
enables it to utilize ICE hw encryption engine. Module
is responsible for storing encryption/decryption keys
inside eCryptfs inodes for each file and loading them
to ICE

Change-Id: I6e755ca657164919147fe0d9482477e14a4be5eb
Signed-off-by: Andrey Markovytch <andreym@codeaurora.org>
[gbroner@codeaurora.org: fix merge conflicts, adapted LSM hooks
and added missing qseecom headers to fix compilation]
Signed-off-by: Gilad Broner <gbroner@codeaurora.org>
2016-03-23 21:24:06 -07:00
Andrey Markovytch
5eebf86343 ecryptfs: enhancing ecryptfs to be configurable with encryption type
enabled eCryptfs for qcom targets. In addition to the usual
options, a special mode 'aes-xts' was added for qcom ICE hw
encryption

Change-Id: I20c01adc46c977b4a5db0be9ff93384cda14bc56
Signed-off-by: Lina Zarivach <linaz@codeaurora.org>
Signed-off-by: Andrey Markovytch <andreym@codeaurora.org>
[gbroner@codeaurora.org: fix merge conflict]
Signed-off-by: Gilad Broner <gbroner@codeaurora.org>
2016-03-23 21:24:05 -07:00
Andrey Markovytch
eaf3acf0d2 PFT: moved to a new directory
QCOM security components were moved to security folder inside
kernel which is more appropriate

Change-Id: I4e450a23583ceac929a3980b1b5998f4e0c7cfa9
Signed-off-by: Andrey Markovytch <andreym@codeaurora.org>
[gbroner@codeaurora.org: fix merge conflicts and updated ARCH_QCOM]
Signed-off-by: Gilad Broner <gbroner@codeaurora.org>
2016-03-23 21:24:04 -07:00
Andrey Markovytch
ecc052ba4e platform: msm: add Per-File-Tagger (PFT) driver
Integrated from msm-3.14. Additional fixes were made to compile with the
new kernel and various new warnings and checkpatch issues were fixed

Change-Id: I073db1041e41eac9066e37ee099f1da9e4eed6c0
Signed-off-by: Andrey Markovytch <andreym@codeaurora.org>
[gbroner@codeaurora.org: fixed merge conflict and adapted the LSM
security hooks]
Signed-off-by: Gilad Broner <gbroner@codeaurora.org>
2016-03-23 21:24:03 -07:00
Amir Samuelov
a56866b4eb soc: qcom: fix spcom getting the file dentry
The struct file no longer has the f_dentry macro.
The dentry is fetched from the f_path->dentry.

Signed-off-by: Amir Samuelov <amirs@codeaurora.org>
2016-03-23 21:24:03 -07:00
Junjie Wu
809d8460ca sched: Export sched_setscheduler_nocheck()
Export sched_setscheduler_nocheck() so that external kernel modules
can use it.

Change-Id: Ib50f537f5aef50c365ba63fb8ffce05bc1c7c431
Signed-off-by: Junjie Wu <junjiew@codeaurora.org>
Signed-off-by: Bryan Huntsman <bryanh@codeaurora.org>
2016-03-23 21:24:02 -07:00
Bryan Huntsman
f720d40148 Revert "sched: Export sched_setscheduler_nocheck"
This reverts commit 84778472e1.

Signed-off-by: Bryan Huntsman <bryanh@codeaurora.org>
2016-03-23 21:24:01 -07:00
Sudheer Papothi
5bca263840 regmap: Add multi register write support for soundwire
regcache sync can call multi register write to sync multiple
register writes to hardware in one transaction. Change enables
support from soundwire framework to sync multiple registers
in one transaction.

Change-Id: Iafe35bf9b8987fb7214efff0d7d4ae3e0a6a4072
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2016-03-23 21:24:00 -07:00
Sudheer Papothi
813f6f1d96 regmap: call regmap_raw_multi_reg_write from regcache sync
Call regmap_raw_multi_reg_write API from regcache sync to sync
multiple registers to the hardware if bus interface supports
multi register write. This change will help in reducing the
latency for syncing the registers to the hardware.

Change-Id: I94d19434dc7465434f10db9f7bd62fcc8246d845
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2016-03-23 21:23:59 -07:00
Sudheer Papothi
ce4d8114ff ASoC: msm8996: Remove capture support for MultiMedia 4 front end
Compress devices in ALSA framework on kernel 4.4 does not support
both playback and capture at the same time. So, remove capture
support from compress 1 front end dai link as this is not being
used by any audio usecase.

Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2016-03-23 21:23:58 -07:00
Sudheer Papothi
6a8471bd1c ASoC: msm: Remove bi-directional support for compress devices
In ALSA framework on kernel 4.4, compress devices are unidirectional
and does not support both playback and capture at the same time.
Change removes capture support for MultiMedia4 front-end as this
is not being used in any of the audio usecases.

Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2016-03-23 21:23:57 -07:00
Alex Sarraf
ebc51fffa7 defconfig: arm64: Enable BCL framework driver
Enable BCL framework driver to provide max available
current to flash driver.

Signed-off-by: Alex Sarraf <asarraf@codeaurora.org>
2016-03-23 21:23:57 -07:00
Alex Sarraf
18cdb5538a defconfig: arm64: Enable PWM drivers
Enable PWM drivers for use with QPNP leds driver.

Signed-off-by: Alex Sarraf <asarraf@codeaurora.org>
2016-03-23 21:23:56 -07:00
Alex Sarraf
8b340b0f54 defconfig: arm64: enable virtual key support
Enable gen_vkey driver to enable virtual keys
for bottom of touch panel.

Signed-off-by: Alex Sarraf <asarraf@codeaurora.org>
2016-03-23 21:23:55 -07:00
Mohan Pallaka
4377fa96aa input: gen_vkeys: squash commit from 3.14-kernel
Squash and apply the following changes taken from the msm-3.14
kernel branch as of msm-3.14
commit 8139d0b4e7a6d ("ARM: dts: msm: Set flag to manage clks")

commit c24a3df92a457643cc0821eb9e8f392ae5a907ee
Author: Amy Maloche <amaloche@codeaurora.org>
Date:   Thu May 9 10:23:41 2013 -0700

    input: gen_vkeys: Make y_offset an optional property

    Not all targets will need the y coordinate shifted to
    function properly, so set this value as default 0.

    Change-Id: I1816433c3601fe099ffb8ee275637e573990e432
    Signed-off-by: Amy Maloche <amaloche@codeaurora.org>

 Documentation/devicetree/bindings/input/gen_vkeys.txt
 drivers/input/touchscreen/gen_vkeys.c
 2 files changed, 13 insertions(+), 5 deletions(-)
commit bb2ac18f8fab38fa12d8a7d8b7ee80d9c0049329
Author: Amy Maloche <amaloche@codeaurora.org>
Date:   Wed Apr 17 12:15:56 2013 -0700

    vkeys: gen_vkeys: Add key position offset

    Add virtual key position offset to match virtual key
	positions with front panel.

    Change-Id: Ibbf89e816d9654f202b75470df0c673aa42439c8
    Acked-by: Chun Zhang <chunz@qti.qualcomm.com>
    Signed-off-by: Amy Maloche <amaloche@codeaurora.org>

 Documentation/devicetree/bindings/input/gen_vkeys.txt
 drivers/input/touchscreen/gen_vkeys.c
 include/linux/input/gen_vkeys.h
 3 files changed, 10 insertions(+), 2 deletions(-)
commit 1a6d213cf5a3e40d8b39507e2b010dc81de63630
Author: Mohan Pallaka <mpallaka@codeaurora.org>
Date:   Wed Aug 8 11:25:52 2012 +0530

    input: Add support for virtual key generation

    Virtual keys are used for navigation on Android.
    These are not specific to the controller used
    in the target but are specific to the target.
    Add a module to generate virtual keys independently
    of the controller.

    Change-Id: I0c86dc77f1bc53c283e990be419c2715edf4e1c0
    Signed-off-by: Mohan Pallaka <mpallaka@codeaurora.org>
    Signed-off-by: Amy Maloche <amaloche@codeaurora.org>
    [stepanm@codeaurora.org: resolve Kconfig conflicts]
    Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>

 .../devicetree/bindings/input/gen_vkeys.txt
 drivers/input/touchscreen/Kconfig
 drivers/input/touchscreen/Makefile
 drivers/input/touchscreen/gen_vkeys.c
 include/linux/input/gen_vkeys.h
 5 files changed, 278 insertions(+)

Change-Id: Ie0e14d201a42632af57ff23dc85cec8881125e5a
Signed-off-by: Alex Sarraf <asarraf@codeaurora.org>
2016-03-23 21:23:54 -07:00
Alex Sarraf
85dae3f578 defconfig: arm64: enable GPIO keys driver
Enable support for GPIO keys

Signed-off-by: Alex Sarraf <asarraf@codeaurora.org>
2016-03-23 21:23:53 -07:00