Restore CPR bank registers to correct state
after subsystem restart for codec core to go
into CPR during rock bottom sleep mode.
CRs-Fixed: 1083795
Change-Id: Ifa59335033f8b9bda6fb0ca4b071387fdaa8f6f9
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
Scaling of Bus BW and Venus Clocks should go together.
Otherwise the benefits of reducing voltage corner will be
nullified, since VMEM vote remains high.
CRs-Fixed: 1083761
Change-Id: Ib38ecabb3c4bf40fcf5ad368fbbdbe4c44edbf3b
Signed-off-by: Chinmay Sawarkar <chinmays@codeaurora.org>
Explicitly initialize recursion level to zero at the beginning of each
I/O operation.
Bug: 28943429
Change-Id: I00c612be2b8c22dd5afb65a739551df91cb324fc
Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
(cherry picked from commit 32ffb3a22d7fd269b2961323478ece92c06a8334)
Git-commit: d053106b93
Git-repo: https://android.googlesource.com/kernel/common
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
A call to do_div was changed in Linux 4.5 to div64_u64 in
verity_fec_decode, which broke RS block calculation due to
incompatible semantics. This change fixes the computation.
Bug: 21893453
Change-Id: Idb88b901e0209c2cccc9c0796689f780592d58f9
Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
(cherry picked from commit 879aac93eebcc2862d71afa9eca3a0c0f51b3b01)
Git-commit: 8f9576b381
Git-repo: https://android.googlesource.com/kernel/common
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
If verity tree itself is sufficiently corrupted in addition to data
blocks, it's possible for error correction to end up in a deep recursive
error correction loop that eventually causes a kernel panic as follows:
[ 14.728962] [<ffffffc0008c1a14>] verity_fec_decode+0xa8/0x138
[ 14.734691] [<ffffffc0008c3ee0>] verity_verify_level+0x11c/0x180
[ 14.740681] [<ffffffc0008c482c>] verity_hash_for_block+0x88/0xe0
[ 14.746671] [<ffffffc0008c1508>] fec_decode_rsb+0x318/0x75c
[ 14.752226] [<ffffffc0008c1a14>] verity_fec_decode+0xa8/0x138
[ 14.757956] [<ffffffc0008c3ee0>] verity_verify_level+0x11c/0x180
[ 14.763944] [<ffffffc0008c482c>] verity_hash_for_block+0x88/0xe0
This change limits the recursion to a reasonable level during a single
I/O operation.
Bug: 28943429
Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
Change-Id: I0a7ebff331d259c59a5e03c81918cc1613c3a766
(cherry picked from commit f4b9e40597e73942d2286a73463c55f26f61bfa7)
Git-commit: 249d2baf9b
Git-repo: https://android.googlesource.com/kernel/common
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
The declaration that caused a compilation failure is not fixed.
Remove the dummy opaque struct declaration.
Change-Id: Id27cf5231aebcdd14f4fb25dd44052f829e0427e
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
v4.4 introduced changes to the callbacks used for
dm-linear and dm-verity-target targets. Move to those headers
in dm-android-verity.
Verified on hikey while having
BOARD_USES_RECOVERY_AS_BOOT := true
BOARD_BUILD_SYSTEM_ROOT_IMAGE := true
BUG: 27339727
Signed-off-by: Badhri Jagan Sridharan <Badhri@google.com>
Change-Id: Ic64950c3b55f0a6eaa570bcedc2ace83bbf3005e
Git-commit: aa3cda16a5
Git-repo: https://android.googlesource.com/kernel/common
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
adb disable-verity was allowed when the phone is in the
unlocked state. Since the driver is now aware of the build
variant, honor "adb disable-verity" only in userdebug
builds.
(Cherry-picked from
https://partner-android-review.git.corp.google.com/#/c/622117)
BUG: 29276559
Signed-off-by: Badhri Jagan Sridharan <Badhri@google.com>
Change-Id: I7ce9f38d8c7a62361392c5a8ccebb288f8a3a2ea
Git-commit: f74284f6c2
Git-repo: https://android.googlesource.com/kernel/common
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
eng builds dont have verity enabled i.e it does even
have verity metadata appended to the parition. Therefore
add rootdev as linear device and map the entire partition
if build variant is "eng".
(Cherry-picked based on
https://partner-android-review.git.corp.google.com/#/c/618690/)
BUG: 29276559
Signed-off-by: Badhri Jagan Sridharan <Badhri@google.com>
Change-Id: I8f5c2289b842b820ca04f5773525e5449bb3f355
Git-commit: 58bae772a7
Git-repo: https://android.googlesource.com/kernel/common
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
If the dm-android-verity target does not provide a default
key try using the default public key from the system keyring.
The defualt verity keyid is passed as a kernel command line
argument veritykeyid=.
The order of the dm-android-verity params have been reversed
to facilitate the change.
Old format example:
dm="system none ro,0 1 android-verity Android:#7e4333f9bba00adfe0ede979e28ed1920492b40f /dev/mmcblk0p43"
New formats supported:
dm="system none ro,0 1 android-verity /dev/mmcblk0p43 Android:#7e4333f9bba00adfe0ede979e28ed1920492b40f"
(or)
dm="system none ro,0 1 android-verity /dev/mmcblk0p43"
when veritykeyid= is set in the kernel command line.
BUG: 28384658
Signed-off-by: Badhri Jagan Sridharan <Badhri@google.com>
Change-Id: I506c89b053d835ab579e703eef2bc1f8487250de
(cherry picked from commit c5c74d0327729f35b576564976885596c6d0e7fb)
Git-commit: 051d4706c6
Git-repo: https://android.googlesource.com/kernel/common
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
The bug was that the signature verification was only
happening when verity was disabled. It should always
happen when verity is enabled.
Signed-off-by: Badhri Jagan Sridharan <Badhri@google.com>
Change-Id: I2d9354e240d36ea06fc68c2d18d8e87b823a4c2f
(cherry picked from commit 5364b5ca0b1a12a58283b51408e43fc36d4e4fe7)
Git-commit: 9c43aca47b
Git-repo: https://android.googlesource.com/kernel/common
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
This patch makes android_verity_ctr() parse its block device string
parameter with name_to_dev_t(). It allows the use of less hardware
related block device reference like PARTUUID for instance.
Change-Id: Idb84453e70cc11abd5ef3a0adfbb16f8b5feaf07
Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com>
Git-commit: a517817c17
Git-repo: https://android.googlesource.com/kernel/common
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
This keeps linear_target as static variable and just exposes
the linear target methods for android-verity
Cherry-picked: https://android-review.googlesource.com/#/c/212858
Change-Id: I4a377e417b00afd9ecccdb3e605fea31a7df112e
Signed-off-by: Badhri Jagan Sridharan <Badhri@google.com>
(cherry picked from commit a6d1b091f40b25d97849487e29ec097bc5f568dd)
Git-commit: 86fd82659f
Git-repo: https://android.googlesource.com/kernel/common
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
This CL makes android-verity target to be added as linear
dm device if when bootloader is unlocked and verity is disabled.
Bug: 27175947
Change-Id: Ic41ca4b8908fb2777263799cf3a3e25934d70f18
Signed-off-by: Badhri Jagan Sridharan <Badhri@google.com>
Git-commit: 67ce481897
Git-repo: https://android.googlesource.com/kernel/common
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
Following CLs in upstream causes minor changes to dm-android-verity target.
1. keys: change asymmetric keys to use common hash definitions
2. block: Abstract out bvec iterator
Rebase dm-android-verity on top of these changes.
Bug: 27175947
Signed-off-by: Badhri Jagan Sridharan <Badhri@google.com>
Change-Id: Icfdc3e7b3ead5de335a059cade1aca70414db415
Git-commit: f42f971b7b
Git-repo: https://android.googlesource.com/kernel/common
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
This device-mapper target is virtually a VERITY target. This
target is setup by reading the metadata contents piggybacked
to the actual data blocks in the block device. The signature
of the metadata contents are verified against the key included
in the system keyring. Upon success, the underlying verity
target is setup.
BUG: 27175947
Change-Id: I7e99644a0960ac8279f02c0158ed20999510ea97
Signed-off-by: Badhri Jagan Sridharan <Badhri@google.com>
Git-commit: 36d01a590d
Git-repo: https://android.googlesource.com/kernel/common
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
Upcoming dm-verity changes include a series that introduces
an extern in dm-verity.h that is both useless (isn't defined)
and causes a warning that breaks compilation. Introduce a
dummy opaque struct to allow compilation and revert it later
when the offending declaration is fixed.
Change-Id: I82a911cf963367b1f311c5035bf894a380a76e54
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
MSA0 is remapped to HLOS during SSR/PDR for ramdump purposes.
Remap this memory region only after Adrastea is being shutdown, otherwise
Adrastea could still try to access this region resulting in SMMU fault.
CRs-Fixed: 1082630
Change-Id: I490b5679de4cb4837f5ed5d4e40d339e12c8ecc9
Signed-off-by: Sameer Thalappil <sameert@codeaurora.org>
When sending commands to IPA with timeout, the completion
object needs to be allocated on heap to make sure memory
is still available when EOT is received for this command.
Change-Id: I0228967ca3b33a56489a80833c0565ba2dfe8c2a
CRs-Fixed: 1082708
Acked-by: Ady Abraham <adya@qti.qualcomm.com>
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
The float voltage min value is 2450mV and the max value is 4950mV.
Also the FCC can go up to 6Amps.
Make these corrections.
Change-Id: I2d3f3a299939a061a43b4f552aedc7cac897d8b7
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
Currently glink rx buffer response signal is updated before
calling glink_rx_done(). Since response sent for the command,
there is a chance that next command will be sent before
glink_rx_done() API called which is not expected from wdsp.
Avoid this scenario by calling glink_rx_done() before signaling
buffer response.
Change-Id: Ifdd0089a6a970792ebd84665178bd4de86eae2fb
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
Taking the pi_lock without disabling interrupts in reset_all_task_stats()
is problematic. In that an interrupt can end up waking a task which in
turn needs the pi_lock again causing a deadlock. Disable interrupts along
with taking the lock to avoid this problem.
Change-Id: If27cb2bb3fcaafa5c8435f3c2e0e4be9b8f1e987
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
ion_map_kernel() is called without checking for or acting upon the
possible error conditions this function may return, make change to
check its error return value.
CRs-fixed: 1081637
Change-Id: I0a34f0bbc9f2049b826777a31e14d2cf62cdc211
Signed-off-by: Zhen Kong <zkong@codeaurora.org>
The secure buffers does not allow passing offset into the buffer
and hence skip calculation of offset for secure buffers.
Change-Id: I2cd3b87aca032d4c5868cc9db35987213349a337
Signed-off-by: Sathish Ambley <sathishambley@codeaurora.org>
Index 0 LUT entry must be selected before enabling OSM. The final
desired boot rate should be selected once OSM is enabled.
Fix this.
CRs-Fixed: 1082804
Change-Id: I7901df15ec03273304c5e4d417f272497ad1523c
Signed-off-by: Osvaldo Banuelos <osvaldob@codeaurora.org>
Add device tree bindings document for reboot-mode driver.
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Acked-by: Rob Herring <robh@kernel.org>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Sebastian Reichel <sre@kernel.org>
Git-commit: 376e27e485cbe9f903369a002d07d5a01225d1d3
Git-repo: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/
Change-Id: Ic0f2a51b5af661fd23576ae5135c920b92f0cdfd
Signed-off-by: Xiaogang Cui <xiaogang@codeaurora.org>
This driver parses the reboot commands like "reboot bootloader"
and "reboot recovery" to get a boot mode described in the
device tree , then call the write interfae to store the boot
mode in some place like special register or sram, which can
be read by the bootloader after system reboot, then the bootloader
can take different action according to the mode stored.
This is commonly used on Android based devices, in order to
reboot the device into fastboot or recovery mode.
Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com>
Reviewed-by: Moritz Fischer <moritz.fischer@ettus.com>
Tested-by: John Stultz <john.stultz@linaro.org>
Acked-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Sebastian Reichel <sre@kernel.org>
Git-commit: 4fcd504edbf7c793325511c2df8dcd083958e28a
Git-repo: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/
Change-Id: Id65f6b9186e7a5209542a380bae31a1d8933b931
Signed-off-by: Wufeng.jiang <wufeng.jiang@codeaurora.org>
Signed-off-by: Xiaogang Cui <xiaogang@codeaurora.org>
Move the growing parameter list to a structure for the interface
combination check and iteration functions in cfg80211 and mac80211
to make the code easier to understand.
Signed-off-by: Purushottam Kushwaha <pkushwah@qti.qualcomm.com>
[edit commit message]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git
Git-commit: e227300c8395dffaa7614ce7c7666a82180ebc60
CRs-fixed: 1025311
Change-Id: Ic4c7f66e84c8898d9db630d373b8a3cc8472e826
Signed-off-by: Purushottam Kushwaha <pkushwah@codeaurora.org>
When sched_enable_thread_grouping is turned on, the scheduler needs
to ensure that any pre-existing children of a task get added to the
co-location group. Upon removal from the co-location group, however,
the scheduler does not check for the thread grouping flag because
userspace cannot ensure correct behavior. Therefore as a
precautionary measure to avoid memory leaks the scheduler has to
forcefully remove children from the group regardless of the flag
setting.
While at it, also make group management a lot simpler. Without these
simplifications, we can end up in extremely complicated locking scenarios
where ensuring the correct order to avoid deadlocks is near impossible.
Change-Id: I4c13601b0fded6de9d8f897c6d471c6a40c90e4d
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
Works in conjunction with kptr_restrict.
Bug: 30143283
Change-Id: Ibe0053e8bd4d8219098ba09041d66fcd5b4592fd
Git-repo: https://android.googlesource.com/kernel/msm.git
Git-commit: b884cbf06200b18e660514a30293931a61126ef5
Signed-off-by: Dennis Cagle <d-cagle@codeaurora.org>
Signed-off-by: Ravi Kumar Siddojigari <rsiddoji@codeaurora.org>
The regulator name for the PMICOBALT BOB regulators uses the
prefix "pmcobalt_bob". Change this to "pmicobalt_bob" so that
the regulator name correctly reflects which PMIC the regulator
is found on.
Change-Id: I018729af22dbd787f42fc3788cbff018be7b4014
CRs-Fixed: 1083306
Signed-off-by: David Collins <collinsd@codeaurora.org>