mirror of
https://github.com/Divested-Mobile/DivestOS-Build.git
synced 2025-08-07 13:52:24 -04:00
Initial commit, long overdue
This commit is contained in:
commit
c0083c1519
292 changed files with 951990 additions and 0 deletions
1550
Patches/OLD/Bacon-TWRP.patch
Normal file
1550
Patches/OLD/Bacon-TWRP.patch
Normal file
File diff suppressed because it is too large
Load diff
31
Patches/OLD/Battery-Power-Saver-Tweak.patch
Normal file
31
Patches/OLD/Battery-Power-Saver-Tweak.patch
Normal file
|
@ -0,0 +1,31 @@
|
|||
From ba175c7252b77fc25384bf76957434193800a8f6 Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Wed, 4 Nov 2015 23:14:54 -0500
|
||||
Subject: [PATCH] Dont enable battery saver when switching to power save perf
|
||||
profile
|
||||
|
||||
Change-Id: If011b0ad5b8aeb825b741671908ef548ec95d951
|
||||
---
|
||||
.../core/java/com/android/server/power/PowerManagerService.java | 6 +-----
|
||||
1 file changed, 1 insertion(+), 5 deletions(-)
|
||||
|
||||
diff --git a/services/core/java/com/android/server/power/PowerManagerService.java b/services/core/java/com/android/server/power/PowerManagerService.java
|
||||
index 4b2ce36..a4bd55b 100644
|
||||
--- a/services/core/java/com/android/server/power/PowerManagerService.java
|
||||
+++ b/services/core/java/com/android/server/power/PowerManagerService.java
|
||||
@@ -3421,11 +3421,7 @@ public final class PowerManagerService extends SystemService
|
||||
public boolean setPowerProfile(String profile) {
|
||||
mContext.enforceCallingOrSelfPermission(android.Manifest.permission.DEVICE_POWER, null);
|
||||
final long ident = Binder.clearCallingIdentity();
|
||||
- try {
|
||||
- setLowPowerModeInternal(PowerManager.PROFILE_POWER_SAVE.equals(profile));
|
||||
- } finally {
|
||||
- Binder.restoreCallingIdentity(ident);
|
||||
- }
|
||||
+ Binder.restoreCallingIdentity(ident);
|
||||
return mPerformanceManager.setPowerProfile(profile);
|
||||
}
|
||||
|
||||
--
|
||||
2.6.2
|
||||
|
62
Patches/OLD/Change_Toolchain.patch
Normal file
62
Patches/OLD/Change_Toolchain.patch
Normal file
|
@ -0,0 +1,62 @@
|
|||
From 216cc9fe474a16a0105e51d97f7bc49c2e52a0da Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Wed, 4 Nov 2015 23:11:47 -0500
|
||||
Subject: [PATCH] Change toolchain
|
||||
|
||||
Change-Id: I135e9cdfaec3a70684ee3b3789fe0588d1237712
|
||||
---
|
||||
core/combo/TARGET_linux-arm.mk | 4 ++--
|
||||
envsetup.sh | 6 +++---
|
||||
2 files changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/core/combo/TARGET_linux-arm.mk b/core/combo/TARGET_linux-arm.mk
|
||||
index 95b1804..177948b 100644
|
||||
--- a/core/combo/TARGET_linux-arm.mk
|
||||
+++ b/core/combo/TARGET_linux-arm.mk
|
||||
@@ -35,10 +35,10 @@ TARGET_$(combo_2nd_arch_prefix)ARCH_VARIANT := armv5te
|
||||
endif
|
||||
|
||||
# Decouple NDK library selection with platform compiler version
|
||||
-$(combo_2nd_arch_prefix)TARGET_NDK_GCC_VERSION := 4.8
|
||||
+$(combo_2nd_arch_prefix)TARGET_NDK_GCC_VERSION := 4.9
|
||||
|
||||
ifeq ($(strip $(TARGET_GCC_VERSION_EXP)),)
|
||||
-$(combo_2nd_arch_prefix)TARGET_GCC_VERSION := 4.8
|
||||
+$(combo_2nd_arch_prefix)TARGET_GCC_VERSION := 4.9-cortex-a15
|
||||
else
|
||||
$(combo_2nd_arch_prefix)TARGET_GCC_VERSION := $(TARGET_GCC_VERSION_EXP)
|
||||
endif
|
||||
diff --git a/envsetup.sh b/envsetup.sh
|
||||
index 51f3253..b5009ed 100644
|
||||
--- a/envsetup.sh
|
||||
+++ b/envsetup.sh
|
||||
@@ -142,7 +142,7 @@ function setpaths()
|
||||
gccprebuiltdir=$(get_abs_build_var ANDROID_GCC_PREBUILTS)
|
||||
|
||||
# defined in core/config.mk
|
||||
- targetgccversion=$(get_build_var TARGET_GCC_VERSION)
|
||||
+ targetgccversion=4.9-cortex-a15
|
||||
targetgccversion2=$(get_build_var 2ND_TARGET_GCC_VERSION)
|
||||
export TARGET_GCC_VERSION=$targetgccversion
|
||||
|
||||
@@ -155,7 +155,7 @@ function setpaths()
|
||||
;;
|
||||
x86_64) toolchaindir=x86/x86_64-linux-android-$targetgccversion/bin
|
||||
;;
|
||||
- arm) toolchaindir=arm/arm-linux-androideabi-$targetgccversion/bin
|
||||
+ arm) toolchaindir=arm/arm-linux-androideabi-4.9-cortex-a15/bin
|
||||
;;
|
||||
arm64) toolchaindir=aarch64/aarch64-linux-android-$targetgccversion/bin;
|
||||
toolchaindir2=arm/arm-linux-androideabi-$targetgccversion2/bin
|
||||
@@ -179,7 +179,7 @@ function setpaths()
|
||||
case $ARCH in
|
||||
arm)
|
||||
# Legacy toolchain configuration used for ARM kernel compilation
|
||||
- toolchaindir=arm/arm-eabi-$targetgccversion/bin
|
||||
+ toolchaindir=arm/arm-eabi-4.8-cortex-a15/bin
|
||||
if [ -d "$gccprebuiltdir/$toolchaindir" ]; then
|
||||
export ARM_EABI_TOOLCHAIN="$gccprebuiltdir/$toolchaindir"
|
||||
ANDROID_KERNEL_TOOLCHAIN_PATH="$ARM_EABI_TOOLCHAIN":
|
||||
--
|
||||
2.6.2
|
||||
|
33
Patches/OLD/Defconfig_Hardening.patch
Normal file
33
Patches/OLD/Defconfig_Hardening.patch
Normal file
|
@ -0,0 +1,33 @@
|
|||
From 1e69f23b5f6f31406240bf61d66db3ac6a19484f Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Wed, 11 Nov 2015 21:01:29 -0500
|
||||
Subject: [PATCH] Harden misc options
|
||||
|
||||
Change-Id: I4c82dffb19a5448b01df9942e59642ce96cf8416
|
||||
---
|
||||
arch/arm/configs/cyanogenmod_bacon_defconfig | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/configs/cyanogenmod_bacon_defconfig b/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
index 19cbbdb..16ffbdd 100644
|
||||
--- a/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
+++ b/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
@@ -3431,13 +3431,13 @@ CONFIG_ARM_UNWIND=y
|
||||
CONFIG_KEYS=y
|
||||
# CONFIG_ENCRYPTED_KEYS is not set
|
||||
# CONFIG_KEYS_DEBUG_PROC_KEYS is not set
|
||||
-# CONFIG_SECURITY_DMESG_RESTRICT is not set
|
||||
+CONFIG_SECURITY_DMESG_RESTRICT=y
|
||||
CONFIG_SECURITY=y
|
||||
# CONFIG_SECURITYFS is not set
|
||||
CONFIG_SECURITY_NETWORK=y
|
||||
# CONFIG_SECURITY_NETWORK_XFRM is not set
|
||||
# CONFIG_SECURITY_PATH is not set
|
||||
-CONFIG_LSM_MMAP_MIN_ADDR=4096
|
||||
+CONFIG_LSM_MMAP_MIN_ADDR=32768
|
||||
CONFIG_SECURITY_SELINUX=y
|
||||
# CONFIG_SECURITY_SELINUX_BOOTPARAM is not set
|
||||
# CONFIG_SECURITY_SELINUX_DISABLE is not set
|
||||
--
|
||||
2.6.2
|
||||
|
67
Patches/OLD/Mako-TWRP.patch
Normal file
67
Patches/OLD/Mako-TWRP.patch
Normal file
|
@ -0,0 +1,67 @@
|
|||
From f245b2d23f649928cb16e0e3ecf66891511f705d Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Wed, 30 Dec 2015 14:20:30 -0500
|
||||
Subject: [PATCH] Add TWRP
|
||||
|
||||
Change-Id: I9e6ff0717b0a5df908b771f50c62e21193c20ab4
|
||||
---
|
||||
BoardConfig.mk | 16 ++++++++++++++++
|
||||
device.mk | 1 +
|
||||
twrp.fstab | 6 ++++++
|
||||
3 files changed, 23 insertions(+)
|
||||
create mode 100644 twrp.fstab
|
||||
|
||||
diff --git a/BoardConfig.mk b/BoardConfig.mk
|
||||
index d8d9f5c..753f7e8 100644
|
||||
--- a/BoardConfig.mk
|
||||
+++ b/BoardConfig.mk
|
||||
@@ -129,6 +129,22 @@ MALLOC_IMPL := dlmalloc
|
||||
|
||||
-include vendor/lge/mako/BoardConfigVendor.mk
|
||||
|
||||
+#TWRP config
|
||||
+DEVICE_RESOLUTION := 720x1280
|
||||
+RECOVERY_SDCARD_ON_DATA := true
|
||||
+RECOVERY_GRAPHICS_USE_LINELENGTH := true
|
||||
+BOARD_HAS_NO_REAL_SDCARD := true
|
||||
+PRODUCT_BUILD_PROP_OVERRIDES += BUILD_UTC_DATE=0
|
||||
+#TW_INCLUDE_CRYPTO := true
|
||||
+TW_INCLUDE_JB_CRYPTO := true
|
||||
+TW_FLASH_FROM_STORAGE := true
|
||||
+TW_NO_USB_STORAGE := true
|
||||
+TW_INTERNAL_STORAGE_PATH := "/data/media"
|
||||
+TW_INTERNAL_STORAGE_MOUNT_POINT := "data"
|
||||
+TW_EXTERNAL_STORAGE_PATH := "/usb-otg"
|
||||
+TW_EXTERNAL_STORAGE_MOUNT_POINT := "usb-otg"
|
||||
+TW_SIGNED_ZIP_VERIFY := true
|
||||
+
|
||||
BOARD_HAS_NO_SELECT_BUTTON := true
|
||||
|
||||
BOARD_HARDWARE_CLASS := device/lge/mako/cmhw/
|
||||
diff --git a/device.mk b/device.mk
|
||||
index 8b300f2..b2dc8ac 100644
|
||||
--- a/device.mk
|
||||
+++ b/device.mk
|
||||
@@ -62,6 +62,7 @@ PRODUCT_COPY_FILES += \
|
||||
device/lge/mako/init.mako.rc:root/init.mako.rc \
|
||||
device/lge/mako/init.mako.usb.rc:root/init.mako.usb.rc \
|
||||
device/lge/mako/fstab.mako:root/fstab.mako \
|
||||
+ device/lge/mako/twrp.fstab:root/etc/twrp.fstab \
|
||||
device/lge/mako/ueventd.mako.rc:root/ueventd.mako.rc \
|
||||
device/lge/mako/media_profiles.xml:system/etc/media_profiles.xml \
|
||||
frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:system/etc/media_codecs_google_audio.xml \
|
||||
diff --git a/twrp.fstab b/twrp.fstab
|
||||
new file mode 100644
|
||||
index 0000000..4c95eba
|
||||
--- /dev/null
|
||||
+++ b/twrp.fstab
|
||||
@@ -0,0 +1,6 @@
|
||||
+/boot emmc /dev/block/platform/msm_sdcc.1/by-name/boot
|
||||
+/recovery emmc /dev/block/platform/msm_sdcc.1/by-name/recovery
|
||||
+/system ext4 /dev/block/platform/msm_sdcc.1/by-name/system
|
||||
+/data ext4 /dev/block/platform/msm_sdcc.1/by-name/userdata length=-16384
|
||||
+/cache ext4 /dev/block/platform/msm_sdcc.1/by-name/cache
|
||||
+
|
||||
--
|
||||
2.6.4
|
||||
|
209
Patches/OLD/Per-App-Performance-Profiles.patch
Normal file
209
Patches/OLD/Per-App-Performance-Profiles.patch
Normal file
|
@ -0,0 +1,209 @@
|
|||
From a3788d9279bbe01ba2a23d4230ec1c064c523680 Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Wed, 18 Nov 2015 07:22:21 -0500
|
||||
Subject: [PATCH] Take advantage of per-app performance profiles
|
||||
|
||||
Change-Id: Ib383403739de7fee8efa46790d70caf4b75fb097
|
||||
---
|
||||
.../frameworks/base/core/res/res/values/config.xml | 185 ++++++++++++++++++++-
|
||||
1 file changed, 182 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/overlay/common/frameworks/base/core/res/res/values/config.xml b/overlay/common/frameworks/base/core/res/res/values/config.xml
|
||||
index b33887a..973bdba 100644
|
||||
--- a/overlay/common/frameworks/base/core/res/res/values/config.xml
|
||||
+++ b/overlay/common/frameworks/base/core/res/res/values/config.xml
|
||||
@@ -48,9 +48,188 @@
|
||||
Each item should list the fully-qualified activity
|
||||
name and the power profile id, separated by a comma. -->
|
||||
<string-array name="config_auto_perf_activities" translatable="false">
|
||||
- <item>com.aurorasoftworks.quadrant.*BenchmarkExecutionActivity,2</item>
|
||||
- <item>com.antutu.ABenchMark.*,2</item>
|
||||
- <item>.*com.antutu.benchmark.*,2</item>
|
||||
+ <item>au.com.shiftyjelly.pocketcasts.*,0</item>
|
||||
+ <item>be.uhasselt.privacypolice.*,0</item>
|
||||
+ <item>com.accuweather.android.*,0</item>
|
||||
+ <item>com.adobe.reader.*,0</item>
|
||||
+ <item>com.alensw.PicFolder.*,0</item>
|
||||
+ <item>com.amaze.filemanager.*,0</item>
|
||||
+ <item>com.amazon.kindle.*,0</item>
|
||||
+ <item>com.amazon.mShop.android.shopping.*,0</item>
|
||||
+ <item>com.amazon.windowshop.*,0</item>
|
||||
+ <item>com.andrewshu.android.reddit.*,0</item>
|
||||
+ <item>com.andrewshu.android.redditdonation.*,0</item>
|
||||
+ <item>com.android.browser.*,1</item>
|
||||
+ <item>com.android.calculator2.*,0</item>
|
||||
+ <item>com.android.calendar.*,0</item>
|
||||
+ <item>com.android.camera2.*,1</item>
|
||||
+ <item>com.android.chrome.*,1</item>
|
||||
+ <item>com.android.contacts.*,0</item>
|
||||
+ <item>com.android.deskclock.*,0</item>
|
||||
+ <item>com.android.dialer.*,0</item>
|
||||
+ <item>com.android.email.*,0</item>
|
||||
+ <item>com.android.gallery3d.*,0</item>
|
||||
+ <item>com.android.incallui.*,0</item>
|
||||
+ <item>com.android.keepass.*,1</item>
|
||||
+ <item>com.android.mms.*,0</item>
|
||||
+ <item>com.android.providers.downloads.ui.*,0</item>
|
||||
+ <item>com.android.settings.*,0</item>
|
||||
+ <item>com.android.soundrecorder.*,0</item>
|
||||
+ <item>com.antutu.ABenchMark.*,2</item>
|
||||
+ <item>.*com.antutu.benchmark.*,2</item>
|
||||
+ <item>com.asksven.betterbatterystats.*,0</item>
|
||||
+ <item>com.aurorasoftworks.quadrant.*BenchmarkExecutionActivity,2</item>
|
||||
+ <item>com.authy.authy.*,0</item>
|
||||
+ <item>com.bethsoft.falloutshelter.*,1</item>
|
||||
+ <item>com.coffeestainstudios.goatsimulator.*,1</item>
|
||||
+ <item>com.cyanogenmod.trebuchet.*,0</item>
|
||||
+ <item>com.danvelazco.fbwrapper.*,0</item>
|
||||
+ <item>com.distractionware.superhexagon.*,1</item>
|
||||
+ <item>com.dropbox.android.*,0</item>
|
||||
+ <item>com.eamobile.monopoly_na_wf.*,1</item>
|
||||
+ <item>com.ebay.mobile.*,0</item>
|
||||
+ <item>com.facebook.katana.*,1</item>
|
||||
+ <item>com.facebook.orca.*,1</item>
|
||||
+ <item>com.farproc.wifi.analyzer.*,0</item>
|
||||
+ <item>com.fifthelement.trimmer.*,1</item>
|
||||
+ <item>com.flightradar24pro.*,1</item>
|
||||
+ <item>com.flyersoft.moonreader.*,0</item>
|
||||
+ <item>com.flyersoft.moonreaderp.*,0</item>
|
||||
+ <item>com.gh4a.*,0</item>
|
||||
+ <item>com.google.android.apps.chromecast.app.*,0</item>
|
||||
+ <item>com.google.android.apps.docs.editors.docs.*,1</item>
|
||||
+ <item>com.google.android.apps.docs.editors.sheets.*,1</item>
|
||||
+ <item>com.google.android.apps.docs.editors.slides.*,1</item>
|
||||
+ <item>com.google.android.apps.gmoney.*,0</item>
|
||||
+ <item>com.google.android.apps.hangoutsdialer.*,1</item>
|
||||
+ <item>com.google.android.apps.inbox.*,0</item>
|
||||
+ <item>com.google.android.apps.messaging.*,0</item>
|
||||
+ <item>com.google.android.apps.pdfviewer.*,0</item>
|
||||
+ <item>com.google.android.apps.photos.*,0</item>
|
||||
+ <item>com.google.android.apps.translate.*,1</item>
|
||||
+ <item>com.google.android.calendar.*,0</item>
|
||||
+ <item>com.google.android.gms.*,0</item>
|
||||
+ <item>com.google.android.googlequicksearchbox.*,1</item>
|
||||
+ <item>com.google.android.keep.*,0</item>
|
||||
+ <item>com.google.android.play.games.*,0</item>
|
||||
+ <item>com.google.android.youtube.*,1</item>
|
||||
+ <item>com.google.earth.*,1</item>
|
||||
+ <item>com.google.xzing.client.android.*,0</item>
|
||||
+ <item>com.grarak.kerneladiutor.*,0</item>
|
||||
+ <item>com.hulu.plus.*,1</item>
|
||||
+ <item>com.instagram.android.*,1</item>
|
||||
+ <item>com.ironhidegames.android.kingdomrushfrontiers.*,1</item>
|
||||
+ <item>com.ironhidegames.android.kingdomrushorigins.*,1</item>
|
||||
+ <item>com.jeremysteckling.facerrel.*,0</item>
|
||||
+ <item>com.koushikdutta.backup.*,1</item>
|
||||
+ <item>com.koushikdutta.backup.license.*,1</item>
|
||||
+ <item>com.laurencedawson.reddit_sync.*,0</item>
|
||||
+ <item>com.laurencedawson.reddit_sync.pro.*,0</item>
|
||||
+ <item>com.leosfortune.*,0</item>
|
||||
+ <item>com.lightricks.facetune.*,1</item>
|
||||
+ <item>com.mb.android.*,1</item>
|
||||
+ <item>com.melodis.midomiMusicIdentifier.freemium.*,0</item>
|
||||
+ <item>com.mgaetan89.showsrage.*,0</item>
|
||||
+ <item>com.microblink.photomath.*,1</item>
|
||||
+ <item>com.microsoft.office.excel.*,1</item>
|
||||
+ <item>com.microsoft.office.outlook.*,0</item>
|
||||
+ <item>com.microsoft.office.powerpoint.*,1</item>
|
||||
+ <item>com.microsoft.office.word.*,1</item>
|
||||
+ <item>com.microsoft.skydrive.*,0</item>
|
||||
+ <item>com.miniclip.plagueinc.*,0</item>
|
||||
+ <item>com.mitzuli.*,0</item>
|
||||
+ <item>com.mojang.minecraftpe.*,1</item>
|
||||
+ <item>com.morlunk.mumbleclient.*,0</item>
|
||||
+ <item>com.mxtech.videoplayer.ad.*,1</item>
|
||||
+ <item>com.mxtech.videoplayer.pro.*,1</item>
|
||||
+ <item>com.netflix.mediaclient.*,1</item>
|
||||
+ <item>com.ngmoco.pocketgod.*,0</item>
|
||||
+ <item>com.ninjakiwi.bloonstd5.*,1</item>
|
||||
+ <item>com.nutomic.syncthingandroid.*,1</item>
|
||||
+ <item>com.oasisfeng.greenify.*,0</item>
|
||||
+ <item>com.oasisfeng.greenify.pro.*,0</item>
|
||||
+ <item>com.pandora.android.*,0</item>
|
||||
+ <item>com.paypal.android.p2pmobile.*,0</item>
|
||||
+ <item>com.pinterest.*,0</item>
|
||||
+ <item>com.plexapp.android.*,1</item>
|
||||
+ <item>com.primatelabs.geekbench.*,2</item>
|
||||
+ <item>com.quizup.core.*,0</item>
|
||||
+ <item>com.redbox.android.activity.*,0</item>
|
||||
+ <item>com.roku.remote.*,0</item>
|
||||
+ <item>com.rovio.angrybirds.*,0</item>
|
||||
+ <item>com.samruston.weather.*,0</item>
|
||||
+ <item>com.SecUpwN.AIMSICD.*,0</item>
|
||||
+ <item>com.shazam.android.*,0</item>
|
||||
+ <item>com.shazam.encore.android.*,0</item>
|
||||
+ <item>com.skype.radar.*,1</item>
|
||||
+ <item>com.snapchat.android.*,1</item>
|
||||
+ <item>com.soundcloud.android.*,0</item>
|
||||
+ <item>com.spotify.music.*,0</item>
|
||||
+ <item>com.target.ui.*,0</item>
|
||||
+ <item>com.tassadar.multirommgr.*,1</item>
|
||||
+ <item>com.teamspeak.ts3client.*,0</item>
|
||||
+ <item>com.tinder.*,0</item>
|
||||
+ <item>com.tobykurien.google_news.*,0</item>
|
||||
+ <item>com.tumblr.*,0</item>
|
||||
+ <item>com.twitter.android.*,0</item>
|
||||
+ <item>com.ubercab.*,1</item>
|
||||
+ <item>com.ubercab.driver.*,1</item>
|
||||
+ <item>com.urbandroid.sleep.*,0</item>
|
||||
+ <item>com.ustwo.monumentvalley.*,0</item>
|
||||
+ <item>com.uzumapps.wakelockdetector.*,0</item>
|
||||
+ <item>com.valvesoftware.android.steam.community.*,0</item>
|
||||
+ <item>com.walmart.android.*,0</item>
|
||||
+ <item>com.waze.*,1</item>
|
||||
+ <item>com.weather.Weather.*,0</item>
|
||||
+ <item>com.whatsapp.*,0</item>
|
||||
+ <item>com.xzbber.androiddev.*,0</item>
|
||||
+ <item>com.yelp.android.*,0</item>
|
||||
+ <item>com.yodo1.crossroad.*,0</item>
|
||||
+ <item>com.yubico.yubiclip.*,0</item>
|
||||
+ <item>com.yubico.yubioath.*,0</item>
|
||||
+ <item>com.zillow.android.zillowmap.*,1</item>
|
||||
+ <item>co.vine.android.*,1</item>
|
||||
+ <item>de.srlabs.snoopsnitch.*,0</item>
|
||||
+ <item>de.tap.easy_xkcd.*,0</item>
|
||||
+ <item>dev.ukanth.ufirewall.*, 1</item>
|
||||
+ <item>dk.jens.backup.*,1</item>
|
||||
+ <item>eu.chainfire.supersu.*,0</item>
|
||||
+ <item>eu.chainfire.supersu.pro.*,0</item>
|
||||
+ <item>eu.thedarken.sdm.*,1</item>
|
||||
+ <item>fr.kwiatkowski.ApkTrack.*,1</item>
|
||||
+ <item>io.github.droidapps.pdfreader.*,0</item>
|
||||
+ <item>it.mvilla.android.fenix.*,0</item>
|
||||
+ <item>kik.android.*,1</item>
|
||||
+ <item>me.ccrama.redditslide.*,0</item>
|
||||
+ <item>me.ccrama.slideforreddit.*,0</item>
|
||||
+ <item>me.ccrama.slideforreddittabletuiunlock.*,0</item>
|
||||
+ <item>net.dinglisch.android.taskerm.*,0</item>
|
||||
+ <item>net.etuldan.sparss.floss.*,0</item>
|
||||
+ <item>net.i2p.android.router.*,0</item>
|
||||
+ <item>net.minetest.minetest.*,1</item>
|
||||
+ <item>net.nightwhistler.pageturner.*,0</item>
|
||||
+ <item>net.osmand.plus.*,1</item>
|
||||
+ <item>org.adaway.*,1</item>
|
||||
+ <item>org.chromium.chrome.*,1</item>
|
||||
+ <item>org.connectbot.*,0</item>
|
||||
+ <item>org.csploit.android.*,1</item>
|
||||
+ <item>org.cyanogenmod.audiofx.*,0</item>
|
||||
+ <item>org.documentfoundation.libreoffice.*,0</item>
|
||||
+ <item>org.fdroid.fdroid.*,1</item>
|
||||
+ <item>org.ligi.blexplorer.*,0</item>
|
||||
+ <item>org.mozilla.firefox.*,1</item>
|
||||
+ <item>org.ppsspp.ppsspp.*,1</item>
|
||||
+ <item>org.ppsspp.ppssppgold.*,1</item>
|
||||
+ <item>org.quantumbadger.redreader.*,0</item>
|
||||
+ <item>org.schabi.newpipe.*,1</item>
|
||||
+ <item>org.torproject.android.*,0</item>
|
||||
+ <item>org.videolan.vlc.*,1</item>
|
||||
+ <item>org.wikipedia.*,0</item>
|
||||
+ <item>org.yaaic.*,0</item>
|
||||
+ <item>org.zwanoo.android.speedtest.*,2</item>
|
||||
+ <item>reddit.news.*,0</item>
|
||||
+ <item>rs.pedajaapps.alogcatroot.app.*,0</item>
|
||||
+ <item>tw.twitch.android.app.*,1</item>
|
||||
</string-array>
|
||||
|
||||
<!-- Defines the default set of global actions. Actions may still be disabled or hidden based
|
||||
--
|
||||
2.6.2
|
||||
|
35
Patches/OLD/SEPolicy-Fixes-1.patch
Normal file
35
Patches/OLD/SEPolicy-Fixes-1.patch
Normal file
|
@ -0,0 +1,35 @@
|
|||
From ce457c4d401e9ccc72a7f7806d0413a93a4ee89b Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Tue, 17 Nov 2015 10:06:29 -0500
|
||||
Subject: [PATCH] Sepolicy fixes
|
||||
|
||||
Change-Id: Idc72b9ccf46405bc09bd8117d0d0c5c134663d21
|
||||
---
|
||||
sepolicy/mediaserver.te | 3 +++
|
||||
sepolicy/system_server.te | 2 ++
|
||||
2 files changed, 5 insertions(+)
|
||||
|
||||
diff --git a/sepolicy/mediaserver.te b/sepolicy/mediaserver.te
|
||||
index 550b069..b986249 100644
|
||||
--- a/sepolicy/mediaserver.te
|
||||
+++ b/sepolicy/mediaserver.te
|
||||
@@ -3,3 +3,6 @@ allow mediaserver camera_prop:property_service set;
|
||||
|
||||
# check sound card status
|
||||
allow mediaserver audiod:binder call;
|
||||
+
|
||||
+# For text relocations in /system/vendor/lib/libmmjpeg.so
|
||||
+allow mediaserver system_file:file execmod;
|
||||
diff --git a/sepolicy/system_server.te b/sepolicy/system_server.te
|
||||
index 2edd5b7..a276326 100644
|
||||
--- a/sepolicy/system_server.te
|
||||
+++ b/sepolicy/system_server.te
|
||||
@@ -7,3 +7,5 @@ allow system_server vibeamp_sysfs:file rw_file_perms;
|
||||
|
||||
# timerfd
|
||||
allow system_server rtc_device:chr_file rw_file_perms;
|
||||
+
|
||||
+allow system_server system_file:file execmod;
|
||||
--
|
||||
2.6.2
|
||||
|
38
Patches/OLD/SEPolicy-Fixes-2.patch
Normal file
38
Patches/OLD/SEPolicy-Fixes-2.patch
Normal file
|
@ -0,0 +1,38 @@
|
|||
From c011137f91433df73fe63cc3f44f42c050d2e637 Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Wed, 18 Nov 2015 16:08:52 -0500
|
||||
Subject: [PATCH] SEPolicy Fixes
|
||||
|
||||
Change-Id: I06468fc723c4847506d3c7a28e62fb918794ceaa
|
||||
---
|
||||
common/mm-qcamerad.te | 1 +
|
||||
common/sensors.te | 1 +
|
||||
2 files changed, 2 insertions(+)
|
||||
|
||||
diff --git a/common/mm-qcamerad.te b/common/mm-qcamerad.te
|
||||
index b912bdf..ca777f2 100644
|
||||
--- a/common/mm-qcamerad.te
|
||||
+++ b/common/mm-qcamerad.te
|
||||
@@ -19,6 +19,7 @@ binder_call(mm-qcamerad, system_server);
|
||||
binder_use(mm-qcamerad);
|
||||
|
||||
allow mm-qcamerad self:process execmem;
|
||||
+allow mm-qcamerad system_file:file execmod;
|
||||
# Interact with other media devices
|
||||
allow mm-qcamerad camera_device:dir search;
|
||||
allow mm-qcamerad { gpu_device video_device camera_device sensors_device }:chr_file rw_file_perms;
|
||||
diff --git a/common/sensors.te b/common/sensors.te
|
||||
index 0e9c847..2ee263b 100644
|
||||
--- a/common/sensors.te
|
||||
+++ b/common/sensors.te
|
||||
@@ -37,6 +37,7 @@ allow sensors sensors_persist_file:file create_file_perms;
|
||||
|
||||
# Access to execmem
|
||||
allow sensors self:process execmem;
|
||||
+allow sensors system_file:file execmod;
|
||||
|
||||
# Wake lock access
|
||||
wakelock_use(sensors)
|
||||
--
|
||||
2.6.2
|
||||
|
22
Patches/OLD/SEPolicy-Fixes-3.patch
Normal file
22
Patches/OLD/SEPolicy-Fixes-3.patch
Normal file
|
@ -0,0 +1,22 @@
|
|||
From bf7a25786c1d4f0fb9ebefee23450f71ae8f7e4d Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Thu, 19 Nov 2015 21:02:28 -0500
|
||||
Subject: [PATCH] SEPolicy Fixes
|
||||
|
||||
Change-Id: I41b9256b69effb64fefd352cc953661373648714
|
||||
---
|
||||
sepolicy/custom.te | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
create mode 100644 sepolicy/custom.te
|
||||
|
||||
diff --git a/sepolicy/custom.te b/sepolicy/custom.te
|
||||
new file mode 100644
|
||||
index 0000000..567f78d
|
||||
--- /dev/null
|
||||
+++ b/sepolicy/custom.te
|
||||
@@ -0,0 +1,2 @@
|
||||
+allow mpdecision self:capability sys_ptrace;
|
||||
+allow untrusted_app self:file getattr;
|
||||
--
|
||||
2.6.2
|
||||
|
210
Patches/OLD/bacon/Device-CM-12.1/1.patch
Normal file
210
Patches/OLD/bacon/Device-CM-12.1/1.patch
Normal file
|
@ -0,0 +1,210 @@
|
|||
From 7a1726f94f5f65d5967e3480ef7668f7cfa90685 Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Wed, 28 Oct 2015 09:39:52 -0400
|
||||
Subject: [PATCH] Basic Changes
|
||||
|
||||
---
|
||||
bacon.mk | 4 +-
|
||||
phone-xxhdpi-3072-dalvik-heap.mk | 25 ++++++++++
|
||||
phone-xxhdpi-3072-hwui-memory.mk | 30 +++++++++++
|
||||
system.prop | 104 +++++++++++++++++++++++++++++++++++++++
|
||||
4 files changed, 161 insertions(+), 2 deletions(-)
|
||||
create mode 100644 phone-xxhdpi-3072-dalvik-heap.mk
|
||||
create mode 100644 phone-xxhdpi-3072-hwui-memory.mk
|
||||
|
||||
diff --git a/bacon.mk b/bacon.mk
|
||||
index 8297699..0e9227a 100644
|
||||
--- a/bacon.mk
|
||||
+++ b/bacon.mk
|
||||
@@ -106,8 +106,8 @@ PRODUCT_PACKAGES += \
|
||||
charger_res_images
|
||||
|
||||
# Dalvik/HWUI
|
||||
-$(call inherit-product-if-exists, frameworks/native/build/phone-xxhdpi-2048-dalvik-heap.mk)
|
||||
-$(call inherit-product-if-exists, frameworks/native/build/phone-xxhdpi-2048-hwui-memory.mk)
|
||||
+$(call inherit-product-if-exists, device/oneplus/bacon/phone-xxhdpi-3072-dalvik-heap.mk)
|
||||
+$(call inherit-product-if-exists, device/oneplus/bacon/phone-xxhdpi-3072-hwui-memory.mk)
|
||||
|
||||
# Display
|
||||
PRODUCT_AAPT_CONFIG := normal
|
||||
diff --git a/phone-xxhdpi-3072-dalvik-heap.mk b/phone-xxhdpi-3072-dalvik-heap.mk
|
||||
new file mode 100644
|
||||
index 0000000..a585268
|
||||
--- /dev/null
|
||||
+++ b/phone-xxhdpi-3072-dalvik-heap.mk
|
||||
@@ -0,0 +1,25 @@
|
||||
+#
|
||||
+# Copyright (C) 2014 The Android Open Source Project
|
||||
+#
|
||||
+# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
+# you may not use this file except in compliance with the License.
|
||||
+# You may obtain a copy of the License at
|
||||
+#
|
||||
+# http://www.apache.org/licenses/LICENSE-2.0
|
||||
+#
|
||||
+# Unless required by applicable law or agreed to in writing, software
|
||||
+# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
+# See the License for the specific language governing permissions and
|
||||
+# limitations under the License.
|
||||
+#
|
||||
+
|
||||
+# Provides overrides to configure the Dalvik heap for a 3G phone
|
||||
+
|
||||
+PRODUCT_PROPERTY_OVERRIDES += \
|
||||
+ dalvik.vm.heapstartsize=24m \
|
||||
+ dalvik.vm.heapgrowthlimit=320m \
|
||||
+ dalvik.vm.heapsize=768m \
|
||||
+ dalvik.vm.heaptargetutilization=0.75 \
|
||||
+ dalvik.vm.heapminfree=2m \
|
||||
+ dalvik.vm.heapmaxfree=8m
|
||||
\ No newline at end of file
|
||||
diff --git a/phone-xxhdpi-3072-hwui-memory.mk b/phone-xxhdpi-3072-hwui-memory.mk
|
||||
new file mode 100644
|
||||
index 0000000..9eff929
|
||||
--- /dev/null
|
||||
+++ b/phone-xxhdpi-3072-hwui-memory.mk
|
||||
@@ -0,0 +1,30 @@
|
||||
+#
|
||||
+# Copyright (C) 2014 The CyanogenMod Project
|
||||
+#
|
||||
+# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
+# you may not use this file except in compliance with the License.
|
||||
+# You may obtain a copy of the License at
|
||||
+#
|
||||
+# http://www.apache.org/licenses/LICENSE-2.0
|
||||
+#
|
||||
+# Unless required by applicable law or agreed to in writing, software
|
||||
+# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
+# See the License for the specific language governing permissions and
|
||||
+# limitations under the License.
|
||||
+#
|
||||
+
|
||||
+# Provides overrides to configure the HWUI memory limits
|
||||
+
|
||||
+PRODUCT_PROPERTY_OVERRIDES += \
|
||||
+ ro.hwui.texture_cache_size=96 \
|
||||
+ ro.hwui.layer_cache_size=64 \
|
||||
+ ro.hwui.r_buffer_cache_size=12 \
|
||||
+ ro.hwui.path_cache_size=39 \
|
||||
+ ro.hwui.gradient_cache_size=1 \
|
||||
+ ro.hwui.drop_shadow_cache_size=7 \
|
||||
+ ro.hwui.texture_cache_flushrate=0.4 \
|
||||
+ ro.hwui.text_small_cache_width=2048 \
|
||||
+ ro.hwui.text_small_cache_height=2048 \
|
||||
+ ro.hwui.text_large_cache_width=3072 \
|
||||
+ ro.hwui.text_large_cache_height=2048
|
||||
\ No newline at end of file
|
||||
diff --git a/system.prop b/system.prop
|
||||
index 8e0027b..110521f 100644
|
||||
--- a/system.prop
|
||||
+++ b/system.prop
|
||||
@@ -23,3 +23,107 @@ ro.gps.agps_provider=1
|
||||
|
||||
# cabl is handled by the panel
|
||||
ro.qualcomm.cabl=0
|
||||
+
|
||||
+# enable lazy dexopt
|
||||
+persist.sys.lazy.dexopt=true
|
||||
+
|
||||
+# performance/battery tweaks
|
||||
+windowsmgr.max_events_per_sec=90
|
||||
+ro.max.fling_velocity=15000
|
||||
+ro.min.fling_velocity=8000
|
||||
+ro.min_pointer_dur=8
|
||||
+touch.pressure.scale=0.01
|
||||
+debugtool.anrhistory=0
|
||||
+profiler.debugmonitor=false
|
||||
+profiler.launch=false
|
||||
+profiler.hung.dumpdobugreport=false
|
||||
+ro.config.htc.nocheckin=1
|
||||
+ro.config.nocheckin=1
|
||||
+ro.kernel.android.checkjni=0
|
||||
+ro.kernel.checkjni=0
|
||||
+ro.telephony.call_ring.delay=0
|
||||
+ring.delay=0
|
||||
+ro.config.combined_signal=true
|
||||
+net.ipv4.ip_no_pmtu_disc=0
|
||||
+net.ipv4.route.flush=1
|
||||
+net.ipv4.tcp_ecn=0
|
||||
+net.ipv4.tcp_fack=1
|
||||
+net.ipv4.tcp_mem=187000 187000 187000
|
||||
+net.ipv4.tcp_moderate_rcvbuf=1
|
||||
+net.ipv4.tcp_no_metrics_save=1
|
||||
+net.ipv4.tcp_rfc1337=1
|
||||
+net.ipv4.tcp_rmem=4096 39000 187000
|
||||
+net.ipv4.tcp_sack=1
|
||||
+net.ipv4.tcp_timestamps=1
|
||||
+net.ipv4.tcp_wmem=4096 39000 18700
|
||||
+wifi.supplicant_scan_interval=300
|
||||
+net.ipv4.tcp_window_scaling=1
|
||||
+ro.ril.hsxpa=3
|
||||
+ro.ril.gprsclass=10
|
||||
+ro.ril.hep=1
|
||||
+ro.ril.hsdpa.category=12
|
||||
+ro.ril.enable.3g.prefix=1
|
||||
+ro.ril.htcmaskw1.bitmask=4294967295
|
||||
+ro.ril.htcmaskw1=14449
|
||||
+ro.ril.hsupa.category=7
|
||||
+ro.ril.hsdpa.category=10
|
||||
+ro.ril.set.mtu1472=1
|
||||
+persist.cust.tel.eons=1
|
||||
+persist.data_netmgrd_mtu=1482
|
||||
+persist.data_netmgrd_nint=8
|
||||
+ro.use_data_netmgrd=true
|
||||
+ro.ril.enable.dtm=1
|
||||
+ro.ril.def.agps.mode=2
|
||||
+ro.ril.def.agps.feature=1
|
||||
+ro.ril.enable.gea3=1
|
||||
+ro.ril.enable.fd.plmn.prefix=23402,23410,23411
|
||||
+net.tcp.buffersize.default=4096,87380,256960,4096, 16384,256960
|
||||
+net.tcp.buffersize.wifi=4096,87380,256960,4096,163 84,256960
|
||||
+net.tcp.buffersize.umts=4096,87380,256960,4096,163 84,256960
|
||||
+net.tcp.buffersize.gprs=4096,87380,256960,4096,163 84,256960
|
||||
+net.tcp.buffersize.edge=4096,87380,256960,4096,163 84,256960
|
||||
+net.tcp.buffersize.hspa=6144,87380,524288,6144,163 84,262144
|
||||
+net.tcp.buffersize.lte=524288,1048576,2097152,5242 88,1048576,2097152
|
||||
+net.tcp.buffersize.hsdpa=6144,87380,1048576,6144,8 7380,1048576
|
||||
+net.tcp.buffersize.evdo_b=6144,87380,1048576,6144, 87380,1048576
|
||||
+ro.ril.enable.amr.wideband=1
|
||||
+profiler.force_disable_err_rpt=1
|
||||
+profiler.force_disable_ulog=1
|
||||
+debug.composition.type=gpu
|
||||
+debug.egl.hw=1
|
||||
+debug.enabletr=true
|
||||
+debug.overlayui.enable=1
|
||||
+debug.performance.tuning=1
|
||||
+debug.sf.hw=1
|
||||
+dev.pm.dyn_samplingrate=1
|
||||
+hw3d.force=1
|
||||
+ro.config.disable.hw_accel=false
|
||||
+ro.fb.mode=1
|
||||
+ro.sf.compbypass.enable=0
|
||||
+ro.vold.umsdirtyratio=20
|
||||
+persist.sys.composition.type=c2d
|
||||
+persist.sys.ui.hw=1
|
||||
+video.accelerate.hw=1
|
||||
+persist.sys.use_16bpp_alpha=1
|
||||
+debug.gr.swapinterval=0
|
||||
+com.qc.hardware=1
|
||||
+debug.qc.hardware=true
|
||||
+debug.qctwa.preservebuf=1
|
||||
+debug.qctwa.statusbar=1
|
||||
+pm.sleep_mode=1
|
||||
+ro.ril.disable.power.collapse=0
|
||||
+profiler.force_disable_err_rpt=1
|
||||
+profiler.force_disable_ulog=1
|
||||
+dalvik.vm.checkjni=false
|
||||
+dalvik.vm.execution-mode=int:jit
|
||||
+ro.ril.power_collapse=1
|
||||
+power_supply.wakeup=enable
|
||||
+ro.mot.eri.losalert.delay=1000
|
||||
+ro.config.hw_fast_dormancy=1
|
||||
+ro.config.hw_power_saving=1
|
||||
+ro.camcorder.videoModes=true
|
||||
+ime_extend_row_keyboard=true
|
||||
+ime_onehand_keyboard=true
|
||||
+ime_split_keyboard=true
|
||||
+ime_vibration_pattern=0:60
|
||||
+dalvik.vm.verify-bytecode=false
|
208
Patches/OLD/bacon/Device-CM-12.1/2.patch
Normal file
208
Patches/OLD/bacon/Device-CM-12.1/2.patch
Normal file
|
@ -0,0 +1,208 @@
|
|||
From 1bd1c56ef8caf86e28c154a0d8ea0c6ca2d2dd15 Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Thu, 29 Oct 2015 08:11:36 -0400
|
||||
Subject: [PATCH] Update build.prop
|
||||
|
||||
---
|
||||
system.prop | 167 ++++++++++++++++++++++++++++++++----------------------------
|
||||
1 file changed, 90 insertions(+), 77 deletions(-)
|
||||
|
||||
diff --git a/system.prop b/system.prop
|
||||
index 110521f..41dae74 100644
|
||||
--- a/system.prop
|
||||
+++ b/system.prop
|
||||
@@ -27,103 +27,116 @@ ro.qualcomm.cabl=0
|
||||
# enable lazy dexopt
|
||||
persist.sys.lazy.dexopt=true
|
||||
|
||||
-# performance/battery tweaks
|
||||
-windowsmgr.max_events_per_sec=90
|
||||
-ro.max.fling_velocity=15000
|
||||
-ro.min.fling_velocity=8000
|
||||
-ro.min_pointer_dur=8
|
||||
-touch.pressure.scale=0.01
|
||||
+com.qc.hardware=1
|
||||
+dalvik.vm.checkjni=false
|
||||
+dalvik.vm.execution-mode=int:jit
|
||||
+dalvik.vm.verify-bytecode=false
|
||||
+debug.composition.type=gpu
|
||||
+debug.egl.hw=1
|
||||
+debug.enabletr=true
|
||||
+debug.gr.swapinterval=0
|
||||
+debug.overlayui.enable=1
|
||||
+debug.performance.tuning=1
|
||||
+debug.qc.hardware=true
|
||||
+debug.qctwa.preservebuf=1
|
||||
+debug.qctwa.statusbar=1
|
||||
+debug.sf.hw=1
|
||||
debugtool.anrhistory=0
|
||||
-profiler.debugmonitor=false
|
||||
-profiler.launch=false
|
||||
-profiler.hung.dumpdobugreport=false
|
||||
-ro.config.htc.nocheckin=1
|
||||
-ro.config.nocheckin=1
|
||||
-ro.kernel.android.checkjni=0
|
||||
-ro.kernel.checkjni=0
|
||||
-ro.telephony.call_ring.delay=0
|
||||
-ring.delay=0
|
||||
-ro.config.combined_signal=true
|
||||
+dev.pm.dyn_samplingrate=1
|
||||
+hw3d.force=1
|
||||
+ime_extend_row_keyboard=true
|
||||
+ime_onehand_keyboard=true
|
||||
+ime_split_keyboard=true
|
||||
+ime_vibration_pattern=0:60
|
||||
+media.stagefright.enable-aac=true
|
||||
+media.stagefright.enable-http=true
|
||||
+media.stagefright.enable-meta=true
|
||||
+media.stagefright.enable-player=true
|
||||
+media.stagefright.enable-qcp=true
|
||||
+media.stagefright.enable-record=false
|
||||
+media.stagefright.enable-scan=true
|
||||
net.ipv4.ip_no_pmtu_disc=0
|
||||
net.ipv4.route.flush=1
|
||||
net.ipv4.tcp_ecn=0
|
||||
net.ipv4.tcp_fack=1
|
||||
net.ipv4.tcp_mem=187000 187000 187000
|
||||
-net.ipv4.tcp_moderate_rcvbuf=1
|
||||
+net.ipv4.tcp_moderate_rcvbuf=1
|
||||
net.ipv4.tcp_no_metrics_save=1
|
||||
net.ipv4.tcp_rfc1337=1
|
||||
-net.ipv4.tcp_rmem=4096 39000 187000
|
||||
+net.ipv4.tcp_rmem=4096 39000 187000
|
||||
net.ipv4.tcp_sack=1
|
||||
net.ipv4.tcp_timestamps=1
|
||||
-net.ipv4.tcp_wmem=4096 39000 18700
|
||||
-wifi.supplicant_scan_interval=300
|
||||
net.ipv4.tcp_window_scaling=1
|
||||
-ro.ril.hsxpa=3
|
||||
-ro.ril.gprsclass=10
|
||||
-ro.ril.hep=1
|
||||
-ro.ril.hsdpa.category=12
|
||||
-ro.ril.enable.3g.prefix=1
|
||||
-ro.ril.htcmaskw1.bitmask=4294967295
|
||||
-ro.ril.htcmaskw1=14449
|
||||
-ro.ril.hsupa.category=7
|
||||
-ro.ril.hsdpa.category=10
|
||||
-ro.ril.set.mtu1472=1
|
||||
-persist.cust.tel.eons=1
|
||||
-persist.data_netmgrd_mtu=1482
|
||||
-persist.data_netmgrd_nint=8
|
||||
-ro.use_data_netmgrd=true
|
||||
-ro.ril.enable.dtm=1
|
||||
-ro.ril.def.agps.mode=2
|
||||
-ro.ril.def.agps.feature=1
|
||||
-ro.ril.enable.gea3=1
|
||||
-ro.ril.enable.fd.plmn.prefix=23402,23410,23411
|
||||
+net.ipv4.tcp_wmem=4096 39000 18700
|
||||
net.tcp.buffersize.default=4096,87380,256960,4096, 16384,256960
|
||||
-net.tcp.buffersize.wifi=4096,87380,256960,4096,163 84,256960
|
||||
-net.tcp.buffersize.umts=4096,87380,256960,4096,163 84,256960
|
||||
-net.tcp.buffersize.gprs=4096,87380,256960,4096,163 84,256960
|
||||
net.tcp.buffersize.edge=4096,87380,256960,4096,163 84,256960
|
||||
+net.tcp.buffersize.evdo_b=6144,87380,1048576,6144, 87380,1048576
|
||||
+net.tcp.buffersize.gprs=4096,87380,256960,4096,163 84,256960
|
||||
+net.tcp.buffersize.hsdpa=6144,87380,1048576,6144,8 7380,1048576
|
||||
net.tcp.buffersize.hspa=6144,87380,524288,6144,163 84,262144
|
||||
net.tcp.buffersize.lte=524288,1048576,2097152,5242 88,1048576,2097152
|
||||
-net.tcp.buffersize.hsdpa=6144,87380,1048576,6144,8 7380,1048576
|
||||
-net.tcp.buffersize.evdo_b=6144,87380,1048576,6144, 87380,1048576
|
||||
-ro.ril.enable.amr.wideband=1
|
||||
-profiler.force_disable_err_rpt=1
|
||||
-profiler.force_disable_ulog=1
|
||||
-debug.composition.type=gpu
|
||||
-debug.egl.hw=1
|
||||
-debug.enabletr=true
|
||||
-debug.overlayui.enable=1
|
||||
-debug.performance.tuning=1
|
||||
-debug.sf.hw=1
|
||||
-dev.pm.dyn_samplingrate=1
|
||||
-hw3d.force=1
|
||||
-ro.config.disable.hw_accel=false
|
||||
-ro.fb.mode=1
|
||||
-ro.sf.compbypass.enable=0
|
||||
-ro.vold.umsdirtyratio=20
|
||||
+net.tcp.buffersize.umts=4096,87380,256960,4096,163 84,256960
|
||||
+net.tcp.buffersize.wifi=4096,87380,256960,4096,163 84,256960
|
||||
+persist.cust.tel.eons=1
|
||||
+persist.data_netmgrd_mtu=1482
|
||||
+persist.data_netmgrd_nint=8
|
||||
persist.sys.composition.type=c2d
|
||||
persist.sys.ui.hw=1
|
||||
-video.accelerate.hw=1
|
||||
persist.sys.use_16bpp_alpha=1
|
||||
-debug.gr.swapinterval=0
|
||||
-com.qc.hardware=1
|
||||
-debug.qc.hardware=true
|
||||
-debug.qctwa.preservebuf=1
|
||||
-debug.qctwa.statusbar=1
|
||||
pm.sleep_mode=1
|
||||
-ro.ril.disable.power.collapse=0
|
||||
+power_supply.wakeup=enable
|
||||
+profiler.debugmonitor=false
|
||||
profiler.force_disable_err_rpt=1
|
||||
profiler.force_disable_ulog=1
|
||||
-dalvik.vm.checkjni=false
|
||||
-dalvik.vm.execution-mode=int:jit
|
||||
-ro.ril.power_collapse=1
|
||||
-power_supply.wakeup=enable
|
||||
-ro.mot.eri.losalert.delay=1000
|
||||
+profiler.hung.dumpdobugreport=false
|
||||
+profiler.launch=false
|
||||
+ring.delay=0
|
||||
+ro.camcorder.videoModes=true
|
||||
+ro.config.combined_signal=true
|
||||
+ro.config.disable.hw_accel=false
|
||||
+ro.config.htc.nocheckin=1
|
||||
ro.config.hw_fast_dormancy=1
|
||||
ro.config.hw_power_saving=1
|
||||
-ro.camcorder.videoModes=true
|
||||
-ime_extend_row_keyboard=true
|
||||
-ime_onehand_keyboard=true
|
||||
-ime_split_keyboard=true
|
||||
-ime_vibration_pattern=0:60
|
||||
-dalvik.vm.verify-bytecode=false
|
||||
+ro.config.nocheckin=1
|
||||
+ro.fb.mode=1
|
||||
+ro.kernel.android.checkjni=0
|
||||
+ro.kernel.checkjni=0
|
||||
+ro.max.fling_velocity=15000
|
||||
+ro.media.dec.jpeg.memcap=8000000
|
||||
+ro.media.enc.hprof.vid.bps=8000000
|
||||
+ro.media.enc.hprof.vid.fps=65
|
||||
+ro.media.enc.jpeg.quality=100
|
||||
+ro.media.panorama.defres=3264x1840
|
||||
+ro.media.panorama.frameres=1280x720
|
||||
+ro.min.fling_velocity=8000
|
||||
+ro.min_pointer_dur=8
|
||||
+ro.mot.eri.losalert.delay=1000
|
||||
+ro.ril.def.agps.feature=1
|
||||
+ro.ril.def.agps.mode=2
|
||||
+ro.ril.disable.power.collapse=0
|
||||
+ro.ril.enable.3g.prefix=1
|
||||
+ro.ril.enable.a52=1
|
||||
+ro.ril.enable.a53=1
|
||||
+ro.ril.enable.amr.wideband=1
|
||||
+ro.ril.enable.dtm=1
|
||||
+ro.ril.enable.fd.plmn.prefix=23402,23410,23411
|
||||
+ro.ril.enable.fd.plmn.prefix=23402,23410,23411
|
||||
+ro.ril.enable.gea3=1
|
||||
+ro.ril.gprsclass=10
|
||||
+ro.ril.hep=1
|
||||
+ro.ril.hsdpa.category=10
|
||||
+ro.ril.hsdpa.category=12
|
||||
+ro.ril.hsupa.category=7
|
||||
+ro.ril.hsxpa=3
|
||||
+ro.ril.htcmaskw1=14449
|
||||
+ro.ril.htcmaskw1.bitmask=4294967295
|
||||
+ro.ril.power_collapse=1
|
||||
+ro.ril.set.mtu1472=1
|
||||
+ro.sf.compbypass.enable=0
|
||||
+ro.telephony.call_ring.delay=0
|
||||
+ro.use_data_netmgrd=true
|
||||
+ro.vold.umsdirtyratio=20
|
||||
+touch.pressure.scale=0.01
|
||||
+video.accelerate.hw=1
|
||||
+wifi.supplicant_scan_interval=300
|
||||
+windowsmgr.max_events_per_sec=90
|
||||
\ No newline at end of file
|
44
Patches/OLD/bacon/Device-CM-12.1/3.patch
Normal file
44
Patches/OLD/bacon/Device-CM-12.1/3.patch
Normal file
|
@ -0,0 +1,44 @@
|
|||
From 9f0c8892e0133ba7c525508793d7d7f697ab277f Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Tue, 3 Nov 2015 15:28:57 -0500
|
||||
Subject: [PATCH] Dont add in Google Widevine DRM and Microsoft PlayReady DRM
|
||||
|
||||
---
|
||||
Android.mk | 24 ------------------------
|
||||
1 file changed, 24 deletions(-)
|
||||
|
||||
diff --git a/Android.mk b/Android.mk
|
||||
index 4380569..a197677 100644
|
||||
--- a/Android.mk
|
||||
+++ b/Android.mk
|
||||
@@ -124,30 +124,6 @@ $(MC_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
|
||||
|
||||
ALL_DEFAULT_INSTALLED_MODULES += $(MC_SYMLINKS)
|
||||
|
||||
-PLAYREADY_IMAGES := \
|
||||
- playread.b00 playread.b01 playread.b02 playread.b03 playread.mdt
|
||||
-
|
||||
-PLAYREADY_SYMLINKS := $(addprefix $(TARGET_OUT_ETC)/firmware/,$(notdir $(PLAYREADY_IMAGES)))
|
||||
-$(PLAYREADY_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
|
||||
- @echo "Playready firmware link: $@"
|
||||
- @mkdir -p $(dir $@)
|
||||
- @rm -rf $@
|
||||
- $(hide) ln -sf /firmware/image/$(notdir $@) $@
|
||||
-
|
||||
-ALL_DEFAULT_INSTALLED_MODULES += $(PLAYREADY_SYMLINKS)
|
||||
-
|
||||
-WV_IMAGES := \
|
||||
- widevine.b00 widevine.b01 widevine.b02 widevine.b03 widevine.mdt
|
||||
-
|
||||
-WV_SYMLINKS := $(addprefix $(TARGET_OUT_ETC)/firmware/,$(notdir $(WV_IMAGES)))
|
||||
-$(WV_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
|
||||
- @echo "Widevine firmware link: $@"
|
||||
- @mkdir -p $(dir $@)
|
||||
- @rm -rf $@
|
||||
- $(hide) ln -sf /firmware/image/$(notdir $@) $@
|
||||
-
|
||||
-ALL_DEFAULT_INSTALLED_MODULES += $(WV_SYMLINKS)
|
||||
-
|
||||
# Create links for audcal data files
|
||||
$(shell mkdir -p $(TARGET_OUT)/etc/firmware/wcd9320; \
|
||||
ln -sf /data/misc/audio/wcd9320_anc.bin \
|
210
Patches/OLD/bacon/Device-CM-13.0/1.patch
Normal file
210
Patches/OLD/bacon/Device-CM-13.0/1.patch
Normal file
|
@ -0,0 +1,210 @@
|
|||
From 6d4556965099ffa938810f512307c6309c305658 Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Wed, 28 Oct 2015 09:39:52 -0400
|
||||
Subject: [PATCH] Basic Changes
|
||||
|
||||
---
|
||||
bacon.mk | 4 +-
|
||||
phone-xxhdpi-3072-dalvik-heap.mk | 25 ++++++++++
|
||||
phone-xxhdpi-3072-hwui-memory.mk | 30 +++++++++++
|
||||
system.prop | 104 +++++++++++++++++++++++++++++++++++++++
|
||||
4 files changed, 161 insertions(+), 2 deletions(-)
|
||||
create mode 100644 phone-xxhdpi-3072-dalvik-heap.mk
|
||||
create mode 100644 phone-xxhdpi-3072-hwui-memory.mk
|
||||
|
||||
diff --git a/bacon.mk b/bacon.mk
|
||||
index b8eb98c..5cc342d 100644
|
||||
--- a/bacon.mk
|
||||
+++ b/bacon.mk
|
||||
@@ -104,8 +104,8 @@ PRODUCT_PACKAGES += \
|
||||
charger_res_images
|
||||
|
||||
# Dalvik/HWUI
|
||||
-$(call inherit-product-if-exists, frameworks/native/build/phone-xxhdpi-2048-dalvik-heap.mk)
|
||||
-$(call inherit-product-if-exists, frameworks/native/build/phone-xxhdpi-2048-hwui-memory.mk)
|
||||
+$(call inherit-product-if-exists, device/oneplus/bacon/phone-xxhdpi-3072-dalvik-heap.mk)
|
||||
+$(call inherit-product-if-exists, device/oneplus/bacon/phone-xxhdpi-3072-hwui-memory.mk)
|
||||
|
||||
# Display
|
||||
PRODUCT_AAPT_CONFIG := normal
|
||||
diff --git a/phone-xxhdpi-3072-dalvik-heap.mk b/phone-xxhdpi-3072-dalvik-heap.mk
|
||||
new file mode 100644
|
||||
index 0000000..a585268
|
||||
--- /dev/null
|
||||
+++ b/phone-xxhdpi-3072-dalvik-heap.mk
|
||||
@@ -0,0 +1,25 @@
|
||||
+#
|
||||
+# Copyright (C) 2014 The Android Open Source Project
|
||||
+#
|
||||
+# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
+# you may not use this file except in compliance with the License.
|
||||
+# You may obtain a copy of the License at
|
||||
+#
|
||||
+# http://www.apache.org/licenses/LICENSE-2.0
|
||||
+#
|
||||
+# Unless required by applicable law or agreed to in writing, software
|
||||
+# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
+# See the License for the specific language governing permissions and
|
||||
+# limitations under the License.
|
||||
+#
|
||||
+
|
||||
+# Provides overrides to configure the Dalvik heap for a 3G phone
|
||||
+
|
||||
+PRODUCT_PROPERTY_OVERRIDES += \
|
||||
+ dalvik.vm.heapstartsize=24m \
|
||||
+ dalvik.vm.heapgrowthlimit=320m \
|
||||
+ dalvik.vm.heapsize=768m \
|
||||
+ dalvik.vm.heaptargetutilization=0.75 \
|
||||
+ dalvik.vm.heapminfree=2m \
|
||||
+ dalvik.vm.heapmaxfree=8m
|
||||
\ No newline at end of file
|
||||
diff --git a/phone-xxhdpi-3072-hwui-memory.mk b/phone-xxhdpi-3072-hwui-memory.mk
|
||||
new file mode 100644
|
||||
index 0000000..9eff929
|
||||
--- /dev/null
|
||||
+++ b/phone-xxhdpi-3072-hwui-memory.mk
|
||||
@@ -0,0 +1,30 @@
|
||||
+#
|
||||
+# Copyright (C) 2014 The CyanogenMod Project
|
||||
+#
|
||||
+# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
+# you may not use this file except in compliance with the License.
|
||||
+# You may obtain a copy of the License at
|
||||
+#
|
||||
+# http://www.apache.org/licenses/LICENSE-2.0
|
||||
+#
|
||||
+# Unless required by applicable law or agreed to in writing, software
|
||||
+# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
+# See the License for the specific language governing permissions and
|
||||
+# limitations under the License.
|
||||
+#
|
||||
+
|
||||
+# Provides overrides to configure the HWUI memory limits
|
||||
+
|
||||
+PRODUCT_PROPERTY_OVERRIDES += \
|
||||
+ ro.hwui.texture_cache_size=96 \
|
||||
+ ro.hwui.layer_cache_size=64 \
|
||||
+ ro.hwui.r_buffer_cache_size=12 \
|
||||
+ ro.hwui.path_cache_size=39 \
|
||||
+ ro.hwui.gradient_cache_size=1 \
|
||||
+ ro.hwui.drop_shadow_cache_size=7 \
|
||||
+ ro.hwui.texture_cache_flushrate=0.4 \
|
||||
+ ro.hwui.text_small_cache_width=2048 \
|
||||
+ ro.hwui.text_small_cache_height=2048 \
|
||||
+ ro.hwui.text_large_cache_width=3072 \
|
||||
+ ro.hwui.text_large_cache_height=2048
|
||||
\ No newline at end of file
|
||||
diff --git a/system.prop b/system.prop
|
||||
index 8e0027b..110521f 100644
|
||||
--- a/system.prop
|
||||
+++ b/system.prop
|
||||
@@ -23,3 +23,107 @@ ro.gps.agps_provider=1
|
||||
|
||||
# cabl is handled by the panel
|
||||
ro.qualcomm.cabl=0
|
||||
+
|
||||
+# enable lazy dexopt
|
||||
+persist.sys.lazy.dexopt=true
|
||||
+
|
||||
+# performance/battery tweaks
|
||||
+windowsmgr.max_events_per_sec=90
|
||||
+ro.max.fling_velocity=15000
|
||||
+ro.min.fling_velocity=8000
|
||||
+ro.min_pointer_dur=8
|
||||
+touch.pressure.scale=0.01
|
||||
+debugtool.anrhistory=0
|
||||
+profiler.debugmonitor=false
|
||||
+profiler.launch=false
|
||||
+profiler.hung.dumpdobugreport=false
|
||||
+ro.config.htc.nocheckin=1
|
||||
+ro.config.nocheckin=1
|
||||
+ro.kernel.android.checkjni=0
|
||||
+ro.kernel.checkjni=0
|
||||
+ro.telephony.call_ring.delay=0
|
||||
+ring.delay=0
|
||||
+ro.config.combined_signal=true
|
||||
+net.ipv4.ip_no_pmtu_disc=0
|
||||
+net.ipv4.route.flush=1
|
||||
+net.ipv4.tcp_ecn=0
|
||||
+net.ipv4.tcp_fack=1
|
||||
+net.ipv4.tcp_mem=187000 187000 187000
|
||||
+net.ipv4.tcp_moderate_rcvbuf=1
|
||||
+net.ipv4.tcp_no_metrics_save=1
|
||||
+net.ipv4.tcp_rfc1337=1
|
||||
+net.ipv4.tcp_rmem=4096 39000 187000
|
||||
+net.ipv4.tcp_sack=1
|
||||
+net.ipv4.tcp_timestamps=1
|
||||
+net.ipv4.tcp_wmem=4096 39000 18700
|
||||
+wifi.supplicant_scan_interval=300
|
||||
+net.ipv4.tcp_window_scaling=1
|
||||
+ro.ril.hsxpa=3
|
||||
+ro.ril.gprsclass=10
|
||||
+ro.ril.hep=1
|
||||
+ro.ril.hsdpa.category=12
|
||||
+ro.ril.enable.3g.prefix=1
|
||||
+ro.ril.htcmaskw1.bitmask=4294967295
|
||||
+ro.ril.htcmaskw1=14449
|
||||
+ro.ril.hsupa.category=7
|
||||
+ro.ril.hsdpa.category=10
|
||||
+ro.ril.set.mtu1472=1
|
||||
+persist.cust.tel.eons=1
|
||||
+persist.data_netmgrd_mtu=1482
|
||||
+persist.data_netmgrd_nint=8
|
||||
+ro.use_data_netmgrd=true
|
||||
+ro.ril.enable.dtm=1
|
||||
+ro.ril.def.agps.mode=2
|
||||
+ro.ril.def.agps.feature=1
|
||||
+ro.ril.enable.gea3=1
|
||||
+ro.ril.enable.fd.plmn.prefix=23402,23410,23411
|
||||
+net.tcp.buffersize.default=4096,87380,256960,4096, 16384,256960
|
||||
+net.tcp.buffersize.wifi=4096,87380,256960,4096,163 84,256960
|
||||
+net.tcp.buffersize.umts=4096,87380,256960,4096,163 84,256960
|
||||
+net.tcp.buffersize.gprs=4096,87380,256960,4096,163 84,256960
|
||||
+net.tcp.buffersize.edge=4096,87380,256960,4096,163 84,256960
|
||||
+net.tcp.buffersize.hspa=6144,87380,524288,6144,163 84,262144
|
||||
+net.tcp.buffersize.lte=524288,1048576,2097152,5242 88,1048576,2097152
|
||||
+net.tcp.buffersize.hsdpa=6144,87380,1048576,6144,8 7380,1048576
|
||||
+net.tcp.buffersize.evdo_b=6144,87380,1048576,6144, 87380,1048576
|
||||
+ro.ril.enable.amr.wideband=1
|
||||
+profiler.force_disable_err_rpt=1
|
||||
+profiler.force_disable_ulog=1
|
||||
+debug.composition.type=gpu
|
||||
+debug.egl.hw=1
|
||||
+debug.enabletr=true
|
||||
+debug.overlayui.enable=1
|
||||
+debug.performance.tuning=1
|
||||
+debug.sf.hw=1
|
||||
+dev.pm.dyn_samplingrate=1
|
||||
+hw3d.force=1
|
||||
+ro.config.disable.hw_accel=false
|
||||
+ro.fb.mode=1
|
||||
+ro.sf.compbypass.enable=0
|
||||
+ro.vold.umsdirtyratio=20
|
||||
+persist.sys.composition.type=c2d
|
||||
+persist.sys.ui.hw=1
|
||||
+video.accelerate.hw=1
|
||||
+persist.sys.use_16bpp_alpha=1
|
||||
+debug.gr.swapinterval=0
|
||||
+com.qc.hardware=1
|
||||
+debug.qc.hardware=true
|
||||
+debug.qctwa.preservebuf=1
|
||||
+debug.qctwa.statusbar=1
|
||||
+pm.sleep_mode=1
|
||||
+ro.ril.disable.power.collapse=0
|
||||
+profiler.force_disable_err_rpt=1
|
||||
+profiler.force_disable_ulog=1
|
||||
+dalvik.vm.checkjni=false
|
||||
+dalvik.vm.execution-mode=int:jit
|
||||
+ro.ril.power_collapse=1
|
||||
+power_supply.wakeup=enable
|
||||
+ro.mot.eri.losalert.delay=1000
|
||||
+ro.config.hw_fast_dormancy=1
|
||||
+ro.config.hw_power_saving=1
|
||||
+ro.camcorder.videoModes=true
|
||||
+ime_extend_row_keyboard=true
|
||||
+ime_onehand_keyboard=true
|
||||
+ime_split_keyboard=true
|
||||
+ime_vibration_pattern=0:60
|
||||
+dalvik.vm.verify-bytecode=false
|
208
Patches/OLD/bacon/Device-CM-13.0/2.patch
Normal file
208
Patches/OLD/bacon/Device-CM-13.0/2.patch
Normal file
|
@ -0,0 +1,208 @@
|
|||
From 54a7c9a176626217aca1cd9dba96d5314e18a0fb Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Thu, 29 Oct 2015 08:11:36 -0400
|
||||
Subject: [PATCH] Update build.prop
|
||||
|
||||
---
|
||||
system.prop | 167 ++++++++++++++++++++++++++++++++----------------------------
|
||||
1 file changed, 90 insertions(+), 77 deletions(-)
|
||||
|
||||
diff --git a/system.prop b/system.prop
|
||||
index 110521f..41dae74 100644
|
||||
--- a/system.prop
|
||||
+++ b/system.prop
|
||||
@@ -27,103 +27,116 @@ ro.qualcomm.cabl=0
|
||||
# enable lazy dexopt
|
||||
persist.sys.lazy.dexopt=true
|
||||
|
||||
-# performance/battery tweaks
|
||||
-windowsmgr.max_events_per_sec=90
|
||||
-ro.max.fling_velocity=15000
|
||||
-ro.min.fling_velocity=8000
|
||||
-ro.min_pointer_dur=8
|
||||
-touch.pressure.scale=0.01
|
||||
+com.qc.hardware=1
|
||||
+dalvik.vm.checkjni=false
|
||||
+dalvik.vm.execution-mode=int:jit
|
||||
+dalvik.vm.verify-bytecode=false
|
||||
+debug.composition.type=gpu
|
||||
+debug.egl.hw=1
|
||||
+debug.enabletr=true
|
||||
+debug.gr.swapinterval=0
|
||||
+debug.overlayui.enable=1
|
||||
+debug.performance.tuning=1
|
||||
+debug.qc.hardware=true
|
||||
+debug.qctwa.preservebuf=1
|
||||
+debug.qctwa.statusbar=1
|
||||
+debug.sf.hw=1
|
||||
debugtool.anrhistory=0
|
||||
-profiler.debugmonitor=false
|
||||
-profiler.launch=false
|
||||
-profiler.hung.dumpdobugreport=false
|
||||
-ro.config.htc.nocheckin=1
|
||||
-ro.config.nocheckin=1
|
||||
-ro.kernel.android.checkjni=0
|
||||
-ro.kernel.checkjni=0
|
||||
-ro.telephony.call_ring.delay=0
|
||||
-ring.delay=0
|
||||
-ro.config.combined_signal=true
|
||||
+dev.pm.dyn_samplingrate=1
|
||||
+hw3d.force=1
|
||||
+ime_extend_row_keyboard=true
|
||||
+ime_onehand_keyboard=true
|
||||
+ime_split_keyboard=true
|
||||
+ime_vibration_pattern=0:60
|
||||
+media.stagefright.enable-aac=true
|
||||
+media.stagefright.enable-http=true
|
||||
+media.stagefright.enable-meta=true
|
||||
+media.stagefright.enable-player=true
|
||||
+media.stagefright.enable-qcp=true
|
||||
+media.stagefright.enable-record=false
|
||||
+media.stagefright.enable-scan=true
|
||||
net.ipv4.ip_no_pmtu_disc=0
|
||||
net.ipv4.route.flush=1
|
||||
net.ipv4.tcp_ecn=0
|
||||
net.ipv4.tcp_fack=1
|
||||
net.ipv4.tcp_mem=187000 187000 187000
|
||||
-net.ipv4.tcp_moderate_rcvbuf=1
|
||||
+net.ipv4.tcp_moderate_rcvbuf=1
|
||||
net.ipv4.tcp_no_metrics_save=1
|
||||
net.ipv4.tcp_rfc1337=1
|
||||
-net.ipv4.tcp_rmem=4096 39000 187000
|
||||
+net.ipv4.tcp_rmem=4096 39000 187000
|
||||
net.ipv4.tcp_sack=1
|
||||
net.ipv4.tcp_timestamps=1
|
||||
-net.ipv4.tcp_wmem=4096 39000 18700
|
||||
-wifi.supplicant_scan_interval=300
|
||||
net.ipv4.tcp_window_scaling=1
|
||||
-ro.ril.hsxpa=3
|
||||
-ro.ril.gprsclass=10
|
||||
-ro.ril.hep=1
|
||||
-ro.ril.hsdpa.category=12
|
||||
-ro.ril.enable.3g.prefix=1
|
||||
-ro.ril.htcmaskw1.bitmask=4294967295
|
||||
-ro.ril.htcmaskw1=14449
|
||||
-ro.ril.hsupa.category=7
|
||||
-ro.ril.hsdpa.category=10
|
||||
-ro.ril.set.mtu1472=1
|
||||
-persist.cust.tel.eons=1
|
||||
-persist.data_netmgrd_mtu=1482
|
||||
-persist.data_netmgrd_nint=8
|
||||
-ro.use_data_netmgrd=true
|
||||
-ro.ril.enable.dtm=1
|
||||
-ro.ril.def.agps.mode=2
|
||||
-ro.ril.def.agps.feature=1
|
||||
-ro.ril.enable.gea3=1
|
||||
-ro.ril.enable.fd.plmn.prefix=23402,23410,23411
|
||||
+net.ipv4.tcp_wmem=4096 39000 18700
|
||||
net.tcp.buffersize.default=4096,87380,256960,4096, 16384,256960
|
||||
-net.tcp.buffersize.wifi=4096,87380,256960,4096,163 84,256960
|
||||
-net.tcp.buffersize.umts=4096,87380,256960,4096,163 84,256960
|
||||
-net.tcp.buffersize.gprs=4096,87380,256960,4096,163 84,256960
|
||||
net.tcp.buffersize.edge=4096,87380,256960,4096,163 84,256960
|
||||
+net.tcp.buffersize.evdo_b=6144,87380,1048576,6144, 87380,1048576
|
||||
+net.tcp.buffersize.gprs=4096,87380,256960,4096,163 84,256960
|
||||
+net.tcp.buffersize.hsdpa=6144,87380,1048576,6144,8 7380,1048576
|
||||
net.tcp.buffersize.hspa=6144,87380,524288,6144,163 84,262144
|
||||
net.tcp.buffersize.lte=524288,1048576,2097152,5242 88,1048576,2097152
|
||||
-net.tcp.buffersize.hsdpa=6144,87380,1048576,6144,8 7380,1048576
|
||||
-net.tcp.buffersize.evdo_b=6144,87380,1048576,6144, 87380,1048576
|
||||
-ro.ril.enable.amr.wideband=1
|
||||
-profiler.force_disable_err_rpt=1
|
||||
-profiler.force_disable_ulog=1
|
||||
-debug.composition.type=gpu
|
||||
-debug.egl.hw=1
|
||||
-debug.enabletr=true
|
||||
-debug.overlayui.enable=1
|
||||
-debug.performance.tuning=1
|
||||
-debug.sf.hw=1
|
||||
-dev.pm.dyn_samplingrate=1
|
||||
-hw3d.force=1
|
||||
-ro.config.disable.hw_accel=false
|
||||
-ro.fb.mode=1
|
||||
-ro.sf.compbypass.enable=0
|
||||
-ro.vold.umsdirtyratio=20
|
||||
+net.tcp.buffersize.umts=4096,87380,256960,4096,163 84,256960
|
||||
+net.tcp.buffersize.wifi=4096,87380,256960,4096,163 84,256960
|
||||
+persist.cust.tel.eons=1
|
||||
+persist.data_netmgrd_mtu=1482
|
||||
+persist.data_netmgrd_nint=8
|
||||
persist.sys.composition.type=c2d
|
||||
persist.sys.ui.hw=1
|
||||
-video.accelerate.hw=1
|
||||
persist.sys.use_16bpp_alpha=1
|
||||
-debug.gr.swapinterval=0
|
||||
-com.qc.hardware=1
|
||||
-debug.qc.hardware=true
|
||||
-debug.qctwa.preservebuf=1
|
||||
-debug.qctwa.statusbar=1
|
||||
pm.sleep_mode=1
|
||||
-ro.ril.disable.power.collapse=0
|
||||
+power_supply.wakeup=enable
|
||||
+profiler.debugmonitor=false
|
||||
profiler.force_disable_err_rpt=1
|
||||
profiler.force_disable_ulog=1
|
||||
-dalvik.vm.checkjni=false
|
||||
-dalvik.vm.execution-mode=int:jit
|
||||
-ro.ril.power_collapse=1
|
||||
-power_supply.wakeup=enable
|
||||
-ro.mot.eri.losalert.delay=1000
|
||||
+profiler.hung.dumpdobugreport=false
|
||||
+profiler.launch=false
|
||||
+ring.delay=0
|
||||
+ro.camcorder.videoModes=true
|
||||
+ro.config.combined_signal=true
|
||||
+ro.config.disable.hw_accel=false
|
||||
+ro.config.htc.nocheckin=1
|
||||
ro.config.hw_fast_dormancy=1
|
||||
ro.config.hw_power_saving=1
|
||||
-ro.camcorder.videoModes=true
|
||||
-ime_extend_row_keyboard=true
|
||||
-ime_onehand_keyboard=true
|
||||
-ime_split_keyboard=true
|
||||
-ime_vibration_pattern=0:60
|
||||
-dalvik.vm.verify-bytecode=false
|
||||
+ro.config.nocheckin=1
|
||||
+ro.fb.mode=1
|
||||
+ro.kernel.android.checkjni=0
|
||||
+ro.kernel.checkjni=0
|
||||
+ro.max.fling_velocity=15000
|
||||
+ro.media.dec.jpeg.memcap=8000000
|
||||
+ro.media.enc.hprof.vid.bps=8000000
|
||||
+ro.media.enc.hprof.vid.fps=65
|
||||
+ro.media.enc.jpeg.quality=100
|
||||
+ro.media.panorama.defres=3264x1840
|
||||
+ro.media.panorama.frameres=1280x720
|
||||
+ro.min.fling_velocity=8000
|
||||
+ro.min_pointer_dur=8
|
||||
+ro.mot.eri.losalert.delay=1000
|
||||
+ro.ril.def.agps.feature=1
|
||||
+ro.ril.def.agps.mode=2
|
||||
+ro.ril.disable.power.collapse=0
|
||||
+ro.ril.enable.3g.prefix=1
|
||||
+ro.ril.enable.a52=1
|
||||
+ro.ril.enable.a53=1
|
||||
+ro.ril.enable.amr.wideband=1
|
||||
+ro.ril.enable.dtm=1
|
||||
+ro.ril.enable.fd.plmn.prefix=23402,23410,23411
|
||||
+ro.ril.enable.fd.plmn.prefix=23402,23410,23411
|
||||
+ro.ril.enable.gea3=1
|
||||
+ro.ril.gprsclass=10
|
||||
+ro.ril.hep=1
|
||||
+ro.ril.hsdpa.category=10
|
||||
+ro.ril.hsdpa.category=12
|
||||
+ro.ril.hsupa.category=7
|
||||
+ro.ril.hsxpa=3
|
||||
+ro.ril.htcmaskw1=14449
|
||||
+ro.ril.htcmaskw1.bitmask=4294967295
|
||||
+ro.ril.power_collapse=1
|
||||
+ro.ril.set.mtu1472=1
|
||||
+ro.sf.compbypass.enable=0
|
||||
+ro.telephony.call_ring.delay=0
|
||||
+ro.use_data_netmgrd=true
|
||||
+ro.vold.umsdirtyratio=20
|
||||
+touch.pressure.scale=0.01
|
||||
+video.accelerate.hw=1
|
||||
+wifi.supplicant_scan_interval=300
|
||||
+windowsmgr.max_events_per_sec=90
|
||||
\ No newline at end of file
|
44
Patches/OLD/bacon/Device-CM-13.0/3.patch
Normal file
44
Patches/OLD/bacon/Device-CM-13.0/3.patch
Normal file
|
@ -0,0 +1,44 @@
|
|||
From b9d117b8e2b4d38b31bf2d95561a5c3e11300cb6 Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Tue, 3 Nov 2015 15:28:57 -0500
|
||||
Subject: [PATCH] Dont add in Google Widevine DRM and Microsoft PlayReady DRM
|
||||
|
||||
---
|
||||
Android.mk | 24 ------------------------
|
||||
1 file changed, 24 deletions(-)
|
||||
|
||||
diff --git a/Android.mk b/Android.mk
|
||||
index 4380569..a197677 100644
|
||||
--- a/Android.mk
|
||||
+++ b/Android.mk
|
||||
@@ -124,30 +124,6 @@ $(MC_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
|
||||
|
||||
ALL_DEFAULT_INSTALLED_MODULES += $(MC_SYMLINKS)
|
||||
|
||||
-PLAYREADY_IMAGES := \
|
||||
- playread.b00 playread.b01 playread.b02 playread.b03 playread.mdt
|
||||
-
|
||||
-PLAYREADY_SYMLINKS := $(addprefix $(TARGET_OUT_ETC)/firmware/,$(notdir $(PLAYREADY_IMAGES)))
|
||||
-$(PLAYREADY_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
|
||||
- @echo "Playready firmware link: $@"
|
||||
- @mkdir -p $(dir $@)
|
||||
- @rm -rf $@
|
||||
- $(hide) ln -sf /firmware/image/$(notdir $@) $@
|
||||
-
|
||||
-ALL_DEFAULT_INSTALLED_MODULES += $(PLAYREADY_SYMLINKS)
|
||||
-
|
||||
-WV_IMAGES := \
|
||||
- widevine.b00 widevine.b01 widevine.b02 widevine.b03 widevine.mdt
|
||||
-
|
||||
-WV_SYMLINKS := $(addprefix $(TARGET_OUT_ETC)/firmware/,$(notdir $(WV_IMAGES)))
|
||||
-$(WV_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
|
||||
- @echo "Widevine firmware link: $@"
|
||||
- @mkdir -p $(dir $@)
|
||||
- @rm -rf $@
|
||||
- $(hide) ln -sf /firmware/image/$(notdir $@) $@
|
||||
-
|
||||
-ALL_DEFAULT_INSTALLED_MODULES += $(WV_SYMLINKS)
|
||||
-
|
||||
# Create links for audcal data files
|
||||
$(shell mkdir -p $(TARGET_OUT)/etc/firmware/wcd9320; \
|
||||
ln -sf /data/misc/audio/wcd9320_anc.bin \
|
50928
Patches/OLD/bacon/Kernel-All/ch-12.1/1.patch
Normal file
50928
Patches/OLD/bacon/Kernel-All/ch-12.1/1.patch
Normal file
File diff suppressed because it is too large
Load diff
244
Patches/OLD/bacon/Kernel-All/ch-12.1/10.patch
Normal file
244
Patches/OLD/bacon/Kernel-All/ch-12.1/10.patch
Normal file
|
@ -0,0 +1,244 @@
|
|||
From d96337d6d658dfb72d9f9625d62dbf5eab135d24 Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Sat, 17 Oct 2015 20:52:02 -0400
|
||||
Subject: [PATCH] Implement Quick Wakeup
|
||||
|
||||
---
|
||||
arch/arm/configs/cyanogenmod_bacon_defconfig | 2 +
|
||||
include/linux/quickwakeup.h | 46 ++++++++++++
|
||||
kernel/power/Kconfig | 20 ++++--
|
||||
kernel/power/Makefile | 1 +
|
||||
kernel/power/quickwakeup.c | 104 +++++++++++++++++++++++++++
|
||||
5 files changed, 167 insertions(+), 6 deletions(-)
|
||||
create mode 100644 include/linux/quickwakeup.h
|
||||
create mode 100644 kernel/power/quickwakeup.c
|
||||
|
||||
diff --git a/arch/arm/configs/cyanogenmod_bacon_defconfig b/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
index f6a455b..a79f77b 100644
|
||||
--- a/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
+++ b/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
@@ -3623,3 +3623,5 @@ CONFIG_NLATTR=y
|
||||
# CONFIG_CORDIC is not set
|
||||
CONFIG_QMI_ENCDEC=y
|
||||
# CONFIG_QMI_ENCDEC_DEBUG is not set
|
||||
+
|
||||
+CONFIG_QUICK_WAKEUP=y
|
||||
diff --git a/include/linux/quickwakeup.h b/include/linux/quickwakeup.h
|
||||
new file mode 100644
|
||||
index 0000000..000effa
|
||||
--- /dev/null
|
||||
+++ b/include/linux/quickwakeup.h
|
||||
@@ -0,0 +1,46 @@
|
||||
+/* include/linux/quickwakeup.h
|
||||
+ *
|
||||
+ * Copyright (C) 2014 Motorola Mobility LLC.
|
||||
+ *
|
||||
+ * This software is licensed under the terms of the GNU General Public
|
||||
+ * License version 2, as published by the Free Software Foundation, and
|
||||
+ * may be copied, distributed, and modified under those terms.
|
||||
+ *
|
||||
+ * This program is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ * GNU General Public License for more details.
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+#ifndef _QUICKWAKEUP_H_
|
||||
+#define _QUICKWAKEUP_H_
|
||||
+
|
||||
+#ifdef __KERNEL__
|
||||
+
|
||||
+struct quickwakeup_ops {
|
||||
+ struct list_head list;
|
||||
+ char *name;
|
||||
+ int (*qw_execute)(void *data);
|
||||
+ int (*qw_check)(void *data);
|
||||
+ int execute;
|
||||
+ void *data; /* arbitrary data passed back to user */
|
||||
+};
|
||||
+
|
||||
+#ifdef CONFIG_QUICK_WAKEUP
|
||||
+
|
||||
+int quickwakeup_register(struct quickwakeup_ops *ops);
|
||||
+void quickwakeup_unregister(struct quickwakeup_ops *ops);
|
||||
+bool quickwakeup_suspend_again(void);
|
||||
+
|
||||
+#else
|
||||
+
|
||||
+static inline int quickwakeup_register(struct quickwakeup_ops *ops) { return 0; };
|
||||
+static inline void quickwakeup_unregister(struct quickwakeup_ops *ops) {};
|
||||
+static inline bool quickwakeup_suspend_again(void) { return 0; };
|
||||
+
|
||||
+#endif /* CONFIG_QUICK_WAKEUP */
|
||||
+
|
||||
+#endif /* __KERNEL__ */
|
||||
+
|
||||
+#endif /* _QUICKWAKEUP_H_ */
|
||||
diff --git a/kernel/power/Kconfig b/kernel/power/Kconfig
|
||||
index e536c8d..8006962 100644
|
||||
--- a/kernel/power/Kconfig
|
||||
+++ b/kernel/power/Kconfig
|
||||
@@ -83,20 +83,20 @@ config PM_STD_PARTITION
|
||||
default ""
|
||||
---help---
|
||||
The default resume partition is the partition that the suspend-
|
||||
- to-disk implementation will look for a suspended disk image.
|
||||
+ to-disk implementation will look for a suspended disk image.
|
||||
|
||||
- The partition specified here will be different for almost every user.
|
||||
+ The partition specified here will be different for almost every user.
|
||||
It should be a valid swap partition (at least for now) that is turned
|
||||
- on before suspending.
|
||||
+ on before suspending.
|
||||
|
||||
The partition specified can be overridden by specifying:
|
||||
|
||||
- resume=/dev/<other device>
|
||||
+ resume=/dev/<other device>
|
||||
|
||||
- which will set the resume partition to the device specified.
|
||||
+ which will set the resume partition to the device specified.
|
||||
|
||||
Note there is currently not a way to specify which device to save the
|
||||
- suspended image to. It will simply pick the first available swap
|
||||
+ suspended image to. It will simply pick the first available swap
|
||||
device.
|
||||
|
||||
config PM_SLEEP
|
||||
@@ -285,6 +285,14 @@ config SUSPEND_TIME
|
||||
Prints the time spent in suspend in the kernel log, and
|
||||
keeps statistics on the time spent in suspend in
|
||||
/sys/kernel/debug/suspend_time
|
||||
+
|
||||
+config QUICK_WAKEUP
|
||||
+ bool "Quick wakeup"
|
||||
+ depends on SUSPEND
|
||||
+ default n
|
||||
+ ---help---
|
||||
+ Allow kernel driver to do periodic jobs without resuming the full system
|
||||
+ This option can increase battery life on android powered smartphone.
|
||||
|
||||
config DEDUCE_WAKEUP_REASONS
|
||||
bool
|
||||
diff --git a/kernel/power/Makefile b/kernel/power/Makefile
|
||||
index 74c713b..e5bebbc 100644
|
||||
--- a/kernel/power/Makefile
|
||||
+++ b/kernel/power/Makefile
|
||||
@@ -14,5 +14,6 @@ obj-$(CONFIG_PM_WAKELOCKS) += wakelock.o
|
||||
obj-$(CONFIG_SUSPEND_TIME) += suspend_time.o
|
||||
|
||||
obj-$(CONFIG_MAGIC_SYSRQ) += poweroff.o
|
||||
+obj-$(CONFIG_QUICK_WAKEUP) += quickwakeup.o
|
||||
|
||||
obj-$(CONFIG_SUSPEND) += wakeup_reason.o
|
||||
diff --git a/kernel/power/quickwakeup.c b/kernel/power/quickwakeup.c
|
||||
new file mode 100644
|
||||
index 0000000..46f9dda
|
||||
--- /dev/null
|
||||
+++ b/kernel/power/quickwakeup.c
|
||||
@@ -0,0 +1,104 @@
|
||||
+/* kernel/power/quickwakeup.c
|
||||
+ *
|
||||
+ * Copyright (C) 2014 Motorola Mobility LLC.
|
||||
+ *
|
||||
+ * This software is licensed under the terms of the GNU General Public
|
||||
+ * License version 2, as published by the Free Software Foundation, and
|
||||
+ * may be copied, distributed, and modified under those terms.
|
||||
+ *
|
||||
+ * This program is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ * GNU General Public License for more details.
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+#include <linux/kernel.h>
|
||||
+#include <linux/list.h>
|
||||
+#include <linux/mutex.h>
|
||||
+#include <linux/quickwakeup.h>
|
||||
+
|
||||
+static LIST_HEAD(qw_head);
|
||||
+static DEFINE_MUTEX(list_lock);
|
||||
+
|
||||
+int quickwakeup_register(struct quickwakeup_ops *ops)
|
||||
+{
|
||||
+ mutex_lock(&list_lock);
|
||||
+ list_add(&ops->list, &qw_head);
|
||||
+ mutex_unlock(&list_lock);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+void quickwakeup_unregister(struct quickwakeup_ops *ops)
|
||||
+{
|
||||
+ mutex_lock(&list_lock);
|
||||
+ list_del(&ops->list);
|
||||
+ mutex_unlock(&list_lock);
|
||||
+}
|
||||
+
|
||||
+static int quickwakeup_check(void)
|
||||
+{
|
||||
+ int check = 0;
|
||||
+ struct quickwakeup_ops *index;
|
||||
+
|
||||
+ mutex_lock(&list_lock);
|
||||
+
|
||||
+ list_for_each_entry(index, &qw_head, list) {
|
||||
+ int ret = index->qw_check(index->data);
|
||||
+ index->execute = ret;
|
||||
+ check |= ret;
|
||||
+ pr_debug("%s: %s votes for %s\n", __func__, index->name,
|
||||
+ ret ? "execute" : "dont care");
|
||||
+ }
|
||||
+
|
||||
+ mutex_unlock(&list_lock);
|
||||
+
|
||||
+ return check;
|
||||
+}
|
||||
+
|
||||
+/* return 1 => suspend again
|
||||
+ return 0 => continue wakeup
|
||||
+ */
|
||||
+static int quickwakeup_execute(void)
|
||||
+{
|
||||
+ int suspend_again = 0;
|
||||
+ int final_vote = 1;
|
||||
+ struct quickwakeup_ops *index;
|
||||
+
|
||||
+ mutex_lock(&list_lock);
|
||||
+
|
||||
+ list_for_each_entry(index, &qw_head, list) {
|
||||
+ if (index->execute) {
|
||||
+ int ret = index->qw_execute(index->data);
|
||||
+ index->execute = 0;
|
||||
+ final_vote &= ret;
|
||||
+ suspend_again = final_vote;
|
||||
+ pr_debug("%s: %s votes for %s\n", __func__, index->name,
|
||||
+ ret ? "suspend again" : "wakeup");
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ mutex_unlock(&list_lock);
|
||||
+
|
||||
+ pr_debug("%s: %s\n", __func__,
|
||||
+ suspend_again ? "suspend again" : "wakeup");
|
||||
+
|
||||
+ return suspend_again;
|
||||
+}
|
||||
+
|
||||
+/* return 1 => suspend again
|
||||
+ return 0 => continue wakeup
|
||||
+ */
|
||||
+bool quickwakeup_suspend_again(void)
|
||||
+{
|
||||
+ int ret = 0;
|
||||
+
|
||||
+ if (quickwakeup_check())
|
||||
+ ret = quickwakeup_execute();
|
||||
+
|
||||
+ pr_debug("%s- returning %d %s\n", __func__, ret,
|
||||
+ ret ? "suspend again" : "wakeup");
|
||||
+
|
||||
+ return ret;
|
||||
+}
|
7297
Patches/OLD/bacon/Kernel-All/ch-12.1/11-revert.patch
Normal file
7297
Patches/OLD/bacon/Kernel-All/ch-12.1/11-revert.patch
Normal file
File diff suppressed because it is too large
Load diff
60
Patches/OLD/bacon/Kernel-All/ch-12.1/12.patch
Normal file
60
Patches/OLD/bacon/Kernel-All/ch-12.1/12.patch
Normal file
|
@ -0,0 +1,60 @@
|
|||
From ff6e26507b64befbf5e2bde395374aef4d2736d8 Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Tue, 26 May 2015 14:26:28 -0400
|
||||
Subject: [PATCH] Fix build failure
|
||||
|
||||
---
|
||||
kernel/time/alarmtimer.c | 23 ++++++++---------------
|
||||
1 file changed, 8 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/kernel/time/alarmtimer.c b/kernel/time/alarmtimer.c
|
||||
index f0239cc..c4f3fdd 100644
|
||||
--- a/kernel/time/alarmtimer.c
|
||||
+++ b/kernel/time/alarmtimer.c
|
||||
@@ -731,9 +731,6 @@ static int alarm_timer_create(struct k_itimer *new_timer)
|
||||
if (!alarmtimer_get_rtcdev())
|
||||
return -ENOTSUPP;
|
||||
|
||||
- if (flags & ~TIMER_ABSTIME)
|
||||
- return -EINVAL;
|
||||
-
|
||||
if (!capable(CAP_WAKE_ALARM))
|
||||
return -EPERM;
|
||||
|
||||
@@ -748,22 +745,18 @@ static int alarm_timer_create(struct k_itimer *new_timer)
|
||||
* @new_timer: k_itimer pointer
|
||||
* @cur_setting: itimerspec data to fill
|
||||
*
|
||||
- * Copies out the current itimerspec data
|
||||
+ * Copies the itimerspec data out from the k_itimer
|
||||
*/
|
||||
static void alarm_timer_get(struct k_itimer *timr,
|
||||
struct itimerspec *cur_setting)
|
||||
{
|
||||
- ktime_t relative_expiry_time =
|
||||
- alarm_expires_remaining(&(timr->it.alarm.alarmtimer));
|
||||
+ memset(cur_setting, 0, sizeof(struct itimerspec));
|
||||
|
||||
- if (ktime_to_ns(relative_expiry_time) > 0) {
|
||||
- cur_setting->it_value = ktime_to_timespec(relative_expiry_time);
|
||||
- } else {
|
||||
- cur_setting->it_value.tv_sec = 0;
|
||||
- cur_setting->it_value.tv_nsec = 0;
|
||||
- }
|
||||
-
|
||||
- cur_setting->it_interval = ktime_to_timespec(timr->it.alarm.interval);
|
||||
+ cur_setting->it_interval =
|
||||
+ ktime_to_timespec(timr->it.alarm.interval);
|
||||
+ cur_setting->it_value =
|
||||
+ ktime_to_timespec(timr->it.alarm.alarmtimer.node.expires);
|
||||
+ return;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1070,4 +1063,4 @@ static int __init alarmtimer_init(void)
|
||||
alarmtimer_rtc_interface_remove();
|
||||
return error;
|
||||
}
|
||||
-device_initcall(alarmtimer_init);
|
||||
+device_initcall(alarmtimer_init);
|
||||
\ No newline at end of file
|
22
Patches/OLD/bacon/Kernel-All/ch-12.1/13.patch
Normal file
22
Patches/OLD/bacon/Kernel-All/ch-12.1/13.patch
Normal file
|
@ -0,0 +1,22 @@
|
|||
From ac54ba51bc5bab561573b64d82f3ba2a066d5fde Mon Sep 17 00:00:00 2001
|
||||
From: YoshiShaPow <yoshipga@gmail.com>
|
||||
Date: Sat, 20 Dec 2014 12:05:19 -0800
|
||||
Subject: [PATCH] gcc5: arm: enable cortex_a15 optimization
|
||||
|
||||
---
|
||||
arch/arm/Makefile | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
|
||||
index e620786..0dd6592 100644
|
||||
--- a/arch/arm/Makefile
|
||||
+++ b/arch/arm/Makefile
|
||||
@@ -57,7 +57,7 @@ comma = ,
|
||||
# Note that GCC does not numerically define an architecture version
|
||||
# macro, but instead defines a whole series of macros which makes
|
||||
# testing for a specific architecture or later rather impossible.
|
||||
-arch-$(CONFIG_CPU_32v7) :=-D__LINUX_ARM_ARCH__=7 $(call cc-option,-march=armv7-a,-march=armv5t -Wa$(comma)-march=armv7-a)
|
||||
+arch-$(CONFIG_CPU_32v7) :=-D__LINUX_ARM_ARCH__=7 $(call cc-option,-march=armv7-a -mtune=cortex-a15 -Wa$(comma)-march=armv7-a)
|
||||
arch-$(CONFIG_CPU_32v6) :=-D__LINUX_ARM_ARCH__=6 $(call cc-option,-march=armv6,-march=armv5t -Wa$(comma)-march=armv6)
|
||||
# Only override the compiler option if ARMv6. The ARMv6K extensions are
|
||||
# always available in ARMv7
|
22
Patches/OLD/bacon/Kernel-All/ch-12.1/14.patch
Normal file
22
Patches/OLD/bacon/Kernel-All/ch-12.1/14.patch
Normal file
|
@ -0,0 +1,22 @@
|
|||
From 9e6be08fe83c1204f8076b86d1346f18f92b8e5d Mon Sep 17 00:00:00 2001
|
||||
From: franciscofranco <franciscofranco.1990@gmail.com>
|
||||
Date: Fri, 27 Feb 2015 15:59:50 +0000
|
||||
Subject: [PATCH] arm: use -mtune=cortex-a15 for Krait targets
|
||||
|
||||
Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>
|
||||
---
|
||||
arch/arm/Makefile | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
|
||||
index 0dd6592..37632ba 100644
|
||||
--- a/arch/arm/Makefile
|
||||
+++ b/arch/arm/Makefile
|
||||
@@ -102,6 +102,7 @@ tune-$(CONFIG_CPU_XSC3) :=$(call cc-option,-mtune=xscale,-mtune=strongarm110) -
|
||||
tune-$(CONFIG_CPU_FEROCEON) :=$(call cc-option,-mtune=marvell-f,-mtune=xscale)
|
||||
tune-$(CONFIG_CPU_V6) :=$(call cc-option,-mtune=arm1136j-s,-mtune=strongarm)
|
||||
tune-$(CONFIG_CPU_V6K) :=$(call cc-option,-mtune=arm1136j-s,-mtune=strongarm)
|
||||
+tune-$(CONFIG_ARCH_MSM_KRAIT) :=-mtune=cortex-a15
|
||||
|
||||
ifeq ($(CONFIG_AEABI),y)
|
||||
CFLAGS_ABI :=-mabi=aapcs-linux -mno-thumb-interwork
|
72
Patches/OLD/bacon/Kernel-All/ch-12.1/15.patch
Normal file
72
Patches/OLD/bacon/Kernel-All/ch-12.1/15.patch
Normal file
|
@ -0,0 +1,72 @@
|
|||
From 01bf91ff2abb5a7cd698513aeae3a50bc1cc32a7 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Micay <danielmicay@gmail.com>
|
||||
Date: Mon, 17 Nov 2014 05:28:09 -0500
|
||||
Subject: [PATCH] add MAC randomization
|
||||
|
||||
based on https://grsecurity.net/~spender/random_mac.diff
|
||||
---
|
||||
net/core/dev.c | 19 +++++++++++++++++++
|
||||
net/core/sysctl_net_core.c | 10 ++++++++++
|
||||
2 files changed, 29 insertions(+)
|
||||
|
||||
diff --git a/net/core/dev.c b/net/core/dev.c
|
||||
index 06ea934..a1efb0c 100644
|
||||
--- a/net/core/dev.c
|
||||
+++ b/net/core/dev.c
|
||||
@@ -178,6 +178,7 @@
|
||||
static DEFINE_SPINLOCK(ptype_lock);
|
||||
static struct list_head ptype_base[PTYPE_HASH_SIZE] __read_mostly;
|
||||
static struct list_head ptype_all __read_mostly; /* Taps */
|
||||
+int randomize_mac = 1;
|
||||
|
||||
/*
|
||||
* The @dev_base_head list is protected by @dev_base_lock and the rtnl
|
||||
@@ -4734,6 +4735,24 @@ int dev_change_flags(struct net_device *dev, unsigned int flags)
|
||||
rtmsg_ifinfo(RTM_NEWLINK, dev, changes);
|
||||
|
||||
__dev_notify_flags(dev, old_flags);
|
||||
+
|
||||
+ if (randomize_mac && (changes & IFF_UP) && !(old_flags & IFF_UP)) {
|
||||
+ /* randomize MAC whenever interface is brought up */
|
||||
+ struct sockaddr sa;
|
||||
+ unsigned int mac4;
|
||||
+ unsigned short mac2;
|
||||
+
|
||||
+ mac4 = random32();
|
||||
+ mac2 = random32();
|
||||
+ memcpy(sa.sa_data, &mac4, sizeof(mac4));
|
||||
+ memcpy((char *)sa.sa_data + sizeof(mac4), &mac2, sizeof(mac2));
|
||||
+ if (!is_valid_ether_addr(sa.sa_data))
|
||||
+ sa.sa_data[5] = 1;
|
||||
+ sa.sa_data[0] &= 0xFC;
|
||||
+ sa.sa_family = dev->type;
|
||||
+ dev_set_mac_address(dev, &sa);
|
||||
+ }
|
||||
+
|
||||
return ret;
|
||||
}
|
||||
EXPORT_SYMBOL(dev_change_flags);
|
||||
diff --git a/net/core/sysctl_net_core.c b/net/core/sysctl_net_core.c
|
||||
index 69ba338..6095cfc 100644
|
||||
--- a/net/core/sysctl_net_core.c
|
||||
+++ b/net/core/sysctl_net_core.c
|
||||
@@ -88,9 +88,19 @@ static int rps_sock_flow_sysctl(ctl_table *table, int write,
|
||||
}
|
||||
#endif /* CONFIG_RPS */
|
||||
|
||||
+extern int randomize_mac;
|
||||
+
|
||||
static struct ctl_table net_core_table[] = {
|
||||
#ifdef CONFIG_NET
|
||||
{
|
||||
+ .procname = "randomize_mac",
|
||||
+ .data = &randomize_mac,
|
||||
+ .maxlen = sizeof(int),
|
||||
+ .mode = 0644,
|
||||
+ .proc_handler = proc_dointvec
|
||||
+ },
|
||||
+
|
||||
+ {
|
||||
.procname = "wmem_max",
|
||||
.data = &sysctl_wmem_max,
|
||||
.maxlen = sizeof(int),
|
29
Patches/OLD/bacon/Kernel-All/ch-12.1/16.patch
Normal file
29
Patches/OLD/bacon/Kernel-All/ch-12.1/16.patch
Normal file
|
@ -0,0 +1,29 @@
|
|||
From 18ed733d195061e992adf5fa8ed060727aa801b9 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Micay <danielmicay@gmail.com>
|
||||
Date: Thu, 20 Nov 2014 22:02:18 -0500
|
||||
Subject: [PATCH] harden configuration
|
||||
|
||||
---
|
||||
arch/arm/configs/cyanogenmod_bacon_defconfig | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/configs/cyanogenmod_bacon_defconfig b/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
index a79f77b..35f1bb0 100644
|
||||
--- a/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
+++ b/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
@@ -3432,13 +3432,13 @@ CONFIG_ARM_UNWIND=y
|
||||
CONFIG_KEYS=y
|
||||
# CONFIG_ENCRYPTED_KEYS is not set
|
||||
# CONFIG_KEYS_DEBUG_PROC_KEYS is not set
|
||||
-# CONFIG_SECURITY_DMESG_RESTRICT is not set
|
||||
+CONFIG_SECURITY_DMESG_RESTRICT
|
||||
CONFIG_SECURITY=y
|
||||
# CONFIG_SECURITYFS is not set
|
||||
CONFIG_SECURITY_NETWORK=y
|
||||
# CONFIG_SECURITY_NETWORK_XFRM is not set
|
||||
# CONFIG_SECURITY_PATH is not set
|
||||
-CONFIG_LSM_MMAP_MIN_ADDR=4096
|
||||
+CONFIG_LSM_MMAP_MIN_ADDR=32768
|
||||
CONFIG_SECURITY_SELINUX=y
|
||||
# CONFIG_SECURITY_SELINUX_BOOTPARAM is not set
|
||||
# CONFIG_SECURITY_SELINUX_DISABLE is not set
|
42
Patches/OLD/bacon/Kernel-All/ch-12.1/17.patch
Normal file
42
Patches/OLD/bacon/Kernel-All/ch-12.1/17.patch
Normal file
|
@ -0,0 +1,42 @@
|
|||
From b1d2525ea6d24f8c6fc494e3e3c926cd96b85b8a Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Micay <danielmicay@gmail.com>
|
||||
Date: Sun, 5 Apr 2015 04:16:10 -0400
|
||||
Subject: [PATCH] enable support for IP sets
|
||||
|
||||
---
|
||||
arch/arm/configs/cyanogenmod_bacon_defconfig | 15 ++++++++++++++-
|
||||
1 file changed, 14 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm/configs/cyanogenmod_bacon_defconfig b/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
index 35f1bb0..73d4fde 100644
|
||||
--- a/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
+++ b/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
@@ -903,6 +903,7 @@ CONFIG_NETFILTER_XTABLES=y
|
||||
#
|
||||
CONFIG_NETFILTER_XT_MARK=y
|
||||
CONFIG_NETFILTER_XT_CONNMARK=y
|
||||
+CONFIG_NETFILTER_XT_SET=y
|
||||
|
||||
#
|
||||
# Xtables targets
|
||||
@@ -976,7 +977,19 @@ CONFIG_NETFILTER_XT_MATCH_STRING=y
|
||||
CONFIG_NETFILTER_XT_MATCH_TCPMSS=y
|
||||
CONFIG_NETFILTER_XT_MATCH_TIME=y
|
||||
CONFIG_NETFILTER_XT_MATCH_U32=y
|
||||
-# CONFIG_IP_SET is not set
|
||||
+CONFIG_IP_SET=y
|
||||
+CONFIG_IP_SET_MAX=256
|
||||
+CONFIG_IP_SET_BITMAP_IP=y
|
||||
+CONFIG_IP_SET_BITMAP_IPMAC=y
|
||||
+CONFIG_IP_SET_BITMAP_PORT=y
|
||||
+CONFIG_IP_SET_HASH_IP=y
|
||||
+CONFIG_IP_SET_HASH_IPPORT=y
|
||||
+CONFIG_IP_SET_HASH_IPPORTIP=y
|
||||
+CONFIG_IP_SET_HASH_IPPORTNET=y
|
||||
+CONFIG_IP_SET_HASH_NET=y
|
||||
+CONFIG_IP_SET_HASH_NETPORT=y
|
||||
+CONFIG_IP_SET_HASH_NETIFACE=y
|
||||
+CONFIG_IP_SET_LIST_SET=y
|
||||
# CONFIG_IP_VS is not set
|
||||
|
||||
#
|
22
Patches/OLD/bacon/Kernel-All/ch-12.1/18.patch
Normal file
22
Patches/OLD/bacon/Kernel-All/ch-12.1/18.patch
Normal file
|
@ -0,0 +1,22 @@
|
|||
From babecc6b0712e6ea64b5e1737433419431f2387c Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Micay <danielmicay@gmail.com>
|
||||
Date: Sun, 12 Apr 2015 19:26:44 -0400
|
||||
Subject: [PATCH] enable rpfilter support in netfilter
|
||||
|
||||
---
|
||||
arch/arm/configs/cyanogenmod_bacon_defconfig | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm/configs/cyanogenmod_bacon_defconfig b/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
index 73d4fde..4b715c4 100644
|
||||
--- a/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
+++ b/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
@@ -1002,7 +1002,7 @@ CONFIG_NF_CONNTRACK_PROC_COMPAT=y
|
||||
CONFIG_IP_NF_IPTABLES=y
|
||||
CONFIG_IP_NF_MATCH_AH=y
|
||||
CONFIG_IP_NF_MATCH_ECN=y
|
||||
-# CONFIG_IP_NF_MATCH_RPFILTER is not set
|
||||
+CONFIG_IP_NF_MATCH_RPFILTER=y
|
||||
CONFIG_IP_NF_MATCH_TTL=y
|
||||
CONFIG_IP_NF_FILTER=y
|
||||
CONFIG_IP_NF_TARGET_REJECT=y
|
22
Patches/OLD/bacon/Kernel-All/ch-12.1/19.patch
Normal file
22
Patches/OLD/bacon/Kernel-All/ch-12.1/19.patch
Normal file
|
@ -0,0 +1,22 @@
|
|||
From 175a88201b69bf802d0379075c13e1d457d5b92b Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Micay <danielmicay@gmail.com>
|
||||
Date: Fri, 17 Apr 2015 23:10:00 -0400
|
||||
Subject: [PATCH] switch LOCALVERSION from cyanogenmod -> copperhead
|
||||
|
||||
---
|
||||
arch/arm/configs/cyanogenmod_bacon_defconfig | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm/configs/cyanogenmod_bacon_defconfig b/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
index 4b715c4..35bd0f0 100644
|
||||
--- a/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
+++ b/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
@@ -42,7 +42,7 @@ CONFIG_IRQ_WORK=y
|
||||
CONFIG_EXPERIMENTAL=y
|
||||
CONFIG_INIT_ENV_ARG_LIMIT=32
|
||||
CONFIG_CROSS_COMPILE=""
|
||||
-CONFIG_LOCALVERSION="-cyanogenmod"
|
||||
+CONFIG_LOCALVERSION="-copperhead"
|
||||
CONFIG_LOCALVERSION_AUTO=y
|
||||
CONFIG_HAVE_KERNEL_GZIP=y
|
||||
CONFIG_HAVE_KERNEL_LZMA=y
|
6254
Patches/OLD/bacon/Kernel-All/ch-12.1/2.patch
Normal file
6254
Patches/OLD/bacon/Kernel-All/ch-12.1/2.patch
Normal file
File diff suppressed because it is too large
Load diff
66917
Patches/OLD/bacon/Kernel-All/ch-12.1/20.patch
Normal file
66917
Patches/OLD/bacon/Kernel-All/ch-12.1/20.patch
Normal file
File diff suppressed because it is too large
Load diff
3698
Patches/OLD/bacon/Kernel-All/ch-12.1/21.patch
Normal file
3698
Patches/OLD/bacon/Kernel-All/ch-12.1/21.patch
Normal file
File diff suppressed because it is too large
Load diff
1067
Patches/OLD/bacon/Kernel-All/ch-12.1/22.patch
Normal file
1067
Patches/OLD/bacon/Kernel-All/ch-12.1/22.patch
Normal file
File diff suppressed because it is too large
Load diff
44
Patches/OLD/bacon/Kernel-All/ch-12.1/23.patch
Normal file
44
Patches/OLD/bacon/Kernel-All/ch-12.1/23.patch
Normal file
|
@ -0,0 +1,44 @@
|
|||
From 2d79c0f689eb823053b8eb50337d80f0aad70793 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Micay <danielmicay@gmail.com>
|
||||
Date: Thu, 23 Jul 2015 02:36:09 -0400
|
||||
Subject: [PATCH] fix PaX const issue with the msm camera driver
|
||||
|
||||
---
|
||||
drivers/media/platform/msm/camera_v2/pproc/cpp/msm_cpp.c | 3 ++-
|
||||
include/media/v4l2-dev.h | 2 +-
|
||||
2 files changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/media/platform/msm/camera_v2/pproc/cpp/msm_cpp.c b/drivers/media/platform/msm/camera_v2/pproc/cpp/msm_cpp.c
|
||||
index 93b8665..b8c432d 100755
|
||||
--- a/drivers/media/platform/msm/camera_v2/pproc/cpp/msm_cpp.c
|
||||
+++ b/drivers/media/platform/msm/camera_v2/pproc/cpp/msm_cpp.c
|
||||
@@ -32,6 +32,7 @@
|
||||
#include <mach/iommu.h>
|
||||
#include <mach/vreg.h>
|
||||
#include <media/msm_isp.h>
|
||||
+#include <media/v4l2-dev.h>
|
||||
#include <media/v4l2-event.h>
|
||||
#include <media/v4l2-ioctl.h>
|
||||
#include <media/msmb_camera.h>
|
||||
@@ -1884,7 +1885,7 @@ static const struct v4l2_subdev_ops msm_cpp_subdev_ops = {
|
||||
.core = &msm_cpp_subdev_core_ops,
|
||||
};
|
||||
|
||||
-static struct v4l2_file_operations msm_cpp_v4l2_subdev_fops;
|
||||
+static v4l2_file_operations_no_const msm_cpp_v4l2_subdev_fops;
|
||||
|
||||
static long msm_cpp_subdev_do_ioctl(
|
||||
struct file *file, unsigned int cmd, void *arg)
|
||||
diff --git a/include/media/v4l2-dev.h b/include/media/v4l2-dev.h
|
||||
index 2292f89..1af15f4 100644
|
||||
--- a/include/media/v4l2-dev.h
|
||||
+++ b/include/media/v4l2-dev.h
|
||||
@@ -56,7 +56,7 @@ int v4l2_prio_check(struct v4l2_prio_state *global, enum v4l2_priority local);
|
||||
|
||||
|
||||
struct v4l2_file_operations {
|
||||
- struct module * const owner;
|
||||
+ struct module *owner;
|
||||
ssize_t (*read) (struct file *, char __user *, size_t, loff_t *);
|
||||
ssize_t (*write) (struct file *, const char __user *, size_t, loff_t *);
|
||||
unsigned int (*poll) (struct file *, struct poll_table_struct *);
|
22
Patches/OLD/bacon/Kernel-All/ch-12.1/24.patch
Normal file
22
Patches/OLD/bacon/Kernel-All/ch-12.1/24.patch
Normal file
|
@ -0,0 +1,22 @@
|
|||
From 7c6c27ed01f94b9daf7e73414d9f1b58e07bab21 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Micay <danielmicay@gmail.com>
|
||||
Date: Tue, 12 May 2015 20:03:43 -0400
|
||||
Subject: [PATCH] fix PaX ACCESS_ONCE issue caused by TSYNC backport
|
||||
|
||||
---
|
||||
kernel/seccomp.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/kernel/seccomp.c b/kernel/seccomp.c
|
||||
index 829a2ca..96b22b5 100644
|
||||
--- a/kernel/seccomp.c
|
||||
+++ b/kernel/seccomp.c
|
||||
@@ -336,7 +336,7 @@ static inline void seccomp_sync_threads(void)
|
||||
*/
|
||||
put_seccomp_filter(thread);
|
||||
smp_mb();
|
||||
- ACCESS_ONCE(thread->seccomp.filter) = caller->seccomp.filter;
|
||||
+ ACCESS_ONCE_RW(thread->seccomp.filter) = caller->seccomp.filter;
|
||||
/*
|
||||
* Opt the other thread into seccomp if needed.
|
||||
* As threads are considered to be trust-realm
|
36
Patches/OLD/bacon/Kernel-All/ch-12.1/25.patch
Normal file
36
Patches/OLD/bacon/Kernel-All/ch-12.1/25.patch
Normal file
|
@ -0,0 +1,36 @@
|
|||
From b75f892f057aaee43bd147c5c62f2515d893b5e7 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Micay <danielmicay@gmail.com>
|
||||
Date: Thu, 23 Jul 2015 02:07:35 -0400
|
||||
Subject: [PATCH] fix -Werror issues caused by unsigned cache size
|
||||
|
||||
---
|
||||
mm/shmem.c | 2 +-
|
||||
mm/slub.c | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/mm/shmem.c b/mm/shmem.c
|
||||
index 8e92d3b..5614f74 100644
|
||||
--- a/mm/shmem.c
|
||||
+++ b/mm/shmem.c
|
||||
@@ -2367,7 +2367,7 @@ int shmem_fill_super(struct super_block *sb, void *data, int silent)
|
||||
int err = -ENOMEM;
|
||||
|
||||
/* Round up to L1_CACHE_BYTES to resist false sharing */
|
||||
- sbinfo = kzalloc(max(sizeof(struct shmem_sb_info), L1_CACHE_BYTES), GFP_KERNEL);
|
||||
+ sbinfo = kzalloc(max(sizeof(struct shmem_sb_info), (size_t)L1_CACHE_BYTES), GFP_KERNEL);
|
||||
if (!sbinfo)
|
||||
return -ENOMEM;
|
||||
|
||||
diff --git a/mm/slub.c b/mm/slub.c
|
||||
index 5657a81..bd49009 100644
|
||||
--- a/mm/slub.c
|
||||
+++ b/mm/slub.c
|
||||
@@ -3931,7 +3931,7 @@ void __init kmem_cache_init(void)
|
||||
#endif
|
||||
|
||||
printk(KERN_INFO
|
||||
- "SLUB: Genslabs=%d, HWalign=%d, Order=%d-%d, MinObjects=%d,"
|
||||
+ "SLUB: Genslabs=%d, HWalign=%lu, Order=%d-%d, MinObjects=%d,"
|
||||
" CPUs=%d, Nodes=%d\n",
|
||||
caches, cache_line_size(),
|
||||
slub_min_order, slub_max_order, slub_min_objects,
|
24
Patches/OLD/bacon/Kernel-All/ch-12.1/26.patch
Normal file
24
Patches/OLD/bacon/Kernel-All/ch-12.1/26.patch
Normal file
|
@ -0,0 +1,24 @@
|
|||
From c6f91d613a8fe5bf02967c2d8445aa4fb2a55c86 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Micay <danielmicay@gmail.com>
|
||||
Date: Tue, 12 May 2015 20:13:49 -0400
|
||||
Subject: [PATCH] disable errors on section mismatches with PaX
|
||||
|
||||
This is used by PaX to determine how many writeable function pointers
|
||||
exist in the compiled code.
|
||||
---
|
||||
scripts/mod/modpost.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
|
||||
index cc11c0e..a6bb927 100644
|
||||
--- a/scripts/mod/modpost.c
|
||||
+++ b/scripts/mod/modpost.c
|
||||
@@ -2173,7 +2173,7 @@ int main(int argc, char **argv)
|
||||
warn_unresolved = 1;
|
||||
break;
|
||||
case 'E':
|
||||
- section_error_on_mismatch = 1;
|
||||
+ /* ignored due to PaX */
|
||||
break;
|
||||
default:
|
||||
exit(1);
|
46
Patches/OLD/bacon/Kernel-All/ch-12.1/27.patch
Normal file
46
Patches/OLD/bacon/Kernel-All/ch-12.1/27.patch
Normal file
|
@ -0,0 +1,46 @@
|
|||
From 29fccb041a751054275e8d0b2035066ffd842722 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Micay <danielmicay@gmail.com>
|
||||
Date: Wed, 22 Jul 2015 21:08:21 -0400
|
||||
Subject: [PATCH] adapt mach-msm assembly to PaX
|
||||
|
||||
---
|
||||
arch/arm/mach-msm/memutils/copy_from_user.S | 4 ++--
|
||||
arch/arm/mach-msm/memutils/copy_to_user.S | 4 ++--
|
||||
2 files changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/mach-msm/memutils/copy_from_user.S b/arch/arm/mach-msm/memutils/copy_from_user.S
|
||||
index b6ea5b4..c17e97c 100644
|
||||
--- a/arch/arm/mach-msm/memutils/copy_from_user.S
|
||||
+++ b/arch/arm/mach-msm/memutils/copy_from_user.S
|
||||
@@ -103,11 +103,11 @@
|
||||
|
||||
.text
|
||||
|
||||
-ENTRY(__copy_from_user)
|
||||
+ENTRY(___copy_from_user)
|
||||
|
||||
#include "copy_template.S"
|
||||
|
||||
-ENDPROC(__copy_from_user)
|
||||
+ENDPROC(___copy_from_user)
|
||||
|
||||
.pushsection .fixup,"ax"
|
||||
.align 0
|
||||
diff --git a/arch/arm/mach-msm/memutils/copy_to_user.S b/arch/arm/mach-msm/memutils/copy_to_user.S
|
||||
index ca54c28..3570918 100644
|
||||
--- a/arch/arm/mach-msm/memutils/copy_to_user.S
|
||||
+++ b/arch/arm/mach-msm/memutils/copy_to_user.S
|
||||
@@ -107,11 +107,11 @@
|
||||
.text
|
||||
|
||||
ENTRY(__copy_to_user_std)
|
||||
-WEAK(__copy_to_user)
|
||||
+WEAK(___copy_to_user)
|
||||
|
||||
#include "copy_template.S"
|
||||
|
||||
-ENDPROC(__copy_to_user)
|
||||
+ENDPROC(___copy_to_user)
|
||||
ENDPROC(__copy_to_user_std)
|
||||
|
||||
.pushsection .fixup,"ax"
|
62
Patches/OLD/bacon/Kernel-All/ch-12.1/28.patch
Normal file
62
Patches/OLD/bacon/Kernel-All/ch-12.1/28.patch
Normal file
|
@ -0,0 +1,62 @@
|
|||
From 255e9ab26b965fe004a0081e95f8d2a5550c5663 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Micay <danielmicay@gmail.com>
|
||||
Date: Wed, 22 Jul 2015 18:51:11 -0400
|
||||
Subject: [PATCH] enable PaX features
|
||||
|
||||
---
|
||||
arch/arm/configs/cyanogenmod_bacon_defconfig | 42 ++++++++++++++++++++++++++++
|
||||
1 file changed, 42 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/configs/cyanogenmod_bacon_defconfig b/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
index 35bd0f0..73ca036 100644
|
||||
--- a/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
+++ b/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
@@ -3442,6 +3442,48 @@ CONFIG_ARM_UNWIND=y
|
||||
#
|
||||
# Security options
|
||||
#
|
||||
+
|
||||
+#
|
||||
+# PaX
|
||||
+#
|
||||
+CONFIG_PAX_USERCOPY_SLABS=y
|
||||
+CONFIG_PAX=y
|
||||
+
|
||||
+#
|
||||
+# PaX Control
|
||||
+#
|
||||
+CONFIG_PAX_SOFTMODE=y
|
||||
+# CONFIG_PAX_EI_PAX is not set
|
||||
+# CONFIG_PAX_PT_PAX_FLAGS is not set
|
||||
+CONFIG_PAX_XATTR_PAX_FLAGS=y
|
||||
+CONFIG_PAX_NO_ACL_FLAGS=y
|
||||
+# CONFIG_PAX_HAVE_ACL_FLAGS is not set
|
||||
+# CONFIG_PAX_HOOK_ACL_FLAGS is not set
|
||||
+
|
||||
+#
|
||||
+# Non-executable pages
|
||||
+#
|
||||
+CONFIG_PAX_NOEXEC=y
|
||||
+CONFIG_PAX_PAGEEXEC=y
|
||||
+CONFIG_PAX_MPROTECT=y
|
||||
+# CONFIG_PAX_ELFRELOCS is not set
|
||||
+CONFIG_PAX_KERNEXEC_PLUGIN_METHOD=""
|
||||
+
|
||||
+#
|
||||
+# Address Space Layout Randomization
|
||||
+#
|
||||
+CONFIG_PAX_ASLR=y
|
||||
+CONFIG_PAX_RANDUSTACK=y
|
||||
+CONFIG_PAX_RANDMMAP=y
|
||||
+
|
||||
+#
|
||||
+# Miscellaneous hardening features
|
||||
+#
|
||||
+CONFIG_PAX_MEMORY_SANITIZE=y
|
||||
+CONFIG_PAX_REFCOUNT=y
|
||||
+CONFIG_PAX_USERCOPY=y
|
||||
+# CONFIG_PAX_CONSTIFY_PLUGIN is not set
|
||||
+# CONFIG_PAX_LATENT_ENTROPY is not set
|
||||
CONFIG_KEYS=y
|
||||
# CONFIG_ENCRYPTED_KEYS is not set
|
||||
# CONFIG_KEYS_DEBUG_PROC_KEYS is not set
|
97
Patches/OLD/bacon/Kernel-All/ch-12.1/29.patch
Normal file
97
Patches/OLD/bacon/Kernel-All/ch-12.1/29.patch
Normal file
|
@ -0,0 +1,97 @@
|
|||
From 50bac308305b53747b4830b27c69883aa16cc338 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Micay <danielmicay@gmail.com>
|
||||
Date: Fri, 22 May 2015 18:17:24 -0400
|
||||
Subject: [PATCH] implement PaX exception AIDs
|
||||
|
||||
---
|
||||
fs/binfmt_elf.c | 34 ++++++++++++++++++++++++++++++++++
|
||||
include/linux/android_aid.h | 4 ++++
|
||||
include/linux/xattr.h | 2 ++
|
||||
3 files changed, 40 insertions(+)
|
||||
|
||||
diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c
|
||||
index 3e624bc..d86a774 100644
|
||||
--- a/fs/binfmt_elf.c
|
||||
+++ b/fs/binfmt_elf.c
|
||||
@@ -9,6 +9,7 @@
|
||||
* Copyright 1993, 1994: Eric Youngdale (ericy@cais.com).
|
||||
*/
|
||||
|
||||
+#include <linux/android_aid.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/fs.h>
|
||||
@@ -879,6 +880,37 @@ static long pax_parse_pax_flags(const struct elfhdr * const elf_ex, const struct
|
||||
}
|
||||
#endif
|
||||
|
||||
+static bool pax_has_aids_xattr(struct dentry *dentry)
|
||||
+{
|
||||
+ struct inode *inode = dentry->d_inode;
|
||||
+
|
||||
+ if (inode_permission(inode, MAY_EXEC))
|
||||
+ return false;
|
||||
+
|
||||
+ if (inode->i_op->getxattr)
|
||||
+ return inode->i_op->getxattr(dentry, XATTR_NAME_PAX_AIDS, NULL, 0) >= 0;
|
||||
+
|
||||
+ return false;
|
||||
+}
|
||||
+
|
||||
+static void pax_handle_aids(struct file * const file)
|
||||
+{
|
||||
+ if (!pax_has_aids_xattr(file->f_path.dentry))
|
||||
+ return;
|
||||
+#ifdef CONFIG_PAX_PAGEEXEC
|
||||
+ if (in_group_p(AID_PAX_NO_PAGEEXEC))
|
||||
+ current->mm->pax_flags &= ~MF_PAX_PAGEEXEC;
|
||||
+#endif
|
||||
+#ifdef CONFIG_PAX_MPROTECT
|
||||
+ if (in_group_p(AID_PAX_NO_MPROTECT))
|
||||
+ current->mm->pax_flags &= ~MF_PAX_MPROTECT;
|
||||
+#endif
|
||||
+#if defined(CONFIG_PAX_RANDMMAP) || defined(CONFIG_PAX_RANDUSTACK)
|
||||
+ if (in_group_p(AID_PAX_NO_RANDMMAP))
|
||||
+ current->mm->pax_flags &= ~MF_PAX_RANDMMAP;
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
/*
|
||||
* These are the functions used to load ELF style executables and shared
|
||||
* libraries. There is no binary dependent code anywhere else.
|
||||
@@ -1095,6 +1127,8 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs)
|
||||
}
|
||||
#endif
|
||||
|
||||
+ pax_handle_aids(bprm->file);
|
||||
+
|
||||
#ifdef CONFIG_PAX_HAVE_ACL_FLAGS
|
||||
pax_set_initial_flags(bprm);
|
||||
#elif defined(CONFIG_PAX_HOOK_ACL_FLAGS)
|
||||
diff --git a/include/linux/android_aid.h b/include/linux/android_aid.h
|
||||
index 0f904b3..fa4e4db 100644
|
||||
--- a/include/linux/android_aid.h
|
||||
+++ b/include/linux/android_aid.h
|
||||
@@ -25,4 +25,8 @@
|
||||
#define AID_NET_BW_STATS 3006 /* read bandwidth statistics */
|
||||
#define AID_NET_BW_ACCT 3007 /* change bandwidth statistics accounting */
|
||||
|
||||
+#define AID_PAX_NO_PAGEEXEC 3013 /* disable PaX's PAGEEXEC feature */
|
||||
+#define AID_PAX_NO_MPROTECT 3014 /* disable PaX's MPROTECT feature */
|
||||
+#define AID_PAX_NO_RANDMMAP 3015 /* disable PaX's RANDMMAP feature */
|
||||
+
|
||||
#endif
|
||||
diff --git a/include/linux/xattr.h b/include/linux/xattr.h
|
||||
index cf5f26c..9501bb8 100644
|
||||
--- a/include/linux/xattr.h
|
||||
+++ b/include/linux/xattr.h
|
||||
@@ -60,7 +60,9 @@
|
||||
/* User namespace */
|
||||
#define XATTR_PAX_PREFIX XATTR_USER_PREFIX "pax."
|
||||
#define XATTR_PAX_FLAGS_SUFFIX "flags"
|
||||
+#define XATTR_PAX_AIDS_SUFFIX "aids"
|
||||
#define XATTR_NAME_PAX_FLAGS XATTR_PAX_PREFIX XATTR_PAX_FLAGS_SUFFIX
|
||||
+#define XATTR_NAME_PAX_AIDS XATTR_PAX_PREFIX XATTR_PAX_AIDS_SUFFIX
|
||||
|
||||
#ifdef __KERNEL__
|
||||
|
6948
Patches/OLD/bacon/Kernel-All/ch-12.1/3.patch
Normal file
6948
Patches/OLD/bacon/Kernel-All/ch-12.1/3.patch
Normal file
File diff suppressed because it is too large
Load diff
36
Patches/OLD/bacon/Kernel-All/ch-12.1/30.patch
Normal file
36
Patches/OLD/bacon/Kernel-All/ch-12.1/30.patch
Normal file
|
@ -0,0 +1,36 @@
|
|||
From 1199ff4cab87fe53ebdfbf9d886d879de683bfac Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Thu, 19 Nov 2015 07:55:42 -0500
|
||||
Subject: [PATCH] Build fixes
|
||||
|
||||
---
|
||||
include/net/inetpeer.h | 2 +-
|
||||
kernel/power/wakeup_reason.c | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/include/net/inetpeer.h b/include/net/inetpeer.h
|
||||
index e617e3e..1569625 100644
|
||||
--- a/include/net/inetpeer.h
|
||||
+++ b/include/net/inetpeer.h
|
||||
@@ -116,7 +116,7 @@ static inline int inet_getid(struct inet_peer *p, int more)
|
||||
{
|
||||
more++;
|
||||
inet_peer_refcheck(p);
|
||||
- return atomic_add_return(more, &p->ip_id_count) - more;
|
||||
+ return atomic_add_return_unchecked(more, &p->ip_id_count) - more;
|
||||
}
|
||||
|
||||
#endif /* _NET_INETPEER_H */
|
||||
diff --git a/kernel/power/wakeup_reason.c b/kernel/power/wakeup_reason.c
|
||||
index fab0889..a086ccc 100644
|
||||
--- a/kernel/power/wakeup_reason.c
|
||||
+++ b/kernel/power/wakeup_reason.c
|
||||
@@ -309,7 +309,7 @@ static struct attribute_group attr_group = {
|
||||
|
||||
static inline void stop_logging_wakeup_reasons(void)
|
||||
{
|
||||
- ACCESS_ONCE(log_wakeups) = false;
|
||||
+ ACCESS_ONCE_RW(log_wakeups) = false;
|
||||
smp_wmb();
|
||||
}
|
||||
|
55
Patches/OLD/bacon/Kernel-All/ch-12.1/31.patch
Normal file
55
Patches/OLD/bacon/Kernel-All/ch-12.1/31.patch
Normal file
|
@ -0,0 +1,55 @@
|
|||
From 7f3bc85d7d81c979fc0dd6127b9b5c2f4037d157 Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Thu, 19 Nov 2015 08:31:10 -0500
|
||||
Subject: [PATCH] Build fixes
|
||||
|
||||
---
|
||||
arch/arm/include/asm/elf.h | 7 +++++++
|
||||
drivers/base/power/wakeup.c | 2 +-
|
||||
drivers/staging/prima/CORE/WDI/TRP/DTS/src/wlan_qct_wdi_dts.c | 2 +-
|
||||
3 files changed, 9 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/include/asm/elf.h b/arch/arm/include/asm/elf.h
|
||||
index 5c9b3a1..1d9ca7e 100644
|
||||
--- a/arch/arm/include/asm/elf.h
|
||||
+++ b/arch/arm/include/asm/elf.h
|
||||
@@ -118,6 +118,13 @@ int dump_task_regs(struct task_struct *t, elf_gregset_t *elfregs);
|
||||
|
||||
#define ELF_ET_DYN_BASE (TASK_SIZE / 3 * 2)
|
||||
|
||||
+#ifdef CONFIG_PAX_ASLR
|
||||
+#define PAX_ELF_ET_DYN_BASE 0x00008000UL
|
||||
+
|
||||
+#define PAX_DELTA_MMAP_LEN ((current->personality == PER_LINUX_32BIT) ? 16 : 10)
|
||||
+#define PAX_DELTA_STACK_LEN ((current->personality == PER_LINUX_32BIT) ? 16 : 10)
|
||||
+#endif
|
||||
+
|
||||
/* When the program starts, a1 contains a pointer to a function to be
|
||||
registered with atexit, as per the SVR4 ABI. A value of 0 means we
|
||||
have no such handler. */
|
||||
diff --git a/drivers/base/power/wakeup.c b/drivers/base/power/wakeup.c
|
||||
index cdfcdbc..4d3eaa7 100644
|
||||
--- a/drivers/base/power/wakeup.c
|
||||
+++ b/drivers/base/power/wakeup.c
|
||||
@@ -390,7 +390,7 @@ static void wakeup_source_activate(struct wakeup_source *ws)
|
||||
ws->start_prevent_time = ws->last_time;
|
||||
|
||||
/* Increment the counter of events in progress. */
|
||||
- cec = atomic_inc_return(&combined_event_count);
|
||||
+ cec = atomic_inc_return_unchecked(&combined_event_count);
|
||||
|
||||
trace_wakeup_source_activate(ws->name, cec);
|
||||
}
|
||||
diff --git a/drivers/staging/prima/CORE/WDI/TRP/DTS/src/wlan_qct_wdi_dts.c b/drivers/staging/prima/CORE/WDI/TRP/DTS/src/wlan_qct_wdi_dts.c
|
||||
index 27953ac..8ff0ad3 100644
|
||||
--- a/drivers/staging/prima/CORE/WDI/TRP/DTS/src/wlan_qct_wdi_dts.c
|
||||
+++ b/drivers/staging/prima/CORE/WDI/TRP/DTS/src/wlan_qct_wdi_dts.c
|
||||
@@ -611,7 +611,7 @@ wpt_status WDTS_RxPacket (void *pContext, wpt_packet *pFrame, WDTS_ChannelType c
|
||||
|
||||
if(VPKT_SIZE_BUFFER_ALIGNED < (usMPDULen+ucMPDUHOffset)){
|
||||
WPAL_TRACE(eWLAN_MODULE_DAL_DATA, eWLAN_PAL_TRACE_LEVEL_FATAL,
|
||||
- "Invalid Frame size, might memory corrupted(%d+%d/%d)",
|
||||
+ "Invalid Frame size, might memory corrupted(%d+%d/%lu)",
|
||||
usMPDULen, ucMPDUHOffset, VPKT_SIZE_BUFFER_ALIGNED);
|
||||
|
||||
/* Size of the packet tranferred by the DMA engine is
|
22
Patches/OLD/bacon/Kernel-All/ch-12.1/32.patch
Normal file
22
Patches/OLD/bacon/Kernel-All/ch-12.1/32.patch
Normal file
|
@ -0,0 +1,22 @@
|
|||
From d9e72da7be825a68f9f3f718944b5b76825dff39 Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Thu, 19 Nov 2015 13:22:59 -0500
|
||||
Subject: [PATCH] Disable PAX_REFCOUNT for now
|
||||
|
||||
---
|
||||
arch/arm/configs/cyanogenmod_bacon_defconfig | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm/configs/cyanogenmod_bacon_defconfig b/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
index 7fc8f2a..a38a7ab 100644
|
||||
--- a/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
+++ b/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
@@ -3480,7 +3480,7 @@ CONFIG_PAX_RANDMMAP=y
|
||||
# Miscellaneous hardening features
|
||||
#
|
||||
CONFIG_PAX_MEMORY_SANITIZE=y
|
||||
-CONFIG_PAX_REFCOUNT=y
|
||||
+CONFIG_PAX_REFCOUNT=n
|
||||
CONFIG_PAX_USERCOPY=y
|
||||
# CONFIG_PAX_CONSTIFY_PLUGIN is not set
|
||||
# CONFIG_PAX_LATENT_ENTROPY is not set
|
5502
Patches/OLD/bacon/Kernel-All/ch-12.1/4.patch
Normal file
5502
Patches/OLD/bacon/Kernel-All/ch-12.1/4.patch
Normal file
File diff suppressed because it is too large
Load diff
5075
Patches/OLD/bacon/Kernel-All/ch-12.1/5.patch
Normal file
5075
Patches/OLD/bacon/Kernel-All/ch-12.1/5.patch
Normal file
File diff suppressed because it is too large
Load diff
2313
Patches/OLD/bacon/Kernel-All/ch-12.1/6.patch
Normal file
2313
Patches/OLD/bacon/Kernel-All/ch-12.1/6.patch
Normal file
File diff suppressed because it is too large
Load diff
577
Patches/OLD/bacon/Kernel-All/ch-12.1/7.patch
Normal file
577
Patches/OLD/bacon/Kernel-All/ch-12.1/7.patch
Normal file
|
@ -0,0 +1,577 @@
|
|||
From 008b08d5d58744d8c1532dc9e48d54e1d34ae6a6 Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Sat, 17 Oct 2015 20:49:21 -0400
|
||||
Subject: [PATCH] Implement KEXEC
|
||||
|
||||
---
|
||||
arch/arm/Kconfig | 26 ++++++++++
|
||||
arch/arm/boot/compressed/head.S | 64 ++++++++++++++++++++++++
|
||||
arch/arm/configs/cyanogenmod_bacon_defconfig | 6 ++-
|
||||
arch/arm/include/asm/kexec.h | 8 +++
|
||||
arch/arm/kernel/machine_kexec.c | 58 +++++++++++++++++++--
|
||||
arch/arm/kernel/relocate_kernel.S | 75 ++++++++++++++++++++++++++++
|
||||
arch/arm/mach-msm/include/mach/memory.h | 16 ++++++
|
||||
arch/arm/mach-msm/oppo/board-8974-oppo.c | 27 ++++++++++
|
||||
arch/arm/mach-msm/restart.c | 28 +++++++++++
|
||||
include/linux/kexec.h | 19 +++++--
|
||||
kernel/kexec.c | 4 ++
|
||||
11 files changed, 322 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
|
||||
index 37d3c6d..f801a19 100644
|
||||
--- a/arch/arm/Kconfig
|
||||
+++ b/arch/arm/Kconfig
|
||||
@@ -2299,6 +2299,32 @@ config ATAGS_PROC
|
||||
Should the atags used to boot the kernel be exported in an "atags"
|
||||
file in procfs. Useful with kexec.
|
||||
|
||||
+config KEXEC_HARDBOOT
|
||||
+ bool "Support hard booting to a kexec kernel"
|
||||
+ depends on KEXEC
|
||||
+ help
|
||||
+ Allows hard booting (i.e., with a full hardware reboot) to a kernel
|
||||
+ previously loaded in memory by kexec. This works around the problem of
|
||||
+ soft-booted kernel hangs due to improper device shutdown and/or
|
||||
+ reinitialization. Support is comprised of two components:
|
||||
+
|
||||
+ First, a "hardboot" flag is added to the kexec syscall to force a hard
|
||||
+ reboot in relocate_new_kernel() (which requires machine-specific assembly
|
||||
+ code). This also requires the kexec userspace tool to load the kexec'd
|
||||
+ kernel in memory region left untouched by the bootloader (i.e., not
|
||||
+ explicitly cleared and not overwritten by the boot kernel). Just prior
|
||||
+ to reboot, the kexec kernel arguments are stashed in a machine-specific
|
||||
+ memory page that must also be preserved. Note that this hardboot page
|
||||
+ need not be reserved during regular kernel execution.
|
||||
+
|
||||
+ Second, the zImage decompresor of the boot (bootloader-loaded) kernel is
|
||||
+ modified to check the hardboot page for fresh kexec arguments, and if
|
||||
+ present, attempts to jump to the kexec'd kernel preserved in memory.
|
||||
+
|
||||
+ Note that hardboot support is only required in the boot kernel and any
|
||||
+ kernel capable of performing a hardboot kexec. It is _not_ required by a
|
||||
+ kexec'd kernel.
|
||||
+
|
||||
config CRASH_DUMP
|
||||
bool "Build kdump crash kernel (EXPERIMENTAL)"
|
||||
depends on EXPERIMENTAL
|
||||
diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S
|
||||
index d3892ef..be05aa1 100644
|
||||
--- a/arch/arm/boot/compressed/head.S
|
||||
+++ b/arch/arm/boot/compressed/head.S
|
||||
@@ -11,6 +11,12 @@
|
||||
#include <linux/linkage.h>
|
||||
|
||||
.arch armv7-a
|
||||
+
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ #include <asm/kexec.h>
|
||||
+ #include <asm/memory.h>
|
||||
+#endif
|
||||
+
|
||||
/*
|
||||
* Debugging stuff
|
||||
*
|
||||
@@ -136,6 +142,64 @@ start:
|
||||
1: mov r7, r1 @ save architecture ID
|
||||
mov r8, r2 @ save atags pointer
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ /* Check hardboot page for a kexec kernel. */
|
||||
+ ldr r3, =KEXEC_HB_PAGE_ADDR
|
||||
+ ldr r0, [r3]
|
||||
+ ldr r1, =KEXEC_HB_PAGE_MAGIC
|
||||
+ teq r0, r1
|
||||
+ bne not_booting_other
|
||||
+
|
||||
+ /* Clear hardboot page magic to avoid boot loop. */
|
||||
+ mov r0, #0
|
||||
+ str r0, [r3]
|
||||
+
|
||||
+ /*
|
||||
+ * Copy dtb from location up high in memory to default location.
|
||||
+ * Kernel freezes if this is not done.
|
||||
+ */
|
||||
+ ldr r1, [r3, #12] @ kexec_boot_atags
|
||||
+ ldr r2, [r3, #16] @ kexec_boot_atags_len
|
||||
+ mov r5, #0 @ iterator
|
||||
+catags_cpy:
|
||||
+ ldr r0, [r1, r5] @ from kexec_boot_atags
|
||||
+ str r0, [r8, r5] @ to atags_pointer
|
||||
+ add r5, r5, #4
|
||||
+ cmp r5, r2
|
||||
+ blo catags_cpy
|
||||
+
|
||||
+#ifdef KEXEC_HB_KERNEL_LOC
|
||||
+ /*
|
||||
+ * Copy kernel from location up high in memory to location in first 128MB.
|
||||
+ * Bootloader on hammerhead erases first 128MB of ram on reboot, so it can't
|
||||
+ * be in there before reboot, but decompressing in location above 128MB takes
|
||||
+ * a long time. This memcpy is much quicker, for some reason.
|
||||
+ */
|
||||
+ ldr r2, [r3, #4] @ kexec_start_address
|
||||
+ ldr r4, [r3, #20] @ kexec_kernel_len
|
||||
+ ldr r6, =KEXEC_HB_KERNEL_LOC @ target
|
||||
+ mov r5, #0 @ iterator
|
||||
+kernel_cpy:
|
||||
+ ldr r0, [r2, r5] @ from kexec_start_address
|
||||
+ str r0, [r6, r5] @ to KEXEC_HB_KERNEL_LOC
|
||||
+ add r5, r5, #4
|
||||
+ cmp r5, r4
|
||||
+ blo kernel_cpy
|
||||
+#else
|
||||
+ ldr r6, [r3, #4] @ kexec_start_address
|
||||
+#endif
|
||||
+
|
||||
+ /* set registers and boot kexecd' kernel */
|
||||
+ mov r0, #0
|
||||
+ ldr r1, [r3, #8] @ kexec_mach_type
|
||||
+ mov r2, r8 @ atags pointer
|
||||
+ mov pc, r6
|
||||
+
|
||||
+ .ltorg
|
||||
+
|
||||
+not_booting_other:
|
||||
+#endif
|
||||
+
|
||||
#ifndef __ARM_ARCH_2__
|
||||
/*
|
||||
* Booting from Angel - need to enter SVC mode and disable
|
||||
diff --git a/arch/arm/configs/cyanogenmod_bacon_defconfig b/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
index 6384191..ac68dba 100644
|
||||
--- a/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
+++ b/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
@@ -693,7 +693,9 @@ CONFIG_ZBOOT_ROM_BSS=0
|
||||
# CONFIG_ARM_APPENDED_DTB is not set
|
||||
CONFIG_CMDLINE=""
|
||||
# CONFIG_XIP_KERNEL is not set
|
||||
-# CONFIG_KEXEC is not set
|
||||
+CONFIG_KEXEC=y
|
||||
+CONFIG_KEXEC_HARDBOOT=y
|
||||
+CONFIG_ATAGS_PROC=n
|
||||
# CONFIG_CRASH_DUMP is not set
|
||||
# CONFIG_AUTO_ZRELADDR is not set
|
||||
|
||||
@@ -1283,7 +1285,7 @@ CONFIG_OF=y
|
||||
#
|
||||
# Device Tree and Open Firmware support
|
||||
#
|
||||
-# CONFIG_PROC_DEVICETREE is not set
|
||||
+CONFIG_PROC_DEVICETREE=y
|
||||
# CONFIG_OF_SELFTEST is not set
|
||||
CONFIG_OF_FLATTREE=y
|
||||
CONFIG_OF_EARLY_FLATTREE=y
|
||||
diff --git a/arch/arm/include/asm/kexec.h b/arch/arm/include/asm/kexec.h
|
||||
index c2b9b4b..564c55b 100644
|
||||
--- a/arch/arm/include/asm/kexec.h
|
||||
+++ b/arch/arm/include/asm/kexec.h
|
||||
@@ -17,6 +17,10 @@
|
||||
#define KEXEC_ARM_ATAGS_OFFSET 0x1000
|
||||
#define KEXEC_ARM_ZIMAGE_OFFSET 0x8000
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ #define KEXEC_HB_PAGE_MAGIC 0x4a5db007
|
||||
+#endif
|
||||
+
|
||||
#ifndef __ASSEMBLY__
|
||||
|
||||
/**
|
||||
@@ -53,6 +57,10 @@ static inline void crash_setup_regs(struct pt_regs *newregs,
|
||||
/* Function pointer to optional machine-specific reinitialization */
|
||||
extern void (*kexec_reinit)(void);
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+extern void (*kexec_hardboot_hook)(void);
|
||||
+#endif
|
||||
+
|
||||
#endif /* __ASSEMBLY__ */
|
||||
|
||||
#endif /* CONFIG_KEXEC */
|
||||
diff --git a/arch/arm/kernel/machine_kexec.c b/arch/arm/kernel/machine_kexec.c
|
||||
index 357b651..29cdd2f 100644
|
||||
--- a/arch/arm/kernel/machine_kexec.c
|
||||
+++ b/arch/arm/kernel/machine_kexec.c
|
||||
@@ -14,6 +14,9 @@
|
||||
#include <asm/cacheflush.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/system_misc.h>
|
||||
+#include <linux/memblock.h>
|
||||
+#include <linux/of_fdt.h>
|
||||
+#include <asm/mmu_writeable.h>
|
||||
|
||||
extern const unsigned char relocate_new_kernel[];
|
||||
extern const unsigned int relocate_new_kernel_size;
|
||||
@@ -22,6 +25,12 @@ extern unsigned long kexec_start_address;
|
||||
extern unsigned long kexec_indirection_page;
|
||||
extern unsigned long kexec_mach_type;
|
||||
extern unsigned long kexec_boot_atags;
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+extern unsigned long kexec_hardboot;
|
||||
+extern unsigned long kexec_boot_atags_len;
|
||||
+extern unsigned long kexec_kernel_len;
|
||||
+void (*kexec_hardboot_hook)(void);
|
||||
+#endif
|
||||
|
||||
static atomic_t waiting_for_crash_ipi;
|
||||
|
||||
@@ -32,6 +41,37 @@ static atomic_t waiting_for_crash_ipi;
|
||||
|
||||
int machine_kexec_prepare(struct kimage *image)
|
||||
{
|
||||
+ struct kexec_segment *current_segment;
|
||||
+ __be32 header;
|
||||
+ int i, err;
|
||||
+
|
||||
+ /* No segment at default ATAGs address. try to locate
|
||||
+ * a dtb using magic */
|
||||
+ for (i = 0; i < image->nr_segments; i++) {
|
||||
+ current_segment = &image->segment[i];
|
||||
+
|
||||
+ err = memblock_is_region_memory(current_segment->mem,
|
||||
+ current_segment->memsz);
|
||||
+ if (!err)
|
||||
+ return - EINVAL;
|
||||
+
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ if(current_segment->mem == image->start)
|
||||
+ mem_text_write_kernel_word(&kexec_kernel_len, current_segment->memsz);
|
||||
+#endif
|
||||
+
|
||||
+ err = get_user(header, (__be32*)current_segment->buf);
|
||||
+ if (err)
|
||||
+ return err;
|
||||
+
|
||||
+ if (be32_to_cpu(header) == OF_DT_HEADER)
|
||||
+ {
|
||||
+ mem_text_write_kernel_word(&kexec_boot_atags, current_segment->mem);
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ mem_text_write_kernel_word(&kexec_boot_atags_len, current_segment->memsz);
|
||||
+#endif
|
||||
+ }
|
||||
+ }
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -123,10 +163,14 @@ void machine_kexec(struct kimage *image)
|
||||
reboot_code_buffer = page_address(image->control_code_page);
|
||||
|
||||
/* Prepare parameters for reboot_code_buffer*/
|
||||
- kexec_start_address = image->start;
|
||||
- kexec_indirection_page = page_list;
|
||||
- kexec_mach_type = machine_arch_type;
|
||||
- kexec_boot_atags = image->start - KEXEC_ARM_ZIMAGE_OFFSET + KEXEC_ARM_ATAGS_OFFSET;
|
||||
+ mem_text_write_kernel_word(&kexec_start_address, image->start);
|
||||
+ mem_text_write_kernel_word(&kexec_indirection_page, page_list);
|
||||
+ mem_text_write_kernel_word(&kexec_mach_type, machine_arch_type);
|
||||
+ if (!kexec_boot_atags)
|
||||
+ mem_text_write_kernel_word(&kexec_boot_atags, image->start - KEXEC_ARM_ZIMAGE_OFFSET + KEXEC_ARM_ATAGS_OFFSET);
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ mem_text_write_kernel_word(&kexec_hardboot, image->hardboot);
|
||||
+#endif
|
||||
|
||||
/* copy our kernel relocation code to the control code page */
|
||||
memcpy(reboot_code_buffer,
|
||||
@@ -140,6 +184,12 @@ void machine_kexec(struct kimage *image)
|
||||
if (kexec_reinit)
|
||||
kexec_reinit();
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ /* Run any final machine-specific shutdown code. */
|
||||
+ if (image->hardboot && kexec_hardboot_hook)
|
||||
+ kexec_hardboot_hook();
|
||||
+#endif
|
||||
+
|
||||
soft_restart(reboot_code_buffer_phys);
|
||||
}
|
||||
|
||||
diff --git a/arch/arm/kernel/relocate_kernel.S b/arch/arm/kernel/relocate_kernel.S
|
||||
index d0cdedf..0e45ffc 100644
|
||||
--- a/arch/arm/kernel/relocate_kernel.S
|
||||
+++ b/arch/arm/kernel/relocate_kernel.S
|
||||
@@ -4,6 +4,15 @@
|
||||
|
||||
#include <asm/kexec.h>
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+#include <asm/memory.h>
|
||||
+#if defined(CONFIG_ARCH_TEGRA_2x_SOC) || defined(CONFIG_ARCH_TEGRA_3x_SOC)
|
||||
+ #include <mach/iomap.h>
|
||||
+#elif defined(CONFIG_ARCH_APQ8064) || defined(CONFIG_ARCH_MSM8974)
|
||||
+ #include <mach/msm_iomap.h>
|
||||
+#endif
|
||||
+#endif
|
||||
+
|
||||
.globl relocate_new_kernel
|
||||
relocate_new_kernel:
|
||||
|
||||
@@ -52,6 +61,12 @@ relocate_new_kernel:
|
||||
b 0b
|
||||
|
||||
2:
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ ldr r0, kexec_hardboot
|
||||
+ teq r0, #0
|
||||
+ bne hardboot
|
||||
+#endif
|
||||
+
|
||||
/* Jump to relocated kernel */
|
||||
mov lr,r1
|
||||
mov r0,#0
|
||||
@@ -60,6 +75,52 @@ relocate_new_kernel:
|
||||
ARM( mov pc, lr )
|
||||
THUMB( bx lr )
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+hardboot:
|
||||
+ /* Stash boot arguments in hardboot page:
|
||||
+ * 0: KEXEC_HB_PAGE_MAGIC
|
||||
+ * 4: kexec_start_address
|
||||
+ * 8: kexec_mach_type
|
||||
+ * 12: kexec_boot_atags
|
||||
+ * 16: kexec_boot_atags_len
|
||||
+ * 20: kexec_kernel_len */
|
||||
+ ldr r0, =KEXEC_HB_PAGE_ADDR
|
||||
+ str r1, [r0, #4]
|
||||
+ ldr r1, kexec_mach_type
|
||||
+ str r1, [r0, #8]
|
||||
+ ldr r1, kexec_boot_atags
|
||||
+ str r1, [r0, #12]
|
||||
+ ldr r1, kexec_boot_atags_len
|
||||
+ str r1, [r0, #16]
|
||||
+ ldr r1, kexec_kernel_len
|
||||
+ str r1, [r0, #20]
|
||||
+ ldr r1, =KEXEC_HB_PAGE_MAGIC
|
||||
+ str r1, [r0]
|
||||
+
|
||||
+#if defined(CONFIG_ARCH_TEGRA_2x_SOC) || defined(CONFIG_ARCH_TEGRA_3x_SOC)
|
||||
+ ldr r0, =TEGRA_PMC_BASE
|
||||
+ ldr r1, [r0]
|
||||
+ orr r1, r1, #0x10
|
||||
+ str r1, [r0]
|
||||
+loop: b loop
|
||||
+#elif defined(CONFIG_ARCH_APQ8064)
|
||||
+ /* Restart using the PMIC chip, see mach-msm/restart.c */
|
||||
+ ldr r0, =APQ8064_TLMM_PHYS
|
||||
+ mov r1, #0
|
||||
+ str r1, [r0, #0x820] @ PSHOLD_CTL_SU
|
||||
+loop: b loop
|
||||
+#elif defined(CONFIG_ARCH_MSM8974)
|
||||
+ /* Restart using the PMIC chip, see mach-msm/restart.c */
|
||||
+ ldr r0, =MSM8974_MPM2_PSHOLD_PHYS
|
||||
+ mov r1, #0
|
||||
+ str r1, [r0, #0]
|
||||
+loop: b loop
|
||||
+#else
|
||||
+#error "No reboot method defined for hardboot."
|
||||
+#endif
|
||||
+
|
||||
+ .ltorg
|
||||
+#endif
|
||||
.align
|
||||
|
||||
.globl kexec_start_address
|
||||
@@ -79,6 +140,20 @@ kexec_mach_type:
|
||||
kexec_boot_atags:
|
||||
.long 0x0
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ .globl kexec_boot_atags_len
|
||||
+kexec_boot_atags_len:
|
||||
+ .long 0x0
|
||||
+
|
||||
+ .globl kexec_kernel_len
|
||||
+kexec_kernel_len:
|
||||
+ .long 0x0
|
||||
+
|
||||
+ .globl kexec_hardboot
|
||||
+kexec_hardboot:
|
||||
+ .long 0x0
|
||||
+#endif
|
||||
+
|
||||
relocate_new_kernel_end:
|
||||
|
||||
.globl relocate_new_kernel_size
|
||||
diff --git a/arch/arm/mach-msm/include/mach/memory.h b/arch/arm/mach-msm/include/mach/memory.h
|
||||
index 9225230..1c87b96 100644
|
||||
--- a/arch/arm/mach-msm/include/mach/memory.h
|
||||
+++ b/arch/arm/mach-msm/include/mach/memory.h
|
||||
@@ -20,6 +20,22 @@
|
||||
/* physical offset of RAM */
|
||||
#define PLAT_PHYS_OFFSET UL(CONFIG_PHYS_OFFSET)
|
||||
|
||||
+#if defined(CONFIG_KEXEC_HARDBOOT)
|
||||
+#if defined(CONFIG_MACH_APQ8064_FLO)
|
||||
+#define KEXEC_HB_PAGE_ADDR UL(0x88C00000)
|
||||
+#elif defined(CONFIG_MACH_APQ8064_MAKO)
|
||||
+#define KEXEC_HB_PAGE_ADDR UL(0x88600000)
|
||||
+#elif defined(CONFIG_MACH_MSM8974_HAMMERHEAD)
|
||||
+#define KEXEC_HB_PAGE_ADDR UL(0x10100000)
|
||||
+#define KEXEC_HB_KERNEL_LOC UL(0x3208000)
|
||||
+#elif defined(CONFIG_MACH_OPPO_MSM8974)
|
||||
+#define KEXEC_HB_PAGE_ADDR UL(0x2F600000)
|
||||
+#define KEXEC_HB_KERNEL_LOC UL(0x3208000)
|
||||
+#else
|
||||
+#error "Adress for kexec hardboot page not defined"
|
||||
+#endif
|
||||
+#endif
|
||||
+
|
||||
#ifndef __ASSEMBLY__
|
||||
void clean_and_invalidate_caches(unsigned long, unsigned long, unsigned long);
|
||||
void clean_caches(unsigned long, unsigned long, unsigned long);
|
||||
diff --git a/arch/arm/mach-msm/oppo/board-8974-oppo.c b/arch/arm/mach-msm/oppo/board-8974-oppo.c
|
||||
index eb24545..10bbbda 100644
|
||||
--- a/arch/arm/mach-msm/oppo/board-8974-oppo.c
|
||||
+++ b/arch/arm/mach-msm/oppo/board-8974-oppo.c
|
||||
@@ -54,6 +54,13 @@
|
||||
|
||||
#include <linux/pcb_version.h>
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+#include <asm/setup.h>
|
||||
+#include <asm/memory.h>
|
||||
+#include <linux/memblock.h>
|
||||
+#define OPPO_PERSISTENT_RAM_SIZE (SZ_1M)
|
||||
+#endif
|
||||
+
|
||||
static struct platform_device *ram_console_dev;
|
||||
|
||||
static struct persistent_ram_descriptor msm_prd[] __initdata = {
|
||||
@@ -72,6 +79,26 @@ static struct persistent_ram msm_pr __initdata = {
|
||||
|
||||
void __init msm_8974_reserve(void)
|
||||
{
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ // Reserve space for hardboot page - just after ram_console,
|
||||
+ // at the start of second memory bank
|
||||
+ int ret;
|
||||
+ phys_addr_t start;
|
||||
+ struct membank* bank;
|
||||
+
|
||||
+ if (meminfo.nr_banks < 2) {
|
||||
+ pr_err("%s: not enough membank\n", __func__);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ bank = &meminfo.bank[1];
|
||||
+ start = bank->start + SZ_1M + OPPO_PERSISTENT_RAM_SIZE;
|
||||
+ ret = memblock_remove(start, SZ_1M);
|
||||
+ if(!ret)
|
||||
+ pr_info("Hardboot page reserved at 0x%X\n", start);
|
||||
+ else
|
||||
+ pr_err("Failed to reserve space for hardboot page at 0x%X!\n", start);
|
||||
+#endif
|
||||
persistent_ram_early_init(&msm_pr);
|
||||
of_scan_flat_dt(dt_scan_for_memory_reserve, NULL);
|
||||
}
|
||||
diff --git a/arch/arm/mach-msm/restart.c b/arch/arm/mach-msm/restart.c
|
||||
index a04ab8d..fe89976 100644
|
||||
--- a/arch/arm/mach-msm/restart.c
|
||||
+++ b/arch/arm/mach-msm/restart.c
|
||||
@@ -38,6 +38,10 @@
|
||||
#include "timer.h"
|
||||
#include "wdog_debug.h"
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+#include <asm/kexec.h>
|
||||
+#endif
|
||||
+
|
||||
#define WDT0_RST 0x38
|
||||
#define WDT0_EN 0x40
|
||||
#define WDT0_BARK_TIME 0x4C
|
||||
@@ -373,6 +377,26 @@ static int __init msm_pmic_restart_init(void)
|
||||
|
||||
late_initcall(msm_pmic_restart_init);
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+static void msm_kexec_hardboot_hook(void)
|
||||
+{
|
||||
+ set_dload_mode(0);
|
||||
+
|
||||
+ // Set PMIC to restart-on-poweroff
|
||||
+ pm8xxx_reset_pwr_off(1);
|
||||
+
|
||||
+ // These are executed on normal reboot, but with kexec-hardboot,
|
||||
+ // they reboot/panic the system immediately.
|
||||
+#if 0
|
||||
+ qpnp_pon_system_pwr_off(PON_POWER_OFF_WARM_RESET);
|
||||
+
|
||||
+ /* Needed to bypass debug image on some chips */
|
||||
+ msm_disable_wdog_debug();
|
||||
+ halt_spmi_pmic_arbiter();
|
||||
+#endif
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
static int __init msm_restart_init(void)
|
||||
{
|
||||
#ifdef CONFIG_MSM_DLOAD_MODE
|
||||
@@ -392,6 +416,10 @@ static int __init msm_restart_init(void)
|
||||
if (scm_is_call_available(SCM_SVC_PWR, SCM_IO_DISABLE_PMIC_ARBITER) > 0)
|
||||
scm_pmic_arbiter_disable_supported = true;
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ kexec_hardboot_hook = msm_kexec_hardboot_hook;
|
||||
+#endif
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
early_initcall(msm_restart_init);
|
||||
diff --git a/include/linux/kexec.h b/include/linux/kexec.h
|
||||
index af84a25..a4509ad 100644
|
||||
--- a/include/linux/kexec.h
|
||||
+++ b/include/linux/kexec.h
|
||||
@@ -111,6 +111,10 @@ struct kimage {
|
||||
#define KEXEC_TYPE_CRASH 1
|
||||
unsigned int preserve_context : 1;
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ unsigned int hardboot : 1;
|
||||
+#endif
|
||||
+
|
||||
#ifdef ARCH_HAS_KIMAGE_ARCH
|
||||
struct kimage_arch arch;
|
||||
#endif
|
||||
@@ -178,6 +182,11 @@ extern struct kimage *kexec_crash_image;
|
||||
|
||||
#define KEXEC_ON_CRASH 0x00000001
|
||||
#define KEXEC_PRESERVE_CONTEXT 0x00000002
|
||||
+
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+#define KEXEC_HARDBOOT 0x00000004
|
||||
+#endif
|
||||
+
|
||||
#define KEXEC_ARCH_MASK 0xffff0000
|
||||
|
||||
/* These values match the ELF architecture values.
|
||||
@@ -196,10 +205,14 @@ extern struct kimage *kexec_crash_image;
|
||||
#define KEXEC_ARCH_MIPS ( 8 << 16)
|
||||
|
||||
/* List of defined/legal kexec flags */
|
||||
-#ifndef CONFIG_KEXEC_JUMP
|
||||
-#define KEXEC_FLAGS KEXEC_ON_CRASH
|
||||
-#else
|
||||
+#if defined(CONFIG_KEXEC_JUMP) && defined(CONFIG_KEXEC_HARDBOOT)
|
||||
+#define KEXEC_FLAGS (KEXEC_ON_CRASH | KEXEC_PRESERVE_CONTEXT | KEXEC_HARDBOOT)
|
||||
+#elif defined(CONFIG_KEXEC_JUMP)
|
||||
#define KEXEC_FLAGS (KEXEC_ON_CRASH | KEXEC_PRESERVE_CONTEXT)
|
||||
+#elif defined(CONFIG_KEXEC_HARDBOOT)
|
||||
+#define KEXEC_FLAGS (KEXEC_ON_CRASH | KEXEC_HARDBOOT)
|
||||
+#else
|
||||
+#define KEXEC_FLAGS (KEXEC_ON_CRASH)
|
||||
#endif
|
||||
|
||||
#define VMCOREINFO_BYTES (4096)
|
||||
diff --git a/kernel/kexec.c b/kernel/kexec.c
|
||||
index 4e2e472..aef7893 100644
|
||||
--- a/kernel/kexec.c
|
||||
+++ b/kernel/kexec.c
|
||||
@@ -1004,6 +1004,10 @@ SYSCALL_DEFINE4(kexec_load, unsigned long, entry, unsigned long, nr_segments,
|
||||
|
||||
if (flags & KEXEC_PRESERVE_CONTEXT)
|
||||
image->preserve_context = 1;
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ if (flags & KEXEC_HARDBOOT)
|
||||
+ image->hardboot = 1;
|
||||
+#endif
|
||||
result = machine_kexec_prepare(image);
|
||||
if (result)
|
||||
goto out;
|
706
Patches/OLD/bacon/Kernel-All/ch-12.1/8.patch
Normal file
706
Patches/OLD/bacon/Kernel-All/ch-12.1/8.patch
Normal file
|
@ -0,0 +1,706 @@
|
|||
From 1f7530cfcad8e25223a2a9a9b70cdb0f3c4d1442 Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Sat, 17 Oct 2015 20:49:57 -0400
|
||||
Subject: [PATCH] Overclocked to 2.8Ghz, underclocked to 268Mhz
|
||||
|
||||
---
|
||||
arch/arm/boot/dts/msm8974-v2.dtsi | 2 +-
|
||||
arch/arm/boot/dts/msm8974pro-pm8941.dtsi | 8 +-
|
||||
.../arm/boot/dts/msm8974pro-pma8084-regulator.dtsi | 16 +-
|
||||
arch/arm/boot/dts/msm8974pro.dtsi | 190 ++++++++++++++++++---
|
||||
4 files changed, 179 insertions(+), 37 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/msm8974-v2.dtsi b/arch/arm/boot/dts/msm8974-v2.dtsi
|
||||
index 04769bd..8739175 100644
|
||||
--- a/arch/arm/boot/dts/msm8974-v2.dtsi
|
||||
+++ b/arch/arm/boot/dts/msm8974-v2.dtsi
|
||||
@@ -135,7 +135,7 @@
|
||||
<1880000 2068000>,
|
||||
<3008000 3309000>,
|
||||
<3760000 4136000>,
|
||||
- <4468000 2457000>;
|
||||
+ <4468000 2457600>;
|
||||
qcom,dec-ocmem-ab-ib = <0 0>,
|
||||
<176000 519000>,
|
||||
<456000 519000>,
|
||||
diff --git a/arch/arm/boot/dts/msm8974pro-pm8941.dtsi b/arch/arm/boot/dts/msm8974pro-pm8941.dtsi
|
||||
index 89939e6..d76e4bd 100644
|
||||
--- a/arch/arm/boot/dts/msm8974pro-pm8941.dtsi
|
||||
+++ b/arch/arm/boot/dts/msm8974pro-pm8941.dtsi
|
||||
@@ -39,22 +39,22 @@
|
||||
};
|
||||
|
||||
&krait0_vreg {
|
||||
- regulator-max-microvolt = <1120000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
qcom,ldo-delta-voltage = <12500>;
|
||||
};
|
||||
|
||||
&krait1_vreg {
|
||||
- regulator-max-microvolt = <1120000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
qcom,ldo-delta-voltage = <12500>;
|
||||
};
|
||||
|
||||
&krait2_vreg {
|
||||
- regulator-max-microvolt = <1120000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
qcom,ldo-delta-voltage = <12500>;
|
||||
};
|
||||
|
||||
&krait3_vreg {
|
||||
- regulator-max-microvolt = <1120000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
qcom,ldo-delta-voltage = <12500>;
|
||||
};
|
||||
|
||||
diff --git a/arch/arm/boot/dts/msm8974pro-pma8084-regulator.dtsi b/arch/arm/boot/dts/msm8974pro-pma8084-regulator.dtsi
|
||||
index 433d466..428a520 100644
|
||||
--- a/arch/arm/boot/dts/msm8974pro-pma8084-regulator.dtsi
|
||||
+++ b/arch/arm/boot/dts/msm8974pro-pma8084-regulator.dtsi
|
||||
@@ -492,9 +492,9 @@
|
||||
<0xf908a800 0x1000>; /* APCS_ALIAS0_KPSS_MDD */
|
||||
reg-names = "acs", "mdd";
|
||||
regulator-min-microvolt = <500000>;
|
||||
- regulator-max-microvolt = <1120000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
qcom,headroom-voltage = <150000>;
|
||||
- qcom,retention-voltage = <675000>;
|
||||
+ qcom,retention-voltage = <600000>;
|
||||
qcom,ldo-default-voltage = <750000>;
|
||||
qcom,ldo-threshold-voltage = <850000>;
|
||||
qcom,ldo-delta-voltage = <12500>;
|
||||
@@ -508,9 +508,9 @@
|
||||
<0xf909a800 0x1000>; /* APCS_ALIAS1_KPSS_MDD */
|
||||
reg-names = "acs", "mdd";
|
||||
regulator-min-microvolt = <500000>;
|
||||
- regulator-max-microvolt = <1120000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
qcom,headroom-voltage = <150000>;
|
||||
- qcom,retention-voltage = <675000>;
|
||||
+ qcom,retention-voltage = <600000>;
|
||||
qcom,ldo-default-voltage = <750000>;
|
||||
qcom,ldo-threshold-voltage = <850000>;
|
||||
qcom,ldo-delta-voltage = <12500>;
|
||||
@@ -524,9 +524,9 @@
|
||||
<0xf90aa800 0x1000>; /* APCS_ALIAS2_KPSS_MDD */
|
||||
reg-names = "acs", "mdd";
|
||||
regulator-min-microvolt = <500000>;
|
||||
- regulator-max-microvolt = <1120000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
qcom,headroom-voltage = <150000>;
|
||||
- qcom,retention-voltage = <675000>;
|
||||
+ qcom,retention-voltage = <600000>;
|
||||
qcom,ldo-default-voltage = <750000>;
|
||||
qcom,ldo-threshold-voltage = <850000>;
|
||||
qcom,ldo-delta-voltage = <12500>;
|
||||
@@ -540,9 +540,9 @@
|
||||
<0xf90ba800 0x1000>; /* APCS_ALIAS3_KPSS_MDD */
|
||||
reg-names = "acs", "mdd";
|
||||
regulator-min-microvolt = <500000>;
|
||||
- regulator-max-microvolt = <1120000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
qcom,headroom-voltage = <150000>;
|
||||
- qcom,retention-voltage = <675000>;
|
||||
+ qcom,retention-voltage = <600000>;
|
||||
qcom,ldo-default-voltage = <750000>;
|
||||
qcom,ldo-threshold-voltage = <850000>;
|
||||
qcom,ldo-delta-voltage = <12500>;
|
||||
diff --git a/arch/arm/boot/dts/msm8974pro.dtsi b/arch/arm/boot/dts/msm8974pro.dtsi
|
||||
index c50b379..ebb5112 100644
|
||||
--- a/arch/arm/boot/dts/msm8974pro.dtsi
|
||||
+++ b/arch/arm/boot/dts/msm8974pro.dtsi
|
||||
@@ -90,6 +90,7 @@
|
||||
qcom,clock-krait@f9016000 {
|
||||
qcom,speed1-pvs0-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 74 >,
|
||||
< 345600000 775000 85 >,
|
||||
< 422400000 775000 104 >,
|
||||
@@ -121,6 +122,7 @@
|
||||
|
||||
qcom,speed1-pvs1-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 74 >,
|
||||
< 345600000 775000 85 >,
|
||||
< 422400000 775000 104 >,
|
||||
@@ -152,6 +154,7 @@
|
||||
|
||||
qcom,speed1-pvs2-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 74 >,
|
||||
< 345600000 750000 85 >,
|
||||
< 422400000 750000 104 >,
|
||||
@@ -183,6 +186,7 @@
|
||||
|
||||
qcom,speed1-pvs3-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 74 >,
|
||||
< 345600000 750000 85 >,
|
||||
< 422400000 750000 104 >,
|
||||
@@ -214,6 +218,7 @@
|
||||
|
||||
qcom,speed1-pvs4-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 74 >,
|
||||
< 345600000 750000 85 >,
|
||||
< 422400000 750000 104 >,
|
||||
@@ -245,6 +250,7 @@
|
||||
|
||||
qcom,speed1-pvs5-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 720000 68 >,
|
||||
< 300000000 725000 74 >,
|
||||
< 345600000 725000 85 >,
|
||||
< 422400000 725000 104 >,
|
||||
@@ -276,6 +282,7 @@
|
||||
|
||||
qcom,speed1-pvs6-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 720000 68 >,
|
||||
< 300000000 725000 74 >,
|
||||
< 345600000 725000 85 >,
|
||||
< 422400000 725000 104 >,
|
||||
@@ -307,6 +314,7 @@
|
||||
|
||||
qcom,speed3-pvs0-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 106 >,
|
||||
@@ -337,10 +345,14 @@
|
||||
< 2265600000 1065000 700 >,
|
||||
< 2342400000 1080000 734 >,
|
||||
< 2419200000 1095000 769 >,
|
||||
- < 2457600000 1100000 785 >;
|
||||
+ < 2457600000 1100000 785 >,
|
||||
+ < 2572800000 1145000 827 >,
|
||||
+ < 2726400000 1205000 900 >,
|
||||
+ < 2880000000 1235000 937 >;
|
||||
|
||||
qcom,speed3-pvs1-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 106 >,
|
||||
@@ -371,10 +383,14 @@
|
||||
< 2265600000 1040000 700 >,
|
||||
< 2342400000 1055000 734 >,
|
||||
< 2419200000 1070000 769 >,
|
||||
- < 2457600000 1075000 785 >;
|
||||
+ < 2457600000 1075000 785 >,
|
||||
+ < 2572800000 1145000 827 >,
|
||||
+ < 2726400000 1205000 900 >,
|
||||
+ < 2880000000 1235000 937 >;
|
||||
|
||||
qcom,speed3-pvs2-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -405,10 +421,14 @@
|
||||
< 2265600000 1015000 700 >,
|
||||
< 2342400000 1030000 734 >,
|
||||
< 2419200000 1045000 769 >,
|
||||
- < 2457600000 1050000 785 >;
|
||||
+ < 2457600000 1050000 785 >,
|
||||
+ < 2572800000 1125000 827 >,
|
||||
+ < 2726400000 1195000 900 >,
|
||||
+ < 2880000000 1225000 937 >;
|
||||
|
||||
qcom,speed3-pvs3-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -439,10 +459,14 @@
|
||||
< 2265600000 990000 700 >,
|
||||
< 2342400000 1005000 734 >,
|
||||
< 2419200000 1020000 769 >,
|
||||
- < 2457600000 1025000 785 >;
|
||||
+ < 2457600000 1025000 785 >,
|
||||
+ < 2572800000 1115000 827 >,
|
||||
+ < 2726400000 1185000 900 >,
|
||||
+ < 2880000000 1215000 937 >;
|
||||
|
||||
qcom,speed3-pvs4-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -473,10 +497,14 @@
|
||||
< 2265600000 965000 700 >,
|
||||
< 2342400000 980000 734 >,
|
||||
< 2419200000 995000 769 >,
|
||||
- < 2457600000 1000000 785 >;
|
||||
+ < 2457600000 1000000 785 >,
|
||||
+ < 2572800000 1075000 827 >,
|
||||
+ < 2726400000 1175000 900 >,
|
||||
+ < 2880000000 1205000 937 >;
|
||||
|
||||
qcom,speed3-pvs5-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 76 >,
|
||||
< 345600000 750000 87 >,
|
||||
< 422400000 750000 106 >,
|
||||
@@ -507,10 +535,14 @@
|
||||
< 2265600000 940000 700 >,
|
||||
< 2342400000 955000 734 >,
|
||||
< 2419200000 970000 769 >,
|
||||
- < 2457600000 975000 785 >;
|
||||
+ < 2457600000 975000 785 >,
|
||||
+ < 2572800000 1025000 827 >,
|
||||
+ < 2726400000 1175000 900 >,
|
||||
+ < 2880000000 1195000 937 >;
|
||||
|
||||
qcom,speed3-pvs6-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 76 >,
|
||||
< 345600000 750000 87 >,
|
||||
< 422400000 750000 106 >,
|
||||
@@ -541,10 +573,14 @@
|
||||
< 2265600000 915000 700 >,
|
||||
< 2342400000 930000 734 >,
|
||||
< 2419200000 945000 769 >,
|
||||
- < 2457600000 950000 785 >;
|
||||
+ < 2457600000 950000 785 >,
|
||||
+ < 2572800000 1010000 827 >,
|
||||
+ < 2726400000 1155000 900 >,
|
||||
+ < 2880000000 1175000 937 >;
|
||||
|
||||
qcom,speed1-pvs0-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 810000 87 >,
|
||||
< 422400000 820000 108 >,
|
||||
@@ -576,6 +612,7 @@
|
||||
|
||||
qcom,speed1-pvs1-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 810000 108 >,
|
||||
@@ -607,6 +644,7 @@
|
||||
|
||||
qcom,speed1-pvs2-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 108 >,
|
||||
@@ -638,6 +676,7 @@
|
||||
|
||||
qcom,speed1-pvs3-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 108 >,
|
||||
@@ -669,6 +708,7 @@
|
||||
|
||||
qcom,speed1-pvs4-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 108 >,
|
||||
@@ -700,6 +740,7 @@
|
||||
|
||||
qcom,speed1-pvs5-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 108 >,
|
||||
@@ -731,6 +772,7 @@
|
||||
|
||||
qcom,speed1-pvs6-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 108 >,
|
||||
@@ -762,6 +804,7 @@
|
||||
|
||||
qcom,speed1-pvs7-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 108 >,
|
||||
@@ -793,6 +836,7 @@
|
||||
|
||||
qcom,speed1-pvs8-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 108 >,
|
||||
@@ -824,6 +868,7 @@
|
||||
|
||||
qcom,speed1-pvs9-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 108 >,
|
||||
@@ -855,6 +900,7 @@
|
||||
|
||||
qcom,speed1-pvs10-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 108 >,
|
||||
@@ -886,6 +932,7 @@
|
||||
|
||||
qcom,speed1-pvs11-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 108 >,
|
||||
@@ -917,6 +964,7 @@
|
||||
|
||||
qcom,speed1-pvs12-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 108 >,
|
||||
@@ -948,6 +996,7 @@
|
||||
|
||||
qcom,speed1-pvs13-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 108 >,
|
||||
@@ -979,6 +1028,7 @@
|
||||
|
||||
qcom,speed1-pvs14-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 76 >,
|
||||
< 345600000 750000 87 >,
|
||||
< 422400000 750000 108 >,
|
||||
@@ -1010,6 +1060,7 @@
|
||||
|
||||
qcom,speed1-pvs15-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 76 >,
|
||||
< 345600000 750000 87 >,
|
||||
< 422400000 750000 108 >,
|
||||
@@ -1041,6 +1092,7 @@
|
||||
|
||||
qcom,speed3-pvs0-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 106 >,
|
||||
@@ -1071,10 +1123,14 @@
|
||||
< 2265600000 1085000 716 >,
|
||||
< 2342400000 1100000 751 >,
|
||||
< 2419200000 1115000 786 >,
|
||||
- < 2457600000 1120000 802 >;
|
||||
+ < 2457600000 1120000 802 >,
|
||||
+ < 2572800000 1175000 827 >,
|
||||
+ < 2726400000 1225000 900 >,
|
||||
+ < 2880000000 1265000 937 >;
|
||||
|
||||
qcom,speed3-pvs1-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 106 >,
|
||||
@@ -1105,10 +1161,14 @@
|
||||
< 2265600000 1075000 716 >,
|
||||
< 2342400000 1090000 751 >,
|
||||
< 2419200000 1105000 786 >,
|
||||
- < 2457600000 1110000 802 >;
|
||||
+ < 2457600000 1110000 802 >,
|
||||
+ < 2572800000 1165000 827 >,
|
||||
+ < 2726400000 1215000 900 >,
|
||||
+ < 2880000000 1245000 937 >;
|
||||
|
||||
qcom,speed3-pvs2-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 106 >,
|
||||
@@ -1139,10 +1199,14 @@
|
||||
< 2265600000 1065000 716 >,
|
||||
< 2342400000 1080000 751 >,
|
||||
< 2419200000 1095000 786 >,
|
||||
- < 2457600000 1100000 802 >;
|
||||
+ < 2457600000 1100000 802 >,
|
||||
+ < 2572800000 1145000 827 >,
|
||||
+ < 2726400000 1185000 900 >,
|
||||
+ < 2880000000 1215000 937 >;
|
||||
|
||||
qcom,speed3-pvs3-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 106 >,
|
||||
@@ -1173,10 +1237,14 @@
|
||||
< 2265600000 1055000 716 >,
|
||||
< 2342400000 1070000 751 >,
|
||||
< 2419200000 1085000 786 >,
|
||||
- < 2457600000 1090000 802 >;
|
||||
+ < 2457600000 1090000 802 >,
|
||||
+ < 2572800000 1145000 827 >,
|
||||
+ < 2726400000 1175000 900 >,
|
||||
+ < 2880000000 1205000 937 >;
|
||||
|
||||
qcom,speed3-pvs4-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 106 >,
|
||||
@@ -1207,10 +1275,14 @@
|
||||
< 2265600000 1045000 716 >,
|
||||
< 2342400000 1060000 751 >,
|
||||
< 2419200000 1075000 786 >,
|
||||
- < 2457600000 1080000 802 >;
|
||||
+ < 2457600000 1080000 802 >,
|
||||
+ < 2572800000 1135000 827 >,
|
||||
+ < 2726400000 1165000 900 >,
|
||||
+ < 2880000000 1195000 937 >;
|
||||
|
||||
qcom,speed3-pvs5-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 106 >,
|
||||
@@ -1241,10 +1313,14 @@
|
||||
< 2265600000 1035000 716 >,
|
||||
< 2342400000 1050000 751 >,
|
||||
< 2419200000 1065000 786 >,
|
||||
- < 2457600000 1070000 802 >;
|
||||
+ < 2457600000 1070000 802 >,
|
||||
+ < 2572800000 1125000 827 >,
|
||||
+ < 2726400000 1155000 900 >,
|
||||
+ < 2880000000 1185000 937 >;
|
||||
|
||||
qcom,speed3-pvs6-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -1275,10 +1351,14 @@
|
||||
< 2265600000 1025000 716 >,
|
||||
< 2342400000 1040000 751 >,
|
||||
< 2419200000 1055000 786 >,
|
||||
- < 2457600000 1060000 802 >;
|
||||
+ < 2457600000 1060000 802 >,
|
||||
+ < 2572800000 1115000 827 >,
|
||||
+ < 2726400000 1145000 900 >,
|
||||
+ < 2880000000 1175000 937 >;
|
||||
|
||||
qcom,speed3-pvs7-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -1309,10 +1389,14 @@
|
||||
< 2265600000 1015000 716 >,
|
||||
< 2342400000 1030000 751 >,
|
||||
< 2419200000 1045000 786 >,
|
||||
- < 2457600000 1050000 802 >;
|
||||
+ < 2457600000 1050000 802 >,
|
||||
+ < 2572800000 1105000 827 >,
|
||||
+ < 2726400000 1135000 900 >,
|
||||
+ < 2880000000 1165000 937 >;
|
||||
|
||||
qcom,speed3-pvs8-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -1343,10 +1427,14 @@
|
||||
< 2265600000 1005000 716 >,
|
||||
< 2342400000 1020000 751 >,
|
||||
< 2419200000 1035000 786 >,
|
||||
- < 2457600000 1040000 802 >;
|
||||
+ < 2457600000 1040000 802 >,
|
||||
+ < 2572800000 1095000 827 >,
|
||||
+ < 2726400000 1125000 900 >,
|
||||
+ < 2880000000 1155000 937 >;
|
||||
|
||||
qcom,speed3-pvs9-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -1377,10 +1465,14 @@
|
||||
< 2265600000 995000 716 >,
|
||||
< 2342400000 1010000 751 >,
|
||||
< 2419200000 1025000 786 >,
|
||||
- < 2457600000 1030000 802 >;
|
||||
+ < 2457600000 1030000 802 >,
|
||||
+ < 2572800000 1085000 827 >,
|
||||
+ < 2726400000 1115000 900 >,
|
||||
+ < 2880000000 1145000 937 >;
|
||||
|
||||
qcom,speed3-pvs10-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -1411,10 +1503,14 @@
|
||||
< 2265600000 985000 716 >,
|
||||
< 2342400000 1000000 751 >,
|
||||
< 2419200000 1015000 786 >,
|
||||
- < 2457600000 1020000 802 >;
|
||||
+ < 2457600000 1020000 802 >,
|
||||
+ < 2572800000 1075000 827 >,
|
||||
+ < 2726400000 1105000 900 >,
|
||||
+ < 2880000000 1135000 937 >;
|
||||
|
||||
qcom,speed3-pvs11-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -1445,10 +1541,14 @@
|
||||
< 2265600000 975000 716 >,
|
||||
< 2342400000 990000 751 >,
|
||||
< 2419200000 1005000 786 >,
|
||||
- < 2457600000 1010000 802 >;
|
||||
+ < 2457600000 1010000 802 >,
|
||||
+ < 2572800000 1065000 827 >,
|
||||
+ < 2726400000 1095000 900 >,
|
||||
+ < 2880000000 1125000 937 >;
|
||||
|
||||
qcom,speed3-pvs12-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -1479,10 +1579,14 @@
|
||||
< 2265600000 965000 716 >,
|
||||
< 2342400000 980000 751 >,
|
||||
< 2419200000 995000 786 >,
|
||||
- < 2457600000 1000000 802 >;
|
||||
+ < 2457600000 1000000 802 >,
|
||||
+ < 2572800000 1065000 827 >,
|
||||
+ < 2726400000 1085000 900 >,
|
||||
+ < 2880000000 1115000 937 >;
|
||||
|
||||
qcom,speed3-pvs13-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -1513,10 +1617,14 @@
|
||||
< 2265600000 955000 716 >,
|
||||
< 2342400000 970000 751 >,
|
||||
< 2419200000 985000 786 >,
|
||||
- < 2457600000 990000 802 >;
|
||||
+ < 2457600000 990000 802 >,
|
||||
+ < 2572800000 1045000 827 >,
|
||||
+ < 2726400000 1065000 900 >,
|
||||
+ < 2880000000 1095000 937 >;
|
||||
|
||||
qcom,speed3-pvs14-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 76 >,
|
||||
< 345600000 750000 87 >,
|
||||
< 422400000 750000 106 >,
|
||||
@@ -1547,10 +1655,14 @@
|
||||
< 2265600000 945000 716 >,
|
||||
< 2342400000 960000 751 >,
|
||||
< 2419200000 975000 786 >,
|
||||
- < 2457600000 980000 802 >;
|
||||
+ < 2457600000 980000 802 >,
|
||||
+ < 2572800000 1035000 827 >,
|
||||
+ < 2726400000 1055000 900 >,
|
||||
+ < 2880000000 1085000 937 >;
|
||||
|
||||
qcom,speed3-pvs15-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 76 >,
|
||||
< 345600000 750000 87 >,
|
||||
< 422400000 750000 106 >,
|
||||
@@ -1581,9 +1693,39 @@
|
||||
< 2265600000 935000 716 >,
|
||||
< 2342400000 950000 751 >,
|
||||
< 2419200000 965000 786 >,
|
||||
- < 2457600000 970000 802 >;
|
||||
+ < 2457600000 970000 802 >,
|
||||
+ < 2572800000 1025000 827 >,
|
||||
+ < 2726400000 1045000 900 >,
|
||||
+ < 2880000000 1075000 937 >;
|
||||
};
|
||||
|
||||
+ qcom,msm-cpufreq@0 {
|
||||
+ reg = <0 4>;
|
||||
+ compatible = "qcom,msm-cpufreq";
|
||||
+ qcom,cpufreq-table =
|
||||
+ < 268800 /* 75 MHz */ >,
|
||||
+ < 300000 /* 75 MHz */ >,
|
||||
+ < 422400 /* 150 MHz */ >,
|
||||
+ < 652800 /* 200 MHz */ >,
|
||||
+ < 729600 /* 307 MHz */ >,
|
||||
+ < 883200 /* 307 MHz */ >,
|
||||
+ < 960000 /* 460 MHz */ >,
|
||||
+ < 1036800 /* 460 MHz */ >,
|
||||
+ < 1190400 /* 460 MHz */ >,
|
||||
+ < 1267200 /* 614 MHz */ >,
|
||||
+ < 1497600 /* 614 MHz */ >,
|
||||
+ < 1574400 /* 800 MHz */ >,
|
||||
+ < 1728000 /* 800 MHz */ >,
|
||||
+ < 1958400 /* 931 MHz */ >,
|
||||
+ < 2265600 /* 931 MHz */ >,
|
||||
+ < 2342400 /* 931 MHz */ >,
|
||||
+ < 2419200 /* 931 MHz */ >,
|
||||
+ < 2457600 /* 931 MHz */ >,
|
||||
+ < 2572800 /* 931 MHz */ >,
|
||||
+ < 2726400 /* 931 MHz */ >,
|
||||
+ < 2880000 /* 931 MHz */ >;
|
||||
+ };
|
||||
+
|
||||
i2c@f9928000 { /* BLSP-1 QUP-6 */
|
||||
cell-index = <3>;
|
||||
compatible = "qcom,i2c-qup";
|
||||
@@ -1751,7 +1893,7 @@
|
||||
<1880000 2068000>,
|
||||
<3008000 3309000>,
|
||||
<3760000 4136000>,
|
||||
- <4468000 2457000>;
|
||||
+ <4468000 2457600>;
|
||||
qcom,dec-ocmem-ab-ib = <0 0>,
|
||||
<176000 519000>,
|
||||
<456000 519000>,
|
48
Patches/OLD/bacon/Kernel-All/ch-12.1/9.patch
Normal file
48
Patches/OLD/bacon/Kernel-All/ch-12.1/9.patch
Normal file
|
@ -0,0 +1,48 @@
|
|||
From 2f72f326e6ccc660d8a3a5da787212828508f943 Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Sat, 17 Oct 2015 20:50:31 -0400
|
||||
Subject: [PATCH] Update defconfig
|
||||
|
||||
---
|
||||
arch/arm/configs/cyanogenmod_bacon_defconfig | 9 +++++----
|
||||
1 file changed, 5 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/configs/cyanogenmod_bacon_defconfig b/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
index ac68dba..f6a455b 100644
|
||||
--- a/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
+++ b/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
@@ -125,8 +125,9 @@ CONFIG_RD_BZIP2=y
|
||||
CONFIG_RD_LZMA=y
|
||||
# CONFIG_RD_XZ is not set
|
||||
# CONFIG_RD_LZO is not set
|
||||
-# CONFIG_RD_LZ4 is not set
|
||||
+CONFIG_RD_LZ4=y
|
||||
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
|
||||
+CONFIG_CC_OPTIMIZE_MORE=y
|
||||
CONFIG_SYSCTL=y
|
||||
CONFIG_ANON_INODES=y
|
||||
CONFIG_PANIC_TIMEOUT=5
|
||||
@@ -190,7 +191,7 @@ CONFIG_SECCOMP_FILTER=y
|
||||
CONFIG_HAVE_GENERIC_DMA_COHERENT=y
|
||||
CONFIG_RT_MUTEXES=y
|
||||
CONFIG_BASE_SMALL=0
|
||||
-# CONFIG_MODULES is not set
|
||||
+CONFIG_MODULES=y
|
||||
CONFIG_STOP_MACHINE=y
|
||||
CONFIG_BLOCK=y
|
||||
CONFIG_LBDAF=y
|
||||
@@ -1775,12 +1776,12 @@ CONFIG_SERIAL_MSM_HS=y
|
||||
#
|
||||
# Diag Support
|
||||
#
|
||||
-# CONFIG_DIAG_CHAR is not set
|
||||
+CONFIG_DIAG_CHAR=y
|
||||
|
||||
#
|
||||
# DIAG traffic over USB
|
||||
#
|
||||
-# CONFIG_DIAG_OVER_USB is not set
|
||||
+CONFIG_DIAG_OVER_USB=y
|
||||
|
||||
#
|
||||
# SDIO support for DIAG
|
50928
Patches/OLD/bacon/Kernel-All/cm-12.1/1.patch
Normal file
50928
Patches/OLD/bacon/Kernel-All/cm-12.1/1.patch
Normal file
File diff suppressed because it is too large
Load diff
244
Patches/OLD/bacon/Kernel-All/cm-12.1/10.patch
Normal file
244
Patches/OLD/bacon/Kernel-All/cm-12.1/10.patch
Normal file
|
@ -0,0 +1,244 @@
|
|||
From d96337d6d658dfb72d9f9625d62dbf5eab135d24 Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Sat, 17 Oct 2015 20:52:02 -0400
|
||||
Subject: [PATCH] Implement Quick Wakeup
|
||||
|
||||
---
|
||||
arch/arm/configs/cyanogenmod_bacon_defconfig | 2 +
|
||||
include/linux/quickwakeup.h | 46 ++++++++++++
|
||||
kernel/power/Kconfig | 20 ++++--
|
||||
kernel/power/Makefile | 1 +
|
||||
kernel/power/quickwakeup.c | 104 +++++++++++++++++++++++++++
|
||||
5 files changed, 167 insertions(+), 6 deletions(-)
|
||||
create mode 100644 include/linux/quickwakeup.h
|
||||
create mode 100644 kernel/power/quickwakeup.c
|
||||
|
||||
diff --git a/arch/arm/configs/cyanogenmod_bacon_defconfig b/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
index f6a455b..a79f77b 100644
|
||||
--- a/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
+++ b/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
@@ -3623,3 +3623,5 @@ CONFIG_NLATTR=y
|
||||
# CONFIG_CORDIC is not set
|
||||
CONFIG_QMI_ENCDEC=y
|
||||
# CONFIG_QMI_ENCDEC_DEBUG is not set
|
||||
+
|
||||
+CONFIG_QUICK_WAKEUP=y
|
||||
diff --git a/include/linux/quickwakeup.h b/include/linux/quickwakeup.h
|
||||
new file mode 100644
|
||||
index 0000000..000effa
|
||||
--- /dev/null
|
||||
+++ b/include/linux/quickwakeup.h
|
||||
@@ -0,0 +1,46 @@
|
||||
+/* include/linux/quickwakeup.h
|
||||
+ *
|
||||
+ * Copyright (C) 2014 Motorola Mobility LLC.
|
||||
+ *
|
||||
+ * This software is licensed under the terms of the GNU General Public
|
||||
+ * License version 2, as published by the Free Software Foundation, and
|
||||
+ * may be copied, distributed, and modified under those terms.
|
||||
+ *
|
||||
+ * This program is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ * GNU General Public License for more details.
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+#ifndef _QUICKWAKEUP_H_
|
||||
+#define _QUICKWAKEUP_H_
|
||||
+
|
||||
+#ifdef __KERNEL__
|
||||
+
|
||||
+struct quickwakeup_ops {
|
||||
+ struct list_head list;
|
||||
+ char *name;
|
||||
+ int (*qw_execute)(void *data);
|
||||
+ int (*qw_check)(void *data);
|
||||
+ int execute;
|
||||
+ void *data; /* arbitrary data passed back to user */
|
||||
+};
|
||||
+
|
||||
+#ifdef CONFIG_QUICK_WAKEUP
|
||||
+
|
||||
+int quickwakeup_register(struct quickwakeup_ops *ops);
|
||||
+void quickwakeup_unregister(struct quickwakeup_ops *ops);
|
||||
+bool quickwakeup_suspend_again(void);
|
||||
+
|
||||
+#else
|
||||
+
|
||||
+static inline int quickwakeup_register(struct quickwakeup_ops *ops) { return 0; };
|
||||
+static inline void quickwakeup_unregister(struct quickwakeup_ops *ops) {};
|
||||
+static inline bool quickwakeup_suspend_again(void) { return 0; };
|
||||
+
|
||||
+#endif /* CONFIG_QUICK_WAKEUP */
|
||||
+
|
||||
+#endif /* __KERNEL__ */
|
||||
+
|
||||
+#endif /* _QUICKWAKEUP_H_ */
|
||||
diff --git a/kernel/power/Kconfig b/kernel/power/Kconfig
|
||||
index e536c8d..8006962 100644
|
||||
--- a/kernel/power/Kconfig
|
||||
+++ b/kernel/power/Kconfig
|
||||
@@ -83,20 +83,20 @@ config PM_STD_PARTITION
|
||||
default ""
|
||||
---help---
|
||||
The default resume partition is the partition that the suspend-
|
||||
- to-disk implementation will look for a suspended disk image.
|
||||
+ to-disk implementation will look for a suspended disk image.
|
||||
|
||||
- The partition specified here will be different for almost every user.
|
||||
+ The partition specified here will be different for almost every user.
|
||||
It should be a valid swap partition (at least for now) that is turned
|
||||
- on before suspending.
|
||||
+ on before suspending.
|
||||
|
||||
The partition specified can be overridden by specifying:
|
||||
|
||||
- resume=/dev/<other device>
|
||||
+ resume=/dev/<other device>
|
||||
|
||||
- which will set the resume partition to the device specified.
|
||||
+ which will set the resume partition to the device specified.
|
||||
|
||||
Note there is currently not a way to specify which device to save the
|
||||
- suspended image to. It will simply pick the first available swap
|
||||
+ suspended image to. It will simply pick the first available swap
|
||||
device.
|
||||
|
||||
config PM_SLEEP
|
||||
@@ -285,6 +285,14 @@ config SUSPEND_TIME
|
||||
Prints the time spent in suspend in the kernel log, and
|
||||
keeps statistics on the time spent in suspend in
|
||||
/sys/kernel/debug/suspend_time
|
||||
+
|
||||
+config QUICK_WAKEUP
|
||||
+ bool "Quick wakeup"
|
||||
+ depends on SUSPEND
|
||||
+ default n
|
||||
+ ---help---
|
||||
+ Allow kernel driver to do periodic jobs without resuming the full system
|
||||
+ This option can increase battery life on android powered smartphone.
|
||||
|
||||
config DEDUCE_WAKEUP_REASONS
|
||||
bool
|
||||
diff --git a/kernel/power/Makefile b/kernel/power/Makefile
|
||||
index 74c713b..e5bebbc 100644
|
||||
--- a/kernel/power/Makefile
|
||||
+++ b/kernel/power/Makefile
|
||||
@@ -14,5 +14,6 @@ obj-$(CONFIG_PM_WAKELOCKS) += wakelock.o
|
||||
obj-$(CONFIG_SUSPEND_TIME) += suspend_time.o
|
||||
|
||||
obj-$(CONFIG_MAGIC_SYSRQ) += poweroff.o
|
||||
+obj-$(CONFIG_QUICK_WAKEUP) += quickwakeup.o
|
||||
|
||||
obj-$(CONFIG_SUSPEND) += wakeup_reason.o
|
||||
diff --git a/kernel/power/quickwakeup.c b/kernel/power/quickwakeup.c
|
||||
new file mode 100644
|
||||
index 0000000..46f9dda
|
||||
--- /dev/null
|
||||
+++ b/kernel/power/quickwakeup.c
|
||||
@@ -0,0 +1,104 @@
|
||||
+/* kernel/power/quickwakeup.c
|
||||
+ *
|
||||
+ * Copyright (C) 2014 Motorola Mobility LLC.
|
||||
+ *
|
||||
+ * This software is licensed under the terms of the GNU General Public
|
||||
+ * License version 2, as published by the Free Software Foundation, and
|
||||
+ * may be copied, distributed, and modified under those terms.
|
||||
+ *
|
||||
+ * This program is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ * GNU General Public License for more details.
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+#include <linux/kernel.h>
|
||||
+#include <linux/list.h>
|
||||
+#include <linux/mutex.h>
|
||||
+#include <linux/quickwakeup.h>
|
||||
+
|
||||
+static LIST_HEAD(qw_head);
|
||||
+static DEFINE_MUTEX(list_lock);
|
||||
+
|
||||
+int quickwakeup_register(struct quickwakeup_ops *ops)
|
||||
+{
|
||||
+ mutex_lock(&list_lock);
|
||||
+ list_add(&ops->list, &qw_head);
|
||||
+ mutex_unlock(&list_lock);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+void quickwakeup_unregister(struct quickwakeup_ops *ops)
|
||||
+{
|
||||
+ mutex_lock(&list_lock);
|
||||
+ list_del(&ops->list);
|
||||
+ mutex_unlock(&list_lock);
|
||||
+}
|
||||
+
|
||||
+static int quickwakeup_check(void)
|
||||
+{
|
||||
+ int check = 0;
|
||||
+ struct quickwakeup_ops *index;
|
||||
+
|
||||
+ mutex_lock(&list_lock);
|
||||
+
|
||||
+ list_for_each_entry(index, &qw_head, list) {
|
||||
+ int ret = index->qw_check(index->data);
|
||||
+ index->execute = ret;
|
||||
+ check |= ret;
|
||||
+ pr_debug("%s: %s votes for %s\n", __func__, index->name,
|
||||
+ ret ? "execute" : "dont care");
|
||||
+ }
|
||||
+
|
||||
+ mutex_unlock(&list_lock);
|
||||
+
|
||||
+ return check;
|
||||
+}
|
||||
+
|
||||
+/* return 1 => suspend again
|
||||
+ return 0 => continue wakeup
|
||||
+ */
|
||||
+static int quickwakeup_execute(void)
|
||||
+{
|
||||
+ int suspend_again = 0;
|
||||
+ int final_vote = 1;
|
||||
+ struct quickwakeup_ops *index;
|
||||
+
|
||||
+ mutex_lock(&list_lock);
|
||||
+
|
||||
+ list_for_each_entry(index, &qw_head, list) {
|
||||
+ if (index->execute) {
|
||||
+ int ret = index->qw_execute(index->data);
|
||||
+ index->execute = 0;
|
||||
+ final_vote &= ret;
|
||||
+ suspend_again = final_vote;
|
||||
+ pr_debug("%s: %s votes for %s\n", __func__, index->name,
|
||||
+ ret ? "suspend again" : "wakeup");
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ mutex_unlock(&list_lock);
|
||||
+
|
||||
+ pr_debug("%s: %s\n", __func__,
|
||||
+ suspend_again ? "suspend again" : "wakeup");
|
||||
+
|
||||
+ return suspend_again;
|
||||
+}
|
||||
+
|
||||
+/* return 1 => suspend again
|
||||
+ return 0 => continue wakeup
|
||||
+ */
|
||||
+bool quickwakeup_suspend_again(void)
|
||||
+{
|
||||
+ int ret = 0;
|
||||
+
|
||||
+ if (quickwakeup_check())
|
||||
+ ret = quickwakeup_execute();
|
||||
+
|
||||
+ pr_debug("%s- returning %d %s\n", __func__, ret,
|
||||
+ ret ? "suspend again" : "wakeup");
|
||||
+
|
||||
+ return ret;
|
||||
+}
|
7297
Patches/OLD/bacon/Kernel-All/cm-12.1/11.patch
Normal file
7297
Patches/OLD/bacon/Kernel-All/cm-12.1/11.patch
Normal file
File diff suppressed because it is too large
Load diff
60
Patches/OLD/bacon/Kernel-All/cm-12.1/12.patch
Normal file
60
Patches/OLD/bacon/Kernel-All/cm-12.1/12.patch
Normal file
|
@ -0,0 +1,60 @@
|
|||
From ff6e26507b64befbf5e2bde395374aef4d2736d8 Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Tue, 26 May 2015 14:26:28 -0400
|
||||
Subject: [PATCH] Fix build failure
|
||||
|
||||
---
|
||||
kernel/time/alarmtimer.c | 23 ++++++++---------------
|
||||
1 file changed, 8 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/kernel/time/alarmtimer.c b/kernel/time/alarmtimer.c
|
||||
index f0239cc..c4f3fdd 100644
|
||||
--- a/kernel/time/alarmtimer.c
|
||||
+++ b/kernel/time/alarmtimer.c
|
||||
@@ -731,9 +731,6 @@ static int alarm_timer_create(struct k_itimer *new_timer)
|
||||
if (!alarmtimer_get_rtcdev())
|
||||
return -ENOTSUPP;
|
||||
|
||||
- if (flags & ~TIMER_ABSTIME)
|
||||
- return -EINVAL;
|
||||
-
|
||||
if (!capable(CAP_WAKE_ALARM))
|
||||
return -EPERM;
|
||||
|
||||
@@ -748,22 +745,18 @@ static int alarm_timer_create(struct k_itimer *new_timer)
|
||||
* @new_timer: k_itimer pointer
|
||||
* @cur_setting: itimerspec data to fill
|
||||
*
|
||||
- * Copies out the current itimerspec data
|
||||
+ * Copies the itimerspec data out from the k_itimer
|
||||
*/
|
||||
static void alarm_timer_get(struct k_itimer *timr,
|
||||
struct itimerspec *cur_setting)
|
||||
{
|
||||
- ktime_t relative_expiry_time =
|
||||
- alarm_expires_remaining(&(timr->it.alarm.alarmtimer));
|
||||
+ memset(cur_setting, 0, sizeof(struct itimerspec));
|
||||
|
||||
- if (ktime_to_ns(relative_expiry_time) > 0) {
|
||||
- cur_setting->it_value = ktime_to_timespec(relative_expiry_time);
|
||||
- } else {
|
||||
- cur_setting->it_value.tv_sec = 0;
|
||||
- cur_setting->it_value.tv_nsec = 0;
|
||||
- }
|
||||
-
|
||||
- cur_setting->it_interval = ktime_to_timespec(timr->it.alarm.interval);
|
||||
+ cur_setting->it_interval =
|
||||
+ ktime_to_timespec(timr->it.alarm.interval);
|
||||
+ cur_setting->it_value =
|
||||
+ ktime_to_timespec(timr->it.alarm.alarmtimer.node.expires);
|
||||
+ return;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1070,4 +1063,4 @@ static int __init alarmtimer_init(void)
|
||||
alarmtimer_rtc_interface_remove();
|
||||
return error;
|
||||
}
|
||||
-device_initcall(alarmtimer_init);
|
||||
+device_initcall(alarmtimer_init);
|
||||
\ No newline at end of file
|
22
Patches/OLD/bacon/Kernel-All/cm-12.1/13.patch
Normal file
22
Patches/OLD/bacon/Kernel-All/cm-12.1/13.patch
Normal file
|
@ -0,0 +1,22 @@
|
|||
From ac54ba51bc5bab561573b64d82f3ba2a066d5fde Mon Sep 17 00:00:00 2001
|
||||
From: YoshiShaPow <yoshipga@gmail.com>
|
||||
Date: Sat, 20 Dec 2014 12:05:19 -0800
|
||||
Subject: [PATCH] gcc5: arm: enable cortex_a15 optimization
|
||||
|
||||
---
|
||||
arch/arm/Makefile | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
|
||||
index e620786..0dd6592 100644
|
||||
--- a/arch/arm/Makefile
|
||||
+++ b/arch/arm/Makefile
|
||||
@@ -57,7 +57,7 @@ comma = ,
|
||||
# Note that GCC does not numerically define an architecture version
|
||||
# macro, but instead defines a whole series of macros which makes
|
||||
# testing for a specific architecture or later rather impossible.
|
||||
-arch-$(CONFIG_CPU_32v7) :=-D__LINUX_ARM_ARCH__=7 $(call cc-option,-march=armv7-a,-march=armv5t -Wa$(comma)-march=armv7-a)
|
||||
+arch-$(CONFIG_CPU_32v7) :=-D__LINUX_ARM_ARCH__=7 $(call cc-option,-march=armv7-a -mtune=cortex-a15 -Wa$(comma)-march=armv7-a)
|
||||
arch-$(CONFIG_CPU_32v6) :=-D__LINUX_ARM_ARCH__=6 $(call cc-option,-march=armv6,-march=armv5t -Wa$(comma)-march=armv6)
|
||||
# Only override the compiler option if ARMv6. The ARMv6K extensions are
|
||||
# always available in ARMv7
|
22
Patches/OLD/bacon/Kernel-All/cm-12.1/14.patch
Normal file
22
Patches/OLD/bacon/Kernel-All/cm-12.1/14.patch
Normal file
|
@ -0,0 +1,22 @@
|
|||
From 9e6be08fe83c1204f8076b86d1346f18f92b8e5d Mon Sep 17 00:00:00 2001
|
||||
From: franciscofranco <franciscofranco.1990@gmail.com>
|
||||
Date: Fri, 27 Feb 2015 15:59:50 +0000
|
||||
Subject: [PATCH] arm: use -mtune=cortex-a15 for Krait targets
|
||||
|
||||
Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>
|
||||
---
|
||||
arch/arm/Makefile | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
|
||||
index 0dd6592..37632ba 100644
|
||||
--- a/arch/arm/Makefile
|
||||
+++ b/arch/arm/Makefile
|
||||
@@ -102,6 +102,7 @@ tune-$(CONFIG_CPU_XSC3) :=$(call cc-option,-mtune=xscale,-mtune=strongarm110) -
|
||||
tune-$(CONFIG_CPU_FEROCEON) :=$(call cc-option,-mtune=marvell-f,-mtune=xscale)
|
||||
tune-$(CONFIG_CPU_V6) :=$(call cc-option,-mtune=arm1136j-s,-mtune=strongarm)
|
||||
tune-$(CONFIG_CPU_V6K) :=$(call cc-option,-mtune=arm1136j-s,-mtune=strongarm)
|
||||
+tune-$(CONFIG_ARCH_MSM_KRAIT) :=-mtune=cortex-a15
|
||||
|
||||
ifeq ($(CONFIG_AEABI),y)
|
||||
CFLAGS_ABI :=-mabi=aapcs-linux -mno-thumb-interwork
|
6254
Patches/OLD/bacon/Kernel-All/cm-12.1/2.patch
Normal file
6254
Patches/OLD/bacon/Kernel-All/cm-12.1/2.patch
Normal file
File diff suppressed because it is too large
Load diff
6948
Patches/OLD/bacon/Kernel-All/cm-12.1/3.patch
Normal file
6948
Patches/OLD/bacon/Kernel-All/cm-12.1/3.patch
Normal file
File diff suppressed because it is too large
Load diff
5502
Patches/OLD/bacon/Kernel-All/cm-12.1/4.patch
Normal file
5502
Patches/OLD/bacon/Kernel-All/cm-12.1/4.patch
Normal file
File diff suppressed because it is too large
Load diff
5075
Patches/OLD/bacon/Kernel-All/cm-12.1/5.patch
Normal file
5075
Patches/OLD/bacon/Kernel-All/cm-12.1/5.patch
Normal file
File diff suppressed because it is too large
Load diff
2313
Patches/OLD/bacon/Kernel-All/cm-12.1/6.patch
Normal file
2313
Patches/OLD/bacon/Kernel-All/cm-12.1/6.patch
Normal file
File diff suppressed because it is too large
Load diff
577
Patches/OLD/bacon/Kernel-All/cm-12.1/7.patch
Normal file
577
Patches/OLD/bacon/Kernel-All/cm-12.1/7.patch
Normal file
|
@ -0,0 +1,577 @@
|
|||
From 008b08d5d58744d8c1532dc9e48d54e1d34ae6a6 Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Sat, 17 Oct 2015 20:49:21 -0400
|
||||
Subject: [PATCH] Implement KEXEC
|
||||
|
||||
---
|
||||
arch/arm/Kconfig | 26 ++++++++++
|
||||
arch/arm/boot/compressed/head.S | 64 ++++++++++++++++++++++++
|
||||
arch/arm/configs/cyanogenmod_bacon_defconfig | 6 ++-
|
||||
arch/arm/include/asm/kexec.h | 8 +++
|
||||
arch/arm/kernel/machine_kexec.c | 58 +++++++++++++++++++--
|
||||
arch/arm/kernel/relocate_kernel.S | 75 ++++++++++++++++++++++++++++
|
||||
arch/arm/mach-msm/include/mach/memory.h | 16 ++++++
|
||||
arch/arm/mach-msm/oppo/board-8974-oppo.c | 27 ++++++++++
|
||||
arch/arm/mach-msm/restart.c | 28 +++++++++++
|
||||
include/linux/kexec.h | 19 +++++--
|
||||
kernel/kexec.c | 4 ++
|
||||
11 files changed, 322 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
|
||||
index 37d3c6d..f801a19 100644
|
||||
--- a/arch/arm/Kconfig
|
||||
+++ b/arch/arm/Kconfig
|
||||
@@ -2299,6 +2299,32 @@ config ATAGS_PROC
|
||||
Should the atags used to boot the kernel be exported in an "atags"
|
||||
file in procfs. Useful with kexec.
|
||||
|
||||
+config KEXEC_HARDBOOT
|
||||
+ bool "Support hard booting to a kexec kernel"
|
||||
+ depends on KEXEC
|
||||
+ help
|
||||
+ Allows hard booting (i.e., with a full hardware reboot) to a kernel
|
||||
+ previously loaded in memory by kexec. This works around the problem of
|
||||
+ soft-booted kernel hangs due to improper device shutdown and/or
|
||||
+ reinitialization. Support is comprised of two components:
|
||||
+
|
||||
+ First, a "hardboot" flag is added to the kexec syscall to force a hard
|
||||
+ reboot in relocate_new_kernel() (which requires machine-specific assembly
|
||||
+ code). This also requires the kexec userspace tool to load the kexec'd
|
||||
+ kernel in memory region left untouched by the bootloader (i.e., not
|
||||
+ explicitly cleared and not overwritten by the boot kernel). Just prior
|
||||
+ to reboot, the kexec kernel arguments are stashed in a machine-specific
|
||||
+ memory page that must also be preserved. Note that this hardboot page
|
||||
+ need not be reserved during regular kernel execution.
|
||||
+
|
||||
+ Second, the zImage decompresor of the boot (bootloader-loaded) kernel is
|
||||
+ modified to check the hardboot page for fresh kexec arguments, and if
|
||||
+ present, attempts to jump to the kexec'd kernel preserved in memory.
|
||||
+
|
||||
+ Note that hardboot support is only required in the boot kernel and any
|
||||
+ kernel capable of performing a hardboot kexec. It is _not_ required by a
|
||||
+ kexec'd kernel.
|
||||
+
|
||||
config CRASH_DUMP
|
||||
bool "Build kdump crash kernel (EXPERIMENTAL)"
|
||||
depends on EXPERIMENTAL
|
||||
diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S
|
||||
index d3892ef..be05aa1 100644
|
||||
--- a/arch/arm/boot/compressed/head.S
|
||||
+++ b/arch/arm/boot/compressed/head.S
|
||||
@@ -11,6 +11,12 @@
|
||||
#include <linux/linkage.h>
|
||||
|
||||
.arch armv7-a
|
||||
+
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ #include <asm/kexec.h>
|
||||
+ #include <asm/memory.h>
|
||||
+#endif
|
||||
+
|
||||
/*
|
||||
* Debugging stuff
|
||||
*
|
||||
@@ -136,6 +142,64 @@ start:
|
||||
1: mov r7, r1 @ save architecture ID
|
||||
mov r8, r2 @ save atags pointer
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ /* Check hardboot page for a kexec kernel. */
|
||||
+ ldr r3, =KEXEC_HB_PAGE_ADDR
|
||||
+ ldr r0, [r3]
|
||||
+ ldr r1, =KEXEC_HB_PAGE_MAGIC
|
||||
+ teq r0, r1
|
||||
+ bne not_booting_other
|
||||
+
|
||||
+ /* Clear hardboot page magic to avoid boot loop. */
|
||||
+ mov r0, #0
|
||||
+ str r0, [r3]
|
||||
+
|
||||
+ /*
|
||||
+ * Copy dtb from location up high in memory to default location.
|
||||
+ * Kernel freezes if this is not done.
|
||||
+ */
|
||||
+ ldr r1, [r3, #12] @ kexec_boot_atags
|
||||
+ ldr r2, [r3, #16] @ kexec_boot_atags_len
|
||||
+ mov r5, #0 @ iterator
|
||||
+catags_cpy:
|
||||
+ ldr r0, [r1, r5] @ from kexec_boot_atags
|
||||
+ str r0, [r8, r5] @ to atags_pointer
|
||||
+ add r5, r5, #4
|
||||
+ cmp r5, r2
|
||||
+ blo catags_cpy
|
||||
+
|
||||
+#ifdef KEXEC_HB_KERNEL_LOC
|
||||
+ /*
|
||||
+ * Copy kernel from location up high in memory to location in first 128MB.
|
||||
+ * Bootloader on hammerhead erases first 128MB of ram on reboot, so it can't
|
||||
+ * be in there before reboot, but decompressing in location above 128MB takes
|
||||
+ * a long time. This memcpy is much quicker, for some reason.
|
||||
+ */
|
||||
+ ldr r2, [r3, #4] @ kexec_start_address
|
||||
+ ldr r4, [r3, #20] @ kexec_kernel_len
|
||||
+ ldr r6, =KEXEC_HB_KERNEL_LOC @ target
|
||||
+ mov r5, #0 @ iterator
|
||||
+kernel_cpy:
|
||||
+ ldr r0, [r2, r5] @ from kexec_start_address
|
||||
+ str r0, [r6, r5] @ to KEXEC_HB_KERNEL_LOC
|
||||
+ add r5, r5, #4
|
||||
+ cmp r5, r4
|
||||
+ blo kernel_cpy
|
||||
+#else
|
||||
+ ldr r6, [r3, #4] @ kexec_start_address
|
||||
+#endif
|
||||
+
|
||||
+ /* set registers and boot kexecd' kernel */
|
||||
+ mov r0, #0
|
||||
+ ldr r1, [r3, #8] @ kexec_mach_type
|
||||
+ mov r2, r8 @ atags pointer
|
||||
+ mov pc, r6
|
||||
+
|
||||
+ .ltorg
|
||||
+
|
||||
+not_booting_other:
|
||||
+#endif
|
||||
+
|
||||
#ifndef __ARM_ARCH_2__
|
||||
/*
|
||||
* Booting from Angel - need to enter SVC mode and disable
|
||||
diff --git a/arch/arm/configs/cyanogenmod_bacon_defconfig b/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
index 6384191..ac68dba 100644
|
||||
--- a/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
+++ b/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
@@ -693,7 +693,9 @@ CONFIG_ZBOOT_ROM_BSS=0
|
||||
# CONFIG_ARM_APPENDED_DTB is not set
|
||||
CONFIG_CMDLINE=""
|
||||
# CONFIG_XIP_KERNEL is not set
|
||||
-# CONFIG_KEXEC is not set
|
||||
+CONFIG_KEXEC=y
|
||||
+CONFIG_KEXEC_HARDBOOT=y
|
||||
+CONFIG_ATAGS_PROC=n
|
||||
# CONFIG_CRASH_DUMP is not set
|
||||
# CONFIG_AUTO_ZRELADDR is not set
|
||||
|
||||
@@ -1283,7 +1285,7 @@ CONFIG_OF=y
|
||||
#
|
||||
# Device Tree and Open Firmware support
|
||||
#
|
||||
-# CONFIG_PROC_DEVICETREE is not set
|
||||
+CONFIG_PROC_DEVICETREE=y
|
||||
# CONFIG_OF_SELFTEST is not set
|
||||
CONFIG_OF_FLATTREE=y
|
||||
CONFIG_OF_EARLY_FLATTREE=y
|
||||
diff --git a/arch/arm/include/asm/kexec.h b/arch/arm/include/asm/kexec.h
|
||||
index c2b9b4b..564c55b 100644
|
||||
--- a/arch/arm/include/asm/kexec.h
|
||||
+++ b/arch/arm/include/asm/kexec.h
|
||||
@@ -17,6 +17,10 @@
|
||||
#define KEXEC_ARM_ATAGS_OFFSET 0x1000
|
||||
#define KEXEC_ARM_ZIMAGE_OFFSET 0x8000
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ #define KEXEC_HB_PAGE_MAGIC 0x4a5db007
|
||||
+#endif
|
||||
+
|
||||
#ifndef __ASSEMBLY__
|
||||
|
||||
/**
|
||||
@@ -53,6 +57,10 @@ static inline void crash_setup_regs(struct pt_regs *newregs,
|
||||
/* Function pointer to optional machine-specific reinitialization */
|
||||
extern void (*kexec_reinit)(void);
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+extern void (*kexec_hardboot_hook)(void);
|
||||
+#endif
|
||||
+
|
||||
#endif /* __ASSEMBLY__ */
|
||||
|
||||
#endif /* CONFIG_KEXEC */
|
||||
diff --git a/arch/arm/kernel/machine_kexec.c b/arch/arm/kernel/machine_kexec.c
|
||||
index 357b651..29cdd2f 100644
|
||||
--- a/arch/arm/kernel/machine_kexec.c
|
||||
+++ b/arch/arm/kernel/machine_kexec.c
|
||||
@@ -14,6 +14,9 @@
|
||||
#include <asm/cacheflush.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/system_misc.h>
|
||||
+#include <linux/memblock.h>
|
||||
+#include <linux/of_fdt.h>
|
||||
+#include <asm/mmu_writeable.h>
|
||||
|
||||
extern const unsigned char relocate_new_kernel[];
|
||||
extern const unsigned int relocate_new_kernel_size;
|
||||
@@ -22,6 +25,12 @@ extern unsigned long kexec_start_address;
|
||||
extern unsigned long kexec_indirection_page;
|
||||
extern unsigned long kexec_mach_type;
|
||||
extern unsigned long kexec_boot_atags;
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+extern unsigned long kexec_hardboot;
|
||||
+extern unsigned long kexec_boot_atags_len;
|
||||
+extern unsigned long kexec_kernel_len;
|
||||
+void (*kexec_hardboot_hook)(void);
|
||||
+#endif
|
||||
|
||||
static atomic_t waiting_for_crash_ipi;
|
||||
|
||||
@@ -32,6 +41,37 @@ static atomic_t waiting_for_crash_ipi;
|
||||
|
||||
int machine_kexec_prepare(struct kimage *image)
|
||||
{
|
||||
+ struct kexec_segment *current_segment;
|
||||
+ __be32 header;
|
||||
+ int i, err;
|
||||
+
|
||||
+ /* No segment at default ATAGs address. try to locate
|
||||
+ * a dtb using magic */
|
||||
+ for (i = 0; i < image->nr_segments; i++) {
|
||||
+ current_segment = &image->segment[i];
|
||||
+
|
||||
+ err = memblock_is_region_memory(current_segment->mem,
|
||||
+ current_segment->memsz);
|
||||
+ if (!err)
|
||||
+ return - EINVAL;
|
||||
+
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ if(current_segment->mem == image->start)
|
||||
+ mem_text_write_kernel_word(&kexec_kernel_len, current_segment->memsz);
|
||||
+#endif
|
||||
+
|
||||
+ err = get_user(header, (__be32*)current_segment->buf);
|
||||
+ if (err)
|
||||
+ return err;
|
||||
+
|
||||
+ if (be32_to_cpu(header) == OF_DT_HEADER)
|
||||
+ {
|
||||
+ mem_text_write_kernel_word(&kexec_boot_atags, current_segment->mem);
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ mem_text_write_kernel_word(&kexec_boot_atags_len, current_segment->memsz);
|
||||
+#endif
|
||||
+ }
|
||||
+ }
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -123,10 +163,14 @@ void machine_kexec(struct kimage *image)
|
||||
reboot_code_buffer = page_address(image->control_code_page);
|
||||
|
||||
/* Prepare parameters for reboot_code_buffer*/
|
||||
- kexec_start_address = image->start;
|
||||
- kexec_indirection_page = page_list;
|
||||
- kexec_mach_type = machine_arch_type;
|
||||
- kexec_boot_atags = image->start - KEXEC_ARM_ZIMAGE_OFFSET + KEXEC_ARM_ATAGS_OFFSET;
|
||||
+ mem_text_write_kernel_word(&kexec_start_address, image->start);
|
||||
+ mem_text_write_kernel_word(&kexec_indirection_page, page_list);
|
||||
+ mem_text_write_kernel_word(&kexec_mach_type, machine_arch_type);
|
||||
+ if (!kexec_boot_atags)
|
||||
+ mem_text_write_kernel_word(&kexec_boot_atags, image->start - KEXEC_ARM_ZIMAGE_OFFSET + KEXEC_ARM_ATAGS_OFFSET);
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ mem_text_write_kernel_word(&kexec_hardboot, image->hardboot);
|
||||
+#endif
|
||||
|
||||
/* copy our kernel relocation code to the control code page */
|
||||
memcpy(reboot_code_buffer,
|
||||
@@ -140,6 +184,12 @@ void machine_kexec(struct kimage *image)
|
||||
if (kexec_reinit)
|
||||
kexec_reinit();
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ /* Run any final machine-specific shutdown code. */
|
||||
+ if (image->hardboot && kexec_hardboot_hook)
|
||||
+ kexec_hardboot_hook();
|
||||
+#endif
|
||||
+
|
||||
soft_restart(reboot_code_buffer_phys);
|
||||
}
|
||||
|
||||
diff --git a/arch/arm/kernel/relocate_kernel.S b/arch/arm/kernel/relocate_kernel.S
|
||||
index d0cdedf..0e45ffc 100644
|
||||
--- a/arch/arm/kernel/relocate_kernel.S
|
||||
+++ b/arch/arm/kernel/relocate_kernel.S
|
||||
@@ -4,6 +4,15 @@
|
||||
|
||||
#include <asm/kexec.h>
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+#include <asm/memory.h>
|
||||
+#if defined(CONFIG_ARCH_TEGRA_2x_SOC) || defined(CONFIG_ARCH_TEGRA_3x_SOC)
|
||||
+ #include <mach/iomap.h>
|
||||
+#elif defined(CONFIG_ARCH_APQ8064) || defined(CONFIG_ARCH_MSM8974)
|
||||
+ #include <mach/msm_iomap.h>
|
||||
+#endif
|
||||
+#endif
|
||||
+
|
||||
.globl relocate_new_kernel
|
||||
relocate_new_kernel:
|
||||
|
||||
@@ -52,6 +61,12 @@ relocate_new_kernel:
|
||||
b 0b
|
||||
|
||||
2:
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ ldr r0, kexec_hardboot
|
||||
+ teq r0, #0
|
||||
+ bne hardboot
|
||||
+#endif
|
||||
+
|
||||
/* Jump to relocated kernel */
|
||||
mov lr,r1
|
||||
mov r0,#0
|
||||
@@ -60,6 +75,52 @@ relocate_new_kernel:
|
||||
ARM( mov pc, lr )
|
||||
THUMB( bx lr )
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+hardboot:
|
||||
+ /* Stash boot arguments in hardboot page:
|
||||
+ * 0: KEXEC_HB_PAGE_MAGIC
|
||||
+ * 4: kexec_start_address
|
||||
+ * 8: kexec_mach_type
|
||||
+ * 12: kexec_boot_atags
|
||||
+ * 16: kexec_boot_atags_len
|
||||
+ * 20: kexec_kernel_len */
|
||||
+ ldr r0, =KEXEC_HB_PAGE_ADDR
|
||||
+ str r1, [r0, #4]
|
||||
+ ldr r1, kexec_mach_type
|
||||
+ str r1, [r0, #8]
|
||||
+ ldr r1, kexec_boot_atags
|
||||
+ str r1, [r0, #12]
|
||||
+ ldr r1, kexec_boot_atags_len
|
||||
+ str r1, [r0, #16]
|
||||
+ ldr r1, kexec_kernel_len
|
||||
+ str r1, [r0, #20]
|
||||
+ ldr r1, =KEXEC_HB_PAGE_MAGIC
|
||||
+ str r1, [r0]
|
||||
+
|
||||
+#if defined(CONFIG_ARCH_TEGRA_2x_SOC) || defined(CONFIG_ARCH_TEGRA_3x_SOC)
|
||||
+ ldr r0, =TEGRA_PMC_BASE
|
||||
+ ldr r1, [r0]
|
||||
+ orr r1, r1, #0x10
|
||||
+ str r1, [r0]
|
||||
+loop: b loop
|
||||
+#elif defined(CONFIG_ARCH_APQ8064)
|
||||
+ /* Restart using the PMIC chip, see mach-msm/restart.c */
|
||||
+ ldr r0, =APQ8064_TLMM_PHYS
|
||||
+ mov r1, #0
|
||||
+ str r1, [r0, #0x820] @ PSHOLD_CTL_SU
|
||||
+loop: b loop
|
||||
+#elif defined(CONFIG_ARCH_MSM8974)
|
||||
+ /* Restart using the PMIC chip, see mach-msm/restart.c */
|
||||
+ ldr r0, =MSM8974_MPM2_PSHOLD_PHYS
|
||||
+ mov r1, #0
|
||||
+ str r1, [r0, #0]
|
||||
+loop: b loop
|
||||
+#else
|
||||
+#error "No reboot method defined for hardboot."
|
||||
+#endif
|
||||
+
|
||||
+ .ltorg
|
||||
+#endif
|
||||
.align
|
||||
|
||||
.globl kexec_start_address
|
||||
@@ -79,6 +140,20 @@ kexec_mach_type:
|
||||
kexec_boot_atags:
|
||||
.long 0x0
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ .globl kexec_boot_atags_len
|
||||
+kexec_boot_atags_len:
|
||||
+ .long 0x0
|
||||
+
|
||||
+ .globl kexec_kernel_len
|
||||
+kexec_kernel_len:
|
||||
+ .long 0x0
|
||||
+
|
||||
+ .globl kexec_hardboot
|
||||
+kexec_hardboot:
|
||||
+ .long 0x0
|
||||
+#endif
|
||||
+
|
||||
relocate_new_kernel_end:
|
||||
|
||||
.globl relocate_new_kernel_size
|
||||
diff --git a/arch/arm/mach-msm/include/mach/memory.h b/arch/arm/mach-msm/include/mach/memory.h
|
||||
index 9225230..1c87b96 100644
|
||||
--- a/arch/arm/mach-msm/include/mach/memory.h
|
||||
+++ b/arch/arm/mach-msm/include/mach/memory.h
|
||||
@@ -20,6 +20,22 @@
|
||||
/* physical offset of RAM */
|
||||
#define PLAT_PHYS_OFFSET UL(CONFIG_PHYS_OFFSET)
|
||||
|
||||
+#if defined(CONFIG_KEXEC_HARDBOOT)
|
||||
+#if defined(CONFIG_MACH_APQ8064_FLO)
|
||||
+#define KEXEC_HB_PAGE_ADDR UL(0x88C00000)
|
||||
+#elif defined(CONFIG_MACH_APQ8064_MAKO)
|
||||
+#define KEXEC_HB_PAGE_ADDR UL(0x88600000)
|
||||
+#elif defined(CONFIG_MACH_MSM8974_HAMMERHEAD)
|
||||
+#define KEXEC_HB_PAGE_ADDR UL(0x10100000)
|
||||
+#define KEXEC_HB_KERNEL_LOC UL(0x3208000)
|
||||
+#elif defined(CONFIG_MACH_OPPO_MSM8974)
|
||||
+#define KEXEC_HB_PAGE_ADDR UL(0x2F600000)
|
||||
+#define KEXEC_HB_KERNEL_LOC UL(0x3208000)
|
||||
+#else
|
||||
+#error "Adress for kexec hardboot page not defined"
|
||||
+#endif
|
||||
+#endif
|
||||
+
|
||||
#ifndef __ASSEMBLY__
|
||||
void clean_and_invalidate_caches(unsigned long, unsigned long, unsigned long);
|
||||
void clean_caches(unsigned long, unsigned long, unsigned long);
|
||||
diff --git a/arch/arm/mach-msm/oppo/board-8974-oppo.c b/arch/arm/mach-msm/oppo/board-8974-oppo.c
|
||||
index eb24545..10bbbda 100644
|
||||
--- a/arch/arm/mach-msm/oppo/board-8974-oppo.c
|
||||
+++ b/arch/arm/mach-msm/oppo/board-8974-oppo.c
|
||||
@@ -54,6 +54,13 @@
|
||||
|
||||
#include <linux/pcb_version.h>
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+#include <asm/setup.h>
|
||||
+#include <asm/memory.h>
|
||||
+#include <linux/memblock.h>
|
||||
+#define OPPO_PERSISTENT_RAM_SIZE (SZ_1M)
|
||||
+#endif
|
||||
+
|
||||
static struct platform_device *ram_console_dev;
|
||||
|
||||
static struct persistent_ram_descriptor msm_prd[] __initdata = {
|
||||
@@ -72,6 +79,26 @@ static struct persistent_ram msm_pr __initdata = {
|
||||
|
||||
void __init msm_8974_reserve(void)
|
||||
{
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ // Reserve space for hardboot page - just after ram_console,
|
||||
+ // at the start of second memory bank
|
||||
+ int ret;
|
||||
+ phys_addr_t start;
|
||||
+ struct membank* bank;
|
||||
+
|
||||
+ if (meminfo.nr_banks < 2) {
|
||||
+ pr_err("%s: not enough membank\n", __func__);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ bank = &meminfo.bank[1];
|
||||
+ start = bank->start + SZ_1M + OPPO_PERSISTENT_RAM_SIZE;
|
||||
+ ret = memblock_remove(start, SZ_1M);
|
||||
+ if(!ret)
|
||||
+ pr_info("Hardboot page reserved at 0x%X\n", start);
|
||||
+ else
|
||||
+ pr_err("Failed to reserve space for hardboot page at 0x%X!\n", start);
|
||||
+#endif
|
||||
persistent_ram_early_init(&msm_pr);
|
||||
of_scan_flat_dt(dt_scan_for_memory_reserve, NULL);
|
||||
}
|
||||
diff --git a/arch/arm/mach-msm/restart.c b/arch/arm/mach-msm/restart.c
|
||||
index a04ab8d..fe89976 100644
|
||||
--- a/arch/arm/mach-msm/restart.c
|
||||
+++ b/arch/arm/mach-msm/restart.c
|
||||
@@ -38,6 +38,10 @@
|
||||
#include "timer.h"
|
||||
#include "wdog_debug.h"
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+#include <asm/kexec.h>
|
||||
+#endif
|
||||
+
|
||||
#define WDT0_RST 0x38
|
||||
#define WDT0_EN 0x40
|
||||
#define WDT0_BARK_TIME 0x4C
|
||||
@@ -373,6 +377,26 @@ static int __init msm_pmic_restart_init(void)
|
||||
|
||||
late_initcall(msm_pmic_restart_init);
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+static void msm_kexec_hardboot_hook(void)
|
||||
+{
|
||||
+ set_dload_mode(0);
|
||||
+
|
||||
+ // Set PMIC to restart-on-poweroff
|
||||
+ pm8xxx_reset_pwr_off(1);
|
||||
+
|
||||
+ // These are executed on normal reboot, but with kexec-hardboot,
|
||||
+ // they reboot/panic the system immediately.
|
||||
+#if 0
|
||||
+ qpnp_pon_system_pwr_off(PON_POWER_OFF_WARM_RESET);
|
||||
+
|
||||
+ /* Needed to bypass debug image on some chips */
|
||||
+ msm_disable_wdog_debug();
|
||||
+ halt_spmi_pmic_arbiter();
|
||||
+#endif
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
static int __init msm_restart_init(void)
|
||||
{
|
||||
#ifdef CONFIG_MSM_DLOAD_MODE
|
||||
@@ -392,6 +416,10 @@ static int __init msm_restart_init(void)
|
||||
if (scm_is_call_available(SCM_SVC_PWR, SCM_IO_DISABLE_PMIC_ARBITER) > 0)
|
||||
scm_pmic_arbiter_disable_supported = true;
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ kexec_hardboot_hook = msm_kexec_hardboot_hook;
|
||||
+#endif
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
early_initcall(msm_restart_init);
|
||||
diff --git a/include/linux/kexec.h b/include/linux/kexec.h
|
||||
index af84a25..a4509ad 100644
|
||||
--- a/include/linux/kexec.h
|
||||
+++ b/include/linux/kexec.h
|
||||
@@ -111,6 +111,10 @@ struct kimage {
|
||||
#define KEXEC_TYPE_CRASH 1
|
||||
unsigned int preserve_context : 1;
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ unsigned int hardboot : 1;
|
||||
+#endif
|
||||
+
|
||||
#ifdef ARCH_HAS_KIMAGE_ARCH
|
||||
struct kimage_arch arch;
|
||||
#endif
|
||||
@@ -178,6 +182,11 @@ extern struct kimage *kexec_crash_image;
|
||||
|
||||
#define KEXEC_ON_CRASH 0x00000001
|
||||
#define KEXEC_PRESERVE_CONTEXT 0x00000002
|
||||
+
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+#define KEXEC_HARDBOOT 0x00000004
|
||||
+#endif
|
||||
+
|
||||
#define KEXEC_ARCH_MASK 0xffff0000
|
||||
|
||||
/* These values match the ELF architecture values.
|
||||
@@ -196,10 +205,14 @@ extern struct kimage *kexec_crash_image;
|
||||
#define KEXEC_ARCH_MIPS ( 8 << 16)
|
||||
|
||||
/* List of defined/legal kexec flags */
|
||||
-#ifndef CONFIG_KEXEC_JUMP
|
||||
-#define KEXEC_FLAGS KEXEC_ON_CRASH
|
||||
-#else
|
||||
+#if defined(CONFIG_KEXEC_JUMP) && defined(CONFIG_KEXEC_HARDBOOT)
|
||||
+#define KEXEC_FLAGS (KEXEC_ON_CRASH | KEXEC_PRESERVE_CONTEXT | KEXEC_HARDBOOT)
|
||||
+#elif defined(CONFIG_KEXEC_JUMP)
|
||||
#define KEXEC_FLAGS (KEXEC_ON_CRASH | KEXEC_PRESERVE_CONTEXT)
|
||||
+#elif defined(CONFIG_KEXEC_HARDBOOT)
|
||||
+#define KEXEC_FLAGS (KEXEC_ON_CRASH | KEXEC_HARDBOOT)
|
||||
+#else
|
||||
+#define KEXEC_FLAGS (KEXEC_ON_CRASH)
|
||||
#endif
|
||||
|
||||
#define VMCOREINFO_BYTES (4096)
|
||||
diff --git a/kernel/kexec.c b/kernel/kexec.c
|
||||
index 4e2e472..aef7893 100644
|
||||
--- a/kernel/kexec.c
|
||||
+++ b/kernel/kexec.c
|
||||
@@ -1004,6 +1004,10 @@ SYSCALL_DEFINE4(kexec_load, unsigned long, entry, unsigned long, nr_segments,
|
||||
|
||||
if (flags & KEXEC_PRESERVE_CONTEXT)
|
||||
image->preserve_context = 1;
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ if (flags & KEXEC_HARDBOOT)
|
||||
+ image->hardboot = 1;
|
||||
+#endif
|
||||
result = machine_kexec_prepare(image);
|
||||
if (result)
|
||||
goto out;
|
706
Patches/OLD/bacon/Kernel-All/cm-12.1/8.patch
Normal file
706
Patches/OLD/bacon/Kernel-All/cm-12.1/8.patch
Normal file
|
@ -0,0 +1,706 @@
|
|||
From 1f7530cfcad8e25223a2a9a9b70cdb0f3c4d1442 Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Sat, 17 Oct 2015 20:49:57 -0400
|
||||
Subject: [PATCH] Overclocked to 2.8Ghz, underclocked to 268Mhz
|
||||
|
||||
---
|
||||
arch/arm/boot/dts/msm8974-v2.dtsi | 2 +-
|
||||
arch/arm/boot/dts/msm8974pro-pm8941.dtsi | 8 +-
|
||||
.../arm/boot/dts/msm8974pro-pma8084-regulator.dtsi | 16 +-
|
||||
arch/arm/boot/dts/msm8974pro.dtsi | 190 ++++++++++++++++++---
|
||||
4 files changed, 179 insertions(+), 37 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/msm8974-v2.dtsi b/arch/arm/boot/dts/msm8974-v2.dtsi
|
||||
index 04769bd..8739175 100644
|
||||
--- a/arch/arm/boot/dts/msm8974-v2.dtsi
|
||||
+++ b/arch/arm/boot/dts/msm8974-v2.dtsi
|
||||
@@ -135,7 +135,7 @@
|
||||
<1880000 2068000>,
|
||||
<3008000 3309000>,
|
||||
<3760000 4136000>,
|
||||
- <4468000 2457000>;
|
||||
+ <4468000 2457600>;
|
||||
qcom,dec-ocmem-ab-ib = <0 0>,
|
||||
<176000 519000>,
|
||||
<456000 519000>,
|
||||
diff --git a/arch/arm/boot/dts/msm8974pro-pm8941.dtsi b/arch/arm/boot/dts/msm8974pro-pm8941.dtsi
|
||||
index 89939e6..d76e4bd 100644
|
||||
--- a/arch/arm/boot/dts/msm8974pro-pm8941.dtsi
|
||||
+++ b/arch/arm/boot/dts/msm8974pro-pm8941.dtsi
|
||||
@@ -39,22 +39,22 @@
|
||||
};
|
||||
|
||||
&krait0_vreg {
|
||||
- regulator-max-microvolt = <1120000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
qcom,ldo-delta-voltage = <12500>;
|
||||
};
|
||||
|
||||
&krait1_vreg {
|
||||
- regulator-max-microvolt = <1120000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
qcom,ldo-delta-voltage = <12500>;
|
||||
};
|
||||
|
||||
&krait2_vreg {
|
||||
- regulator-max-microvolt = <1120000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
qcom,ldo-delta-voltage = <12500>;
|
||||
};
|
||||
|
||||
&krait3_vreg {
|
||||
- regulator-max-microvolt = <1120000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
qcom,ldo-delta-voltage = <12500>;
|
||||
};
|
||||
|
||||
diff --git a/arch/arm/boot/dts/msm8974pro-pma8084-regulator.dtsi b/arch/arm/boot/dts/msm8974pro-pma8084-regulator.dtsi
|
||||
index 433d466..428a520 100644
|
||||
--- a/arch/arm/boot/dts/msm8974pro-pma8084-regulator.dtsi
|
||||
+++ b/arch/arm/boot/dts/msm8974pro-pma8084-regulator.dtsi
|
||||
@@ -492,9 +492,9 @@
|
||||
<0xf908a800 0x1000>; /* APCS_ALIAS0_KPSS_MDD */
|
||||
reg-names = "acs", "mdd";
|
||||
regulator-min-microvolt = <500000>;
|
||||
- regulator-max-microvolt = <1120000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
qcom,headroom-voltage = <150000>;
|
||||
- qcom,retention-voltage = <675000>;
|
||||
+ qcom,retention-voltage = <600000>;
|
||||
qcom,ldo-default-voltage = <750000>;
|
||||
qcom,ldo-threshold-voltage = <850000>;
|
||||
qcom,ldo-delta-voltage = <12500>;
|
||||
@@ -508,9 +508,9 @@
|
||||
<0xf909a800 0x1000>; /* APCS_ALIAS1_KPSS_MDD */
|
||||
reg-names = "acs", "mdd";
|
||||
regulator-min-microvolt = <500000>;
|
||||
- regulator-max-microvolt = <1120000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
qcom,headroom-voltage = <150000>;
|
||||
- qcom,retention-voltage = <675000>;
|
||||
+ qcom,retention-voltage = <600000>;
|
||||
qcom,ldo-default-voltage = <750000>;
|
||||
qcom,ldo-threshold-voltage = <850000>;
|
||||
qcom,ldo-delta-voltage = <12500>;
|
||||
@@ -524,9 +524,9 @@
|
||||
<0xf90aa800 0x1000>; /* APCS_ALIAS2_KPSS_MDD */
|
||||
reg-names = "acs", "mdd";
|
||||
regulator-min-microvolt = <500000>;
|
||||
- regulator-max-microvolt = <1120000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
qcom,headroom-voltage = <150000>;
|
||||
- qcom,retention-voltage = <675000>;
|
||||
+ qcom,retention-voltage = <600000>;
|
||||
qcom,ldo-default-voltage = <750000>;
|
||||
qcom,ldo-threshold-voltage = <850000>;
|
||||
qcom,ldo-delta-voltage = <12500>;
|
||||
@@ -540,9 +540,9 @@
|
||||
<0xf90ba800 0x1000>; /* APCS_ALIAS3_KPSS_MDD */
|
||||
reg-names = "acs", "mdd";
|
||||
regulator-min-microvolt = <500000>;
|
||||
- regulator-max-microvolt = <1120000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
qcom,headroom-voltage = <150000>;
|
||||
- qcom,retention-voltage = <675000>;
|
||||
+ qcom,retention-voltage = <600000>;
|
||||
qcom,ldo-default-voltage = <750000>;
|
||||
qcom,ldo-threshold-voltage = <850000>;
|
||||
qcom,ldo-delta-voltage = <12500>;
|
||||
diff --git a/arch/arm/boot/dts/msm8974pro.dtsi b/arch/arm/boot/dts/msm8974pro.dtsi
|
||||
index c50b379..ebb5112 100644
|
||||
--- a/arch/arm/boot/dts/msm8974pro.dtsi
|
||||
+++ b/arch/arm/boot/dts/msm8974pro.dtsi
|
||||
@@ -90,6 +90,7 @@
|
||||
qcom,clock-krait@f9016000 {
|
||||
qcom,speed1-pvs0-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 74 >,
|
||||
< 345600000 775000 85 >,
|
||||
< 422400000 775000 104 >,
|
||||
@@ -121,6 +122,7 @@
|
||||
|
||||
qcom,speed1-pvs1-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 74 >,
|
||||
< 345600000 775000 85 >,
|
||||
< 422400000 775000 104 >,
|
||||
@@ -152,6 +154,7 @@
|
||||
|
||||
qcom,speed1-pvs2-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 74 >,
|
||||
< 345600000 750000 85 >,
|
||||
< 422400000 750000 104 >,
|
||||
@@ -183,6 +186,7 @@
|
||||
|
||||
qcom,speed1-pvs3-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 74 >,
|
||||
< 345600000 750000 85 >,
|
||||
< 422400000 750000 104 >,
|
||||
@@ -214,6 +218,7 @@
|
||||
|
||||
qcom,speed1-pvs4-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 74 >,
|
||||
< 345600000 750000 85 >,
|
||||
< 422400000 750000 104 >,
|
||||
@@ -245,6 +250,7 @@
|
||||
|
||||
qcom,speed1-pvs5-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 720000 68 >,
|
||||
< 300000000 725000 74 >,
|
||||
< 345600000 725000 85 >,
|
||||
< 422400000 725000 104 >,
|
||||
@@ -276,6 +282,7 @@
|
||||
|
||||
qcom,speed1-pvs6-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 720000 68 >,
|
||||
< 300000000 725000 74 >,
|
||||
< 345600000 725000 85 >,
|
||||
< 422400000 725000 104 >,
|
||||
@@ -307,6 +314,7 @@
|
||||
|
||||
qcom,speed3-pvs0-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 106 >,
|
||||
@@ -337,10 +345,14 @@
|
||||
< 2265600000 1065000 700 >,
|
||||
< 2342400000 1080000 734 >,
|
||||
< 2419200000 1095000 769 >,
|
||||
- < 2457600000 1100000 785 >;
|
||||
+ < 2457600000 1100000 785 >,
|
||||
+ < 2572800000 1145000 827 >,
|
||||
+ < 2726400000 1205000 900 >,
|
||||
+ < 2880000000 1235000 937 >;
|
||||
|
||||
qcom,speed3-pvs1-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 106 >,
|
||||
@@ -371,10 +383,14 @@
|
||||
< 2265600000 1040000 700 >,
|
||||
< 2342400000 1055000 734 >,
|
||||
< 2419200000 1070000 769 >,
|
||||
- < 2457600000 1075000 785 >;
|
||||
+ < 2457600000 1075000 785 >,
|
||||
+ < 2572800000 1145000 827 >,
|
||||
+ < 2726400000 1205000 900 >,
|
||||
+ < 2880000000 1235000 937 >;
|
||||
|
||||
qcom,speed3-pvs2-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -405,10 +421,14 @@
|
||||
< 2265600000 1015000 700 >,
|
||||
< 2342400000 1030000 734 >,
|
||||
< 2419200000 1045000 769 >,
|
||||
- < 2457600000 1050000 785 >;
|
||||
+ < 2457600000 1050000 785 >,
|
||||
+ < 2572800000 1125000 827 >,
|
||||
+ < 2726400000 1195000 900 >,
|
||||
+ < 2880000000 1225000 937 >;
|
||||
|
||||
qcom,speed3-pvs3-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -439,10 +459,14 @@
|
||||
< 2265600000 990000 700 >,
|
||||
< 2342400000 1005000 734 >,
|
||||
< 2419200000 1020000 769 >,
|
||||
- < 2457600000 1025000 785 >;
|
||||
+ < 2457600000 1025000 785 >,
|
||||
+ < 2572800000 1115000 827 >,
|
||||
+ < 2726400000 1185000 900 >,
|
||||
+ < 2880000000 1215000 937 >;
|
||||
|
||||
qcom,speed3-pvs4-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -473,10 +497,14 @@
|
||||
< 2265600000 965000 700 >,
|
||||
< 2342400000 980000 734 >,
|
||||
< 2419200000 995000 769 >,
|
||||
- < 2457600000 1000000 785 >;
|
||||
+ < 2457600000 1000000 785 >,
|
||||
+ < 2572800000 1075000 827 >,
|
||||
+ < 2726400000 1175000 900 >,
|
||||
+ < 2880000000 1205000 937 >;
|
||||
|
||||
qcom,speed3-pvs5-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 76 >,
|
||||
< 345600000 750000 87 >,
|
||||
< 422400000 750000 106 >,
|
||||
@@ -507,10 +535,14 @@
|
||||
< 2265600000 940000 700 >,
|
||||
< 2342400000 955000 734 >,
|
||||
< 2419200000 970000 769 >,
|
||||
- < 2457600000 975000 785 >;
|
||||
+ < 2457600000 975000 785 >,
|
||||
+ < 2572800000 1025000 827 >,
|
||||
+ < 2726400000 1175000 900 >,
|
||||
+ < 2880000000 1195000 937 >;
|
||||
|
||||
qcom,speed3-pvs6-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 76 >,
|
||||
< 345600000 750000 87 >,
|
||||
< 422400000 750000 106 >,
|
||||
@@ -541,10 +573,14 @@
|
||||
< 2265600000 915000 700 >,
|
||||
< 2342400000 930000 734 >,
|
||||
< 2419200000 945000 769 >,
|
||||
- < 2457600000 950000 785 >;
|
||||
+ < 2457600000 950000 785 >,
|
||||
+ < 2572800000 1010000 827 >,
|
||||
+ < 2726400000 1155000 900 >,
|
||||
+ < 2880000000 1175000 937 >;
|
||||
|
||||
qcom,speed1-pvs0-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 810000 87 >,
|
||||
< 422400000 820000 108 >,
|
||||
@@ -576,6 +612,7 @@
|
||||
|
||||
qcom,speed1-pvs1-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 810000 108 >,
|
||||
@@ -607,6 +644,7 @@
|
||||
|
||||
qcom,speed1-pvs2-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 108 >,
|
||||
@@ -638,6 +676,7 @@
|
||||
|
||||
qcom,speed1-pvs3-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 108 >,
|
||||
@@ -669,6 +708,7 @@
|
||||
|
||||
qcom,speed1-pvs4-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 108 >,
|
||||
@@ -700,6 +740,7 @@
|
||||
|
||||
qcom,speed1-pvs5-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 108 >,
|
||||
@@ -731,6 +772,7 @@
|
||||
|
||||
qcom,speed1-pvs6-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 108 >,
|
||||
@@ -762,6 +804,7 @@
|
||||
|
||||
qcom,speed1-pvs7-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 108 >,
|
||||
@@ -793,6 +836,7 @@
|
||||
|
||||
qcom,speed1-pvs8-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 108 >,
|
||||
@@ -824,6 +868,7 @@
|
||||
|
||||
qcom,speed1-pvs9-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 108 >,
|
||||
@@ -855,6 +900,7 @@
|
||||
|
||||
qcom,speed1-pvs10-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 108 >,
|
||||
@@ -886,6 +932,7 @@
|
||||
|
||||
qcom,speed1-pvs11-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 108 >,
|
||||
@@ -917,6 +964,7 @@
|
||||
|
||||
qcom,speed1-pvs12-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 108 >,
|
||||
@@ -948,6 +996,7 @@
|
||||
|
||||
qcom,speed1-pvs13-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 108 >,
|
||||
@@ -979,6 +1028,7 @@
|
||||
|
||||
qcom,speed1-pvs14-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 76 >,
|
||||
< 345600000 750000 87 >,
|
||||
< 422400000 750000 108 >,
|
||||
@@ -1010,6 +1060,7 @@
|
||||
|
||||
qcom,speed1-pvs15-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 76 >,
|
||||
< 345600000 750000 87 >,
|
||||
< 422400000 750000 108 >,
|
||||
@@ -1041,6 +1092,7 @@
|
||||
|
||||
qcom,speed3-pvs0-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 106 >,
|
||||
@@ -1071,10 +1123,14 @@
|
||||
< 2265600000 1085000 716 >,
|
||||
< 2342400000 1100000 751 >,
|
||||
< 2419200000 1115000 786 >,
|
||||
- < 2457600000 1120000 802 >;
|
||||
+ < 2457600000 1120000 802 >,
|
||||
+ < 2572800000 1175000 827 >,
|
||||
+ < 2726400000 1225000 900 >,
|
||||
+ < 2880000000 1265000 937 >;
|
||||
|
||||
qcom,speed3-pvs1-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 106 >,
|
||||
@@ -1105,10 +1161,14 @@
|
||||
< 2265600000 1075000 716 >,
|
||||
< 2342400000 1090000 751 >,
|
||||
< 2419200000 1105000 786 >,
|
||||
- < 2457600000 1110000 802 >;
|
||||
+ < 2457600000 1110000 802 >,
|
||||
+ < 2572800000 1165000 827 >,
|
||||
+ < 2726400000 1215000 900 >,
|
||||
+ < 2880000000 1245000 937 >;
|
||||
|
||||
qcom,speed3-pvs2-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 106 >,
|
||||
@@ -1139,10 +1199,14 @@
|
||||
< 2265600000 1065000 716 >,
|
||||
< 2342400000 1080000 751 >,
|
||||
< 2419200000 1095000 786 >,
|
||||
- < 2457600000 1100000 802 >;
|
||||
+ < 2457600000 1100000 802 >,
|
||||
+ < 2572800000 1145000 827 >,
|
||||
+ < 2726400000 1185000 900 >,
|
||||
+ < 2880000000 1215000 937 >;
|
||||
|
||||
qcom,speed3-pvs3-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 106 >,
|
||||
@@ -1173,10 +1237,14 @@
|
||||
< 2265600000 1055000 716 >,
|
||||
< 2342400000 1070000 751 >,
|
||||
< 2419200000 1085000 786 >,
|
||||
- < 2457600000 1090000 802 >;
|
||||
+ < 2457600000 1090000 802 >,
|
||||
+ < 2572800000 1145000 827 >,
|
||||
+ < 2726400000 1175000 900 >,
|
||||
+ < 2880000000 1205000 937 >;
|
||||
|
||||
qcom,speed3-pvs4-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 106 >,
|
||||
@@ -1207,10 +1275,14 @@
|
||||
< 2265600000 1045000 716 >,
|
||||
< 2342400000 1060000 751 >,
|
||||
< 2419200000 1075000 786 >,
|
||||
- < 2457600000 1080000 802 >;
|
||||
+ < 2457600000 1080000 802 >,
|
||||
+ < 2572800000 1135000 827 >,
|
||||
+ < 2726400000 1165000 900 >,
|
||||
+ < 2880000000 1195000 937 >;
|
||||
|
||||
qcom,speed3-pvs5-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 106 >,
|
||||
@@ -1241,10 +1313,14 @@
|
||||
< 2265600000 1035000 716 >,
|
||||
< 2342400000 1050000 751 >,
|
||||
< 2419200000 1065000 786 >,
|
||||
- < 2457600000 1070000 802 >;
|
||||
+ < 2457600000 1070000 802 >,
|
||||
+ < 2572800000 1125000 827 >,
|
||||
+ < 2726400000 1155000 900 >,
|
||||
+ < 2880000000 1185000 937 >;
|
||||
|
||||
qcom,speed3-pvs6-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -1275,10 +1351,14 @@
|
||||
< 2265600000 1025000 716 >,
|
||||
< 2342400000 1040000 751 >,
|
||||
< 2419200000 1055000 786 >,
|
||||
- < 2457600000 1060000 802 >;
|
||||
+ < 2457600000 1060000 802 >,
|
||||
+ < 2572800000 1115000 827 >,
|
||||
+ < 2726400000 1145000 900 >,
|
||||
+ < 2880000000 1175000 937 >;
|
||||
|
||||
qcom,speed3-pvs7-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -1309,10 +1389,14 @@
|
||||
< 2265600000 1015000 716 >,
|
||||
< 2342400000 1030000 751 >,
|
||||
< 2419200000 1045000 786 >,
|
||||
- < 2457600000 1050000 802 >;
|
||||
+ < 2457600000 1050000 802 >,
|
||||
+ < 2572800000 1105000 827 >,
|
||||
+ < 2726400000 1135000 900 >,
|
||||
+ < 2880000000 1165000 937 >;
|
||||
|
||||
qcom,speed3-pvs8-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -1343,10 +1427,14 @@
|
||||
< 2265600000 1005000 716 >,
|
||||
< 2342400000 1020000 751 >,
|
||||
< 2419200000 1035000 786 >,
|
||||
- < 2457600000 1040000 802 >;
|
||||
+ < 2457600000 1040000 802 >,
|
||||
+ < 2572800000 1095000 827 >,
|
||||
+ < 2726400000 1125000 900 >,
|
||||
+ < 2880000000 1155000 937 >;
|
||||
|
||||
qcom,speed3-pvs9-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -1377,10 +1465,14 @@
|
||||
< 2265600000 995000 716 >,
|
||||
< 2342400000 1010000 751 >,
|
||||
< 2419200000 1025000 786 >,
|
||||
- < 2457600000 1030000 802 >;
|
||||
+ < 2457600000 1030000 802 >,
|
||||
+ < 2572800000 1085000 827 >,
|
||||
+ < 2726400000 1115000 900 >,
|
||||
+ < 2880000000 1145000 937 >;
|
||||
|
||||
qcom,speed3-pvs10-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -1411,10 +1503,14 @@
|
||||
< 2265600000 985000 716 >,
|
||||
< 2342400000 1000000 751 >,
|
||||
< 2419200000 1015000 786 >,
|
||||
- < 2457600000 1020000 802 >;
|
||||
+ < 2457600000 1020000 802 >,
|
||||
+ < 2572800000 1075000 827 >,
|
||||
+ < 2726400000 1105000 900 >,
|
||||
+ < 2880000000 1135000 937 >;
|
||||
|
||||
qcom,speed3-pvs11-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -1445,10 +1541,14 @@
|
||||
< 2265600000 975000 716 >,
|
||||
< 2342400000 990000 751 >,
|
||||
< 2419200000 1005000 786 >,
|
||||
- < 2457600000 1010000 802 >;
|
||||
+ < 2457600000 1010000 802 >,
|
||||
+ < 2572800000 1065000 827 >,
|
||||
+ < 2726400000 1095000 900 >,
|
||||
+ < 2880000000 1125000 937 >;
|
||||
|
||||
qcom,speed3-pvs12-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -1479,10 +1579,14 @@
|
||||
< 2265600000 965000 716 >,
|
||||
< 2342400000 980000 751 >,
|
||||
< 2419200000 995000 786 >,
|
||||
- < 2457600000 1000000 802 >;
|
||||
+ < 2457600000 1000000 802 >,
|
||||
+ < 2572800000 1065000 827 >,
|
||||
+ < 2726400000 1085000 900 >,
|
||||
+ < 2880000000 1115000 937 >;
|
||||
|
||||
qcom,speed3-pvs13-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -1513,10 +1617,14 @@
|
||||
< 2265600000 955000 716 >,
|
||||
< 2342400000 970000 751 >,
|
||||
< 2419200000 985000 786 >,
|
||||
- < 2457600000 990000 802 >;
|
||||
+ < 2457600000 990000 802 >,
|
||||
+ < 2572800000 1045000 827 >,
|
||||
+ < 2726400000 1065000 900 >,
|
||||
+ < 2880000000 1095000 937 >;
|
||||
|
||||
qcom,speed3-pvs14-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 76 >,
|
||||
< 345600000 750000 87 >,
|
||||
< 422400000 750000 106 >,
|
||||
@@ -1547,10 +1655,14 @@
|
||||
< 2265600000 945000 716 >,
|
||||
< 2342400000 960000 751 >,
|
||||
< 2419200000 975000 786 >,
|
||||
- < 2457600000 980000 802 >;
|
||||
+ < 2457600000 980000 802 >,
|
||||
+ < 2572800000 1035000 827 >,
|
||||
+ < 2726400000 1055000 900 >,
|
||||
+ < 2880000000 1085000 937 >;
|
||||
|
||||
qcom,speed3-pvs15-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 76 >,
|
||||
< 345600000 750000 87 >,
|
||||
< 422400000 750000 106 >,
|
||||
@@ -1581,9 +1693,39 @@
|
||||
< 2265600000 935000 716 >,
|
||||
< 2342400000 950000 751 >,
|
||||
< 2419200000 965000 786 >,
|
||||
- < 2457600000 970000 802 >;
|
||||
+ < 2457600000 970000 802 >,
|
||||
+ < 2572800000 1025000 827 >,
|
||||
+ < 2726400000 1045000 900 >,
|
||||
+ < 2880000000 1075000 937 >;
|
||||
};
|
||||
|
||||
+ qcom,msm-cpufreq@0 {
|
||||
+ reg = <0 4>;
|
||||
+ compatible = "qcom,msm-cpufreq";
|
||||
+ qcom,cpufreq-table =
|
||||
+ < 268800 /* 75 MHz */ >,
|
||||
+ < 300000 /* 75 MHz */ >,
|
||||
+ < 422400 /* 150 MHz */ >,
|
||||
+ < 652800 /* 200 MHz */ >,
|
||||
+ < 729600 /* 307 MHz */ >,
|
||||
+ < 883200 /* 307 MHz */ >,
|
||||
+ < 960000 /* 460 MHz */ >,
|
||||
+ < 1036800 /* 460 MHz */ >,
|
||||
+ < 1190400 /* 460 MHz */ >,
|
||||
+ < 1267200 /* 614 MHz */ >,
|
||||
+ < 1497600 /* 614 MHz */ >,
|
||||
+ < 1574400 /* 800 MHz */ >,
|
||||
+ < 1728000 /* 800 MHz */ >,
|
||||
+ < 1958400 /* 931 MHz */ >,
|
||||
+ < 2265600 /* 931 MHz */ >,
|
||||
+ < 2342400 /* 931 MHz */ >,
|
||||
+ < 2419200 /* 931 MHz */ >,
|
||||
+ < 2457600 /* 931 MHz */ >,
|
||||
+ < 2572800 /* 931 MHz */ >,
|
||||
+ < 2726400 /* 931 MHz */ >,
|
||||
+ < 2880000 /* 931 MHz */ >;
|
||||
+ };
|
||||
+
|
||||
i2c@f9928000 { /* BLSP-1 QUP-6 */
|
||||
cell-index = <3>;
|
||||
compatible = "qcom,i2c-qup";
|
||||
@@ -1751,7 +1893,7 @@
|
||||
<1880000 2068000>,
|
||||
<3008000 3309000>,
|
||||
<3760000 4136000>,
|
||||
- <4468000 2457000>;
|
||||
+ <4468000 2457600>;
|
||||
qcom,dec-ocmem-ab-ib = <0 0>,
|
||||
<176000 519000>,
|
||||
<456000 519000>,
|
48
Patches/OLD/bacon/Kernel-All/cm-12.1/9.patch
Normal file
48
Patches/OLD/bacon/Kernel-All/cm-12.1/9.patch
Normal file
|
@ -0,0 +1,48 @@
|
|||
From 2f72f326e6ccc660d8a3a5da787212828508f943 Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Sat, 17 Oct 2015 20:50:31 -0400
|
||||
Subject: [PATCH] Update defconfig
|
||||
|
||||
---
|
||||
arch/arm/configs/cyanogenmod_bacon_defconfig | 9 +++++----
|
||||
1 file changed, 5 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/configs/cyanogenmod_bacon_defconfig b/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
index ac68dba..f6a455b 100644
|
||||
--- a/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
+++ b/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
@@ -125,8 +125,9 @@ CONFIG_RD_BZIP2=y
|
||||
CONFIG_RD_LZMA=y
|
||||
# CONFIG_RD_XZ is not set
|
||||
# CONFIG_RD_LZO is not set
|
||||
-# CONFIG_RD_LZ4 is not set
|
||||
+CONFIG_RD_LZ4=y
|
||||
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
|
||||
+CONFIG_CC_OPTIMIZE_MORE=y
|
||||
CONFIG_SYSCTL=y
|
||||
CONFIG_ANON_INODES=y
|
||||
CONFIG_PANIC_TIMEOUT=5
|
||||
@@ -190,7 +191,7 @@ CONFIG_SECCOMP_FILTER=y
|
||||
CONFIG_HAVE_GENERIC_DMA_COHERENT=y
|
||||
CONFIG_RT_MUTEXES=y
|
||||
CONFIG_BASE_SMALL=0
|
||||
-# CONFIG_MODULES is not set
|
||||
+CONFIG_MODULES=y
|
||||
CONFIG_STOP_MACHINE=y
|
||||
CONFIG_BLOCK=y
|
||||
CONFIG_LBDAF=y
|
||||
@@ -1775,12 +1776,12 @@ CONFIG_SERIAL_MSM_HS=y
|
||||
#
|
||||
# Diag Support
|
||||
#
|
||||
-# CONFIG_DIAG_CHAR is not set
|
||||
+CONFIG_DIAG_CHAR=y
|
||||
|
||||
#
|
||||
# DIAG traffic over USB
|
||||
#
|
||||
-# CONFIG_DIAG_OVER_USB is not set
|
||||
+CONFIG_DIAG_OVER_USB=y
|
||||
|
||||
#
|
||||
# SDIO support for DIAG
|
577
Patches/OLD/bacon/Kernel-All/cm-13.0/1.patch
Normal file
577
Patches/OLD/bacon/Kernel-All/cm-13.0/1.patch
Normal file
|
@ -0,0 +1,577 @@
|
|||
From 89fdd93c6994b4d6e5cd7acaa207af7ea366bb27 Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Sat, 17 Oct 2015 20:49:21 -0400
|
||||
Subject: [PATCH] Implement KEXEC
|
||||
|
||||
---
|
||||
arch/arm/Kconfig | 26 ++++++++++
|
||||
arch/arm/boot/compressed/head.S | 64 ++++++++++++++++++++++++
|
||||
arch/arm/configs/cyanogenmod_bacon_defconfig | 6 ++-
|
||||
arch/arm/include/asm/kexec.h | 8 +++
|
||||
arch/arm/kernel/machine_kexec.c | 58 +++++++++++++++++++--
|
||||
arch/arm/kernel/relocate_kernel.S | 75 ++++++++++++++++++++++++++++
|
||||
arch/arm/mach-msm/include/mach/memory.h | 16 ++++++
|
||||
arch/arm/mach-msm/oppo/board-8974-oppo.c | 27 ++++++++++
|
||||
arch/arm/mach-msm/restart.c | 28 +++++++++++
|
||||
include/linux/kexec.h | 19 +++++--
|
||||
kernel/kexec.c | 4 ++
|
||||
11 files changed, 322 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
|
||||
index 44e86c9..9edd8cf 100644
|
||||
--- a/arch/arm/Kconfig
|
||||
+++ b/arch/arm/Kconfig
|
||||
@@ -2324,6 +2324,32 @@ config ATAGS_PROC
|
||||
Should the atags used to boot the kernel be exported in an "atags"
|
||||
file in procfs. Useful with kexec.
|
||||
|
||||
+config KEXEC_HARDBOOT
|
||||
+ bool "Support hard booting to a kexec kernel"
|
||||
+ depends on KEXEC
|
||||
+ help
|
||||
+ Allows hard booting (i.e., with a full hardware reboot) to a kernel
|
||||
+ previously loaded in memory by kexec. This works around the problem of
|
||||
+ soft-booted kernel hangs due to improper device shutdown and/or
|
||||
+ reinitialization. Support is comprised of two components:
|
||||
+
|
||||
+ First, a "hardboot" flag is added to the kexec syscall to force a hard
|
||||
+ reboot in relocate_new_kernel() (which requires machine-specific assembly
|
||||
+ code). This also requires the kexec userspace tool to load the kexec'd
|
||||
+ kernel in memory region left untouched by the bootloader (i.e., not
|
||||
+ explicitly cleared and not overwritten by the boot kernel). Just prior
|
||||
+ to reboot, the kexec kernel arguments are stashed in a machine-specific
|
||||
+ memory page that must also be preserved. Note that this hardboot page
|
||||
+ need not be reserved during regular kernel execution.
|
||||
+
|
||||
+ Second, the zImage decompresor of the boot (bootloader-loaded) kernel is
|
||||
+ modified to check the hardboot page for fresh kexec arguments, and if
|
||||
+ present, attempts to jump to the kexec'd kernel preserved in memory.
|
||||
+
|
||||
+ Note that hardboot support is only required in the boot kernel and any
|
||||
+ kernel capable of performing a hardboot kexec. It is _not_ required by a
|
||||
+ kexec'd kernel.
|
||||
+
|
||||
config CRASH_DUMP
|
||||
bool "Build kdump crash kernel (EXPERIMENTAL)"
|
||||
depends on EXPERIMENTAL
|
||||
diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S
|
||||
index d3892ef..be05aa1 100644
|
||||
--- a/arch/arm/boot/compressed/head.S
|
||||
+++ b/arch/arm/boot/compressed/head.S
|
||||
@@ -11,6 +11,12 @@
|
||||
#include <linux/linkage.h>
|
||||
|
||||
.arch armv7-a
|
||||
+
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ #include <asm/kexec.h>
|
||||
+ #include <asm/memory.h>
|
||||
+#endif
|
||||
+
|
||||
/*
|
||||
* Debugging stuff
|
||||
*
|
||||
@@ -136,6 +142,64 @@ start:
|
||||
1: mov r7, r1 @ save architecture ID
|
||||
mov r8, r2 @ save atags pointer
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ /* Check hardboot page for a kexec kernel. */
|
||||
+ ldr r3, =KEXEC_HB_PAGE_ADDR
|
||||
+ ldr r0, [r3]
|
||||
+ ldr r1, =KEXEC_HB_PAGE_MAGIC
|
||||
+ teq r0, r1
|
||||
+ bne not_booting_other
|
||||
+
|
||||
+ /* Clear hardboot page magic to avoid boot loop. */
|
||||
+ mov r0, #0
|
||||
+ str r0, [r3]
|
||||
+
|
||||
+ /*
|
||||
+ * Copy dtb from location up high in memory to default location.
|
||||
+ * Kernel freezes if this is not done.
|
||||
+ */
|
||||
+ ldr r1, [r3, #12] @ kexec_boot_atags
|
||||
+ ldr r2, [r3, #16] @ kexec_boot_atags_len
|
||||
+ mov r5, #0 @ iterator
|
||||
+catags_cpy:
|
||||
+ ldr r0, [r1, r5] @ from kexec_boot_atags
|
||||
+ str r0, [r8, r5] @ to atags_pointer
|
||||
+ add r5, r5, #4
|
||||
+ cmp r5, r2
|
||||
+ blo catags_cpy
|
||||
+
|
||||
+#ifdef KEXEC_HB_KERNEL_LOC
|
||||
+ /*
|
||||
+ * Copy kernel from location up high in memory to location in first 128MB.
|
||||
+ * Bootloader on hammerhead erases first 128MB of ram on reboot, so it can't
|
||||
+ * be in there before reboot, but decompressing in location above 128MB takes
|
||||
+ * a long time. This memcpy is much quicker, for some reason.
|
||||
+ */
|
||||
+ ldr r2, [r3, #4] @ kexec_start_address
|
||||
+ ldr r4, [r3, #20] @ kexec_kernel_len
|
||||
+ ldr r6, =KEXEC_HB_KERNEL_LOC @ target
|
||||
+ mov r5, #0 @ iterator
|
||||
+kernel_cpy:
|
||||
+ ldr r0, [r2, r5] @ from kexec_start_address
|
||||
+ str r0, [r6, r5] @ to KEXEC_HB_KERNEL_LOC
|
||||
+ add r5, r5, #4
|
||||
+ cmp r5, r4
|
||||
+ blo kernel_cpy
|
||||
+#else
|
||||
+ ldr r6, [r3, #4] @ kexec_start_address
|
||||
+#endif
|
||||
+
|
||||
+ /* set registers and boot kexecd' kernel */
|
||||
+ mov r0, #0
|
||||
+ ldr r1, [r3, #8] @ kexec_mach_type
|
||||
+ mov r2, r8 @ atags pointer
|
||||
+ mov pc, r6
|
||||
+
|
||||
+ .ltorg
|
||||
+
|
||||
+not_booting_other:
|
||||
+#endif
|
||||
+
|
||||
#ifndef __ARM_ARCH_2__
|
||||
/*
|
||||
* Booting from Angel - need to enter SVC mode and disable
|
||||
diff --git a/arch/arm/configs/cyanogenmod_bacon_defconfig b/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
index 1738c22..73f8fe7 100644
|
||||
--- a/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
+++ b/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
@@ -695,7 +695,9 @@ CONFIG_ZBOOT_ROM_BSS=0
|
||||
# CONFIG_ARM_APPENDED_DTB is not set
|
||||
CONFIG_CMDLINE=""
|
||||
# CONFIG_XIP_KERNEL is not set
|
||||
-# CONFIG_KEXEC is not set
|
||||
+CONFIG_KEXEC=y
|
||||
+CONFIG_KEXEC_HARDBOOT=y
|
||||
+CONFIG_ATAGS_PROC=n
|
||||
# CONFIG_CRASH_DUMP is not set
|
||||
# CONFIG_AUTO_ZRELADDR is not set
|
||||
|
||||
@@ -1300,7 +1302,7 @@ CONFIG_OF=y
|
||||
#
|
||||
# Device Tree and Open Firmware support
|
||||
#
|
||||
-# CONFIG_PROC_DEVICETREE is not set
|
||||
+CONFIG_PROC_DEVICETREE=y
|
||||
# CONFIG_OF_SELFTEST is not set
|
||||
CONFIG_OF_FLATTREE=y
|
||||
CONFIG_OF_EARLY_FLATTREE=y
|
||||
diff --git a/arch/arm/include/asm/kexec.h b/arch/arm/include/asm/kexec.h
|
||||
index c2b9b4b..564c55b 100644
|
||||
--- a/arch/arm/include/asm/kexec.h
|
||||
+++ b/arch/arm/include/asm/kexec.h
|
||||
@@ -17,6 +17,10 @@
|
||||
#define KEXEC_ARM_ATAGS_OFFSET 0x1000
|
||||
#define KEXEC_ARM_ZIMAGE_OFFSET 0x8000
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ #define KEXEC_HB_PAGE_MAGIC 0x4a5db007
|
||||
+#endif
|
||||
+
|
||||
#ifndef __ASSEMBLY__
|
||||
|
||||
/**
|
||||
@@ -53,6 +57,10 @@ static inline void crash_setup_regs(struct pt_regs *newregs,
|
||||
/* Function pointer to optional machine-specific reinitialization */
|
||||
extern void (*kexec_reinit)(void);
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+extern void (*kexec_hardboot_hook)(void);
|
||||
+#endif
|
||||
+
|
||||
#endif /* __ASSEMBLY__ */
|
||||
|
||||
#endif /* CONFIG_KEXEC */
|
||||
diff --git a/arch/arm/kernel/machine_kexec.c b/arch/arm/kernel/machine_kexec.c
|
||||
index 357b651..29cdd2f 100644
|
||||
--- a/arch/arm/kernel/machine_kexec.c
|
||||
+++ b/arch/arm/kernel/machine_kexec.c
|
||||
@@ -14,6 +14,9 @@
|
||||
#include <asm/cacheflush.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/system_misc.h>
|
||||
+#include <linux/memblock.h>
|
||||
+#include <linux/of_fdt.h>
|
||||
+#include <asm/mmu_writeable.h>
|
||||
|
||||
extern const unsigned char relocate_new_kernel[];
|
||||
extern const unsigned int relocate_new_kernel_size;
|
||||
@@ -22,6 +25,12 @@ extern unsigned long kexec_start_address;
|
||||
extern unsigned long kexec_indirection_page;
|
||||
extern unsigned long kexec_mach_type;
|
||||
extern unsigned long kexec_boot_atags;
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+extern unsigned long kexec_hardboot;
|
||||
+extern unsigned long kexec_boot_atags_len;
|
||||
+extern unsigned long kexec_kernel_len;
|
||||
+void (*kexec_hardboot_hook)(void);
|
||||
+#endif
|
||||
|
||||
static atomic_t waiting_for_crash_ipi;
|
||||
|
||||
@@ -32,6 +41,37 @@ static atomic_t waiting_for_crash_ipi;
|
||||
|
||||
int machine_kexec_prepare(struct kimage *image)
|
||||
{
|
||||
+ struct kexec_segment *current_segment;
|
||||
+ __be32 header;
|
||||
+ int i, err;
|
||||
+
|
||||
+ /* No segment at default ATAGs address. try to locate
|
||||
+ * a dtb using magic */
|
||||
+ for (i = 0; i < image->nr_segments; i++) {
|
||||
+ current_segment = &image->segment[i];
|
||||
+
|
||||
+ err = memblock_is_region_memory(current_segment->mem,
|
||||
+ current_segment->memsz);
|
||||
+ if (!err)
|
||||
+ return - EINVAL;
|
||||
+
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ if(current_segment->mem == image->start)
|
||||
+ mem_text_write_kernel_word(&kexec_kernel_len, current_segment->memsz);
|
||||
+#endif
|
||||
+
|
||||
+ err = get_user(header, (__be32*)current_segment->buf);
|
||||
+ if (err)
|
||||
+ return err;
|
||||
+
|
||||
+ if (be32_to_cpu(header) == OF_DT_HEADER)
|
||||
+ {
|
||||
+ mem_text_write_kernel_word(&kexec_boot_atags, current_segment->mem);
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ mem_text_write_kernel_word(&kexec_boot_atags_len, current_segment->memsz);
|
||||
+#endif
|
||||
+ }
|
||||
+ }
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -123,10 +163,14 @@ void machine_kexec(struct kimage *image)
|
||||
reboot_code_buffer = page_address(image->control_code_page);
|
||||
|
||||
/* Prepare parameters for reboot_code_buffer*/
|
||||
- kexec_start_address = image->start;
|
||||
- kexec_indirection_page = page_list;
|
||||
- kexec_mach_type = machine_arch_type;
|
||||
- kexec_boot_atags = image->start - KEXEC_ARM_ZIMAGE_OFFSET + KEXEC_ARM_ATAGS_OFFSET;
|
||||
+ mem_text_write_kernel_word(&kexec_start_address, image->start);
|
||||
+ mem_text_write_kernel_word(&kexec_indirection_page, page_list);
|
||||
+ mem_text_write_kernel_word(&kexec_mach_type, machine_arch_type);
|
||||
+ if (!kexec_boot_atags)
|
||||
+ mem_text_write_kernel_word(&kexec_boot_atags, image->start - KEXEC_ARM_ZIMAGE_OFFSET + KEXEC_ARM_ATAGS_OFFSET);
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ mem_text_write_kernel_word(&kexec_hardboot, image->hardboot);
|
||||
+#endif
|
||||
|
||||
/* copy our kernel relocation code to the control code page */
|
||||
memcpy(reboot_code_buffer,
|
||||
@@ -140,6 +184,12 @@ void machine_kexec(struct kimage *image)
|
||||
if (kexec_reinit)
|
||||
kexec_reinit();
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ /* Run any final machine-specific shutdown code. */
|
||||
+ if (image->hardboot && kexec_hardboot_hook)
|
||||
+ kexec_hardboot_hook();
|
||||
+#endif
|
||||
+
|
||||
soft_restart(reboot_code_buffer_phys);
|
||||
}
|
||||
|
||||
diff --git a/arch/arm/kernel/relocate_kernel.S b/arch/arm/kernel/relocate_kernel.S
|
||||
index d0cdedf..0e45ffc 100644
|
||||
--- a/arch/arm/kernel/relocate_kernel.S
|
||||
+++ b/arch/arm/kernel/relocate_kernel.S
|
||||
@@ -4,6 +4,15 @@
|
||||
|
||||
#include <asm/kexec.h>
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+#include <asm/memory.h>
|
||||
+#if defined(CONFIG_ARCH_TEGRA_2x_SOC) || defined(CONFIG_ARCH_TEGRA_3x_SOC)
|
||||
+ #include <mach/iomap.h>
|
||||
+#elif defined(CONFIG_ARCH_APQ8064) || defined(CONFIG_ARCH_MSM8974)
|
||||
+ #include <mach/msm_iomap.h>
|
||||
+#endif
|
||||
+#endif
|
||||
+
|
||||
.globl relocate_new_kernel
|
||||
relocate_new_kernel:
|
||||
|
||||
@@ -52,6 +61,12 @@ relocate_new_kernel:
|
||||
b 0b
|
||||
|
||||
2:
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ ldr r0, kexec_hardboot
|
||||
+ teq r0, #0
|
||||
+ bne hardboot
|
||||
+#endif
|
||||
+
|
||||
/* Jump to relocated kernel */
|
||||
mov lr,r1
|
||||
mov r0,#0
|
||||
@@ -60,6 +75,52 @@ relocate_new_kernel:
|
||||
ARM( mov pc, lr )
|
||||
THUMB( bx lr )
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+hardboot:
|
||||
+ /* Stash boot arguments in hardboot page:
|
||||
+ * 0: KEXEC_HB_PAGE_MAGIC
|
||||
+ * 4: kexec_start_address
|
||||
+ * 8: kexec_mach_type
|
||||
+ * 12: kexec_boot_atags
|
||||
+ * 16: kexec_boot_atags_len
|
||||
+ * 20: kexec_kernel_len */
|
||||
+ ldr r0, =KEXEC_HB_PAGE_ADDR
|
||||
+ str r1, [r0, #4]
|
||||
+ ldr r1, kexec_mach_type
|
||||
+ str r1, [r0, #8]
|
||||
+ ldr r1, kexec_boot_atags
|
||||
+ str r1, [r0, #12]
|
||||
+ ldr r1, kexec_boot_atags_len
|
||||
+ str r1, [r0, #16]
|
||||
+ ldr r1, kexec_kernel_len
|
||||
+ str r1, [r0, #20]
|
||||
+ ldr r1, =KEXEC_HB_PAGE_MAGIC
|
||||
+ str r1, [r0]
|
||||
+
|
||||
+#if defined(CONFIG_ARCH_TEGRA_2x_SOC) || defined(CONFIG_ARCH_TEGRA_3x_SOC)
|
||||
+ ldr r0, =TEGRA_PMC_BASE
|
||||
+ ldr r1, [r0]
|
||||
+ orr r1, r1, #0x10
|
||||
+ str r1, [r0]
|
||||
+loop: b loop
|
||||
+#elif defined(CONFIG_ARCH_APQ8064)
|
||||
+ /* Restart using the PMIC chip, see mach-msm/restart.c */
|
||||
+ ldr r0, =APQ8064_TLMM_PHYS
|
||||
+ mov r1, #0
|
||||
+ str r1, [r0, #0x820] @ PSHOLD_CTL_SU
|
||||
+loop: b loop
|
||||
+#elif defined(CONFIG_ARCH_MSM8974)
|
||||
+ /* Restart using the PMIC chip, see mach-msm/restart.c */
|
||||
+ ldr r0, =MSM8974_MPM2_PSHOLD_PHYS
|
||||
+ mov r1, #0
|
||||
+ str r1, [r0, #0]
|
||||
+loop: b loop
|
||||
+#else
|
||||
+#error "No reboot method defined for hardboot."
|
||||
+#endif
|
||||
+
|
||||
+ .ltorg
|
||||
+#endif
|
||||
.align
|
||||
|
||||
.globl kexec_start_address
|
||||
@@ -79,6 +140,20 @@ kexec_mach_type:
|
||||
kexec_boot_atags:
|
||||
.long 0x0
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ .globl kexec_boot_atags_len
|
||||
+kexec_boot_atags_len:
|
||||
+ .long 0x0
|
||||
+
|
||||
+ .globl kexec_kernel_len
|
||||
+kexec_kernel_len:
|
||||
+ .long 0x0
|
||||
+
|
||||
+ .globl kexec_hardboot
|
||||
+kexec_hardboot:
|
||||
+ .long 0x0
|
||||
+#endif
|
||||
+
|
||||
relocate_new_kernel_end:
|
||||
|
||||
.globl relocate_new_kernel_size
|
||||
diff --git a/arch/arm/mach-msm/include/mach/memory.h b/arch/arm/mach-msm/include/mach/memory.h
|
||||
index 9225230..1c87b96 100644
|
||||
--- a/arch/arm/mach-msm/include/mach/memory.h
|
||||
+++ b/arch/arm/mach-msm/include/mach/memory.h
|
||||
@@ -20,6 +20,22 @@
|
||||
/* physical offset of RAM */
|
||||
#define PLAT_PHYS_OFFSET UL(CONFIG_PHYS_OFFSET)
|
||||
|
||||
+#if defined(CONFIG_KEXEC_HARDBOOT)
|
||||
+#if defined(CONFIG_MACH_APQ8064_FLO)
|
||||
+#define KEXEC_HB_PAGE_ADDR UL(0x88C00000)
|
||||
+#elif defined(CONFIG_MACH_APQ8064_MAKO)
|
||||
+#define KEXEC_HB_PAGE_ADDR UL(0x88600000)
|
||||
+#elif defined(CONFIG_MACH_MSM8974_HAMMERHEAD)
|
||||
+#define KEXEC_HB_PAGE_ADDR UL(0x10100000)
|
||||
+#define KEXEC_HB_KERNEL_LOC UL(0x3208000)
|
||||
+#elif defined(CONFIG_MACH_OPPO_MSM8974)
|
||||
+#define KEXEC_HB_PAGE_ADDR UL(0x2F600000)
|
||||
+#define KEXEC_HB_KERNEL_LOC UL(0x3208000)
|
||||
+#else
|
||||
+#error "Adress for kexec hardboot page not defined"
|
||||
+#endif
|
||||
+#endif
|
||||
+
|
||||
#ifndef __ASSEMBLY__
|
||||
void clean_and_invalidate_caches(unsigned long, unsigned long, unsigned long);
|
||||
void clean_caches(unsigned long, unsigned long, unsigned long);
|
||||
diff --git a/arch/arm/mach-msm/oppo/board-8974-oppo.c b/arch/arm/mach-msm/oppo/board-8974-oppo.c
|
||||
index eb24545..10bbbda 100644
|
||||
--- a/arch/arm/mach-msm/oppo/board-8974-oppo.c
|
||||
+++ b/arch/arm/mach-msm/oppo/board-8974-oppo.c
|
||||
@@ -54,6 +54,13 @@
|
||||
|
||||
#include <linux/pcb_version.h>
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+#include <asm/setup.h>
|
||||
+#include <asm/memory.h>
|
||||
+#include <linux/memblock.h>
|
||||
+#define OPPO_PERSISTENT_RAM_SIZE (SZ_1M)
|
||||
+#endif
|
||||
+
|
||||
static struct platform_device *ram_console_dev;
|
||||
|
||||
static struct persistent_ram_descriptor msm_prd[] __initdata = {
|
||||
@@ -72,6 +79,26 @@ static struct persistent_ram msm_pr __initdata = {
|
||||
|
||||
void __init msm_8974_reserve(void)
|
||||
{
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ // Reserve space for hardboot page - just after ram_console,
|
||||
+ // at the start of second memory bank
|
||||
+ int ret;
|
||||
+ phys_addr_t start;
|
||||
+ struct membank* bank;
|
||||
+
|
||||
+ if (meminfo.nr_banks < 2) {
|
||||
+ pr_err("%s: not enough membank\n", __func__);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ bank = &meminfo.bank[1];
|
||||
+ start = bank->start + SZ_1M + OPPO_PERSISTENT_RAM_SIZE;
|
||||
+ ret = memblock_remove(start, SZ_1M);
|
||||
+ if(!ret)
|
||||
+ pr_info("Hardboot page reserved at 0x%X\n", start);
|
||||
+ else
|
||||
+ pr_err("Failed to reserve space for hardboot page at 0x%X!\n", start);
|
||||
+#endif
|
||||
persistent_ram_early_init(&msm_pr);
|
||||
of_scan_flat_dt(dt_scan_for_memory_reserve, NULL);
|
||||
}
|
||||
diff --git a/arch/arm/mach-msm/restart.c b/arch/arm/mach-msm/restart.c
|
||||
index a04ab8d..fe89976 100644
|
||||
--- a/arch/arm/mach-msm/restart.c
|
||||
+++ b/arch/arm/mach-msm/restart.c
|
||||
@@ -38,6 +38,10 @@
|
||||
#include "timer.h"
|
||||
#include "wdog_debug.h"
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+#include <asm/kexec.h>
|
||||
+#endif
|
||||
+
|
||||
#define WDT0_RST 0x38
|
||||
#define WDT0_EN 0x40
|
||||
#define WDT0_BARK_TIME 0x4C
|
||||
@@ -373,6 +377,26 @@ static int __init msm_pmic_restart_init(void)
|
||||
|
||||
late_initcall(msm_pmic_restart_init);
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+static void msm_kexec_hardboot_hook(void)
|
||||
+{
|
||||
+ set_dload_mode(0);
|
||||
+
|
||||
+ // Set PMIC to restart-on-poweroff
|
||||
+ pm8xxx_reset_pwr_off(1);
|
||||
+
|
||||
+ // These are executed on normal reboot, but with kexec-hardboot,
|
||||
+ // they reboot/panic the system immediately.
|
||||
+#if 0
|
||||
+ qpnp_pon_system_pwr_off(PON_POWER_OFF_WARM_RESET);
|
||||
+
|
||||
+ /* Needed to bypass debug image on some chips */
|
||||
+ msm_disable_wdog_debug();
|
||||
+ halt_spmi_pmic_arbiter();
|
||||
+#endif
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
static int __init msm_restart_init(void)
|
||||
{
|
||||
#ifdef CONFIG_MSM_DLOAD_MODE
|
||||
@@ -392,6 +416,10 @@ static int __init msm_restart_init(void)
|
||||
if (scm_is_call_available(SCM_SVC_PWR, SCM_IO_DISABLE_PMIC_ARBITER) > 0)
|
||||
scm_pmic_arbiter_disable_supported = true;
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ kexec_hardboot_hook = msm_kexec_hardboot_hook;
|
||||
+#endif
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
early_initcall(msm_restart_init);
|
||||
diff --git a/include/linux/kexec.h b/include/linux/kexec.h
|
||||
index af84a25..a4509ad 100644
|
||||
--- a/include/linux/kexec.h
|
||||
+++ b/include/linux/kexec.h
|
||||
@@ -111,6 +111,10 @@ struct kimage {
|
||||
#define KEXEC_TYPE_CRASH 1
|
||||
unsigned int preserve_context : 1;
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ unsigned int hardboot : 1;
|
||||
+#endif
|
||||
+
|
||||
#ifdef ARCH_HAS_KIMAGE_ARCH
|
||||
struct kimage_arch arch;
|
||||
#endif
|
||||
@@ -178,6 +182,11 @@ extern struct kimage *kexec_crash_image;
|
||||
|
||||
#define KEXEC_ON_CRASH 0x00000001
|
||||
#define KEXEC_PRESERVE_CONTEXT 0x00000002
|
||||
+
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+#define KEXEC_HARDBOOT 0x00000004
|
||||
+#endif
|
||||
+
|
||||
#define KEXEC_ARCH_MASK 0xffff0000
|
||||
|
||||
/* These values match the ELF architecture values.
|
||||
@@ -196,10 +205,14 @@ extern struct kimage *kexec_crash_image;
|
||||
#define KEXEC_ARCH_MIPS ( 8 << 16)
|
||||
|
||||
/* List of defined/legal kexec flags */
|
||||
-#ifndef CONFIG_KEXEC_JUMP
|
||||
-#define KEXEC_FLAGS KEXEC_ON_CRASH
|
||||
-#else
|
||||
+#if defined(CONFIG_KEXEC_JUMP) && defined(CONFIG_KEXEC_HARDBOOT)
|
||||
+#define KEXEC_FLAGS (KEXEC_ON_CRASH | KEXEC_PRESERVE_CONTEXT | KEXEC_HARDBOOT)
|
||||
+#elif defined(CONFIG_KEXEC_JUMP)
|
||||
#define KEXEC_FLAGS (KEXEC_ON_CRASH | KEXEC_PRESERVE_CONTEXT)
|
||||
+#elif defined(CONFIG_KEXEC_HARDBOOT)
|
||||
+#define KEXEC_FLAGS (KEXEC_ON_CRASH | KEXEC_HARDBOOT)
|
||||
+#else
|
||||
+#define KEXEC_FLAGS (KEXEC_ON_CRASH)
|
||||
#endif
|
||||
|
||||
#define VMCOREINFO_BYTES (4096)
|
||||
diff --git a/kernel/kexec.c b/kernel/kexec.c
|
||||
index 4e2e472..aef7893 100644
|
||||
--- a/kernel/kexec.c
|
||||
+++ b/kernel/kexec.c
|
||||
@@ -1004,6 +1004,10 @@ SYSCALL_DEFINE4(kexec_load, unsigned long, entry, unsigned long, nr_segments,
|
||||
|
||||
if (flags & KEXEC_PRESERVE_CONTEXT)
|
||||
image->preserve_context = 1;
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ if (flags & KEXEC_HARDBOOT)
|
||||
+ image->hardboot = 1;
|
||||
+#endif
|
||||
result = machine_kexec_prepare(image);
|
||||
if (result)
|
||||
goto out;
|
706
Patches/OLD/bacon/Kernel-All/cm-13.0/2.patch
Normal file
706
Patches/OLD/bacon/Kernel-All/cm-13.0/2.patch
Normal file
|
@ -0,0 +1,706 @@
|
|||
From 562e934629b73d35f6a790681ddb56db7683313e Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Sat, 17 Oct 2015 20:49:57 -0400
|
||||
Subject: [PATCH] Overclocked to 2.8Ghz, underclocked to 268Mhz
|
||||
|
||||
---
|
||||
arch/arm/boot/dts/msm8974-v2.dtsi | 2 +-
|
||||
arch/arm/boot/dts/msm8974pro-pm8941.dtsi | 8 +-
|
||||
.../arm/boot/dts/msm8974pro-pma8084-regulator.dtsi | 16 +-
|
||||
arch/arm/boot/dts/msm8974pro.dtsi | 190 ++++++++++++++++++---
|
||||
4 files changed, 179 insertions(+), 37 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/msm8974-v2.dtsi b/arch/arm/boot/dts/msm8974-v2.dtsi
|
||||
index 04769bd..8739175 100644
|
||||
--- a/arch/arm/boot/dts/msm8974-v2.dtsi
|
||||
+++ b/arch/arm/boot/dts/msm8974-v2.dtsi
|
||||
@@ -135,7 +135,7 @@
|
||||
<1880000 2068000>,
|
||||
<3008000 3309000>,
|
||||
<3760000 4136000>,
|
||||
- <4468000 2457000>;
|
||||
+ <4468000 2457600>;
|
||||
qcom,dec-ocmem-ab-ib = <0 0>,
|
||||
<176000 519000>,
|
||||
<456000 519000>,
|
||||
diff --git a/arch/arm/boot/dts/msm8974pro-pm8941.dtsi b/arch/arm/boot/dts/msm8974pro-pm8941.dtsi
|
||||
index 89939e6..d76e4bd 100644
|
||||
--- a/arch/arm/boot/dts/msm8974pro-pm8941.dtsi
|
||||
+++ b/arch/arm/boot/dts/msm8974pro-pm8941.dtsi
|
||||
@@ -39,22 +39,22 @@
|
||||
};
|
||||
|
||||
&krait0_vreg {
|
||||
- regulator-max-microvolt = <1120000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
qcom,ldo-delta-voltage = <12500>;
|
||||
};
|
||||
|
||||
&krait1_vreg {
|
||||
- regulator-max-microvolt = <1120000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
qcom,ldo-delta-voltage = <12500>;
|
||||
};
|
||||
|
||||
&krait2_vreg {
|
||||
- regulator-max-microvolt = <1120000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
qcom,ldo-delta-voltage = <12500>;
|
||||
};
|
||||
|
||||
&krait3_vreg {
|
||||
- regulator-max-microvolt = <1120000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
qcom,ldo-delta-voltage = <12500>;
|
||||
};
|
||||
|
||||
diff --git a/arch/arm/boot/dts/msm8974pro-pma8084-regulator.dtsi b/arch/arm/boot/dts/msm8974pro-pma8084-regulator.dtsi
|
||||
index 433d466..428a520 100644
|
||||
--- a/arch/arm/boot/dts/msm8974pro-pma8084-regulator.dtsi
|
||||
+++ b/arch/arm/boot/dts/msm8974pro-pma8084-regulator.dtsi
|
||||
@@ -492,9 +492,9 @@
|
||||
<0xf908a800 0x1000>; /* APCS_ALIAS0_KPSS_MDD */
|
||||
reg-names = "acs", "mdd";
|
||||
regulator-min-microvolt = <500000>;
|
||||
- regulator-max-microvolt = <1120000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
qcom,headroom-voltage = <150000>;
|
||||
- qcom,retention-voltage = <675000>;
|
||||
+ qcom,retention-voltage = <600000>;
|
||||
qcom,ldo-default-voltage = <750000>;
|
||||
qcom,ldo-threshold-voltage = <850000>;
|
||||
qcom,ldo-delta-voltage = <12500>;
|
||||
@@ -508,9 +508,9 @@
|
||||
<0xf909a800 0x1000>; /* APCS_ALIAS1_KPSS_MDD */
|
||||
reg-names = "acs", "mdd";
|
||||
regulator-min-microvolt = <500000>;
|
||||
- regulator-max-microvolt = <1120000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
qcom,headroom-voltage = <150000>;
|
||||
- qcom,retention-voltage = <675000>;
|
||||
+ qcom,retention-voltage = <600000>;
|
||||
qcom,ldo-default-voltage = <750000>;
|
||||
qcom,ldo-threshold-voltage = <850000>;
|
||||
qcom,ldo-delta-voltage = <12500>;
|
||||
@@ -524,9 +524,9 @@
|
||||
<0xf90aa800 0x1000>; /* APCS_ALIAS2_KPSS_MDD */
|
||||
reg-names = "acs", "mdd";
|
||||
regulator-min-microvolt = <500000>;
|
||||
- regulator-max-microvolt = <1120000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
qcom,headroom-voltage = <150000>;
|
||||
- qcom,retention-voltage = <675000>;
|
||||
+ qcom,retention-voltage = <600000>;
|
||||
qcom,ldo-default-voltage = <750000>;
|
||||
qcom,ldo-threshold-voltage = <850000>;
|
||||
qcom,ldo-delta-voltage = <12500>;
|
||||
@@ -540,9 +540,9 @@
|
||||
<0xf90ba800 0x1000>; /* APCS_ALIAS3_KPSS_MDD */
|
||||
reg-names = "acs", "mdd";
|
||||
regulator-min-microvolt = <500000>;
|
||||
- regulator-max-microvolt = <1120000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
qcom,headroom-voltage = <150000>;
|
||||
- qcom,retention-voltage = <675000>;
|
||||
+ qcom,retention-voltage = <600000>;
|
||||
qcom,ldo-default-voltage = <750000>;
|
||||
qcom,ldo-threshold-voltage = <850000>;
|
||||
qcom,ldo-delta-voltage = <12500>;
|
||||
diff --git a/arch/arm/boot/dts/msm8974pro.dtsi b/arch/arm/boot/dts/msm8974pro.dtsi
|
||||
index c50b379..ebb5112 100644
|
||||
--- a/arch/arm/boot/dts/msm8974pro.dtsi
|
||||
+++ b/arch/arm/boot/dts/msm8974pro.dtsi
|
||||
@@ -90,6 +90,7 @@
|
||||
qcom,clock-krait@f9016000 {
|
||||
qcom,speed1-pvs0-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 74 >,
|
||||
< 345600000 775000 85 >,
|
||||
< 422400000 775000 104 >,
|
||||
@@ -121,6 +122,7 @@
|
||||
|
||||
qcom,speed1-pvs1-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 74 >,
|
||||
< 345600000 775000 85 >,
|
||||
< 422400000 775000 104 >,
|
||||
@@ -152,6 +154,7 @@
|
||||
|
||||
qcom,speed1-pvs2-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 74 >,
|
||||
< 345600000 750000 85 >,
|
||||
< 422400000 750000 104 >,
|
||||
@@ -183,6 +186,7 @@
|
||||
|
||||
qcom,speed1-pvs3-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 74 >,
|
||||
< 345600000 750000 85 >,
|
||||
< 422400000 750000 104 >,
|
||||
@@ -214,6 +218,7 @@
|
||||
|
||||
qcom,speed1-pvs4-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 74 >,
|
||||
< 345600000 750000 85 >,
|
||||
< 422400000 750000 104 >,
|
||||
@@ -245,6 +250,7 @@
|
||||
|
||||
qcom,speed1-pvs5-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 720000 68 >,
|
||||
< 300000000 725000 74 >,
|
||||
< 345600000 725000 85 >,
|
||||
< 422400000 725000 104 >,
|
||||
@@ -276,6 +282,7 @@
|
||||
|
||||
qcom,speed1-pvs6-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 720000 68 >,
|
||||
< 300000000 725000 74 >,
|
||||
< 345600000 725000 85 >,
|
||||
< 422400000 725000 104 >,
|
||||
@@ -307,6 +314,7 @@
|
||||
|
||||
qcom,speed3-pvs0-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 106 >,
|
||||
@@ -337,10 +345,14 @@
|
||||
< 2265600000 1065000 700 >,
|
||||
< 2342400000 1080000 734 >,
|
||||
< 2419200000 1095000 769 >,
|
||||
- < 2457600000 1100000 785 >;
|
||||
+ < 2457600000 1100000 785 >,
|
||||
+ < 2572800000 1145000 827 >,
|
||||
+ < 2726400000 1205000 900 >,
|
||||
+ < 2880000000 1235000 937 >;
|
||||
|
||||
qcom,speed3-pvs1-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 106 >,
|
||||
@@ -371,10 +383,14 @@
|
||||
< 2265600000 1040000 700 >,
|
||||
< 2342400000 1055000 734 >,
|
||||
< 2419200000 1070000 769 >,
|
||||
- < 2457600000 1075000 785 >;
|
||||
+ < 2457600000 1075000 785 >,
|
||||
+ < 2572800000 1145000 827 >,
|
||||
+ < 2726400000 1205000 900 >,
|
||||
+ < 2880000000 1235000 937 >;
|
||||
|
||||
qcom,speed3-pvs2-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -405,10 +421,14 @@
|
||||
< 2265600000 1015000 700 >,
|
||||
< 2342400000 1030000 734 >,
|
||||
< 2419200000 1045000 769 >,
|
||||
- < 2457600000 1050000 785 >;
|
||||
+ < 2457600000 1050000 785 >,
|
||||
+ < 2572800000 1125000 827 >,
|
||||
+ < 2726400000 1195000 900 >,
|
||||
+ < 2880000000 1225000 937 >;
|
||||
|
||||
qcom,speed3-pvs3-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -439,10 +459,14 @@
|
||||
< 2265600000 990000 700 >,
|
||||
< 2342400000 1005000 734 >,
|
||||
< 2419200000 1020000 769 >,
|
||||
- < 2457600000 1025000 785 >;
|
||||
+ < 2457600000 1025000 785 >,
|
||||
+ < 2572800000 1115000 827 >,
|
||||
+ < 2726400000 1185000 900 >,
|
||||
+ < 2880000000 1215000 937 >;
|
||||
|
||||
qcom,speed3-pvs4-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -473,10 +497,14 @@
|
||||
< 2265600000 965000 700 >,
|
||||
< 2342400000 980000 734 >,
|
||||
< 2419200000 995000 769 >,
|
||||
- < 2457600000 1000000 785 >;
|
||||
+ < 2457600000 1000000 785 >,
|
||||
+ < 2572800000 1075000 827 >,
|
||||
+ < 2726400000 1175000 900 >,
|
||||
+ < 2880000000 1205000 937 >;
|
||||
|
||||
qcom,speed3-pvs5-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 76 >,
|
||||
< 345600000 750000 87 >,
|
||||
< 422400000 750000 106 >,
|
||||
@@ -507,10 +535,14 @@
|
||||
< 2265600000 940000 700 >,
|
||||
< 2342400000 955000 734 >,
|
||||
< 2419200000 970000 769 >,
|
||||
- < 2457600000 975000 785 >;
|
||||
+ < 2457600000 975000 785 >,
|
||||
+ < 2572800000 1025000 827 >,
|
||||
+ < 2726400000 1175000 900 >,
|
||||
+ < 2880000000 1195000 937 >;
|
||||
|
||||
qcom,speed3-pvs6-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 76 >,
|
||||
< 345600000 750000 87 >,
|
||||
< 422400000 750000 106 >,
|
||||
@@ -541,10 +573,14 @@
|
||||
< 2265600000 915000 700 >,
|
||||
< 2342400000 930000 734 >,
|
||||
< 2419200000 945000 769 >,
|
||||
- < 2457600000 950000 785 >;
|
||||
+ < 2457600000 950000 785 >,
|
||||
+ < 2572800000 1010000 827 >,
|
||||
+ < 2726400000 1155000 900 >,
|
||||
+ < 2880000000 1175000 937 >;
|
||||
|
||||
qcom,speed1-pvs0-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 810000 87 >,
|
||||
< 422400000 820000 108 >,
|
||||
@@ -576,6 +612,7 @@
|
||||
|
||||
qcom,speed1-pvs1-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 810000 108 >,
|
||||
@@ -607,6 +644,7 @@
|
||||
|
||||
qcom,speed1-pvs2-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 108 >,
|
||||
@@ -638,6 +676,7 @@
|
||||
|
||||
qcom,speed1-pvs3-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 108 >,
|
||||
@@ -669,6 +708,7 @@
|
||||
|
||||
qcom,speed1-pvs4-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 108 >,
|
||||
@@ -700,6 +740,7 @@
|
||||
|
||||
qcom,speed1-pvs5-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 108 >,
|
||||
@@ -731,6 +772,7 @@
|
||||
|
||||
qcom,speed1-pvs6-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 108 >,
|
||||
@@ -762,6 +804,7 @@
|
||||
|
||||
qcom,speed1-pvs7-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 108 >,
|
||||
@@ -793,6 +836,7 @@
|
||||
|
||||
qcom,speed1-pvs8-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 108 >,
|
||||
@@ -824,6 +868,7 @@
|
||||
|
||||
qcom,speed1-pvs9-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 108 >,
|
||||
@@ -855,6 +900,7 @@
|
||||
|
||||
qcom,speed1-pvs10-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 108 >,
|
||||
@@ -886,6 +932,7 @@
|
||||
|
||||
qcom,speed1-pvs11-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 108 >,
|
||||
@@ -917,6 +964,7 @@
|
||||
|
||||
qcom,speed1-pvs12-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 108 >,
|
||||
@@ -948,6 +996,7 @@
|
||||
|
||||
qcom,speed1-pvs13-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 108 >,
|
||||
@@ -979,6 +1028,7 @@
|
||||
|
||||
qcom,speed1-pvs14-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 76 >,
|
||||
< 345600000 750000 87 >,
|
||||
< 422400000 750000 108 >,
|
||||
@@ -1010,6 +1060,7 @@
|
||||
|
||||
qcom,speed1-pvs15-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 76 >,
|
||||
< 345600000 750000 87 >,
|
||||
< 422400000 750000 108 >,
|
||||
@@ -1041,6 +1092,7 @@
|
||||
|
||||
qcom,speed3-pvs0-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 106 >,
|
||||
@@ -1071,10 +1123,14 @@
|
||||
< 2265600000 1085000 716 >,
|
||||
< 2342400000 1100000 751 >,
|
||||
< 2419200000 1115000 786 >,
|
||||
- < 2457600000 1120000 802 >;
|
||||
+ < 2457600000 1120000 802 >,
|
||||
+ < 2572800000 1175000 827 >,
|
||||
+ < 2726400000 1225000 900 >,
|
||||
+ < 2880000000 1265000 937 >;
|
||||
|
||||
qcom,speed3-pvs1-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 106 >,
|
||||
@@ -1105,10 +1161,14 @@
|
||||
< 2265600000 1075000 716 >,
|
||||
< 2342400000 1090000 751 >,
|
||||
< 2419200000 1105000 786 >,
|
||||
- < 2457600000 1110000 802 >;
|
||||
+ < 2457600000 1110000 802 >,
|
||||
+ < 2572800000 1165000 827 >,
|
||||
+ < 2726400000 1215000 900 >,
|
||||
+ < 2880000000 1245000 937 >;
|
||||
|
||||
qcom,speed3-pvs2-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 106 >,
|
||||
@@ -1139,10 +1199,14 @@
|
||||
< 2265600000 1065000 716 >,
|
||||
< 2342400000 1080000 751 >,
|
||||
< 2419200000 1095000 786 >,
|
||||
- < 2457600000 1100000 802 >;
|
||||
+ < 2457600000 1100000 802 >,
|
||||
+ < 2572800000 1145000 827 >,
|
||||
+ < 2726400000 1185000 900 >,
|
||||
+ < 2880000000 1215000 937 >;
|
||||
|
||||
qcom,speed3-pvs3-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 106 >,
|
||||
@@ -1173,10 +1237,14 @@
|
||||
< 2265600000 1055000 716 >,
|
||||
< 2342400000 1070000 751 >,
|
||||
< 2419200000 1085000 786 >,
|
||||
- < 2457600000 1090000 802 >;
|
||||
+ < 2457600000 1090000 802 >,
|
||||
+ < 2572800000 1145000 827 >,
|
||||
+ < 2726400000 1175000 900 >,
|
||||
+ < 2880000000 1205000 937 >;
|
||||
|
||||
qcom,speed3-pvs4-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 106 >,
|
||||
@@ -1207,10 +1275,14 @@
|
||||
< 2265600000 1045000 716 >,
|
||||
< 2342400000 1060000 751 >,
|
||||
< 2419200000 1075000 786 >,
|
||||
- < 2457600000 1080000 802 >;
|
||||
+ < 2457600000 1080000 802 >,
|
||||
+ < 2572800000 1135000 827 >,
|
||||
+ < 2726400000 1165000 900 >,
|
||||
+ < 2880000000 1195000 937 >;
|
||||
|
||||
qcom,speed3-pvs5-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 106 >,
|
||||
@@ -1241,10 +1313,14 @@
|
||||
< 2265600000 1035000 716 >,
|
||||
< 2342400000 1050000 751 >,
|
||||
< 2419200000 1065000 786 >,
|
||||
- < 2457600000 1070000 802 >;
|
||||
+ < 2457600000 1070000 802 >,
|
||||
+ < 2572800000 1125000 827 >,
|
||||
+ < 2726400000 1155000 900 >,
|
||||
+ < 2880000000 1185000 937 >;
|
||||
|
||||
qcom,speed3-pvs6-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -1275,10 +1351,14 @@
|
||||
< 2265600000 1025000 716 >,
|
||||
< 2342400000 1040000 751 >,
|
||||
< 2419200000 1055000 786 >,
|
||||
- < 2457600000 1060000 802 >;
|
||||
+ < 2457600000 1060000 802 >,
|
||||
+ < 2572800000 1115000 827 >,
|
||||
+ < 2726400000 1145000 900 >,
|
||||
+ < 2880000000 1175000 937 >;
|
||||
|
||||
qcom,speed3-pvs7-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -1309,10 +1389,14 @@
|
||||
< 2265600000 1015000 716 >,
|
||||
< 2342400000 1030000 751 >,
|
||||
< 2419200000 1045000 786 >,
|
||||
- < 2457600000 1050000 802 >;
|
||||
+ < 2457600000 1050000 802 >,
|
||||
+ < 2572800000 1105000 827 >,
|
||||
+ < 2726400000 1135000 900 >,
|
||||
+ < 2880000000 1165000 937 >;
|
||||
|
||||
qcom,speed3-pvs8-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -1343,10 +1427,14 @@
|
||||
< 2265600000 1005000 716 >,
|
||||
< 2342400000 1020000 751 >,
|
||||
< 2419200000 1035000 786 >,
|
||||
- < 2457600000 1040000 802 >;
|
||||
+ < 2457600000 1040000 802 >,
|
||||
+ < 2572800000 1095000 827 >,
|
||||
+ < 2726400000 1125000 900 >,
|
||||
+ < 2880000000 1155000 937 >;
|
||||
|
||||
qcom,speed3-pvs9-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -1377,10 +1465,14 @@
|
||||
< 2265600000 995000 716 >,
|
||||
< 2342400000 1010000 751 >,
|
||||
< 2419200000 1025000 786 >,
|
||||
- < 2457600000 1030000 802 >;
|
||||
+ < 2457600000 1030000 802 >,
|
||||
+ < 2572800000 1085000 827 >,
|
||||
+ < 2726400000 1115000 900 >,
|
||||
+ < 2880000000 1145000 937 >;
|
||||
|
||||
qcom,speed3-pvs10-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -1411,10 +1503,14 @@
|
||||
< 2265600000 985000 716 >,
|
||||
< 2342400000 1000000 751 >,
|
||||
< 2419200000 1015000 786 >,
|
||||
- < 2457600000 1020000 802 >;
|
||||
+ < 2457600000 1020000 802 >,
|
||||
+ < 2572800000 1075000 827 >,
|
||||
+ < 2726400000 1105000 900 >,
|
||||
+ < 2880000000 1135000 937 >;
|
||||
|
||||
qcom,speed3-pvs11-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -1445,10 +1541,14 @@
|
||||
< 2265600000 975000 716 >,
|
||||
< 2342400000 990000 751 >,
|
||||
< 2419200000 1005000 786 >,
|
||||
- < 2457600000 1010000 802 >;
|
||||
+ < 2457600000 1010000 802 >,
|
||||
+ < 2572800000 1065000 827 >,
|
||||
+ < 2726400000 1095000 900 >,
|
||||
+ < 2880000000 1125000 937 >;
|
||||
|
||||
qcom,speed3-pvs12-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -1479,10 +1579,14 @@
|
||||
< 2265600000 965000 716 >,
|
||||
< 2342400000 980000 751 >,
|
||||
< 2419200000 995000 786 >,
|
||||
- < 2457600000 1000000 802 >;
|
||||
+ < 2457600000 1000000 802 >,
|
||||
+ < 2572800000 1065000 827 >,
|
||||
+ < 2726400000 1085000 900 >,
|
||||
+ < 2880000000 1115000 937 >;
|
||||
|
||||
qcom,speed3-pvs13-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -1513,10 +1617,14 @@
|
||||
< 2265600000 955000 716 >,
|
||||
< 2342400000 970000 751 >,
|
||||
< 2419200000 985000 786 >,
|
||||
- < 2457600000 990000 802 >;
|
||||
+ < 2457600000 990000 802 >,
|
||||
+ < 2572800000 1045000 827 >,
|
||||
+ < 2726400000 1065000 900 >,
|
||||
+ < 2880000000 1095000 937 >;
|
||||
|
||||
qcom,speed3-pvs14-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 76 >,
|
||||
< 345600000 750000 87 >,
|
||||
< 422400000 750000 106 >,
|
||||
@@ -1547,10 +1655,14 @@
|
||||
< 2265600000 945000 716 >,
|
||||
< 2342400000 960000 751 >,
|
||||
< 2419200000 975000 786 >,
|
||||
- < 2457600000 980000 802 >;
|
||||
+ < 2457600000 980000 802 >,
|
||||
+ < 2572800000 1035000 827 >,
|
||||
+ < 2726400000 1055000 900 >,
|
||||
+ < 2880000000 1085000 937 >;
|
||||
|
||||
qcom,speed3-pvs15-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 76 >,
|
||||
< 345600000 750000 87 >,
|
||||
< 422400000 750000 106 >,
|
||||
@@ -1581,9 +1693,39 @@
|
||||
< 2265600000 935000 716 >,
|
||||
< 2342400000 950000 751 >,
|
||||
< 2419200000 965000 786 >,
|
||||
- < 2457600000 970000 802 >;
|
||||
+ < 2457600000 970000 802 >,
|
||||
+ < 2572800000 1025000 827 >,
|
||||
+ < 2726400000 1045000 900 >,
|
||||
+ < 2880000000 1075000 937 >;
|
||||
};
|
||||
|
||||
+ qcom,msm-cpufreq@0 {
|
||||
+ reg = <0 4>;
|
||||
+ compatible = "qcom,msm-cpufreq";
|
||||
+ qcom,cpufreq-table =
|
||||
+ < 268800 /* 75 MHz */ >,
|
||||
+ < 300000 /* 75 MHz */ >,
|
||||
+ < 422400 /* 150 MHz */ >,
|
||||
+ < 652800 /* 200 MHz */ >,
|
||||
+ < 729600 /* 307 MHz */ >,
|
||||
+ < 883200 /* 307 MHz */ >,
|
||||
+ < 960000 /* 460 MHz */ >,
|
||||
+ < 1036800 /* 460 MHz */ >,
|
||||
+ < 1190400 /* 460 MHz */ >,
|
||||
+ < 1267200 /* 614 MHz */ >,
|
||||
+ < 1497600 /* 614 MHz */ >,
|
||||
+ < 1574400 /* 800 MHz */ >,
|
||||
+ < 1728000 /* 800 MHz */ >,
|
||||
+ < 1958400 /* 931 MHz */ >,
|
||||
+ < 2265600 /* 931 MHz */ >,
|
||||
+ < 2342400 /* 931 MHz */ >,
|
||||
+ < 2419200 /* 931 MHz */ >,
|
||||
+ < 2457600 /* 931 MHz */ >,
|
||||
+ < 2572800 /* 931 MHz */ >,
|
||||
+ < 2726400 /* 931 MHz */ >,
|
||||
+ < 2880000 /* 931 MHz */ >;
|
||||
+ };
|
||||
+
|
||||
i2c@f9928000 { /* BLSP-1 QUP-6 */
|
||||
cell-index = <3>;
|
||||
compatible = "qcom,i2c-qup";
|
||||
@@ -1751,7 +1893,7 @@
|
||||
<1880000 2068000>,
|
||||
<3008000 3309000>,
|
||||
<3760000 4136000>,
|
||||
- <4468000 2457000>;
|
||||
+ <4468000 2457600>;
|
||||
qcom,dec-ocmem-ab-ib = <0 0>,
|
||||
<176000 519000>,
|
||||
<456000 519000>,
|
33
Patches/OLD/bacon/Kernel-All/cm-13.0/3.patch
Normal file
33
Patches/OLD/bacon/Kernel-All/cm-13.0/3.patch
Normal file
|
@ -0,0 +1,33 @@
|
|||
From 5bc51b0399c7a740537be766423f24936eac7788 Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Sat, 17 Oct 2015 20:50:31 -0400
|
||||
Subject: [PATCH] Update defconfig
|
||||
|
||||
---
|
||||
arch/arm/configs/cyanogenmod_bacon_defconfig | 5 +++--
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/configs/cyanogenmod_bacon_defconfig b/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
index 73f8fe7..f8ab8c2 100644
|
||||
--- a/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
+++ b/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
@@ -123,8 +123,9 @@ CONFIG_RD_BZIP2=y
|
||||
CONFIG_RD_LZMA=y
|
||||
# CONFIG_RD_XZ is not set
|
||||
# CONFIG_RD_LZO is not set
|
||||
-# CONFIG_RD_LZ4 is not set
|
||||
+CONFIG_RD_LZ4=y
|
||||
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
|
||||
+CONFIG_CC_OPTIMIZE_MORE=y
|
||||
CONFIG_SYSCTL=y
|
||||
CONFIG_ANON_INODES=y
|
||||
CONFIG_PANIC_TIMEOUT=5
|
||||
@@ -188,7 +189,7 @@ CONFIG_SECCOMP_FILTER=y
|
||||
CONFIG_HAVE_GENERIC_DMA_COHERENT=y
|
||||
CONFIG_RT_MUTEXES=y
|
||||
CONFIG_BASE_SMALL=0
|
||||
-# CONFIG_MODULES is not set
|
||||
+CONFIG_MODULES=y
|
||||
CONFIG_STOP_MACHINE=y
|
||||
CONFIG_BLOCK=y
|
||||
CONFIG_LBDAF=y
|
244
Patches/OLD/bacon/Kernel-All/cm-13.0/4.patch
Normal file
244
Patches/OLD/bacon/Kernel-All/cm-13.0/4.patch
Normal file
|
@ -0,0 +1,244 @@
|
|||
From 9cb94dbd3fb2ea3d335865c3a600af96f4c0611d Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Sat, 17 Oct 2015 20:52:02 -0400
|
||||
Subject: [PATCH] Implement Quick Wakeup
|
||||
|
||||
---
|
||||
arch/arm/configs/cyanogenmod_bacon_defconfig | 2 +
|
||||
include/linux/quickwakeup.h | 46 ++++++++++++
|
||||
kernel/power/Kconfig | 20 ++++--
|
||||
kernel/power/Makefile | 1 +
|
||||
kernel/power/quickwakeup.c | 104 +++++++++++++++++++++++++++
|
||||
5 files changed, 167 insertions(+), 6 deletions(-)
|
||||
create mode 100644 include/linux/quickwakeup.h
|
||||
create mode 100644 kernel/power/quickwakeup.c
|
||||
|
||||
diff --git a/arch/arm/configs/cyanogenmod_bacon_defconfig b/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
index f8ab8c2..6698a71 100644
|
||||
--- a/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
+++ b/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
@@ -3642,3 +3642,5 @@ CONFIG_NLATTR=y
|
||||
# CONFIG_CORDIC is not set
|
||||
CONFIG_QMI_ENCDEC=y
|
||||
# CONFIG_QMI_ENCDEC_DEBUG is not set
|
||||
+
|
||||
+CONFIG_QUICK_WAKEUP=y
|
||||
diff --git a/include/linux/quickwakeup.h b/include/linux/quickwakeup.h
|
||||
new file mode 100644
|
||||
index 0000000..000effa
|
||||
--- /dev/null
|
||||
+++ b/include/linux/quickwakeup.h
|
||||
@@ -0,0 +1,46 @@
|
||||
+/* include/linux/quickwakeup.h
|
||||
+ *
|
||||
+ * Copyright (C) 2014 Motorola Mobility LLC.
|
||||
+ *
|
||||
+ * This software is licensed under the terms of the GNU General Public
|
||||
+ * License version 2, as published by the Free Software Foundation, and
|
||||
+ * may be copied, distributed, and modified under those terms.
|
||||
+ *
|
||||
+ * This program is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ * GNU General Public License for more details.
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+#ifndef _QUICKWAKEUP_H_
|
||||
+#define _QUICKWAKEUP_H_
|
||||
+
|
||||
+#ifdef __KERNEL__
|
||||
+
|
||||
+struct quickwakeup_ops {
|
||||
+ struct list_head list;
|
||||
+ char *name;
|
||||
+ int (*qw_execute)(void *data);
|
||||
+ int (*qw_check)(void *data);
|
||||
+ int execute;
|
||||
+ void *data; /* arbitrary data passed back to user */
|
||||
+};
|
||||
+
|
||||
+#ifdef CONFIG_QUICK_WAKEUP
|
||||
+
|
||||
+int quickwakeup_register(struct quickwakeup_ops *ops);
|
||||
+void quickwakeup_unregister(struct quickwakeup_ops *ops);
|
||||
+bool quickwakeup_suspend_again(void);
|
||||
+
|
||||
+#else
|
||||
+
|
||||
+static inline int quickwakeup_register(struct quickwakeup_ops *ops) { return 0; };
|
||||
+static inline void quickwakeup_unregister(struct quickwakeup_ops *ops) {};
|
||||
+static inline bool quickwakeup_suspend_again(void) { return 0; };
|
||||
+
|
||||
+#endif /* CONFIG_QUICK_WAKEUP */
|
||||
+
|
||||
+#endif /* __KERNEL__ */
|
||||
+
|
||||
+#endif /* _QUICKWAKEUP_H_ */
|
||||
diff --git a/kernel/power/Kconfig b/kernel/power/Kconfig
|
||||
index e536c8d..8006962 100644
|
||||
--- a/kernel/power/Kconfig
|
||||
+++ b/kernel/power/Kconfig
|
||||
@@ -83,20 +83,20 @@ config PM_STD_PARTITION
|
||||
default ""
|
||||
---help---
|
||||
The default resume partition is the partition that the suspend-
|
||||
- to-disk implementation will look for a suspended disk image.
|
||||
+ to-disk implementation will look for a suspended disk image.
|
||||
|
||||
- The partition specified here will be different for almost every user.
|
||||
+ The partition specified here will be different for almost every user.
|
||||
It should be a valid swap partition (at least for now) that is turned
|
||||
- on before suspending.
|
||||
+ on before suspending.
|
||||
|
||||
The partition specified can be overridden by specifying:
|
||||
|
||||
- resume=/dev/<other device>
|
||||
+ resume=/dev/<other device>
|
||||
|
||||
- which will set the resume partition to the device specified.
|
||||
+ which will set the resume partition to the device specified.
|
||||
|
||||
Note there is currently not a way to specify which device to save the
|
||||
- suspended image to. It will simply pick the first available swap
|
||||
+ suspended image to. It will simply pick the first available swap
|
||||
device.
|
||||
|
||||
config PM_SLEEP
|
||||
@@ -285,6 +285,14 @@ config SUSPEND_TIME
|
||||
Prints the time spent in suspend in the kernel log, and
|
||||
keeps statistics on the time spent in suspend in
|
||||
/sys/kernel/debug/suspend_time
|
||||
+
|
||||
+config QUICK_WAKEUP
|
||||
+ bool "Quick wakeup"
|
||||
+ depends on SUSPEND
|
||||
+ default n
|
||||
+ ---help---
|
||||
+ Allow kernel driver to do periodic jobs without resuming the full system
|
||||
+ This option can increase battery life on android powered smartphone.
|
||||
|
||||
config DEDUCE_WAKEUP_REASONS
|
||||
bool
|
||||
diff --git a/kernel/power/Makefile b/kernel/power/Makefile
|
||||
index 74c713b..e5bebbc 100644
|
||||
--- a/kernel/power/Makefile
|
||||
+++ b/kernel/power/Makefile
|
||||
@@ -14,5 +14,6 @@ obj-$(CONFIG_PM_WAKELOCKS) += wakelock.o
|
||||
obj-$(CONFIG_SUSPEND_TIME) += suspend_time.o
|
||||
|
||||
obj-$(CONFIG_MAGIC_SYSRQ) += poweroff.o
|
||||
+obj-$(CONFIG_QUICK_WAKEUP) += quickwakeup.o
|
||||
|
||||
obj-$(CONFIG_SUSPEND) += wakeup_reason.o
|
||||
diff --git a/kernel/power/quickwakeup.c b/kernel/power/quickwakeup.c
|
||||
new file mode 100644
|
||||
index 0000000..46f9dda
|
||||
--- /dev/null
|
||||
+++ b/kernel/power/quickwakeup.c
|
||||
@@ -0,0 +1,104 @@
|
||||
+/* kernel/power/quickwakeup.c
|
||||
+ *
|
||||
+ * Copyright (C) 2014 Motorola Mobility LLC.
|
||||
+ *
|
||||
+ * This software is licensed under the terms of the GNU General Public
|
||||
+ * License version 2, as published by the Free Software Foundation, and
|
||||
+ * may be copied, distributed, and modified under those terms.
|
||||
+ *
|
||||
+ * This program is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ * GNU General Public License for more details.
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+#include <linux/kernel.h>
|
||||
+#include <linux/list.h>
|
||||
+#include <linux/mutex.h>
|
||||
+#include <linux/quickwakeup.h>
|
||||
+
|
||||
+static LIST_HEAD(qw_head);
|
||||
+static DEFINE_MUTEX(list_lock);
|
||||
+
|
||||
+int quickwakeup_register(struct quickwakeup_ops *ops)
|
||||
+{
|
||||
+ mutex_lock(&list_lock);
|
||||
+ list_add(&ops->list, &qw_head);
|
||||
+ mutex_unlock(&list_lock);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+void quickwakeup_unregister(struct quickwakeup_ops *ops)
|
||||
+{
|
||||
+ mutex_lock(&list_lock);
|
||||
+ list_del(&ops->list);
|
||||
+ mutex_unlock(&list_lock);
|
||||
+}
|
||||
+
|
||||
+static int quickwakeup_check(void)
|
||||
+{
|
||||
+ int check = 0;
|
||||
+ struct quickwakeup_ops *index;
|
||||
+
|
||||
+ mutex_lock(&list_lock);
|
||||
+
|
||||
+ list_for_each_entry(index, &qw_head, list) {
|
||||
+ int ret = index->qw_check(index->data);
|
||||
+ index->execute = ret;
|
||||
+ check |= ret;
|
||||
+ pr_debug("%s: %s votes for %s\n", __func__, index->name,
|
||||
+ ret ? "execute" : "dont care");
|
||||
+ }
|
||||
+
|
||||
+ mutex_unlock(&list_lock);
|
||||
+
|
||||
+ return check;
|
||||
+}
|
||||
+
|
||||
+/* return 1 => suspend again
|
||||
+ return 0 => continue wakeup
|
||||
+ */
|
||||
+static int quickwakeup_execute(void)
|
||||
+{
|
||||
+ int suspend_again = 0;
|
||||
+ int final_vote = 1;
|
||||
+ struct quickwakeup_ops *index;
|
||||
+
|
||||
+ mutex_lock(&list_lock);
|
||||
+
|
||||
+ list_for_each_entry(index, &qw_head, list) {
|
||||
+ if (index->execute) {
|
||||
+ int ret = index->qw_execute(index->data);
|
||||
+ index->execute = 0;
|
||||
+ final_vote &= ret;
|
||||
+ suspend_again = final_vote;
|
||||
+ pr_debug("%s: %s votes for %s\n", __func__, index->name,
|
||||
+ ret ? "suspend again" : "wakeup");
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ mutex_unlock(&list_lock);
|
||||
+
|
||||
+ pr_debug("%s: %s\n", __func__,
|
||||
+ suspend_again ? "suspend again" : "wakeup");
|
||||
+
|
||||
+ return suspend_again;
|
||||
+}
|
||||
+
|
||||
+/* return 1 => suspend again
|
||||
+ return 0 => continue wakeup
|
||||
+ */
|
||||
+bool quickwakeup_suspend_again(void)
|
||||
+{
|
||||
+ int ret = 0;
|
||||
+
|
||||
+ if (quickwakeup_check())
|
||||
+ ret = quickwakeup_execute();
|
||||
+
|
||||
+ pr_debug("%s- returning %d %s\n", __func__, ret,
|
||||
+ ret ? "suspend again" : "wakeup");
|
||||
+
|
||||
+ return ret;
|
||||
+}
|
7297
Patches/OLD/bacon/Kernel-All/cm-13.0/5.patch
Normal file
7297
Patches/OLD/bacon/Kernel-All/cm-13.0/5.patch
Normal file
File diff suppressed because it is too large
Load diff
22
Patches/OLD/bacon/Kernel-All/cm-13.0/6.patch
Normal file
22
Patches/OLD/bacon/Kernel-All/cm-13.0/6.patch
Normal file
|
@ -0,0 +1,22 @@
|
|||
From 9ef0d3d6018c1c20ed54bd92e2d6c61e7105f89f Mon Sep 17 00:00:00 2001
|
||||
From: YoshiShaPow <yoshipga@gmail.com>
|
||||
Date: Sat, 20 Dec 2014 12:05:19 -0800
|
||||
Subject: [PATCH] gcc5: arm: enable cortex_a15 optimization
|
||||
|
||||
---
|
||||
arch/arm/Makefile | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
|
||||
index a9163ff..066853f 100644
|
||||
--- a/arch/arm/Makefile
|
||||
+++ b/arch/arm/Makefile
|
||||
@@ -58,7 +58,7 @@ comma = ,
|
||||
# Note that GCC does not numerically define an architecture version
|
||||
# macro, but instead defines a whole series of macros which makes
|
||||
# testing for a specific architecture or later rather impossible.
|
||||
-arch-$(CONFIG_CPU_32v7) :=-D__LINUX_ARM_ARCH__=7 $(call cc-option,-march=armv7-a,-march=armv5t -Wa$(comma)-march=armv7-a)
|
||||
+arch-$(CONFIG_CPU_32v7) :=-D__LINUX_ARM_ARCH__=7 $(call cc-option,-march=armv7-a -mtune=cortex-a15 -Wa$(comma)-march=armv7-a)
|
||||
arch-$(CONFIG_CPU_32v6) :=-D__LINUX_ARM_ARCH__=6 $(call cc-option,-march=armv6,-march=armv5t -Wa$(comma)-march=armv6)
|
||||
# Only override the compiler option if ARMv6. The ARMv6K extensions are
|
||||
# always available in ARMv7
|
22
Patches/OLD/bacon/Kernel-All/cm-13.0/7.patch
Normal file
22
Patches/OLD/bacon/Kernel-All/cm-13.0/7.patch
Normal file
|
@ -0,0 +1,22 @@
|
|||
From b35817c3d0d629b0faa549837eec2a3fdd9d1c00 Mon Sep 17 00:00:00 2001
|
||||
From: franciscofranco <franciscofranco.1990@gmail.com>
|
||||
Date: Fri, 27 Feb 2015 15:59:50 +0000
|
||||
Subject: [PATCH] arm: use -mtune=cortex-a15 for Krait targets
|
||||
|
||||
Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>
|
||||
---
|
||||
arch/arm/Makefile | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
|
||||
index 066853f..ffb2719 100644
|
||||
--- a/arch/arm/Makefile
|
||||
+++ b/arch/arm/Makefile
|
||||
@@ -103,6 +103,7 @@ tune-$(CONFIG_CPU_XSC3) :=$(call cc-option,-mtune=xscale,-mtune=strongarm110) -
|
||||
tune-$(CONFIG_CPU_FEROCEON) :=$(call cc-option,-mtune=marvell-f,-mtune=xscale)
|
||||
tune-$(CONFIG_CPU_V6) :=$(call cc-option,-mtune=arm1136j-s,-mtune=strongarm)
|
||||
tune-$(CONFIG_CPU_V6K) :=$(call cc-option,-mtune=arm1136j-s,-mtune=strongarm)
|
||||
+tune-$(CONFIG_ARCH_MSM_KRAIT) :=-mtune=cortex-a15
|
||||
|
||||
ifeq ($(CONFIG_AEABI),y)
|
||||
CFLAGS_ABI :=-mabi=aapcs-linux -mno-thumb-interwork
|
50928
Patches/OLD/bacon/Kernel-CM-12.1/1.patch
Normal file
50928
Patches/OLD/bacon/Kernel-CM-12.1/1.patch
Normal file
File diff suppressed because it is too large
Load diff
244
Patches/OLD/bacon/Kernel-CM-12.1/10.patch
Normal file
244
Patches/OLD/bacon/Kernel-CM-12.1/10.patch
Normal file
|
@ -0,0 +1,244 @@
|
|||
From be4516645f228e02ae04eab6c1c3f564cff1e0ec Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Sat, 17 Oct 2015 20:52:02 -0400
|
||||
Subject: [PATCH] Implement Quick Wakeup
|
||||
|
||||
---
|
||||
arch/arm/configs/cyanogenmod_bacon_defconfig | 2 +
|
||||
include/linux/quickwakeup.h | 46 ++++++++++++
|
||||
kernel/power/Kconfig | 20 ++++--
|
||||
kernel/power/Makefile | 1 +
|
||||
kernel/power/quickwakeup.c | 104 +++++++++++++++++++++++++++
|
||||
5 files changed, 167 insertions(+), 6 deletions(-)
|
||||
create mode 100644 include/linux/quickwakeup.h
|
||||
create mode 100644 kernel/power/quickwakeup.c
|
||||
|
||||
diff --git a/arch/arm/configs/cyanogenmod_bacon_defconfig b/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
index 41a303a..0d2faaf 100644
|
||||
--- a/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
+++ b/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
@@ -3622,3 +3622,5 @@ CONFIG_NLATTR=y
|
||||
# CONFIG_CORDIC is not set
|
||||
CONFIG_QMI_ENCDEC=y
|
||||
# CONFIG_QMI_ENCDEC_DEBUG is not set
|
||||
+
|
||||
+CONFIG_QUICK_WAKEUP=y
|
||||
diff --git a/include/linux/quickwakeup.h b/include/linux/quickwakeup.h
|
||||
new file mode 100644
|
||||
index 0000000..000effa
|
||||
--- /dev/null
|
||||
+++ b/include/linux/quickwakeup.h
|
||||
@@ -0,0 +1,46 @@
|
||||
+/* include/linux/quickwakeup.h
|
||||
+ *
|
||||
+ * Copyright (C) 2014 Motorola Mobility LLC.
|
||||
+ *
|
||||
+ * This software is licensed under the terms of the GNU General Public
|
||||
+ * License version 2, as published by the Free Software Foundation, and
|
||||
+ * may be copied, distributed, and modified under those terms.
|
||||
+ *
|
||||
+ * This program is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ * GNU General Public License for more details.
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+#ifndef _QUICKWAKEUP_H_
|
||||
+#define _QUICKWAKEUP_H_
|
||||
+
|
||||
+#ifdef __KERNEL__
|
||||
+
|
||||
+struct quickwakeup_ops {
|
||||
+ struct list_head list;
|
||||
+ char *name;
|
||||
+ int (*qw_execute)(void *data);
|
||||
+ int (*qw_check)(void *data);
|
||||
+ int execute;
|
||||
+ void *data; /* arbitrary data passed back to user */
|
||||
+};
|
||||
+
|
||||
+#ifdef CONFIG_QUICK_WAKEUP
|
||||
+
|
||||
+int quickwakeup_register(struct quickwakeup_ops *ops);
|
||||
+void quickwakeup_unregister(struct quickwakeup_ops *ops);
|
||||
+bool quickwakeup_suspend_again(void);
|
||||
+
|
||||
+#else
|
||||
+
|
||||
+static inline int quickwakeup_register(struct quickwakeup_ops *ops) { return 0; };
|
||||
+static inline void quickwakeup_unregister(struct quickwakeup_ops *ops) {};
|
||||
+static inline bool quickwakeup_suspend_again(void) { return 0; };
|
||||
+
|
||||
+#endif /* CONFIG_QUICK_WAKEUP */
|
||||
+
|
||||
+#endif /* __KERNEL__ */
|
||||
+
|
||||
+#endif /* _QUICKWAKEUP_H_ */
|
||||
diff --git a/kernel/power/Kconfig b/kernel/power/Kconfig
|
||||
index e536c8d..8006962 100644
|
||||
--- a/kernel/power/Kconfig
|
||||
+++ b/kernel/power/Kconfig
|
||||
@@ -83,20 +83,20 @@ config PM_STD_PARTITION
|
||||
default ""
|
||||
---help---
|
||||
The default resume partition is the partition that the suspend-
|
||||
- to-disk implementation will look for a suspended disk image.
|
||||
+ to-disk implementation will look for a suspended disk image.
|
||||
|
||||
- The partition specified here will be different for almost every user.
|
||||
+ The partition specified here will be different for almost every user.
|
||||
It should be a valid swap partition (at least for now) that is turned
|
||||
- on before suspending.
|
||||
+ on before suspending.
|
||||
|
||||
The partition specified can be overridden by specifying:
|
||||
|
||||
- resume=/dev/<other device>
|
||||
+ resume=/dev/<other device>
|
||||
|
||||
- which will set the resume partition to the device specified.
|
||||
+ which will set the resume partition to the device specified.
|
||||
|
||||
Note there is currently not a way to specify which device to save the
|
||||
- suspended image to. It will simply pick the first available swap
|
||||
+ suspended image to. It will simply pick the first available swap
|
||||
device.
|
||||
|
||||
config PM_SLEEP
|
||||
@@ -285,6 +285,14 @@ config SUSPEND_TIME
|
||||
Prints the time spent in suspend in the kernel log, and
|
||||
keeps statistics on the time spent in suspend in
|
||||
/sys/kernel/debug/suspend_time
|
||||
+
|
||||
+config QUICK_WAKEUP
|
||||
+ bool "Quick wakeup"
|
||||
+ depends on SUSPEND
|
||||
+ default n
|
||||
+ ---help---
|
||||
+ Allow kernel driver to do periodic jobs without resuming the full system
|
||||
+ This option can increase battery life on android powered smartphone.
|
||||
|
||||
config DEDUCE_WAKEUP_REASONS
|
||||
bool
|
||||
diff --git a/kernel/power/Makefile b/kernel/power/Makefile
|
||||
index 74c713b..e5bebbc 100644
|
||||
--- a/kernel/power/Makefile
|
||||
+++ b/kernel/power/Makefile
|
||||
@@ -14,5 +14,6 @@ obj-$(CONFIG_PM_WAKELOCKS) += wakelock.o
|
||||
obj-$(CONFIG_SUSPEND_TIME) += suspend_time.o
|
||||
|
||||
obj-$(CONFIG_MAGIC_SYSRQ) += poweroff.o
|
||||
+obj-$(CONFIG_QUICK_WAKEUP) += quickwakeup.o
|
||||
|
||||
obj-$(CONFIG_SUSPEND) += wakeup_reason.o
|
||||
diff --git a/kernel/power/quickwakeup.c b/kernel/power/quickwakeup.c
|
||||
new file mode 100644
|
||||
index 0000000..46f9dda
|
||||
--- /dev/null
|
||||
+++ b/kernel/power/quickwakeup.c
|
||||
@@ -0,0 +1,104 @@
|
||||
+/* kernel/power/quickwakeup.c
|
||||
+ *
|
||||
+ * Copyright (C) 2014 Motorola Mobility LLC.
|
||||
+ *
|
||||
+ * This software is licensed under the terms of the GNU General Public
|
||||
+ * License version 2, as published by the Free Software Foundation, and
|
||||
+ * may be copied, distributed, and modified under those terms.
|
||||
+ *
|
||||
+ * This program is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ * GNU General Public License for more details.
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+#include <linux/kernel.h>
|
||||
+#include <linux/list.h>
|
||||
+#include <linux/mutex.h>
|
||||
+#include <linux/quickwakeup.h>
|
||||
+
|
||||
+static LIST_HEAD(qw_head);
|
||||
+static DEFINE_MUTEX(list_lock);
|
||||
+
|
||||
+int quickwakeup_register(struct quickwakeup_ops *ops)
|
||||
+{
|
||||
+ mutex_lock(&list_lock);
|
||||
+ list_add(&ops->list, &qw_head);
|
||||
+ mutex_unlock(&list_lock);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+void quickwakeup_unregister(struct quickwakeup_ops *ops)
|
||||
+{
|
||||
+ mutex_lock(&list_lock);
|
||||
+ list_del(&ops->list);
|
||||
+ mutex_unlock(&list_lock);
|
||||
+}
|
||||
+
|
||||
+static int quickwakeup_check(void)
|
||||
+{
|
||||
+ int check = 0;
|
||||
+ struct quickwakeup_ops *index;
|
||||
+
|
||||
+ mutex_lock(&list_lock);
|
||||
+
|
||||
+ list_for_each_entry(index, &qw_head, list) {
|
||||
+ int ret = index->qw_check(index->data);
|
||||
+ index->execute = ret;
|
||||
+ check |= ret;
|
||||
+ pr_debug("%s: %s votes for %s\n", __func__, index->name,
|
||||
+ ret ? "execute" : "dont care");
|
||||
+ }
|
||||
+
|
||||
+ mutex_unlock(&list_lock);
|
||||
+
|
||||
+ return check;
|
||||
+}
|
||||
+
|
||||
+/* return 1 => suspend again
|
||||
+ return 0 => continue wakeup
|
||||
+ */
|
||||
+static int quickwakeup_execute(void)
|
||||
+{
|
||||
+ int suspend_again = 0;
|
||||
+ int final_vote = 1;
|
||||
+ struct quickwakeup_ops *index;
|
||||
+
|
||||
+ mutex_lock(&list_lock);
|
||||
+
|
||||
+ list_for_each_entry(index, &qw_head, list) {
|
||||
+ if (index->execute) {
|
||||
+ int ret = index->qw_execute(index->data);
|
||||
+ index->execute = 0;
|
||||
+ final_vote &= ret;
|
||||
+ suspend_again = final_vote;
|
||||
+ pr_debug("%s: %s votes for %s\n", __func__, index->name,
|
||||
+ ret ? "suspend again" : "wakeup");
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ mutex_unlock(&list_lock);
|
||||
+
|
||||
+ pr_debug("%s: %s\n", __func__,
|
||||
+ suspend_again ? "suspend again" : "wakeup");
|
||||
+
|
||||
+ return suspend_again;
|
||||
+}
|
||||
+
|
||||
+/* return 1 => suspend again
|
||||
+ return 0 => continue wakeup
|
||||
+ */
|
||||
+bool quickwakeup_suspend_again(void)
|
||||
+{
|
||||
+ int ret = 0;
|
||||
+
|
||||
+ if (quickwakeup_check())
|
||||
+ ret = quickwakeup_execute();
|
||||
+
|
||||
+ pr_debug("%s- returning %d %s\n", __func__, ret,
|
||||
+ ret ? "suspend again" : "wakeup");
|
||||
+
|
||||
+ return ret;
|
||||
+}
|
7297
Patches/OLD/bacon/Kernel-CM-12.1/11.patch
Normal file
7297
Patches/OLD/bacon/Kernel-CM-12.1/11.patch
Normal file
File diff suppressed because it is too large
Load diff
60
Patches/OLD/bacon/Kernel-CM-12.1/12.patch
Normal file
60
Patches/OLD/bacon/Kernel-CM-12.1/12.patch
Normal file
|
@ -0,0 +1,60 @@
|
|||
From 11812dfbd7b16cfff83389f3d017702bfb0320e9 Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Tue, 26 May 2015 14:26:28 -0400
|
||||
Subject: [PATCH] Fix build failure
|
||||
|
||||
---
|
||||
kernel/time/alarmtimer.c | 23 ++++++++---------------
|
||||
1 file changed, 8 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/kernel/time/alarmtimer.c b/kernel/time/alarmtimer.c
|
||||
index f0239cc..c4f3fdd 100644
|
||||
--- a/kernel/time/alarmtimer.c
|
||||
+++ b/kernel/time/alarmtimer.c
|
||||
@@ -731,9 +731,6 @@ static int alarm_timer_create(struct k_itimer *new_timer)
|
||||
if (!alarmtimer_get_rtcdev())
|
||||
return -ENOTSUPP;
|
||||
|
||||
- if (flags & ~TIMER_ABSTIME)
|
||||
- return -EINVAL;
|
||||
-
|
||||
if (!capable(CAP_WAKE_ALARM))
|
||||
return -EPERM;
|
||||
|
||||
@@ -748,22 +745,18 @@ static int alarm_timer_create(struct k_itimer *new_timer)
|
||||
* @new_timer: k_itimer pointer
|
||||
* @cur_setting: itimerspec data to fill
|
||||
*
|
||||
- * Copies out the current itimerspec data
|
||||
+ * Copies the itimerspec data out from the k_itimer
|
||||
*/
|
||||
static void alarm_timer_get(struct k_itimer *timr,
|
||||
struct itimerspec *cur_setting)
|
||||
{
|
||||
- ktime_t relative_expiry_time =
|
||||
- alarm_expires_remaining(&(timr->it.alarm.alarmtimer));
|
||||
+ memset(cur_setting, 0, sizeof(struct itimerspec));
|
||||
|
||||
- if (ktime_to_ns(relative_expiry_time) > 0) {
|
||||
- cur_setting->it_value = ktime_to_timespec(relative_expiry_time);
|
||||
- } else {
|
||||
- cur_setting->it_value.tv_sec = 0;
|
||||
- cur_setting->it_value.tv_nsec = 0;
|
||||
- }
|
||||
-
|
||||
- cur_setting->it_interval = ktime_to_timespec(timr->it.alarm.interval);
|
||||
+ cur_setting->it_interval =
|
||||
+ ktime_to_timespec(timr->it.alarm.interval);
|
||||
+ cur_setting->it_value =
|
||||
+ ktime_to_timespec(timr->it.alarm.alarmtimer.node.expires);
|
||||
+ return;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1070,4 +1063,4 @@ static int __init alarmtimer_init(void)
|
||||
alarmtimer_rtc_interface_remove();
|
||||
return error;
|
||||
}
|
||||
-device_initcall(alarmtimer_init);
|
||||
+device_initcall(alarmtimer_init);
|
||||
\ No newline at end of file
|
22
Patches/OLD/bacon/Kernel-CM-12.1/13.patch
Normal file
22
Patches/OLD/bacon/Kernel-CM-12.1/13.patch
Normal file
|
@ -0,0 +1,22 @@
|
|||
From 6f9f37bf95c1d40db8802db1253cb1f57c33feb4 Mon Sep 17 00:00:00 2001
|
||||
From: YoshiShaPow <yoshipga@gmail.com>
|
||||
Date: Sat, 20 Dec 2014 12:05:19 -0800
|
||||
Subject: [PATCH] gcc5: arm: enable cortex_a15 optimization
|
||||
|
||||
---
|
||||
arch/arm/Makefile | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
|
||||
index e620786..0dd6592 100644
|
||||
--- a/arch/arm/Makefile
|
||||
+++ b/arch/arm/Makefile
|
||||
@@ -57,7 +57,7 @@ comma = ,
|
||||
# Note that GCC does not numerically define an architecture version
|
||||
# macro, but instead defines a whole series of macros which makes
|
||||
# testing for a specific architecture or later rather impossible.
|
||||
-arch-$(CONFIG_CPU_32v7) :=-D__LINUX_ARM_ARCH__=7 $(call cc-option,-march=armv7-a,-march=armv5t -Wa$(comma)-march=armv7-a)
|
||||
+arch-$(CONFIG_CPU_32v7) :=-D__LINUX_ARM_ARCH__=7 $(call cc-option,-march=armv7-a -mtune=cortex-a15 -Wa$(comma)-march=armv7-a)
|
||||
arch-$(CONFIG_CPU_32v6) :=-D__LINUX_ARM_ARCH__=6 $(call cc-option,-march=armv6,-march=armv5t -Wa$(comma)-march=armv6)
|
||||
# Only override the compiler option if ARMv6. The ARMv6K extensions are
|
||||
# always available in ARMv7
|
22
Patches/OLD/bacon/Kernel-CM-12.1/14.patch
Normal file
22
Patches/OLD/bacon/Kernel-CM-12.1/14.patch
Normal file
|
@ -0,0 +1,22 @@
|
|||
From 0d5c16ee7326dfb9edcffa7e3773bf3cc8cef296 Mon Sep 17 00:00:00 2001
|
||||
From: franciscofranco <franciscofranco.1990@gmail.com>
|
||||
Date: Fri, 27 Feb 2015 15:59:50 +0000
|
||||
Subject: [PATCH] arm: use -mtune=cortex-a15 for Krait targets
|
||||
|
||||
Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>
|
||||
---
|
||||
arch/arm/Makefile | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
|
||||
index 0dd6592..37632ba 100644
|
||||
--- a/arch/arm/Makefile
|
||||
+++ b/arch/arm/Makefile
|
||||
@@ -102,6 +102,7 @@ tune-$(CONFIG_CPU_XSC3) :=$(call cc-option,-mtune=xscale,-mtune=strongarm110) -
|
||||
tune-$(CONFIG_CPU_FEROCEON) :=$(call cc-option,-mtune=marvell-f,-mtune=xscale)
|
||||
tune-$(CONFIG_CPU_V6) :=$(call cc-option,-mtune=arm1136j-s,-mtune=strongarm)
|
||||
tune-$(CONFIG_CPU_V6K) :=$(call cc-option,-mtune=arm1136j-s,-mtune=strongarm)
|
||||
+tune-$(CONFIG_ARCH_MSM_KRAIT) :=-mtune=cortex-a15
|
||||
|
||||
ifeq ($(CONFIG_AEABI),y)
|
||||
CFLAGS_ABI :=-mabi=aapcs-linux -mno-thumb-interwork
|
6254
Patches/OLD/bacon/Kernel-CM-12.1/2.patch
Normal file
6254
Patches/OLD/bacon/Kernel-CM-12.1/2.patch
Normal file
File diff suppressed because it is too large
Load diff
6948
Patches/OLD/bacon/Kernel-CM-12.1/3.patch
Normal file
6948
Patches/OLD/bacon/Kernel-CM-12.1/3.patch
Normal file
File diff suppressed because it is too large
Load diff
5502
Patches/OLD/bacon/Kernel-CM-12.1/4.patch
Normal file
5502
Patches/OLD/bacon/Kernel-CM-12.1/4.patch
Normal file
File diff suppressed because it is too large
Load diff
5075
Patches/OLD/bacon/Kernel-CM-12.1/5.patch
Normal file
5075
Patches/OLD/bacon/Kernel-CM-12.1/5.patch
Normal file
File diff suppressed because it is too large
Load diff
2313
Patches/OLD/bacon/Kernel-CM-12.1/6.patch
Normal file
2313
Patches/OLD/bacon/Kernel-CM-12.1/6.patch
Normal file
File diff suppressed because it is too large
Load diff
577
Patches/OLD/bacon/Kernel-CM-12.1/7.patch
Normal file
577
Patches/OLD/bacon/Kernel-CM-12.1/7.patch
Normal file
|
@ -0,0 +1,577 @@
|
|||
From c0209d6b15d2fc752741fe0e04b227990e74377f Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Sat, 17 Oct 2015 20:49:21 -0400
|
||||
Subject: [PATCH] Implement KEXEC
|
||||
|
||||
---
|
||||
arch/arm/Kconfig | 26 ++++++++++
|
||||
arch/arm/boot/compressed/head.S | 64 ++++++++++++++++++++++++
|
||||
arch/arm/configs/cyanogenmod_bacon_defconfig | 6 ++-
|
||||
arch/arm/include/asm/kexec.h | 8 +++
|
||||
arch/arm/kernel/machine_kexec.c | 58 +++++++++++++++++++--
|
||||
arch/arm/kernel/relocate_kernel.S | 75 ++++++++++++++++++++++++++++
|
||||
arch/arm/mach-msm/include/mach/memory.h | 16 ++++++
|
||||
arch/arm/mach-msm/oppo/board-8974-oppo.c | 27 ++++++++++
|
||||
arch/arm/mach-msm/restart.c | 28 +++++++++++
|
||||
include/linux/kexec.h | 19 +++++--
|
||||
kernel/kexec.c | 4 ++
|
||||
11 files changed, 322 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
|
||||
index 37d3c6d..f801a19 100644
|
||||
--- a/arch/arm/Kconfig
|
||||
+++ b/arch/arm/Kconfig
|
||||
@@ -2299,6 +2299,32 @@ config ATAGS_PROC
|
||||
Should the atags used to boot the kernel be exported in an "atags"
|
||||
file in procfs. Useful with kexec.
|
||||
|
||||
+config KEXEC_HARDBOOT
|
||||
+ bool "Support hard booting to a kexec kernel"
|
||||
+ depends on KEXEC
|
||||
+ help
|
||||
+ Allows hard booting (i.e., with a full hardware reboot) to a kernel
|
||||
+ previously loaded in memory by kexec. This works around the problem of
|
||||
+ soft-booted kernel hangs due to improper device shutdown and/or
|
||||
+ reinitialization. Support is comprised of two components:
|
||||
+
|
||||
+ First, a "hardboot" flag is added to the kexec syscall to force a hard
|
||||
+ reboot in relocate_new_kernel() (which requires machine-specific assembly
|
||||
+ code). This also requires the kexec userspace tool to load the kexec'd
|
||||
+ kernel in memory region left untouched by the bootloader (i.e., not
|
||||
+ explicitly cleared and not overwritten by the boot kernel). Just prior
|
||||
+ to reboot, the kexec kernel arguments are stashed in a machine-specific
|
||||
+ memory page that must also be preserved. Note that this hardboot page
|
||||
+ need not be reserved during regular kernel execution.
|
||||
+
|
||||
+ Second, the zImage decompresor of the boot (bootloader-loaded) kernel is
|
||||
+ modified to check the hardboot page for fresh kexec arguments, and if
|
||||
+ present, attempts to jump to the kexec'd kernel preserved in memory.
|
||||
+
|
||||
+ Note that hardboot support is only required in the boot kernel and any
|
||||
+ kernel capable of performing a hardboot kexec. It is _not_ required by a
|
||||
+ kexec'd kernel.
|
||||
+
|
||||
config CRASH_DUMP
|
||||
bool "Build kdump crash kernel (EXPERIMENTAL)"
|
||||
depends on EXPERIMENTAL
|
||||
diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S
|
||||
index d3892ef..be05aa1 100644
|
||||
--- a/arch/arm/boot/compressed/head.S
|
||||
+++ b/arch/arm/boot/compressed/head.S
|
||||
@@ -11,6 +11,12 @@
|
||||
#include <linux/linkage.h>
|
||||
|
||||
.arch armv7-a
|
||||
+
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ #include <asm/kexec.h>
|
||||
+ #include <asm/memory.h>
|
||||
+#endif
|
||||
+
|
||||
/*
|
||||
* Debugging stuff
|
||||
*
|
||||
@@ -136,6 +142,64 @@ start:
|
||||
1: mov r7, r1 @ save architecture ID
|
||||
mov r8, r2 @ save atags pointer
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ /* Check hardboot page for a kexec kernel. */
|
||||
+ ldr r3, =KEXEC_HB_PAGE_ADDR
|
||||
+ ldr r0, [r3]
|
||||
+ ldr r1, =KEXEC_HB_PAGE_MAGIC
|
||||
+ teq r0, r1
|
||||
+ bne not_booting_other
|
||||
+
|
||||
+ /* Clear hardboot page magic to avoid boot loop. */
|
||||
+ mov r0, #0
|
||||
+ str r0, [r3]
|
||||
+
|
||||
+ /*
|
||||
+ * Copy dtb from location up high in memory to default location.
|
||||
+ * Kernel freezes if this is not done.
|
||||
+ */
|
||||
+ ldr r1, [r3, #12] @ kexec_boot_atags
|
||||
+ ldr r2, [r3, #16] @ kexec_boot_atags_len
|
||||
+ mov r5, #0 @ iterator
|
||||
+catags_cpy:
|
||||
+ ldr r0, [r1, r5] @ from kexec_boot_atags
|
||||
+ str r0, [r8, r5] @ to atags_pointer
|
||||
+ add r5, r5, #4
|
||||
+ cmp r5, r2
|
||||
+ blo catags_cpy
|
||||
+
|
||||
+#ifdef KEXEC_HB_KERNEL_LOC
|
||||
+ /*
|
||||
+ * Copy kernel from location up high in memory to location in first 128MB.
|
||||
+ * Bootloader on hammerhead erases first 128MB of ram on reboot, so it can't
|
||||
+ * be in there before reboot, but decompressing in location above 128MB takes
|
||||
+ * a long time. This memcpy is much quicker, for some reason.
|
||||
+ */
|
||||
+ ldr r2, [r3, #4] @ kexec_start_address
|
||||
+ ldr r4, [r3, #20] @ kexec_kernel_len
|
||||
+ ldr r6, =KEXEC_HB_KERNEL_LOC @ target
|
||||
+ mov r5, #0 @ iterator
|
||||
+kernel_cpy:
|
||||
+ ldr r0, [r2, r5] @ from kexec_start_address
|
||||
+ str r0, [r6, r5] @ to KEXEC_HB_KERNEL_LOC
|
||||
+ add r5, r5, #4
|
||||
+ cmp r5, r4
|
||||
+ blo kernel_cpy
|
||||
+#else
|
||||
+ ldr r6, [r3, #4] @ kexec_start_address
|
||||
+#endif
|
||||
+
|
||||
+ /* set registers and boot kexecd' kernel */
|
||||
+ mov r0, #0
|
||||
+ ldr r1, [r3, #8] @ kexec_mach_type
|
||||
+ mov r2, r8 @ atags pointer
|
||||
+ mov pc, r6
|
||||
+
|
||||
+ .ltorg
|
||||
+
|
||||
+not_booting_other:
|
||||
+#endif
|
||||
+
|
||||
#ifndef __ARM_ARCH_2__
|
||||
/*
|
||||
* Booting from Angel - need to enter SVC mode and disable
|
||||
diff --git a/arch/arm/configs/cyanogenmod_bacon_defconfig b/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
index 1fd8a93..5f67061 100644
|
||||
--- a/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
+++ b/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
@@ -693,7 +693,9 @@ CONFIG_ZBOOT_ROM_BSS=0
|
||||
# CONFIG_ARM_APPENDED_DTB is not set
|
||||
CONFIG_CMDLINE=""
|
||||
# CONFIG_XIP_KERNEL is not set
|
||||
-# CONFIG_KEXEC is not set
|
||||
+CONFIG_KEXEC=y
|
||||
+CONFIG_KEXEC_HARDBOOT=y
|
||||
+CONFIG_ATAGS_PROC=n
|
||||
# CONFIG_CRASH_DUMP is not set
|
||||
# CONFIG_AUTO_ZRELADDR is not set
|
||||
|
||||
@@ -1283,7 +1285,7 @@ CONFIG_OF=y
|
||||
#
|
||||
# Device Tree and Open Firmware support
|
||||
#
|
||||
-# CONFIG_PROC_DEVICETREE is not set
|
||||
+CONFIG_PROC_DEVICETREE=y
|
||||
# CONFIG_OF_SELFTEST is not set
|
||||
CONFIG_OF_FLATTREE=y
|
||||
CONFIG_OF_EARLY_FLATTREE=y
|
||||
diff --git a/arch/arm/include/asm/kexec.h b/arch/arm/include/asm/kexec.h
|
||||
index c2b9b4b..564c55b 100644
|
||||
--- a/arch/arm/include/asm/kexec.h
|
||||
+++ b/arch/arm/include/asm/kexec.h
|
||||
@@ -17,6 +17,10 @@
|
||||
#define KEXEC_ARM_ATAGS_OFFSET 0x1000
|
||||
#define KEXEC_ARM_ZIMAGE_OFFSET 0x8000
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ #define KEXEC_HB_PAGE_MAGIC 0x4a5db007
|
||||
+#endif
|
||||
+
|
||||
#ifndef __ASSEMBLY__
|
||||
|
||||
/**
|
||||
@@ -53,6 +57,10 @@ static inline void crash_setup_regs(struct pt_regs *newregs,
|
||||
/* Function pointer to optional machine-specific reinitialization */
|
||||
extern void (*kexec_reinit)(void);
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+extern void (*kexec_hardboot_hook)(void);
|
||||
+#endif
|
||||
+
|
||||
#endif /* __ASSEMBLY__ */
|
||||
|
||||
#endif /* CONFIG_KEXEC */
|
||||
diff --git a/arch/arm/kernel/machine_kexec.c b/arch/arm/kernel/machine_kexec.c
|
||||
index 357b651..29cdd2f 100644
|
||||
--- a/arch/arm/kernel/machine_kexec.c
|
||||
+++ b/arch/arm/kernel/machine_kexec.c
|
||||
@@ -14,6 +14,9 @@
|
||||
#include <asm/cacheflush.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/system_misc.h>
|
||||
+#include <linux/memblock.h>
|
||||
+#include <linux/of_fdt.h>
|
||||
+#include <asm/mmu_writeable.h>
|
||||
|
||||
extern const unsigned char relocate_new_kernel[];
|
||||
extern const unsigned int relocate_new_kernel_size;
|
||||
@@ -22,6 +25,12 @@ extern unsigned long kexec_start_address;
|
||||
extern unsigned long kexec_indirection_page;
|
||||
extern unsigned long kexec_mach_type;
|
||||
extern unsigned long kexec_boot_atags;
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+extern unsigned long kexec_hardboot;
|
||||
+extern unsigned long kexec_boot_atags_len;
|
||||
+extern unsigned long kexec_kernel_len;
|
||||
+void (*kexec_hardboot_hook)(void);
|
||||
+#endif
|
||||
|
||||
static atomic_t waiting_for_crash_ipi;
|
||||
|
||||
@@ -32,6 +41,37 @@ static atomic_t waiting_for_crash_ipi;
|
||||
|
||||
int machine_kexec_prepare(struct kimage *image)
|
||||
{
|
||||
+ struct kexec_segment *current_segment;
|
||||
+ __be32 header;
|
||||
+ int i, err;
|
||||
+
|
||||
+ /* No segment at default ATAGs address. try to locate
|
||||
+ * a dtb using magic */
|
||||
+ for (i = 0; i < image->nr_segments; i++) {
|
||||
+ current_segment = &image->segment[i];
|
||||
+
|
||||
+ err = memblock_is_region_memory(current_segment->mem,
|
||||
+ current_segment->memsz);
|
||||
+ if (!err)
|
||||
+ return - EINVAL;
|
||||
+
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ if(current_segment->mem == image->start)
|
||||
+ mem_text_write_kernel_word(&kexec_kernel_len, current_segment->memsz);
|
||||
+#endif
|
||||
+
|
||||
+ err = get_user(header, (__be32*)current_segment->buf);
|
||||
+ if (err)
|
||||
+ return err;
|
||||
+
|
||||
+ if (be32_to_cpu(header) == OF_DT_HEADER)
|
||||
+ {
|
||||
+ mem_text_write_kernel_word(&kexec_boot_atags, current_segment->mem);
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ mem_text_write_kernel_word(&kexec_boot_atags_len, current_segment->memsz);
|
||||
+#endif
|
||||
+ }
|
||||
+ }
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -123,10 +163,14 @@ void machine_kexec(struct kimage *image)
|
||||
reboot_code_buffer = page_address(image->control_code_page);
|
||||
|
||||
/* Prepare parameters for reboot_code_buffer*/
|
||||
- kexec_start_address = image->start;
|
||||
- kexec_indirection_page = page_list;
|
||||
- kexec_mach_type = machine_arch_type;
|
||||
- kexec_boot_atags = image->start - KEXEC_ARM_ZIMAGE_OFFSET + KEXEC_ARM_ATAGS_OFFSET;
|
||||
+ mem_text_write_kernel_word(&kexec_start_address, image->start);
|
||||
+ mem_text_write_kernel_word(&kexec_indirection_page, page_list);
|
||||
+ mem_text_write_kernel_word(&kexec_mach_type, machine_arch_type);
|
||||
+ if (!kexec_boot_atags)
|
||||
+ mem_text_write_kernel_word(&kexec_boot_atags, image->start - KEXEC_ARM_ZIMAGE_OFFSET + KEXEC_ARM_ATAGS_OFFSET);
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ mem_text_write_kernel_word(&kexec_hardboot, image->hardboot);
|
||||
+#endif
|
||||
|
||||
/* copy our kernel relocation code to the control code page */
|
||||
memcpy(reboot_code_buffer,
|
||||
@@ -140,6 +184,12 @@ void machine_kexec(struct kimage *image)
|
||||
if (kexec_reinit)
|
||||
kexec_reinit();
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ /* Run any final machine-specific shutdown code. */
|
||||
+ if (image->hardboot && kexec_hardboot_hook)
|
||||
+ kexec_hardboot_hook();
|
||||
+#endif
|
||||
+
|
||||
soft_restart(reboot_code_buffer_phys);
|
||||
}
|
||||
|
||||
diff --git a/arch/arm/kernel/relocate_kernel.S b/arch/arm/kernel/relocate_kernel.S
|
||||
index d0cdedf..0e45ffc 100644
|
||||
--- a/arch/arm/kernel/relocate_kernel.S
|
||||
+++ b/arch/arm/kernel/relocate_kernel.S
|
||||
@@ -4,6 +4,15 @@
|
||||
|
||||
#include <asm/kexec.h>
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+#include <asm/memory.h>
|
||||
+#if defined(CONFIG_ARCH_TEGRA_2x_SOC) || defined(CONFIG_ARCH_TEGRA_3x_SOC)
|
||||
+ #include <mach/iomap.h>
|
||||
+#elif defined(CONFIG_ARCH_APQ8064) || defined(CONFIG_ARCH_MSM8974)
|
||||
+ #include <mach/msm_iomap.h>
|
||||
+#endif
|
||||
+#endif
|
||||
+
|
||||
.globl relocate_new_kernel
|
||||
relocate_new_kernel:
|
||||
|
||||
@@ -52,6 +61,12 @@ relocate_new_kernel:
|
||||
b 0b
|
||||
|
||||
2:
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ ldr r0, kexec_hardboot
|
||||
+ teq r0, #0
|
||||
+ bne hardboot
|
||||
+#endif
|
||||
+
|
||||
/* Jump to relocated kernel */
|
||||
mov lr,r1
|
||||
mov r0,#0
|
||||
@@ -60,6 +75,52 @@ relocate_new_kernel:
|
||||
ARM( mov pc, lr )
|
||||
THUMB( bx lr )
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+hardboot:
|
||||
+ /* Stash boot arguments in hardboot page:
|
||||
+ * 0: KEXEC_HB_PAGE_MAGIC
|
||||
+ * 4: kexec_start_address
|
||||
+ * 8: kexec_mach_type
|
||||
+ * 12: kexec_boot_atags
|
||||
+ * 16: kexec_boot_atags_len
|
||||
+ * 20: kexec_kernel_len */
|
||||
+ ldr r0, =KEXEC_HB_PAGE_ADDR
|
||||
+ str r1, [r0, #4]
|
||||
+ ldr r1, kexec_mach_type
|
||||
+ str r1, [r0, #8]
|
||||
+ ldr r1, kexec_boot_atags
|
||||
+ str r1, [r0, #12]
|
||||
+ ldr r1, kexec_boot_atags_len
|
||||
+ str r1, [r0, #16]
|
||||
+ ldr r1, kexec_kernel_len
|
||||
+ str r1, [r0, #20]
|
||||
+ ldr r1, =KEXEC_HB_PAGE_MAGIC
|
||||
+ str r1, [r0]
|
||||
+
|
||||
+#if defined(CONFIG_ARCH_TEGRA_2x_SOC) || defined(CONFIG_ARCH_TEGRA_3x_SOC)
|
||||
+ ldr r0, =TEGRA_PMC_BASE
|
||||
+ ldr r1, [r0]
|
||||
+ orr r1, r1, #0x10
|
||||
+ str r1, [r0]
|
||||
+loop: b loop
|
||||
+#elif defined(CONFIG_ARCH_APQ8064)
|
||||
+ /* Restart using the PMIC chip, see mach-msm/restart.c */
|
||||
+ ldr r0, =APQ8064_TLMM_PHYS
|
||||
+ mov r1, #0
|
||||
+ str r1, [r0, #0x820] @ PSHOLD_CTL_SU
|
||||
+loop: b loop
|
||||
+#elif defined(CONFIG_ARCH_MSM8974)
|
||||
+ /* Restart using the PMIC chip, see mach-msm/restart.c */
|
||||
+ ldr r0, =MSM8974_MPM2_PSHOLD_PHYS
|
||||
+ mov r1, #0
|
||||
+ str r1, [r0, #0]
|
||||
+loop: b loop
|
||||
+#else
|
||||
+#error "No reboot method defined for hardboot."
|
||||
+#endif
|
||||
+
|
||||
+ .ltorg
|
||||
+#endif
|
||||
.align
|
||||
|
||||
.globl kexec_start_address
|
||||
@@ -79,6 +140,20 @@ kexec_mach_type:
|
||||
kexec_boot_atags:
|
||||
.long 0x0
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ .globl kexec_boot_atags_len
|
||||
+kexec_boot_atags_len:
|
||||
+ .long 0x0
|
||||
+
|
||||
+ .globl kexec_kernel_len
|
||||
+kexec_kernel_len:
|
||||
+ .long 0x0
|
||||
+
|
||||
+ .globl kexec_hardboot
|
||||
+kexec_hardboot:
|
||||
+ .long 0x0
|
||||
+#endif
|
||||
+
|
||||
relocate_new_kernel_end:
|
||||
|
||||
.globl relocate_new_kernel_size
|
||||
diff --git a/arch/arm/mach-msm/include/mach/memory.h b/arch/arm/mach-msm/include/mach/memory.h
|
||||
index 9225230..1c87b96 100644
|
||||
--- a/arch/arm/mach-msm/include/mach/memory.h
|
||||
+++ b/arch/arm/mach-msm/include/mach/memory.h
|
||||
@@ -20,6 +20,22 @@
|
||||
/* physical offset of RAM */
|
||||
#define PLAT_PHYS_OFFSET UL(CONFIG_PHYS_OFFSET)
|
||||
|
||||
+#if defined(CONFIG_KEXEC_HARDBOOT)
|
||||
+#if defined(CONFIG_MACH_APQ8064_FLO)
|
||||
+#define KEXEC_HB_PAGE_ADDR UL(0x88C00000)
|
||||
+#elif defined(CONFIG_MACH_APQ8064_MAKO)
|
||||
+#define KEXEC_HB_PAGE_ADDR UL(0x88600000)
|
||||
+#elif defined(CONFIG_MACH_MSM8974_HAMMERHEAD)
|
||||
+#define KEXEC_HB_PAGE_ADDR UL(0x10100000)
|
||||
+#define KEXEC_HB_KERNEL_LOC UL(0x3208000)
|
||||
+#elif defined(CONFIG_MACH_OPPO_MSM8974)
|
||||
+#define KEXEC_HB_PAGE_ADDR UL(0x2F600000)
|
||||
+#define KEXEC_HB_KERNEL_LOC UL(0x3208000)
|
||||
+#else
|
||||
+#error "Adress for kexec hardboot page not defined"
|
||||
+#endif
|
||||
+#endif
|
||||
+
|
||||
#ifndef __ASSEMBLY__
|
||||
void clean_and_invalidate_caches(unsigned long, unsigned long, unsigned long);
|
||||
void clean_caches(unsigned long, unsigned long, unsigned long);
|
||||
diff --git a/arch/arm/mach-msm/oppo/board-8974-oppo.c b/arch/arm/mach-msm/oppo/board-8974-oppo.c
|
||||
index eb24545..10bbbda 100644
|
||||
--- a/arch/arm/mach-msm/oppo/board-8974-oppo.c
|
||||
+++ b/arch/arm/mach-msm/oppo/board-8974-oppo.c
|
||||
@@ -54,6 +54,13 @@
|
||||
|
||||
#include <linux/pcb_version.h>
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+#include <asm/setup.h>
|
||||
+#include <asm/memory.h>
|
||||
+#include <linux/memblock.h>
|
||||
+#define OPPO_PERSISTENT_RAM_SIZE (SZ_1M)
|
||||
+#endif
|
||||
+
|
||||
static struct platform_device *ram_console_dev;
|
||||
|
||||
static struct persistent_ram_descriptor msm_prd[] __initdata = {
|
||||
@@ -72,6 +79,26 @@ static struct persistent_ram msm_pr __initdata = {
|
||||
|
||||
void __init msm_8974_reserve(void)
|
||||
{
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ // Reserve space for hardboot page - just after ram_console,
|
||||
+ // at the start of second memory bank
|
||||
+ int ret;
|
||||
+ phys_addr_t start;
|
||||
+ struct membank* bank;
|
||||
+
|
||||
+ if (meminfo.nr_banks < 2) {
|
||||
+ pr_err("%s: not enough membank\n", __func__);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ bank = &meminfo.bank[1];
|
||||
+ start = bank->start + SZ_1M + OPPO_PERSISTENT_RAM_SIZE;
|
||||
+ ret = memblock_remove(start, SZ_1M);
|
||||
+ if(!ret)
|
||||
+ pr_info("Hardboot page reserved at 0x%X\n", start);
|
||||
+ else
|
||||
+ pr_err("Failed to reserve space for hardboot page at 0x%X!\n", start);
|
||||
+#endif
|
||||
persistent_ram_early_init(&msm_pr);
|
||||
of_scan_flat_dt(dt_scan_for_memory_reserve, NULL);
|
||||
}
|
||||
diff --git a/arch/arm/mach-msm/restart.c b/arch/arm/mach-msm/restart.c
|
||||
index a04ab8d..fe89976 100644
|
||||
--- a/arch/arm/mach-msm/restart.c
|
||||
+++ b/arch/arm/mach-msm/restart.c
|
||||
@@ -38,6 +38,10 @@
|
||||
#include "timer.h"
|
||||
#include "wdog_debug.h"
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+#include <asm/kexec.h>
|
||||
+#endif
|
||||
+
|
||||
#define WDT0_RST 0x38
|
||||
#define WDT0_EN 0x40
|
||||
#define WDT0_BARK_TIME 0x4C
|
||||
@@ -373,6 +377,26 @@ static int __init msm_pmic_restart_init(void)
|
||||
|
||||
late_initcall(msm_pmic_restart_init);
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+static void msm_kexec_hardboot_hook(void)
|
||||
+{
|
||||
+ set_dload_mode(0);
|
||||
+
|
||||
+ // Set PMIC to restart-on-poweroff
|
||||
+ pm8xxx_reset_pwr_off(1);
|
||||
+
|
||||
+ // These are executed on normal reboot, but with kexec-hardboot,
|
||||
+ // they reboot/panic the system immediately.
|
||||
+#if 0
|
||||
+ qpnp_pon_system_pwr_off(PON_POWER_OFF_WARM_RESET);
|
||||
+
|
||||
+ /* Needed to bypass debug image on some chips */
|
||||
+ msm_disable_wdog_debug();
|
||||
+ halt_spmi_pmic_arbiter();
|
||||
+#endif
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
static int __init msm_restart_init(void)
|
||||
{
|
||||
#ifdef CONFIG_MSM_DLOAD_MODE
|
||||
@@ -392,6 +416,10 @@ static int __init msm_restart_init(void)
|
||||
if (scm_is_call_available(SCM_SVC_PWR, SCM_IO_DISABLE_PMIC_ARBITER) > 0)
|
||||
scm_pmic_arbiter_disable_supported = true;
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ kexec_hardboot_hook = msm_kexec_hardboot_hook;
|
||||
+#endif
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
early_initcall(msm_restart_init);
|
||||
diff --git a/include/linux/kexec.h b/include/linux/kexec.h
|
||||
index af84a25..a4509ad 100644
|
||||
--- a/include/linux/kexec.h
|
||||
+++ b/include/linux/kexec.h
|
||||
@@ -111,6 +111,10 @@ struct kimage {
|
||||
#define KEXEC_TYPE_CRASH 1
|
||||
unsigned int preserve_context : 1;
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ unsigned int hardboot : 1;
|
||||
+#endif
|
||||
+
|
||||
#ifdef ARCH_HAS_KIMAGE_ARCH
|
||||
struct kimage_arch arch;
|
||||
#endif
|
||||
@@ -178,6 +182,11 @@ extern struct kimage *kexec_crash_image;
|
||||
|
||||
#define KEXEC_ON_CRASH 0x00000001
|
||||
#define KEXEC_PRESERVE_CONTEXT 0x00000002
|
||||
+
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+#define KEXEC_HARDBOOT 0x00000004
|
||||
+#endif
|
||||
+
|
||||
#define KEXEC_ARCH_MASK 0xffff0000
|
||||
|
||||
/* These values match the ELF architecture values.
|
||||
@@ -196,10 +205,14 @@ extern struct kimage *kexec_crash_image;
|
||||
#define KEXEC_ARCH_MIPS ( 8 << 16)
|
||||
|
||||
/* List of defined/legal kexec flags */
|
||||
-#ifndef CONFIG_KEXEC_JUMP
|
||||
-#define KEXEC_FLAGS KEXEC_ON_CRASH
|
||||
-#else
|
||||
+#if defined(CONFIG_KEXEC_JUMP) && defined(CONFIG_KEXEC_HARDBOOT)
|
||||
+#define KEXEC_FLAGS (KEXEC_ON_CRASH | KEXEC_PRESERVE_CONTEXT | KEXEC_HARDBOOT)
|
||||
+#elif defined(CONFIG_KEXEC_JUMP)
|
||||
#define KEXEC_FLAGS (KEXEC_ON_CRASH | KEXEC_PRESERVE_CONTEXT)
|
||||
+#elif defined(CONFIG_KEXEC_HARDBOOT)
|
||||
+#define KEXEC_FLAGS (KEXEC_ON_CRASH | KEXEC_HARDBOOT)
|
||||
+#else
|
||||
+#define KEXEC_FLAGS (KEXEC_ON_CRASH)
|
||||
#endif
|
||||
|
||||
#define VMCOREINFO_BYTES (4096)
|
||||
diff --git a/kernel/kexec.c b/kernel/kexec.c
|
||||
index 4e2e472..aef7893 100644
|
||||
--- a/kernel/kexec.c
|
||||
+++ b/kernel/kexec.c
|
||||
@@ -1004,6 +1004,10 @@ SYSCALL_DEFINE4(kexec_load, unsigned long, entry, unsigned long, nr_segments,
|
||||
|
||||
if (flags & KEXEC_PRESERVE_CONTEXT)
|
||||
image->preserve_context = 1;
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ if (flags & KEXEC_HARDBOOT)
|
||||
+ image->hardboot = 1;
|
||||
+#endif
|
||||
result = machine_kexec_prepare(image);
|
||||
if (result)
|
||||
goto out;
|
706
Patches/OLD/bacon/Kernel-CM-12.1/8.patch
Normal file
706
Patches/OLD/bacon/Kernel-CM-12.1/8.patch
Normal file
|
@ -0,0 +1,706 @@
|
|||
From e914463298097e12f8504fa8215246ac70e59831 Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Sat, 17 Oct 2015 20:49:57 -0400
|
||||
Subject: [PATCH] Overclocked to 2.8Ghz, underclocked to 268Mhz
|
||||
|
||||
---
|
||||
arch/arm/boot/dts/msm8974-v2.dtsi | 2 +-
|
||||
arch/arm/boot/dts/msm8974pro-pm8941.dtsi | 8 +-
|
||||
.../arm/boot/dts/msm8974pro-pma8084-regulator.dtsi | 16 +-
|
||||
arch/arm/boot/dts/msm8974pro.dtsi | 190 ++++++++++++++++++---
|
||||
4 files changed, 179 insertions(+), 37 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/msm8974-v2.dtsi b/arch/arm/boot/dts/msm8974-v2.dtsi
|
||||
index 04769bd..8739175 100644
|
||||
--- a/arch/arm/boot/dts/msm8974-v2.dtsi
|
||||
+++ b/arch/arm/boot/dts/msm8974-v2.dtsi
|
||||
@@ -135,7 +135,7 @@
|
||||
<1880000 2068000>,
|
||||
<3008000 3309000>,
|
||||
<3760000 4136000>,
|
||||
- <4468000 2457000>;
|
||||
+ <4468000 2457600>;
|
||||
qcom,dec-ocmem-ab-ib = <0 0>,
|
||||
<176000 519000>,
|
||||
<456000 519000>,
|
||||
diff --git a/arch/arm/boot/dts/msm8974pro-pm8941.dtsi b/arch/arm/boot/dts/msm8974pro-pm8941.dtsi
|
||||
index 89939e6..d76e4bd 100644
|
||||
--- a/arch/arm/boot/dts/msm8974pro-pm8941.dtsi
|
||||
+++ b/arch/arm/boot/dts/msm8974pro-pm8941.dtsi
|
||||
@@ -39,22 +39,22 @@
|
||||
};
|
||||
|
||||
&krait0_vreg {
|
||||
- regulator-max-microvolt = <1120000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
qcom,ldo-delta-voltage = <12500>;
|
||||
};
|
||||
|
||||
&krait1_vreg {
|
||||
- regulator-max-microvolt = <1120000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
qcom,ldo-delta-voltage = <12500>;
|
||||
};
|
||||
|
||||
&krait2_vreg {
|
||||
- regulator-max-microvolt = <1120000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
qcom,ldo-delta-voltage = <12500>;
|
||||
};
|
||||
|
||||
&krait3_vreg {
|
||||
- regulator-max-microvolt = <1120000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
qcom,ldo-delta-voltage = <12500>;
|
||||
};
|
||||
|
||||
diff --git a/arch/arm/boot/dts/msm8974pro-pma8084-regulator.dtsi b/arch/arm/boot/dts/msm8974pro-pma8084-regulator.dtsi
|
||||
index 433d466..428a520 100644
|
||||
--- a/arch/arm/boot/dts/msm8974pro-pma8084-regulator.dtsi
|
||||
+++ b/arch/arm/boot/dts/msm8974pro-pma8084-regulator.dtsi
|
||||
@@ -492,9 +492,9 @@
|
||||
<0xf908a800 0x1000>; /* APCS_ALIAS0_KPSS_MDD */
|
||||
reg-names = "acs", "mdd";
|
||||
regulator-min-microvolt = <500000>;
|
||||
- regulator-max-microvolt = <1120000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
qcom,headroom-voltage = <150000>;
|
||||
- qcom,retention-voltage = <675000>;
|
||||
+ qcom,retention-voltage = <600000>;
|
||||
qcom,ldo-default-voltage = <750000>;
|
||||
qcom,ldo-threshold-voltage = <850000>;
|
||||
qcom,ldo-delta-voltage = <12500>;
|
||||
@@ -508,9 +508,9 @@
|
||||
<0xf909a800 0x1000>; /* APCS_ALIAS1_KPSS_MDD */
|
||||
reg-names = "acs", "mdd";
|
||||
regulator-min-microvolt = <500000>;
|
||||
- regulator-max-microvolt = <1120000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
qcom,headroom-voltage = <150000>;
|
||||
- qcom,retention-voltage = <675000>;
|
||||
+ qcom,retention-voltage = <600000>;
|
||||
qcom,ldo-default-voltage = <750000>;
|
||||
qcom,ldo-threshold-voltage = <850000>;
|
||||
qcom,ldo-delta-voltage = <12500>;
|
||||
@@ -524,9 +524,9 @@
|
||||
<0xf90aa800 0x1000>; /* APCS_ALIAS2_KPSS_MDD */
|
||||
reg-names = "acs", "mdd";
|
||||
regulator-min-microvolt = <500000>;
|
||||
- regulator-max-microvolt = <1120000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
qcom,headroom-voltage = <150000>;
|
||||
- qcom,retention-voltage = <675000>;
|
||||
+ qcom,retention-voltage = <600000>;
|
||||
qcom,ldo-default-voltage = <750000>;
|
||||
qcom,ldo-threshold-voltage = <850000>;
|
||||
qcom,ldo-delta-voltage = <12500>;
|
||||
@@ -540,9 +540,9 @@
|
||||
<0xf90ba800 0x1000>; /* APCS_ALIAS3_KPSS_MDD */
|
||||
reg-names = "acs", "mdd";
|
||||
regulator-min-microvolt = <500000>;
|
||||
- regulator-max-microvolt = <1120000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
qcom,headroom-voltage = <150000>;
|
||||
- qcom,retention-voltage = <675000>;
|
||||
+ qcom,retention-voltage = <600000>;
|
||||
qcom,ldo-default-voltage = <750000>;
|
||||
qcom,ldo-threshold-voltage = <850000>;
|
||||
qcom,ldo-delta-voltage = <12500>;
|
||||
diff --git a/arch/arm/boot/dts/msm8974pro.dtsi b/arch/arm/boot/dts/msm8974pro.dtsi
|
||||
index c50b379..ebb5112 100644
|
||||
--- a/arch/arm/boot/dts/msm8974pro.dtsi
|
||||
+++ b/arch/arm/boot/dts/msm8974pro.dtsi
|
||||
@@ -90,6 +90,7 @@
|
||||
qcom,clock-krait@f9016000 {
|
||||
qcom,speed1-pvs0-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 74 >,
|
||||
< 345600000 775000 85 >,
|
||||
< 422400000 775000 104 >,
|
||||
@@ -121,6 +122,7 @@
|
||||
|
||||
qcom,speed1-pvs1-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 74 >,
|
||||
< 345600000 775000 85 >,
|
||||
< 422400000 775000 104 >,
|
||||
@@ -152,6 +154,7 @@
|
||||
|
||||
qcom,speed1-pvs2-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 74 >,
|
||||
< 345600000 750000 85 >,
|
||||
< 422400000 750000 104 >,
|
||||
@@ -183,6 +186,7 @@
|
||||
|
||||
qcom,speed1-pvs3-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 74 >,
|
||||
< 345600000 750000 85 >,
|
||||
< 422400000 750000 104 >,
|
||||
@@ -214,6 +218,7 @@
|
||||
|
||||
qcom,speed1-pvs4-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 74 >,
|
||||
< 345600000 750000 85 >,
|
||||
< 422400000 750000 104 >,
|
||||
@@ -245,6 +250,7 @@
|
||||
|
||||
qcom,speed1-pvs5-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 720000 68 >,
|
||||
< 300000000 725000 74 >,
|
||||
< 345600000 725000 85 >,
|
||||
< 422400000 725000 104 >,
|
||||
@@ -276,6 +282,7 @@
|
||||
|
||||
qcom,speed1-pvs6-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 720000 68 >,
|
||||
< 300000000 725000 74 >,
|
||||
< 345600000 725000 85 >,
|
||||
< 422400000 725000 104 >,
|
||||
@@ -307,6 +314,7 @@
|
||||
|
||||
qcom,speed3-pvs0-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 106 >,
|
||||
@@ -337,10 +345,14 @@
|
||||
< 2265600000 1065000 700 >,
|
||||
< 2342400000 1080000 734 >,
|
||||
< 2419200000 1095000 769 >,
|
||||
- < 2457600000 1100000 785 >;
|
||||
+ < 2457600000 1100000 785 >,
|
||||
+ < 2572800000 1145000 827 >,
|
||||
+ < 2726400000 1205000 900 >,
|
||||
+ < 2880000000 1235000 937 >;
|
||||
|
||||
qcom,speed3-pvs1-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 106 >,
|
||||
@@ -371,10 +383,14 @@
|
||||
< 2265600000 1040000 700 >,
|
||||
< 2342400000 1055000 734 >,
|
||||
< 2419200000 1070000 769 >,
|
||||
- < 2457600000 1075000 785 >;
|
||||
+ < 2457600000 1075000 785 >,
|
||||
+ < 2572800000 1145000 827 >,
|
||||
+ < 2726400000 1205000 900 >,
|
||||
+ < 2880000000 1235000 937 >;
|
||||
|
||||
qcom,speed3-pvs2-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -405,10 +421,14 @@
|
||||
< 2265600000 1015000 700 >,
|
||||
< 2342400000 1030000 734 >,
|
||||
< 2419200000 1045000 769 >,
|
||||
- < 2457600000 1050000 785 >;
|
||||
+ < 2457600000 1050000 785 >,
|
||||
+ < 2572800000 1125000 827 >,
|
||||
+ < 2726400000 1195000 900 >,
|
||||
+ < 2880000000 1225000 937 >;
|
||||
|
||||
qcom,speed3-pvs3-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -439,10 +459,14 @@
|
||||
< 2265600000 990000 700 >,
|
||||
< 2342400000 1005000 734 >,
|
||||
< 2419200000 1020000 769 >,
|
||||
- < 2457600000 1025000 785 >;
|
||||
+ < 2457600000 1025000 785 >,
|
||||
+ < 2572800000 1115000 827 >,
|
||||
+ < 2726400000 1185000 900 >,
|
||||
+ < 2880000000 1215000 937 >;
|
||||
|
||||
qcom,speed3-pvs4-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -473,10 +497,14 @@
|
||||
< 2265600000 965000 700 >,
|
||||
< 2342400000 980000 734 >,
|
||||
< 2419200000 995000 769 >,
|
||||
- < 2457600000 1000000 785 >;
|
||||
+ < 2457600000 1000000 785 >,
|
||||
+ < 2572800000 1075000 827 >,
|
||||
+ < 2726400000 1175000 900 >,
|
||||
+ < 2880000000 1205000 937 >;
|
||||
|
||||
qcom,speed3-pvs5-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 76 >,
|
||||
< 345600000 750000 87 >,
|
||||
< 422400000 750000 106 >,
|
||||
@@ -507,10 +535,14 @@
|
||||
< 2265600000 940000 700 >,
|
||||
< 2342400000 955000 734 >,
|
||||
< 2419200000 970000 769 >,
|
||||
- < 2457600000 975000 785 >;
|
||||
+ < 2457600000 975000 785 >,
|
||||
+ < 2572800000 1025000 827 >,
|
||||
+ < 2726400000 1175000 900 >,
|
||||
+ < 2880000000 1195000 937 >;
|
||||
|
||||
qcom,speed3-pvs6-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 76 >,
|
||||
< 345600000 750000 87 >,
|
||||
< 422400000 750000 106 >,
|
||||
@@ -541,10 +573,14 @@
|
||||
< 2265600000 915000 700 >,
|
||||
< 2342400000 930000 734 >,
|
||||
< 2419200000 945000 769 >,
|
||||
- < 2457600000 950000 785 >;
|
||||
+ < 2457600000 950000 785 >,
|
||||
+ < 2572800000 1010000 827 >,
|
||||
+ < 2726400000 1155000 900 >,
|
||||
+ < 2880000000 1175000 937 >;
|
||||
|
||||
qcom,speed1-pvs0-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 810000 87 >,
|
||||
< 422400000 820000 108 >,
|
||||
@@ -576,6 +612,7 @@
|
||||
|
||||
qcom,speed1-pvs1-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 810000 108 >,
|
||||
@@ -607,6 +644,7 @@
|
||||
|
||||
qcom,speed1-pvs2-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 108 >,
|
||||
@@ -638,6 +676,7 @@
|
||||
|
||||
qcom,speed1-pvs3-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 108 >,
|
||||
@@ -669,6 +708,7 @@
|
||||
|
||||
qcom,speed1-pvs4-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 108 >,
|
||||
@@ -700,6 +740,7 @@
|
||||
|
||||
qcom,speed1-pvs5-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 108 >,
|
||||
@@ -731,6 +772,7 @@
|
||||
|
||||
qcom,speed1-pvs6-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 108 >,
|
||||
@@ -762,6 +804,7 @@
|
||||
|
||||
qcom,speed1-pvs7-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 108 >,
|
||||
@@ -793,6 +836,7 @@
|
||||
|
||||
qcom,speed1-pvs8-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 108 >,
|
||||
@@ -824,6 +868,7 @@
|
||||
|
||||
qcom,speed1-pvs9-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 108 >,
|
||||
@@ -855,6 +900,7 @@
|
||||
|
||||
qcom,speed1-pvs10-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 108 >,
|
||||
@@ -886,6 +932,7 @@
|
||||
|
||||
qcom,speed1-pvs11-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 108 >,
|
||||
@@ -917,6 +964,7 @@
|
||||
|
||||
qcom,speed1-pvs12-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 108 >,
|
||||
@@ -948,6 +996,7 @@
|
||||
|
||||
qcom,speed1-pvs13-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 108 >,
|
||||
@@ -979,6 +1028,7 @@
|
||||
|
||||
qcom,speed1-pvs14-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 76 >,
|
||||
< 345600000 750000 87 >,
|
||||
< 422400000 750000 108 >,
|
||||
@@ -1010,6 +1060,7 @@
|
||||
|
||||
qcom,speed1-pvs15-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 76 >,
|
||||
< 345600000 750000 87 >,
|
||||
< 422400000 750000 108 >,
|
||||
@@ -1041,6 +1092,7 @@
|
||||
|
||||
qcom,speed3-pvs0-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 106 >,
|
||||
@@ -1071,10 +1123,14 @@
|
||||
< 2265600000 1085000 716 >,
|
||||
< 2342400000 1100000 751 >,
|
||||
< 2419200000 1115000 786 >,
|
||||
- < 2457600000 1120000 802 >;
|
||||
+ < 2457600000 1120000 802 >,
|
||||
+ < 2572800000 1175000 827 >,
|
||||
+ < 2726400000 1225000 900 >,
|
||||
+ < 2880000000 1265000 937 >;
|
||||
|
||||
qcom,speed3-pvs1-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 106 >,
|
||||
@@ -1105,10 +1161,14 @@
|
||||
< 2265600000 1075000 716 >,
|
||||
< 2342400000 1090000 751 >,
|
||||
< 2419200000 1105000 786 >,
|
||||
- < 2457600000 1110000 802 >;
|
||||
+ < 2457600000 1110000 802 >,
|
||||
+ < 2572800000 1165000 827 >,
|
||||
+ < 2726400000 1215000 900 >,
|
||||
+ < 2880000000 1245000 937 >;
|
||||
|
||||
qcom,speed3-pvs2-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 106 >,
|
||||
@@ -1139,10 +1199,14 @@
|
||||
< 2265600000 1065000 716 >,
|
||||
< 2342400000 1080000 751 >,
|
||||
< 2419200000 1095000 786 >,
|
||||
- < 2457600000 1100000 802 >;
|
||||
+ < 2457600000 1100000 802 >,
|
||||
+ < 2572800000 1145000 827 >,
|
||||
+ < 2726400000 1185000 900 >,
|
||||
+ < 2880000000 1215000 937 >;
|
||||
|
||||
qcom,speed3-pvs3-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 106 >,
|
||||
@@ -1173,10 +1237,14 @@
|
||||
< 2265600000 1055000 716 >,
|
||||
< 2342400000 1070000 751 >,
|
||||
< 2419200000 1085000 786 >,
|
||||
- < 2457600000 1090000 802 >;
|
||||
+ < 2457600000 1090000 802 >,
|
||||
+ < 2572800000 1145000 827 >,
|
||||
+ < 2726400000 1175000 900 >,
|
||||
+ < 2880000000 1205000 937 >;
|
||||
|
||||
qcom,speed3-pvs4-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 106 >,
|
||||
@@ -1207,10 +1275,14 @@
|
||||
< 2265600000 1045000 716 >,
|
||||
< 2342400000 1060000 751 >,
|
||||
< 2419200000 1075000 786 >,
|
||||
- < 2457600000 1080000 802 >;
|
||||
+ < 2457600000 1080000 802 >,
|
||||
+ < 2572800000 1135000 827 >,
|
||||
+ < 2726400000 1165000 900 >,
|
||||
+ < 2880000000 1195000 937 >;
|
||||
|
||||
qcom,speed3-pvs5-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 106 >,
|
||||
@@ -1241,10 +1313,14 @@
|
||||
< 2265600000 1035000 716 >,
|
||||
< 2342400000 1050000 751 >,
|
||||
< 2419200000 1065000 786 >,
|
||||
- < 2457600000 1070000 802 >;
|
||||
+ < 2457600000 1070000 802 >,
|
||||
+ < 2572800000 1125000 827 >,
|
||||
+ < 2726400000 1155000 900 >,
|
||||
+ < 2880000000 1185000 937 >;
|
||||
|
||||
qcom,speed3-pvs6-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -1275,10 +1351,14 @@
|
||||
< 2265600000 1025000 716 >,
|
||||
< 2342400000 1040000 751 >,
|
||||
< 2419200000 1055000 786 >,
|
||||
- < 2457600000 1060000 802 >;
|
||||
+ < 2457600000 1060000 802 >,
|
||||
+ < 2572800000 1115000 827 >,
|
||||
+ < 2726400000 1145000 900 >,
|
||||
+ < 2880000000 1175000 937 >;
|
||||
|
||||
qcom,speed3-pvs7-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -1309,10 +1389,14 @@
|
||||
< 2265600000 1015000 716 >,
|
||||
< 2342400000 1030000 751 >,
|
||||
< 2419200000 1045000 786 >,
|
||||
- < 2457600000 1050000 802 >;
|
||||
+ < 2457600000 1050000 802 >,
|
||||
+ < 2572800000 1105000 827 >,
|
||||
+ < 2726400000 1135000 900 >,
|
||||
+ < 2880000000 1165000 937 >;
|
||||
|
||||
qcom,speed3-pvs8-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -1343,10 +1427,14 @@
|
||||
< 2265600000 1005000 716 >,
|
||||
< 2342400000 1020000 751 >,
|
||||
< 2419200000 1035000 786 >,
|
||||
- < 2457600000 1040000 802 >;
|
||||
+ < 2457600000 1040000 802 >,
|
||||
+ < 2572800000 1095000 827 >,
|
||||
+ < 2726400000 1125000 900 >,
|
||||
+ < 2880000000 1155000 937 >;
|
||||
|
||||
qcom,speed3-pvs9-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -1377,10 +1465,14 @@
|
||||
< 2265600000 995000 716 >,
|
||||
< 2342400000 1010000 751 >,
|
||||
< 2419200000 1025000 786 >,
|
||||
- < 2457600000 1030000 802 >;
|
||||
+ < 2457600000 1030000 802 >,
|
||||
+ < 2572800000 1085000 827 >,
|
||||
+ < 2726400000 1115000 900 >,
|
||||
+ < 2880000000 1145000 937 >;
|
||||
|
||||
qcom,speed3-pvs10-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -1411,10 +1503,14 @@
|
||||
< 2265600000 985000 716 >,
|
||||
< 2342400000 1000000 751 >,
|
||||
< 2419200000 1015000 786 >,
|
||||
- < 2457600000 1020000 802 >;
|
||||
+ < 2457600000 1020000 802 >,
|
||||
+ < 2572800000 1075000 827 >,
|
||||
+ < 2726400000 1105000 900 >,
|
||||
+ < 2880000000 1135000 937 >;
|
||||
|
||||
qcom,speed3-pvs11-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -1445,10 +1541,14 @@
|
||||
< 2265600000 975000 716 >,
|
||||
< 2342400000 990000 751 >,
|
||||
< 2419200000 1005000 786 >,
|
||||
- < 2457600000 1010000 802 >;
|
||||
+ < 2457600000 1010000 802 >,
|
||||
+ < 2572800000 1065000 827 >,
|
||||
+ < 2726400000 1095000 900 >,
|
||||
+ < 2880000000 1125000 937 >;
|
||||
|
||||
qcom,speed3-pvs12-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -1479,10 +1579,14 @@
|
||||
< 2265600000 965000 716 >,
|
||||
< 2342400000 980000 751 >,
|
||||
< 2419200000 995000 786 >,
|
||||
- < 2457600000 1000000 802 >;
|
||||
+ < 2457600000 1000000 802 >,
|
||||
+ < 2572800000 1065000 827 >,
|
||||
+ < 2726400000 1085000 900 >,
|
||||
+ < 2880000000 1115000 937 >;
|
||||
|
||||
qcom,speed3-pvs13-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -1513,10 +1617,14 @@
|
||||
< 2265600000 955000 716 >,
|
||||
< 2342400000 970000 751 >,
|
||||
< 2419200000 985000 786 >,
|
||||
- < 2457600000 990000 802 >;
|
||||
+ < 2457600000 990000 802 >,
|
||||
+ < 2572800000 1045000 827 >,
|
||||
+ < 2726400000 1065000 900 >,
|
||||
+ < 2880000000 1095000 937 >;
|
||||
|
||||
qcom,speed3-pvs14-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 76 >,
|
||||
< 345600000 750000 87 >,
|
||||
< 422400000 750000 106 >,
|
||||
@@ -1547,10 +1655,14 @@
|
||||
< 2265600000 945000 716 >,
|
||||
< 2342400000 960000 751 >,
|
||||
< 2419200000 975000 786 >,
|
||||
- < 2457600000 980000 802 >;
|
||||
+ < 2457600000 980000 802 >,
|
||||
+ < 2572800000 1035000 827 >,
|
||||
+ < 2726400000 1055000 900 >,
|
||||
+ < 2880000000 1085000 937 >;
|
||||
|
||||
qcom,speed3-pvs15-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 76 >,
|
||||
< 345600000 750000 87 >,
|
||||
< 422400000 750000 106 >,
|
||||
@@ -1581,9 +1693,39 @@
|
||||
< 2265600000 935000 716 >,
|
||||
< 2342400000 950000 751 >,
|
||||
< 2419200000 965000 786 >,
|
||||
- < 2457600000 970000 802 >;
|
||||
+ < 2457600000 970000 802 >,
|
||||
+ < 2572800000 1025000 827 >,
|
||||
+ < 2726400000 1045000 900 >,
|
||||
+ < 2880000000 1075000 937 >;
|
||||
};
|
||||
|
||||
+ qcom,msm-cpufreq@0 {
|
||||
+ reg = <0 4>;
|
||||
+ compatible = "qcom,msm-cpufreq";
|
||||
+ qcom,cpufreq-table =
|
||||
+ < 268800 /* 75 MHz */ >,
|
||||
+ < 300000 /* 75 MHz */ >,
|
||||
+ < 422400 /* 150 MHz */ >,
|
||||
+ < 652800 /* 200 MHz */ >,
|
||||
+ < 729600 /* 307 MHz */ >,
|
||||
+ < 883200 /* 307 MHz */ >,
|
||||
+ < 960000 /* 460 MHz */ >,
|
||||
+ < 1036800 /* 460 MHz */ >,
|
||||
+ < 1190400 /* 460 MHz */ >,
|
||||
+ < 1267200 /* 614 MHz */ >,
|
||||
+ < 1497600 /* 614 MHz */ >,
|
||||
+ < 1574400 /* 800 MHz */ >,
|
||||
+ < 1728000 /* 800 MHz */ >,
|
||||
+ < 1958400 /* 931 MHz */ >,
|
||||
+ < 2265600 /* 931 MHz */ >,
|
||||
+ < 2342400 /* 931 MHz */ >,
|
||||
+ < 2419200 /* 931 MHz */ >,
|
||||
+ < 2457600 /* 931 MHz */ >,
|
||||
+ < 2572800 /* 931 MHz */ >,
|
||||
+ < 2726400 /* 931 MHz */ >,
|
||||
+ < 2880000 /* 931 MHz */ >;
|
||||
+ };
|
||||
+
|
||||
i2c@f9928000 { /* BLSP-1 QUP-6 */
|
||||
cell-index = <3>;
|
||||
compatible = "qcom,i2c-qup";
|
||||
@@ -1751,7 +1893,7 @@
|
||||
<1880000 2068000>,
|
||||
<3008000 3309000>,
|
||||
<3760000 4136000>,
|
||||
- <4468000 2457000>;
|
||||
+ <4468000 2457600>;
|
||||
qcom,dec-ocmem-ab-ib = <0 0>,
|
||||
<176000 519000>,
|
||||
<456000 519000>,
|
48
Patches/OLD/bacon/Kernel-CM-12.1/9.patch
Normal file
48
Patches/OLD/bacon/Kernel-CM-12.1/9.patch
Normal file
|
@ -0,0 +1,48 @@
|
|||
From ce1d0035c6d67f633444075f4a1cf9aef165d3f0 Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Sat, 17 Oct 2015 20:50:31 -0400
|
||||
Subject: [PATCH] Update defconfig
|
||||
|
||||
---
|
||||
arch/arm/configs/cyanogenmod_bacon_defconfig | 9 +++++----
|
||||
1 file changed, 5 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/configs/cyanogenmod_bacon_defconfig b/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
index 5f67061..41a303a 100644
|
||||
--- a/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
+++ b/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
@@ -125,8 +125,9 @@ CONFIG_RD_BZIP2=y
|
||||
CONFIG_RD_LZMA=y
|
||||
# CONFIG_RD_XZ is not set
|
||||
# CONFIG_RD_LZO is not set
|
||||
-# CONFIG_RD_LZ4 is not set
|
||||
+CONFIG_RD_LZ4=y
|
||||
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
|
||||
+CONFIG_CC_OPTIMIZE_MORE=y
|
||||
CONFIG_SYSCTL=y
|
||||
CONFIG_ANON_INODES=y
|
||||
CONFIG_PANIC_TIMEOUT=5
|
||||
@@ -190,7 +191,7 @@ CONFIG_SECCOMP_FILTER=y
|
||||
CONFIG_HAVE_GENERIC_DMA_COHERENT=y
|
||||
CONFIG_RT_MUTEXES=y
|
||||
CONFIG_BASE_SMALL=0
|
||||
-# CONFIG_MODULES is not set
|
||||
+CONFIG_MODULES=y
|
||||
CONFIG_STOP_MACHINE=y
|
||||
CONFIG_BLOCK=y
|
||||
CONFIG_LBDAF=y
|
||||
@@ -1775,12 +1776,12 @@ CONFIG_SERIAL_MSM_HS=y
|
||||
#
|
||||
# Diag Support
|
||||
#
|
||||
-# CONFIG_DIAG_CHAR is not set
|
||||
+CONFIG_DIAG_CHAR=y
|
||||
|
||||
#
|
||||
# DIAG traffic over USB
|
||||
#
|
||||
-# CONFIG_DIAG_OVER_USB is not set
|
||||
+CONFIG_DIAG_OVER_USB=y
|
||||
|
||||
#
|
||||
# SDIO support for DIAG
|
50885
Patches/OLD/bacon/Kernel-CM-13.0/1.patch
Normal file
50885
Patches/OLD/bacon/Kernel-CM-13.0/1.patch
Normal file
File diff suppressed because it is too large
Load diff
244
Patches/OLD/bacon/Kernel-CM-13.0/10.patch
Normal file
244
Patches/OLD/bacon/Kernel-CM-13.0/10.patch
Normal file
|
@ -0,0 +1,244 @@
|
|||
From a12f5cc01dd4ed811e5edaca429dcbbb129e0e50 Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Sat, 17 Oct 2015 20:52:02 -0400
|
||||
Subject: [PATCH] Implement Quick Wakeup
|
||||
|
||||
---
|
||||
arch/arm/configs/cyanogenmod_bacon_defconfig | 2 +
|
||||
include/linux/quickwakeup.h | 46 ++++++++++++
|
||||
kernel/power/Kconfig | 20 ++++--
|
||||
kernel/power/Makefile | 1 +
|
||||
kernel/power/quickwakeup.c | 104 +++++++++++++++++++++++++++
|
||||
5 files changed, 167 insertions(+), 6 deletions(-)
|
||||
create mode 100644 include/linux/quickwakeup.h
|
||||
create mode 100644 kernel/power/quickwakeup.c
|
||||
|
||||
diff --git a/arch/arm/configs/cyanogenmod_bacon_defconfig b/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
index ed05004..86aed0e 100644
|
||||
--- a/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
+++ b/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
@@ -3629,3 +3629,5 @@ CONFIG_NLATTR=y
|
||||
# CONFIG_CORDIC is not set
|
||||
CONFIG_QMI_ENCDEC=y
|
||||
# CONFIG_QMI_ENCDEC_DEBUG is not set
|
||||
+
|
||||
+CONFIG_QUICK_WAKEUP=y
|
||||
diff --git a/include/linux/quickwakeup.h b/include/linux/quickwakeup.h
|
||||
new file mode 100644
|
||||
index 0000000..000effa
|
||||
--- /dev/null
|
||||
+++ b/include/linux/quickwakeup.h
|
||||
@@ -0,0 +1,46 @@
|
||||
+/* include/linux/quickwakeup.h
|
||||
+ *
|
||||
+ * Copyright (C) 2014 Motorola Mobility LLC.
|
||||
+ *
|
||||
+ * This software is licensed under the terms of the GNU General Public
|
||||
+ * License version 2, as published by the Free Software Foundation, and
|
||||
+ * may be copied, distributed, and modified under those terms.
|
||||
+ *
|
||||
+ * This program is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ * GNU General Public License for more details.
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+#ifndef _QUICKWAKEUP_H_
|
||||
+#define _QUICKWAKEUP_H_
|
||||
+
|
||||
+#ifdef __KERNEL__
|
||||
+
|
||||
+struct quickwakeup_ops {
|
||||
+ struct list_head list;
|
||||
+ char *name;
|
||||
+ int (*qw_execute)(void *data);
|
||||
+ int (*qw_check)(void *data);
|
||||
+ int execute;
|
||||
+ void *data; /* arbitrary data passed back to user */
|
||||
+};
|
||||
+
|
||||
+#ifdef CONFIG_QUICK_WAKEUP
|
||||
+
|
||||
+int quickwakeup_register(struct quickwakeup_ops *ops);
|
||||
+void quickwakeup_unregister(struct quickwakeup_ops *ops);
|
||||
+bool quickwakeup_suspend_again(void);
|
||||
+
|
||||
+#else
|
||||
+
|
||||
+static inline int quickwakeup_register(struct quickwakeup_ops *ops) { return 0; };
|
||||
+static inline void quickwakeup_unregister(struct quickwakeup_ops *ops) {};
|
||||
+static inline bool quickwakeup_suspend_again(void) { return 0; };
|
||||
+
|
||||
+#endif /* CONFIG_QUICK_WAKEUP */
|
||||
+
|
||||
+#endif /* __KERNEL__ */
|
||||
+
|
||||
+#endif /* _QUICKWAKEUP_H_ */
|
||||
diff --git a/kernel/power/Kconfig b/kernel/power/Kconfig
|
||||
index e536c8d..8006962 100644
|
||||
--- a/kernel/power/Kconfig
|
||||
+++ b/kernel/power/Kconfig
|
||||
@@ -83,20 +83,20 @@ config PM_STD_PARTITION
|
||||
default ""
|
||||
---help---
|
||||
The default resume partition is the partition that the suspend-
|
||||
- to-disk implementation will look for a suspended disk image.
|
||||
+ to-disk implementation will look for a suspended disk image.
|
||||
|
||||
- The partition specified here will be different for almost every user.
|
||||
+ The partition specified here will be different for almost every user.
|
||||
It should be a valid swap partition (at least for now) that is turned
|
||||
- on before suspending.
|
||||
+ on before suspending.
|
||||
|
||||
The partition specified can be overridden by specifying:
|
||||
|
||||
- resume=/dev/<other device>
|
||||
+ resume=/dev/<other device>
|
||||
|
||||
- which will set the resume partition to the device specified.
|
||||
+ which will set the resume partition to the device specified.
|
||||
|
||||
Note there is currently not a way to specify which device to save the
|
||||
- suspended image to. It will simply pick the first available swap
|
||||
+ suspended image to. It will simply pick the first available swap
|
||||
device.
|
||||
|
||||
config PM_SLEEP
|
||||
@@ -285,6 +285,14 @@ config SUSPEND_TIME
|
||||
Prints the time spent in suspend in the kernel log, and
|
||||
keeps statistics on the time spent in suspend in
|
||||
/sys/kernel/debug/suspend_time
|
||||
+
|
||||
+config QUICK_WAKEUP
|
||||
+ bool "Quick wakeup"
|
||||
+ depends on SUSPEND
|
||||
+ default n
|
||||
+ ---help---
|
||||
+ Allow kernel driver to do periodic jobs without resuming the full system
|
||||
+ This option can increase battery life on android powered smartphone.
|
||||
|
||||
config DEDUCE_WAKEUP_REASONS
|
||||
bool
|
||||
diff --git a/kernel/power/Makefile b/kernel/power/Makefile
|
||||
index 74c713b..e5bebbc 100644
|
||||
--- a/kernel/power/Makefile
|
||||
+++ b/kernel/power/Makefile
|
||||
@@ -14,5 +14,6 @@ obj-$(CONFIG_PM_WAKELOCKS) += wakelock.o
|
||||
obj-$(CONFIG_SUSPEND_TIME) += suspend_time.o
|
||||
|
||||
obj-$(CONFIG_MAGIC_SYSRQ) += poweroff.o
|
||||
+obj-$(CONFIG_QUICK_WAKEUP) += quickwakeup.o
|
||||
|
||||
obj-$(CONFIG_SUSPEND) += wakeup_reason.o
|
||||
diff --git a/kernel/power/quickwakeup.c b/kernel/power/quickwakeup.c
|
||||
new file mode 100644
|
||||
index 0000000..46f9dda
|
||||
--- /dev/null
|
||||
+++ b/kernel/power/quickwakeup.c
|
||||
@@ -0,0 +1,104 @@
|
||||
+/* kernel/power/quickwakeup.c
|
||||
+ *
|
||||
+ * Copyright (C) 2014 Motorola Mobility LLC.
|
||||
+ *
|
||||
+ * This software is licensed under the terms of the GNU General Public
|
||||
+ * License version 2, as published by the Free Software Foundation, and
|
||||
+ * may be copied, distributed, and modified under those terms.
|
||||
+ *
|
||||
+ * This program is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ * GNU General Public License for more details.
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+#include <linux/kernel.h>
|
||||
+#include <linux/list.h>
|
||||
+#include <linux/mutex.h>
|
||||
+#include <linux/quickwakeup.h>
|
||||
+
|
||||
+static LIST_HEAD(qw_head);
|
||||
+static DEFINE_MUTEX(list_lock);
|
||||
+
|
||||
+int quickwakeup_register(struct quickwakeup_ops *ops)
|
||||
+{
|
||||
+ mutex_lock(&list_lock);
|
||||
+ list_add(&ops->list, &qw_head);
|
||||
+ mutex_unlock(&list_lock);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+void quickwakeup_unregister(struct quickwakeup_ops *ops)
|
||||
+{
|
||||
+ mutex_lock(&list_lock);
|
||||
+ list_del(&ops->list);
|
||||
+ mutex_unlock(&list_lock);
|
||||
+}
|
||||
+
|
||||
+static int quickwakeup_check(void)
|
||||
+{
|
||||
+ int check = 0;
|
||||
+ struct quickwakeup_ops *index;
|
||||
+
|
||||
+ mutex_lock(&list_lock);
|
||||
+
|
||||
+ list_for_each_entry(index, &qw_head, list) {
|
||||
+ int ret = index->qw_check(index->data);
|
||||
+ index->execute = ret;
|
||||
+ check |= ret;
|
||||
+ pr_debug("%s: %s votes for %s\n", __func__, index->name,
|
||||
+ ret ? "execute" : "dont care");
|
||||
+ }
|
||||
+
|
||||
+ mutex_unlock(&list_lock);
|
||||
+
|
||||
+ return check;
|
||||
+}
|
||||
+
|
||||
+/* return 1 => suspend again
|
||||
+ return 0 => continue wakeup
|
||||
+ */
|
||||
+static int quickwakeup_execute(void)
|
||||
+{
|
||||
+ int suspend_again = 0;
|
||||
+ int final_vote = 1;
|
||||
+ struct quickwakeup_ops *index;
|
||||
+
|
||||
+ mutex_lock(&list_lock);
|
||||
+
|
||||
+ list_for_each_entry(index, &qw_head, list) {
|
||||
+ if (index->execute) {
|
||||
+ int ret = index->qw_execute(index->data);
|
||||
+ index->execute = 0;
|
||||
+ final_vote &= ret;
|
||||
+ suspend_again = final_vote;
|
||||
+ pr_debug("%s: %s votes for %s\n", __func__, index->name,
|
||||
+ ret ? "suspend again" : "wakeup");
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ mutex_unlock(&list_lock);
|
||||
+
|
||||
+ pr_debug("%s: %s\n", __func__,
|
||||
+ suspend_again ? "suspend again" : "wakeup");
|
||||
+
|
||||
+ return suspend_again;
|
||||
+}
|
||||
+
|
||||
+/* return 1 => suspend again
|
||||
+ return 0 => continue wakeup
|
||||
+ */
|
||||
+bool quickwakeup_suspend_again(void)
|
||||
+{
|
||||
+ int ret = 0;
|
||||
+
|
||||
+ if (quickwakeup_check())
|
||||
+ ret = quickwakeup_execute();
|
||||
+
|
||||
+ pr_debug("%s- returning %d %s\n", __func__, ret,
|
||||
+ ret ? "suspend again" : "wakeup");
|
||||
+
|
||||
+ return ret;
|
||||
+}
|
7297
Patches/OLD/bacon/Kernel-CM-13.0/11.patch
Normal file
7297
Patches/OLD/bacon/Kernel-CM-13.0/11.patch
Normal file
File diff suppressed because it is too large
Load diff
60
Patches/OLD/bacon/Kernel-CM-13.0/12.patch
Normal file
60
Patches/OLD/bacon/Kernel-CM-13.0/12.patch
Normal file
|
@ -0,0 +1,60 @@
|
|||
From ea2cc0f11b89637cb0837ca381a5189af7fb03ab Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Tue, 26 May 2015 14:26:28 -0400
|
||||
Subject: [PATCH] Fix build failure
|
||||
|
||||
---
|
||||
kernel/time/alarmtimer.c | 23 ++++++++---------------
|
||||
1 file changed, 8 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/kernel/time/alarmtimer.c b/kernel/time/alarmtimer.c
|
||||
index f0239cc..c4f3fdd 100644
|
||||
--- a/kernel/time/alarmtimer.c
|
||||
+++ b/kernel/time/alarmtimer.c
|
||||
@@ -731,9 +731,6 @@ static int alarm_timer_create(struct k_itimer *new_timer)
|
||||
if (!alarmtimer_get_rtcdev())
|
||||
return -ENOTSUPP;
|
||||
|
||||
- if (flags & ~TIMER_ABSTIME)
|
||||
- return -EINVAL;
|
||||
-
|
||||
if (!capable(CAP_WAKE_ALARM))
|
||||
return -EPERM;
|
||||
|
||||
@@ -748,22 +745,18 @@ static int alarm_timer_create(struct k_itimer *new_timer)
|
||||
* @new_timer: k_itimer pointer
|
||||
* @cur_setting: itimerspec data to fill
|
||||
*
|
||||
- * Copies out the current itimerspec data
|
||||
+ * Copies the itimerspec data out from the k_itimer
|
||||
*/
|
||||
static void alarm_timer_get(struct k_itimer *timr,
|
||||
struct itimerspec *cur_setting)
|
||||
{
|
||||
- ktime_t relative_expiry_time =
|
||||
- alarm_expires_remaining(&(timr->it.alarm.alarmtimer));
|
||||
+ memset(cur_setting, 0, sizeof(struct itimerspec));
|
||||
|
||||
- if (ktime_to_ns(relative_expiry_time) > 0) {
|
||||
- cur_setting->it_value = ktime_to_timespec(relative_expiry_time);
|
||||
- } else {
|
||||
- cur_setting->it_value.tv_sec = 0;
|
||||
- cur_setting->it_value.tv_nsec = 0;
|
||||
- }
|
||||
-
|
||||
- cur_setting->it_interval = ktime_to_timespec(timr->it.alarm.interval);
|
||||
+ cur_setting->it_interval =
|
||||
+ ktime_to_timespec(timr->it.alarm.interval);
|
||||
+ cur_setting->it_value =
|
||||
+ ktime_to_timespec(timr->it.alarm.alarmtimer.node.expires);
|
||||
+ return;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1070,4 +1063,4 @@ static int __init alarmtimer_init(void)
|
||||
alarmtimer_rtc_interface_remove();
|
||||
return error;
|
||||
}
|
||||
-device_initcall(alarmtimer_init);
|
||||
+device_initcall(alarmtimer_init);
|
||||
\ No newline at end of file
|
82
Patches/OLD/bacon/Kernel-CM-13.0/13.patch
Normal file
82
Patches/OLD/bacon/Kernel-CM-13.0/13.patch
Normal file
|
@ -0,0 +1,82 @@
|
|||
From 1eb98914209cda9bab7b9fc18f4de0c61c586c7d Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Wed, 28 Oct 2015 12:27:28 -0400
|
||||
Subject: [PATCH] Fix breakage by 8ca6f59430d96290d8140d77f1ff53f2564546b3
|
||||
|
||||
---
|
||||
fs/dcache.c | 18 +++++++++---------
|
||||
1 file changed, 9 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/fs/dcache.c b/fs/dcache.c
|
||||
index 70921c9..c6a7aca 100644
|
||||
--- a/fs/dcache.c
|
||||
+++ b/fs/dcache.c
|
||||
@@ -2595,11 +2595,11 @@ char *__d_path(const struct path *path,
|
||||
int error;
|
||||
|
||||
prepend(&res, &buflen, "\0", 1);
|
||||
- br_read_lock(vfsmount_lock);
|
||||
+ br_read_lock(&vfsmount_lock);
|
||||
write_seqlock(&rename_lock);
|
||||
error = prepend_path(path, root, &res, &buflen);
|
||||
write_sequnlock(&rename_lock);
|
||||
- br_read_unlock(vfsmount_lock);
|
||||
+ br_read_unlock(&vfsmount_lock);
|
||||
|
||||
if (error < 0)
|
||||
return ERR_PTR(error);
|
||||
@@ -2616,11 +2616,11 @@ char *d_absolute_path(const struct path *path,
|
||||
int error;
|
||||
|
||||
prepend(&res, &buflen, "\0", 1);
|
||||
- br_read_lock(vfsmount_lock);
|
||||
+ br_read_lock(&vfsmount_lock);
|
||||
write_seqlock(&rename_lock);
|
||||
error = prepend_path(path, &root, &res, &buflen);
|
||||
write_sequnlock(&rename_lock);
|
||||
- br_read_unlock(vfsmount_lock);
|
||||
+ br_read_unlock(&vfsmount_lock);
|
||||
|
||||
if (error > 1)
|
||||
error = -EINVAL;
|
||||
@@ -2684,11 +2684,11 @@ char *d_path(const struct path *path, char *buf, int buflen)
|
||||
return path->dentry->d_op->d_dname(path->dentry, buf, buflen);
|
||||
|
||||
get_fs_root(current->fs, &root);
|
||||
- br_read_lock(vfsmount_lock);
|
||||
+ br_read_lock(&vfsmount_lock);
|
||||
write_seqlock(&rename_lock);
|
||||
error = path_with_deleted(path, &root, &res, &buflen);
|
||||
write_sequnlock(&rename_lock);
|
||||
- br_read_unlock(vfsmount_lock);
|
||||
+ br_read_unlock(&vfsmount_lock);
|
||||
if (error < 0)
|
||||
res = ERR_PTR(error);
|
||||
path_put(&root);
|
||||
@@ -2845,7 +2845,7 @@ SYSCALL_DEFINE2(getcwd, char __user *, buf, unsigned long, size)
|
||||
get_fs_root_and_pwd(current->fs, &root, &pwd);
|
||||
|
||||
error = -ENOENT;
|
||||
- br_read_lock(vfsmount_lock);
|
||||
+ br_read_lock(&vfsmount_lock);
|
||||
write_seqlock(&rename_lock);
|
||||
if (!d_unlinked(pwd.dentry)) {
|
||||
unsigned long len;
|
||||
@@ -2855,7 +2855,7 @@ SYSCALL_DEFINE2(getcwd, char __user *, buf, unsigned long, size)
|
||||
prepend(&cwd, &buflen, "\0", 1);
|
||||
error = prepend_path(&pwd, &root, &cwd, &buflen);
|
||||
write_sequnlock(&rename_lock);
|
||||
- br_read_unlock(vfsmount_lock);
|
||||
+ br_read_unlock(&vfsmount_lock);
|
||||
|
||||
if (error < 0)
|
||||
goto out;
|
||||
@@ -2876,7 +2876,7 @@ SYSCALL_DEFINE2(getcwd, char __user *, buf, unsigned long, size)
|
||||
}
|
||||
} else {
|
||||
write_sequnlock(&rename_lock);
|
||||
- br_read_unlock(vfsmount_lock);
|
||||
+ br_read_unlock(&vfsmount_lock);
|
||||
}
|
||||
|
||||
out:
|
22
Patches/OLD/bacon/Kernel-CM-13.0/14.patch
Normal file
22
Patches/OLD/bacon/Kernel-CM-13.0/14.patch
Normal file
|
@ -0,0 +1,22 @@
|
|||
From 6f9f37bf95c1d40db8802db1253cb1f57c33feb4 Mon Sep 17 00:00:00 2001
|
||||
From: YoshiShaPow <yoshipga@gmail.com>
|
||||
Date: Sat, 20 Dec 2014 12:05:19 -0800
|
||||
Subject: [PATCH] gcc5: arm: enable cortex_a15 optimization
|
||||
|
||||
---
|
||||
arch/arm/Makefile | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
|
||||
index e620786..0dd6592 100644
|
||||
--- a/arch/arm/Makefile
|
||||
+++ b/arch/arm/Makefile
|
||||
@@ -57,7 +57,7 @@ comma = ,
|
||||
# Note that GCC does not numerically define an architecture version
|
||||
# macro, but instead defines a whole series of macros which makes
|
||||
# testing for a specific architecture or later rather impossible.
|
||||
-arch-$(CONFIG_CPU_32v7) :=-D__LINUX_ARM_ARCH__=7 $(call cc-option,-march=armv7-a,-march=armv5t -Wa$(comma)-march=armv7-a)
|
||||
+arch-$(CONFIG_CPU_32v7) :=-D__LINUX_ARM_ARCH__=7 $(call cc-option,-march=armv7-a -mtune=cortex-a15 -Wa$(comma)-march=armv7-a)
|
||||
arch-$(CONFIG_CPU_32v6) :=-D__LINUX_ARM_ARCH__=6 $(call cc-option,-march=armv6,-march=armv5t -Wa$(comma)-march=armv6)
|
||||
# Only override the compiler option if ARMv6. The ARMv6K extensions are
|
||||
# always available in ARMv7
|
22
Patches/OLD/bacon/Kernel-CM-13.0/15.patch
Normal file
22
Patches/OLD/bacon/Kernel-CM-13.0/15.patch
Normal file
|
@ -0,0 +1,22 @@
|
|||
From 0d5c16ee7326dfb9edcffa7e3773bf3cc8cef296 Mon Sep 17 00:00:00 2001
|
||||
From: franciscofranco <franciscofranco.1990@gmail.com>
|
||||
Date: Fri, 27 Feb 2015 15:59:50 +0000
|
||||
Subject: [PATCH] arm: use -mtune=cortex-a15 for Krait targets
|
||||
|
||||
Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>
|
||||
---
|
||||
arch/arm/Makefile | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
|
||||
index 0dd6592..37632ba 100644
|
||||
--- a/arch/arm/Makefile
|
||||
+++ b/arch/arm/Makefile
|
||||
@@ -102,6 +102,7 @@ tune-$(CONFIG_CPU_XSC3) :=$(call cc-option,-mtune=xscale,-mtune=strongarm110) -
|
||||
tune-$(CONFIG_CPU_FEROCEON) :=$(call cc-option,-mtune=marvell-f,-mtune=xscale)
|
||||
tune-$(CONFIG_CPU_V6) :=$(call cc-option,-mtune=arm1136j-s,-mtune=strongarm)
|
||||
tune-$(CONFIG_CPU_V6K) :=$(call cc-option,-mtune=arm1136j-s,-mtune=strongarm)
|
||||
+tune-$(CONFIG_ARCH_MSM_KRAIT) :=-mtune=cortex-a15
|
||||
|
||||
ifeq ($(CONFIG_AEABI),y)
|
||||
CFLAGS_ABI :=-mabi=aapcs-linux -mno-thumb-interwork
|
6254
Patches/OLD/bacon/Kernel-CM-13.0/2.patch
Normal file
6254
Patches/OLD/bacon/Kernel-CM-13.0/2.patch
Normal file
File diff suppressed because it is too large
Load diff
6948
Patches/OLD/bacon/Kernel-CM-13.0/3.patch
Normal file
6948
Patches/OLD/bacon/Kernel-CM-13.0/3.patch
Normal file
File diff suppressed because it is too large
Load diff
5502
Patches/OLD/bacon/Kernel-CM-13.0/4.patch
Normal file
5502
Patches/OLD/bacon/Kernel-CM-13.0/4.patch
Normal file
File diff suppressed because it is too large
Load diff
5075
Patches/OLD/bacon/Kernel-CM-13.0/5.patch
Normal file
5075
Patches/OLD/bacon/Kernel-CM-13.0/5.patch
Normal file
File diff suppressed because it is too large
Load diff
2313
Patches/OLD/bacon/Kernel-CM-13.0/6.patch
Normal file
2313
Patches/OLD/bacon/Kernel-CM-13.0/6.patch
Normal file
File diff suppressed because it is too large
Load diff
577
Patches/OLD/bacon/Kernel-CM-13.0/7.patch
Normal file
577
Patches/OLD/bacon/Kernel-CM-13.0/7.patch
Normal file
|
@ -0,0 +1,577 @@
|
|||
From 7fd9acebf8d5973f3d345cac4713691cff517e5c Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Sat, 17 Oct 2015 20:49:21 -0400
|
||||
Subject: [PATCH] Implement KEXEC
|
||||
|
||||
---
|
||||
arch/arm/Kconfig | 26 ++++++++++
|
||||
arch/arm/boot/compressed/head.S | 64 ++++++++++++++++++++++++
|
||||
arch/arm/configs/cyanogenmod_bacon_defconfig | 6 ++-
|
||||
arch/arm/include/asm/kexec.h | 8 +++
|
||||
arch/arm/kernel/machine_kexec.c | 58 +++++++++++++++++++--
|
||||
arch/arm/kernel/relocate_kernel.S | 75 ++++++++++++++++++++++++++++
|
||||
arch/arm/mach-msm/include/mach/memory.h | 16 ++++++
|
||||
arch/arm/mach-msm/oppo/board-8974-oppo.c | 27 ++++++++++
|
||||
arch/arm/mach-msm/restart.c | 28 +++++++++++
|
||||
include/linux/kexec.h | 19 +++++--
|
||||
kernel/kexec.c | 4 ++
|
||||
11 files changed, 322 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
|
||||
index 37d3c6d..f801a19 100644
|
||||
--- a/arch/arm/Kconfig
|
||||
+++ b/arch/arm/Kconfig
|
||||
@@ -2299,6 +2299,32 @@ config ATAGS_PROC
|
||||
Should the atags used to boot the kernel be exported in an "atags"
|
||||
file in procfs. Useful with kexec.
|
||||
|
||||
+config KEXEC_HARDBOOT
|
||||
+ bool "Support hard booting to a kexec kernel"
|
||||
+ depends on KEXEC
|
||||
+ help
|
||||
+ Allows hard booting (i.e., with a full hardware reboot) to a kernel
|
||||
+ previously loaded in memory by kexec. This works around the problem of
|
||||
+ soft-booted kernel hangs due to improper device shutdown and/or
|
||||
+ reinitialization. Support is comprised of two components:
|
||||
+
|
||||
+ First, a "hardboot" flag is added to the kexec syscall to force a hard
|
||||
+ reboot in relocate_new_kernel() (which requires machine-specific assembly
|
||||
+ code). This also requires the kexec userspace tool to load the kexec'd
|
||||
+ kernel in memory region left untouched by the bootloader (i.e., not
|
||||
+ explicitly cleared and not overwritten by the boot kernel). Just prior
|
||||
+ to reboot, the kexec kernel arguments are stashed in a machine-specific
|
||||
+ memory page that must also be preserved. Note that this hardboot page
|
||||
+ need not be reserved during regular kernel execution.
|
||||
+
|
||||
+ Second, the zImage decompresor of the boot (bootloader-loaded) kernel is
|
||||
+ modified to check the hardboot page for fresh kexec arguments, and if
|
||||
+ present, attempts to jump to the kexec'd kernel preserved in memory.
|
||||
+
|
||||
+ Note that hardboot support is only required in the boot kernel and any
|
||||
+ kernel capable of performing a hardboot kexec. It is _not_ required by a
|
||||
+ kexec'd kernel.
|
||||
+
|
||||
config CRASH_DUMP
|
||||
bool "Build kdump crash kernel (EXPERIMENTAL)"
|
||||
depends on EXPERIMENTAL
|
||||
diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S
|
||||
index d3892ef..be05aa1 100644
|
||||
--- a/arch/arm/boot/compressed/head.S
|
||||
+++ b/arch/arm/boot/compressed/head.S
|
||||
@@ -11,6 +11,12 @@
|
||||
#include <linux/linkage.h>
|
||||
|
||||
.arch armv7-a
|
||||
+
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ #include <asm/kexec.h>
|
||||
+ #include <asm/memory.h>
|
||||
+#endif
|
||||
+
|
||||
/*
|
||||
* Debugging stuff
|
||||
*
|
||||
@@ -136,6 +142,64 @@ start:
|
||||
1: mov r7, r1 @ save architecture ID
|
||||
mov r8, r2 @ save atags pointer
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ /* Check hardboot page for a kexec kernel. */
|
||||
+ ldr r3, =KEXEC_HB_PAGE_ADDR
|
||||
+ ldr r0, [r3]
|
||||
+ ldr r1, =KEXEC_HB_PAGE_MAGIC
|
||||
+ teq r0, r1
|
||||
+ bne not_booting_other
|
||||
+
|
||||
+ /* Clear hardboot page magic to avoid boot loop. */
|
||||
+ mov r0, #0
|
||||
+ str r0, [r3]
|
||||
+
|
||||
+ /*
|
||||
+ * Copy dtb from location up high in memory to default location.
|
||||
+ * Kernel freezes if this is not done.
|
||||
+ */
|
||||
+ ldr r1, [r3, #12] @ kexec_boot_atags
|
||||
+ ldr r2, [r3, #16] @ kexec_boot_atags_len
|
||||
+ mov r5, #0 @ iterator
|
||||
+catags_cpy:
|
||||
+ ldr r0, [r1, r5] @ from kexec_boot_atags
|
||||
+ str r0, [r8, r5] @ to atags_pointer
|
||||
+ add r5, r5, #4
|
||||
+ cmp r5, r2
|
||||
+ blo catags_cpy
|
||||
+
|
||||
+#ifdef KEXEC_HB_KERNEL_LOC
|
||||
+ /*
|
||||
+ * Copy kernel from location up high in memory to location in first 128MB.
|
||||
+ * Bootloader on hammerhead erases first 128MB of ram on reboot, so it can't
|
||||
+ * be in there before reboot, but decompressing in location above 128MB takes
|
||||
+ * a long time. This memcpy is much quicker, for some reason.
|
||||
+ */
|
||||
+ ldr r2, [r3, #4] @ kexec_start_address
|
||||
+ ldr r4, [r3, #20] @ kexec_kernel_len
|
||||
+ ldr r6, =KEXEC_HB_KERNEL_LOC @ target
|
||||
+ mov r5, #0 @ iterator
|
||||
+kernel_cpy:
|
||||
+ ldr r0, [r2, r5] @ from kexec_start_address
|
||||
+ str r0, [r6, r5] @ to KEXEC_HB_KERNEL_LOC
|
||||
+ add r5, r5, #4
|
||||
+ cmp r5, r4
|
||||
+ blo kernel_cpy
|
||||
+#else
|
||||
+ ldr r6, [r3, #4] @ kexec_start_address
|
||||
+#endif
|
||||
+
|
||||
+ /* set registers and boot kexecd' kernel */
|
||||
+ mov r0, #0
|
||||
+ ldr r1, [r3, #8] @ kexec_mach_type
|
||||
+ mov r2, r8 @ atags pointer
|
||||
+ mov pc, r6
|
||||
+
|
||||
+ .ltorg
|
||||
+
|
||||
+not_booting_other:
|
||||
+#endif
|
||||
+
|
||||
#ifndef __ARM_ARCH_2__
|
||||
/*
|
||||
* Booting from Angel - need to enter SVC mode and disable
|
||||
diff --git a/arch/arm/configs/cyanogenmod_bacon_defconfig b/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
index 0a8ac5f..009a34d 100644
|
||||
--- a/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
+++ b/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
@@ -695,7 +695,9 @@ CONFIG_ZBOOT_ROM_BSS=0
|
||||
# CONFIG_ARM_APPENDED_DTB is not set
|
||||
CONFIG_CMDLINE=""
|
||||
# CONFIG_XIP_KERNEL is not set
|
||||
-# CONFIG_KEXEC is not set
|
||||
+CONFIG_KEXEC=y
|
||||
+CONFIG_KEXEC_HARDBOOT=y
|
||||
+CONFIG_ATAGS_PROC=n
|
||||
# CONFIG_CRASH_DUMP is not set
|
||||
# CONFIG_AUTO_ZRELADDR is not set
|
||||
|
||||
@@ -1285,7 +1287,7 @@ CONFIG_OF=y
|
||||
#
|
||||
# Device Tree and Open Firmware support
|
||||
#
|
||||
-# CONFIG_PROC_DEVICETREE is not set
|
||||
+CONFIG_PROC_DEVICETREE=y
|
||||
# CONFIG_OF_SELFTEST is not set
|
||||
CONFIG_OF_FLATTREE=y
|
||||
CONFIG_OF_EARLY_FLATTREE=y
|
||||
diff --git a/arch/arm/include/asm/kexec.h b/arch/arm/include/asm/kexec.h
|
||||
index c2b9b4b..564c55b 100644
|
||||
--- a/arch/arm/include/asm/kexec.h
|
||||
+++ b/arch/arm/include/asm/kexec.h
|
||||
@@ -17,6 +17,10 @@
|
||||
#define KEXEC_ARM_ATAGS_OFFSET 0x1000
|
||||
#define KEXEC_ARM_ZIMAGE_OFFSET 0x8000
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ #define KEXEC_HB_PAGE_MAGIC 0x4a5db007
|
||||
+#endif
|
||||
+
|
||||
#ifndef __ASSEMBLY__
|
||||
|
||||
/**
|
||||
@@ -53,6 +57,10 @@ static inline void crash_setup_regs(struct pt_regs *newregs,
|
||||
/* Function pointer to optional machine-specific reinitialization */
|
||||
extern void (*kexec_reinit)(void);
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+extern void (*kexec_hardboot_hook)(void);
|
||||
+#endif
|
||||
+
|
||||
#endif /* __ASSEMBLY__ */
|
||||
|
||||
#endif /* CONFIG_KEXEC */
|
||||
diff --git a/arch/arm/kernel/machine_kexec.c b/arch/arm/kernel/machine_kexec.c
|
||||
index 357b651..29cdd2f 100644
|
||||
--- a/arch/arm/kernel/machine_kexec.c
|
||||
+++ b/arch/arm/kernel/machine_kexec.c
|
||||
@@ -14,6 +14,9 @@
|
||||
#include <asm/cacheflush.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/system_misc.h>
|
||||
+#include <linux/memblock.h>
|
||||
+#include <linux/of_fdt.h>
|
||||
+#include <asm/mmu_writeable.h>
|
||||
|
||||
extern const unsigned char relocate_new_kernel[];
|
||||
extern const unsigned int relocate_new_kernel_size;
|
||||
@@ -22,6 +25,12 @@ extern unsigned long kexec_start_address;
|
||||
extern unsigned long kexec_indirection_page;
|
||||
extern unsigned long kexec_mach_type;
|
||||
extern unsigned long kexec_boot_atags;
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+extern unsigned long kexec_hardboot;
|
||||
+extern unsigned long kexec_boot_atags_len;
|
||||
+extern unsigned long kexec_kernel_len;
|
||||
+void (*kexec_hardboot_hook)(void);
|
||||
+#endif
|
||||
|
||||
static atomic_t waiting_for_crash_ipi;
|
||||
|
||||
@@ -32,6 +41,37 @@ static atomic_t waiting_for_crash_ipi;
|
||||
|
||||
int machine_kexec_prepare(struct kimage *image)
|
||||
{
|
||||
+ struct kexec_segment *current_segment;
|
||||
+ __be32 header;
|
||||
+ int i, err;
|
||||
+
|
||||
+ /* No segment at default ATAGs address. try to locate
|
||||
+ * a dtb using magic */
|
||||
+ for (i = 0; i < image->nr_segments; i++) {
|
||||
+ current_segment = &image->segment[i];
|
||||
+
|
||||
+ err = memblock_is_region_memory(current_segment->mem,
|
||||
+ current_segment->memsz);
|
||||
+ if (!err)
|
||||
+ return - EINVAL;
|
||||
+
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ if(current_segment->mem == image->start)
|
||||
+ mem_text_write_kernel_word(&kexec_kernel_len, current_segment->memsz);
|
||||
+#endif
|
||||
+
|
||||
+ err = get_user(header, (__be32*)current_segment->buf);
|
||||
+ if (err)
|
||||
+ return err;
|
||||
+
|
||||
+ if (be32_to_cpu(header) == OF_DT_HEADER)
|
||||
+ {
|
||||
+ mem_text_write_kernel_word(&kexec_boot_atags, current_segment->mem);
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ mem_text_write_kernel_word(&kexec_boot_atags_len, current_segment->memsz);
|
||||
+#endif
|
||||
+ }
|
||||
+ }
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -123,10 +163,14 @@ void machine_kexec(struct kimage *image)
|
||||
reboot_code_buffer = page_address(image->control_code_page);
|
||||
|
||||
/* Prepare parameters for reboot_code_buffer*/
|
||||
- kexec_start_address = image->start;
|
||||
- kexec_indirection_page = page_list;
|
||||
- kexec_mach_type = machine_arch_type;
|
||||
- kexec_boot_atags = image->start - KEXEC_ARM_ZIMAGE_OFFSET + KEXEC_ARM_ATAGS_OFFSET;
|
||||
+ mem_text_write_kernel_word(&kexec_start_address, image->start);
|
||||
+ mem_text_write_kernel_word(&kexec_indirection_page, page_list);
|
||||
+ mem_text_write_kernel_word(&kexec_mach_type, machine_arch_type);
|
||||
+ if (!kexec_boot_atags)
|
||||
+ mem_text_write_kernel_word(&kexec_boot_atags, image->start - KEXEC_ARM_ZIMAGE_OFFSET + KEXEC_ARM_ATAGS_OFFSET);
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ mem_text_write_kernel_word(&kexec_hardboot, image->hardboot);
|
||||
+#endif
|
||||
|
||||
/* copy our kernel relocation code to the control code page */
|
||||
memcpy(reboot_code_buffer,
|
||||
@@ -140,6 +184,12 @@ void machine_kexec(struct kimage *image)
|
||||
if (kexec_reinit)
|
||||
kexec_reinit();
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ /* Run any final machine-specific shutdown code. */
|
||||
+ if (image->hardboot && kexec_hardboot_hook)
|
||||
+ kexec_hardboot_hook();
|
||||
+#endif
|
||||
+
|
||||
soft_restart(reboot_code_buffer_phys);
|
||||
}
|
||||
|
||||
diff --git a/arch/arm/kernel/relocate_kernel.S b/arch/arm/kernel/relocate_kernel.S
|
||||
index d0cdedf..0e45ffc 100644
|
||||
--- a/arch/arm/kernel/relocate_kernel.S
|
||||
+++ b/arch/arm/kernel/relocate_kernel.S
|
||||
@@ -4,6 +4,15 @@
|
||||
|
||||
#include <asm/kexec.h>
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+#include <asm/memory.h>
|
||||
+#if defined(CONFIG_ARCH_TEGRA_2x_SOC) || defined(CONFIG_ARCH_TEGRA_3x_SOC)
|
||||
+ #include <mach/iomap.h>
|
||||
+#elif defined(CONFIG_ARCH_APQ8064) || defined(CONFIG_ARCH_MSM8974)
|
||||
+ #include <mach/msm_iomap.h>
|
||||
+#endif
|
||||
+#endif
|
||||
+
|
||||
.globl relocate_new_kernel
|
||||
relocate_new_kernel:
|
||||
|
||||
@@ -52,6 +61,12 @@ relocate_new_kernel:
|
||||
b 0b
|
||||
|
||||
2:
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ ldr r0, kexec_hardboot
|
||||
+ teq r0, #0
|
||||
+ bne hardboot
|
||||
+#endif
|
||||
+
|
||||
/* Jump to relocated kernel */
|
||||
mov lr,r1
|
||||
mov r0,#0
|
||||
@@ -60,6 +75,52 @@ relocate_new_kernel:
|
||||
ARM( mov pc, lr )
|
||||
THUMB( bx lr )
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+hardboot:
|
||||
+ /* Stash boot arguments in hardboot page:
|
||||
+ * 0: KEXEC_HB_PAGE_MAGIC
|
||||
+ * 4: kexec_start_address
|
||||
+ * 8: kexec_mach_type
|
||||
+ * 12: kexec_boot_atags
|
||||
+ * 16: kexec_boot_atags_len
|
||||
+ * 20: kexec_kernel_len */
|
||||
+ ldr r0, =KEXEC_HB_PAGE_ADDR
|
||||
+ str r1, [r0, #4]
|
||||
+ ldr r1, kexec_mach_type
|
||||
+ str r1, [r0, #8]
|
||||
+ ldr r1, kexec_boot_atags
|
||||
+ str r1, [r0, #12]
|
||||
+ ldr r1, kexec_boot_atags_len
|
||||
+ str r1, [r0, #16]
|
||||
+ ldr r1, kexec_kernel_len
|
||||
+ str r1, [r0, #20]
|
||||
+ ldr r1, =KEXEC_HB_PAGE_MAGIC
|
||||
+ str r1, [r0]
|
||||
+
|
||||
+#if defined(CONFIG_ARCH_TEGRA_2x_SOC) || defined(CONFIG_ARCH_TEGRA_3x_SOC)
|
||||
+ ldr r0, =TEGRA_PMC_BASE
|
||||
+ ldr r1, [r0]
|
||||
+ orr r1, r1, #0x10
|
||||
+ str r1, [r0]
|
||||
+loop: b loop
|
||||
+#elif defined(CONFIG_ARCH_APQ8064)
|
||||
+ /* Restart using the PMIC chip, see mach-msm/restart.c */
|
||||
+ ldr r0, =APQ8064_TLMM_PHYS
|
||||
+ mov r1, #0
|
||||
+ str r1, [r0, #0x820] @ PSHOLD_CTL_SU
|
||||
+loop: b loop
|
||||
+#elif defined(CONFIG_ARCH_MSM8974)
|
||||
+ /* Restart using the PMIC chip, see mach-msm/restart.c */
|
||||
+ ldr r0, =MSM8974_MPM2_PSHOLD_PHYS
|
||||
+ mov r1, #0
|
||||
+ str r1, [r0, #0]
|
||||
+loop: b loop
|
||||
+#else
|
||||
+#error "No reboot method defined for hardboot."
|
||||
+#endif
|
||||
+
|
||||
+ .ltorg
|
||||
+#endif
|
||||
.align
|
||||
|
||||
.globl kexec_start_address
|
||||
@@ -79,6 +140,20 @@ kexec_mach_type:
|
||||
kexec_boot_atags:
|
||||
.long 0x0
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ .globl kexec_boot_atags_len
|
||||
+kexec_boot_atags_len:
|
||||
+ .long 0x0
|
||||
+
|
||||
+ .globl kexec_kernel_len
|
||||
+kexec_kernel_len:
|
||||
+ .long 0x0
|
||||
+
|
||||
+ .globl kexec_hardboot
|
||||
+kexec_hardboot:
|
||||
+ .long 0x0
|
||||
+#endif
|
||||
+
|
||||
relocate_new_kernel_end:
|
||||
|
||||
.globl relocate_new_kernel_size
|
||||
diff --git a/arch/arm/mach-msm/include/mach/memory.h b/arch/arm/mach-msm/include/mach/memory.h
|
||||
index 9225230..1c87b96 100644
|
||||
--- a/arch/arm/mach-msm/include/mach/memory.h
|
||||
+++ b/arch/arm/mach-msm/include/mach/memory.h
|
||||
@@ -20,6 +20,22 @@
|
||||
/* physical offset of RAM */
|
||||
#define PLAT_PHYS_OFFSET UL(CONFIG_PHYS_OFFSET)
|
||||
|
||||
+#if defined(CONFIG_KEXEC_HARDBOOT)
|
||||
+#if defined(CONFIG_MACH_APQ8064_FLO)
|
||||
+#define KEXEC_HB_PAGE_ADDR UL(0x88C00000)
|
||||
+#elif defined(CONFIG_MACH_APQ8064_MAKO)
|
||||
+#define KEXEC_HB_PAGE_ADDR UL(0x88600000)
|
||||
+#elif defined(CONFIG_MACH_MSM8974_HAMMERHEAD)
|
||||
+#define KEXEC_HB_PAGE_ADDR UL(0x10100000)
|
||||
+#define KEXEC_HB_KERNEL_LOC UL(0x3208000)
|
||||
+#elif defined(CONFIG_MACH_OPPO_MSM8974)
|
||||
+#define KEXEC_HB_PAGE_ADDR UL(0x2F600000)
|
||||
+#define KEXEC_HB_KERNEL_LOC UL(0x3208000)
|
||||
+#else
|
||||
+#error "Adress for kexec hardboot page not defined"
|
||||
+#endif
|
||||
+#endif
|
||||
+
|
||||
#ifndef __ASSEMBLY__
|
||||
void clean_and_invalidate_caches(unsigned long, unsigned long, unsigned long);
|
||||
void clean_caches(unsigned long, unsigned long, unsigned long);
|
||||
diff --git a/arch/arm/mach-msm/oppo/board-8974-oppo.c b/arch/arm/mach-msm/oppo/board-8974-oppo.c
|
||||
index eb24545..10bbbda 100644
|
||||
--- a/arch/arm/mach-msm/oppo/board-8974-oppo.c
|
||||
+++ b/arch/arm/mach-msm/oppo/board-8974-oppo.c
|
||||
@@ -54,6 +54,13 @@
|
||||
|
||||
#include <linux/pcb_version.h>
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+#include <asm/setup.h>
|
||||
+#include <asm/memory.h>
|
||||
+#include <linux/memblock.h>
|
||||
+#define OPPO_PERSISTENT_RAM_SIZE (SZ_1M)
|
||||
+#endif
|
||||
+
|
||||
static struct platform_device *ram_console_dev;
|
||||
|
||||
static struct persistent_ram_descriptor msm_prd[] __initdata = {
|
||||
@@ -72,6 +79,26 @@ static struct persistent_ram msm_pr __initdata = {
|
||||
|
||||
void __init msm_8974_reserve(void)
|
||||
{
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ // Reserve space for hardboot page - just after ram_console,
|
||||
+ // at the start of second memory bank
|
||||
+ int ret;
|
||||
+ phys_addr_t start;
|
||||
+ struct membank* bank;
|
||||
+
|
||||
+ if (meminfo.nr_banks < 2) {
|
||||
+ pr_err("%s: not enough membank\n", __func__);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ bank = &meminfo.bank[1];
|
||||
+ start = bank->start + SZ_1M + OPPO_PERSISTENT_RAM_SIZE;
|
||||
+ ret = memblock_remove(start, SZ_1M);
|
||||
+ if(!ret)
|
||||
+ pr_info("Hardboot page reserved at 0x%X\n", start);
|
||||
+ else
|
||||
+ pr_err("Failed to reserve space for hardboot page at 0x%X!\n", start);
|
||||
+#endif
|
||||
persistent_ram_early_init(&msm_pr);
|
||||
of_scan_flat_dt(dt_scan_for_memory_reserve, NULL);
|
||||
}
|
||||
diff --git a/arch/arm/mach-msm/restart.c b/arch/arm/mach-msm/restart.c
|
||||
index a04ab8d..fe89976 100644
|
||||
--- a/arch/arm/mach-msm/restart.c
|
||||
+++ b/arch/arm/mach-msm/restart.c
|
||||
@@ -38,6 +38,10 @@
|
||||
#include "timer.h"
|
||||
#include "wdog_debug.h"
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+#include <asm/kexec.h>
|
||||
+#endif
|
||||
+
|
||||
#define WDT0_RST 0x38
|
||||
#define WDT0_EN 0x40
|
||||
#define WDT0_BARK_TIME 0x4C
|
||||
@@ -373,6 +377,26 @@ static int __init msm_pmic_restart_init(void)
|
||||
|
||||
late_initcall(msm_pmic_restart_init);
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+static void msm_kexec_hardboot_hook(void)
|
||||
+{
|
||||
+ set_dload_mode(0);
|
||||
+
|
||||
+ // Set PMIC to restart-on-poweroff
|
||||
+ pm8xxx_reset_pwr_off(1);
|
||||
+
|
||||
+ // These are executed on normal reboot, but with kexec-hardboot,
|
||||
+ // they reboot/panic the system immediately.
|
||||
+#if 0
|
||||
+ qpnp_pon_system_pwr_off(PON_POWER_OFF_WARM_RESET);
|
||||
+
|
||||
+ /* Needed to bypass debug image on some chips */
|
||||
+ msm_disable_wdog_debug();
|
||||
+ halt_spmi_pmic_arbiter();
|
||||
+#endif
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
static int __init msm_restart_init(void)
|
||||
{
|
||||
#ifdef CONFIG_MSM_DLOAD_MODE
|
||||
@@ -392,6 +416,10 @@ static int __init msm_restart_init(void)
|
||||
if (scm_is_call_available(SCM_SVC_PWR, SCM_IO_DISABLE_PMIC_ARBITER) > 0)
|
||||
scm_pmic_arbiter_disable_supported = true;
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ kexec_hardboot_hook = msm_kexec_hardboot_hook;
|
||||
+#endif
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
early_initcall(msm_restart_init);
|
||||
diff --git a/include/linux/kexec.h b/include/linux/kexec.h
|
||||
index af84a25..a4509ad 100644
|
||||
--- a/include/linux/kexec.h
|
||||
+++ b/include/linux/kexec.h
|
||||
@@ -111,6 +111,10 @@ struct kimage {
|
||||
#define KEXEC_TYPE_CRASH 1
|
||||
unsigned int preserve_context : 1;
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ unsigned int hardboot : 1;
|
||||
+#endif
|
||||
+
|
||||
#ifdef ARCH_HAS_KIMAGE_ARCH
|
||||
struct kimage_arch arch;
|
||||
#endif
|
||||
@@ -178,6 +182,11 @@ extern struct kimage *kexec_crash_image;
|
||||
|
||||
#define KEXEC_ON_CRASH 0x00000001
|
||||
#define KEXEC_PRESERVE_CONTEXT 0x00000002
|
||||
+
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+#define KEXEC_HARDBOOT 0x00000004
|
||||
+#endif
|
||||
+
|
||||
#define KEXEC_ARCH_MASK 0xffff0000
|
||||
|
||||
/* These values match the ELF architecture values.
|
||||
@@ -196,10 +205,14 @@ extern struct kimage *kexec_crash_image;
|
||||
#define KEXEC_ARCH_MIPS ( 8 << 16)
|
||||
|
||||
/* List of defined/legal kexec flags */
|
||||
-#ifndef CONFIG_KEXEC_JUMP
|
||||
-#define KEXEC_FLAGS KEXEC_ON_CRASH
|
||||
-#else
|
||||
+#if defined(CONFIG_KEXEC_JUMP) && defined(CONFIG_KEXEC_HARDBOOT)
|
||||
+#define KEXEC_FLAGS (KEXEC_ON_CRASH | KEXEC_PRESERVE_CONTEXT | KEXEC_HARDBOOT)
|
||||
+#elif defined(CONFIG_KEXEC_JUMP)
|
||||
#define KEXEC_FLAGS (KEXEC_ON_CRASH | KEXEC_PRESERVE_CONTEXT)
|
||||
+#elif defined(CONFIG_KEXEC_HARDBOOT)
|
||||
+#define KEXEC_FLAGS (KEXEC_ON_CRASH | KEXEC_HARDBOOT)
|
||||
+#else
|
||||
+#define KEXEC_FLAGS (KEXEC_ON_CRASH)
|
||||
#endif
|
||||
|
||||
#define VMCOREINFO_BYTES (4096)
|
||||
diff --git a/kernel/kexec.c b/kernel/kexec.c
|
||||
index 4e2e472..aef7893 100644
|
||||
--- a/kernel/kexec.c
|
||||
+++ b/kernel/kexec.c
|
||||
@@ -1004,6 +1004,10 @@ SYSCALL_DEFINE4(kexec_load, unsigned long, entry, unsigned long, nr_segments,
|
||||
|
||||
if (flags & KEXEC_PRESERVE_CONTEXT)
|
||||
image->preserve_context = 1;
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ if (flags & KEXEC_HARDBOOT)
|
||||
+ image->hardboot = 1;
|
||||
+#endif
|
||||
result = machine_kexec_prepare(image);
|
||||
if (result)
|
||||
goto out;
|
706
Patches/OLD/bacon/Kernel-CM-13.0/8.patch
Normal file
706
Patches/OLD/bacon/Kernel-CM-13.0/8.patch
Normal file
|
@ -0,0 +1,706 @@
|
|||
From 99be1d1cfc831583d6ebb80c98cb7b97e7f26bfd Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Sat, 17 Oct 2015 20:49:57 -0400
|
||||
Subject: [PATCH] Overclocked to 2.8Ghz, underclocked to 268Mhz
|
||||
|
||||
---
|
||||
arch/arm/boot/dts/msm8974-v2.dtsi | 2 +-
|
||||
arch/arm/boot/dts/msm8974pro-pm8941.dtsi | 8 +-
|
||||
.../arm/boot/dts/msm8974pro-pma8084-regulator.dtsi | 16 +-
|
||||
arch/arm/boot/dts/msm8974pro.dtsi | 190 ++++++++++++++++++---
|
||||
4 files changed, 179 insertions(+), 37 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/msm8974-v2.dtsi b/arch/arm/boot/dts/msm8974-v2.dtsi
|
||||
index 04769bd..8739175 100644
|
||||
--- a/arch/arm/boot/dts/msm8974-v2.dtsi
|
||||
+++ b/arch/arm/boot/dts/msm8974-v2.dtsi
|
||||
@@ -135,7 +135,7 @@
|
||||
<1880000 2068000>,
|
||||
<3008000 3309000>,
|
||||
<3760000 4136000>,
|
||||
- <4468000 2457000>;
|
||||
+ <4468000 2457600>;
|
||||
qcom,dec-ocmem-ab-ib = <0 0>,
|
||||
<176000 519000>,
|
||||
<456000 519000>,
|
||||
diff --git a/arch/arm/boot/dts/msm8974pro-pm8941.dtsi b/arch/arm/boot/dts/msm8974pro-pm8941.dtsi
|
||||
index 89939e6..d76e4bd 100644
|
||||
--- a/arch/arm/boot/dts/msm8974pro-pm8941.dtsi
|
||||
+++ b/arch/arm/boot/dts/msm8974pro-pm8941.dtsi
|
||||
@@ -39,22 +39,22 @@
|
||||
};
|
||||
|
||||
&krait0_vreg {
|
||||
- regulator-max-microvolt = <1120000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
qcom,ldo-delta-voltage = <12500>;
|
||||
};
|
||||
|
||||
&krait1_vreg {
|
||||
- regulator-max-microvolt = <1120000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
qcom,ldo-delta-voltage = <12500>;
|
||||
};
|
||||
|
||||
&krait2_vreg {
|
||||
- regulator-max-microvolt = <1120000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
qcom,ldo-delta-voltage = <12500>;
|
||||
};
|
||||
|
||||
&krait3_vreg {
|
||||
- regulator-max-microvolt = <1120000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
qcom,ldo-delta-voltage = <12500>;
|
||||
};
|
||||
|
||||
diff --git a/arch/arm/boot/dts/msm8974pro-pma8084-regulator.dtsi b/arch/arm/boot/dts/msm8974pro-pma8084-regulator.dtsi
|
||||
index 433d466..428a520 100644
|
||||
--- a/arch/arm/boot/dts/msm8974pro-pma8084-regulator.dtsi
|
||||
+++ b/arch/arm/boot/dts/msm8974pro-pma8084-regulator.dtsi
|
||||
@@ -492,9 +492,9 @@
|
||||
<0xf908a800 0x1000>; /* APCS_ALIAS0_KPSS_MDD */
|
||||
reg-names = "acs", "mdd";
|
||||
regulator-min-microvolt = <500000>;
|
||||
- regulator-max-microvolt = <1120000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
qcom,headroom-voltage = <150000>;
|
||||
- qcom,retention-voltage = <675000>;
|
||||
+ qcom,retention-voltage = <600000>;
|
||||
qcom,ldo-default-voltage = <750000>;
|
||||
qcom,ldo-threshold-voltage = <850000>;
|
||||
qcom,ldo-delta-voltage = <12500>;
|
||||
@@ -508,9 +508,9 @@
|
||||
<0xf909a800 0x1000>; /* APCS_ALIAS1_KPSS_MDD */
|
||||
reg-names = "acs", "mdd";
|
||||
regulator-min-microvolt = <500000>;
|
||||
- regulator-max-microvolt = <1120000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
qcom,headroom-voltage = <150000>;
|
||||
- qcom,retention-voltage = <675000>;
|
||||
+ qcom,retention-voltage = <600000>;
|
||||
qcom,ldo-default-voltage = <750000>;
|
||||
qcom,ldo-threshold-voltage = <850000>;
|
||||
qcom,ldo-delta-voltage = <12500>;
|
||||
@@ -524,9 +524,9 @@
|
||||
<0xf90aa800 0x1000>; /* APCS_ALIAS2_KPSS_MDD */
|
||||
reg-names = "acs", "mdd";
|
||||
regulator-min-microvolt = <500000>;
|
||||
- regulator-max-microvolt = <1120000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
qcom,headroom-voltage = <150000>;
|
||||
- qcom,retention-voltage = <675000>;
|
||||
+ qcom,retention-voltage = <600000>;
|
||||
qcom,ldo-default-voltage = <750000>;
|
||||
qcom,ldo-threshold-voltage = <850000>;
|
||||
qcom,ldo-delta-voltage = <12500>;
|
||||
@@ -540,9 +540,9 @@
|
||||
<0xf90ba800 0x1000>; /* APCS_ALIAS3_KPSS_MDD */
|
||||
reg-names = "acs", "mdd";
|
||||
regulator-min-microvolt = <500000>;
|
||||
- regulator-max-microvolt = <1120000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
qcom,headroom-voltage = <150000>;
|
||||
- qcom,retention-voltage = <675000>;
|
||||
+ qcom,retention-voltage = <600000>;
|
||||
qcom,ldo-default-voltage = <750000>;
|
||||
qcom,ldo-threshold-voltage = <850000>;
|
||||
qcom,ldo-delta-voltage = <12500>;
|
||||
diff --git a/arch/arm/boot/dts/msm8974pro.dtsi b/arch/arm/boot/dts/msm8974pro.dtsi
|
||||
index c50b379..ebb5112 100644
|
||||
--- a/arch/arm/boot/dts/msm8974pro.dtsi
|
||||
+++ b/arch/arm/boot/dts/msm8974pro.dtsi
|
||||
@@ -90,6 +90,7 @@
|
||||
qcom,clock-krait@f9016000 {
|
||||
qcom,speed1-pvs0-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 74 >,
|
||||
< 345600000 775000 85 >,
|
||||
< 422400000 775000 104 >,
|
||||
@@ -121,6 +122,7 @@
|
||||
|
||||
qcom,speed1-pvs1-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 74 >,
|
||||
< 345600000 775000 85 >,
|
||||
< 422400000 775000 104 >,
|
||||
@@ -152,6 +154,7 @@
|
||||
|
||||
qcom,speed1-pvs2-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 74 >,
|
||||
< 345600000 750000 85 >,
|
||||
< 422400000 750000 104 >,
|
||||
@@ -183,6 +186,7 @@
|
||||
|
||||
qcom,speed1-pvs3-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 74 >,
|
||||
< 345600000 750000 85 >,
|
||||
< 422400000 750000 104 >,
|
||||
@@ -214,6 +218,7 @@
|
||||
|
||||
qcom,speed1-pvs4-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 74 >,
|
||||
< 345600000 750000 85 >,
|
||||
< 422400000 750000 104 >,
|
||||
@@ -245,6 +250,7 @@
|
||||
|
||||
qcom,speed1-pvs5-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 720000 68 >,
|
||||
< 300000000 725000 74 >,
|
||||
< 345600000 725000 85 >,
|
||||
< 422400000 725000 104 >,
|
||||
@@ -276,6 +282,7 @@
|
||||
|
||||
qcom,speed1-pvs6-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 720000 68 >,
|
||||
< 300000000 725000 74 >,
|
||||
< 345600000 725000 85 >,
|
||||
< 422400000 725000 104 >,
|
||||
@@ -307,6 +314,7 @@
|
||||
|
||||
qcom,speed3-pvs0-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 106 >,
|
||||
@@ -337,10 +345,14 @@
|
||||
< 2265600000 1065000 700 >,
|
||||
< 2342400000 1080000 734 >,
|
||||
< 2419200000 1095000 769 >,
|
||||
- < 2457600000 1100000 785 >;
|
||||
+ < 2457600000 1100000 785 >,
|
||||
+ < 2572800000 1145000 827 >,
|
||||
+ < 2726400000 1205000 900 >,
|
||||
+ < 2880000000 1235000 937 >;
|
||||
|
||||
qcom,speed3-pvs1-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 106 >,
|
||||
@@ -371,10 +383,14 @@
|
||||
< 2265600000 1040000 700 >,
|
||||
< 2342400000 1055000 734 >,
|
||||
< 2419200000 1070000 769 >,
|
||||
- < 2457600000 1075000 785 >;
|
||||
+ < 2457600000 1075000 785 >,
|
||||
+ < 2572800000 1145000 827 >,
|
||||
+ < 2726400000 1205000 900 >,
|
||||
+ < 2880000000 1235000 937 >;
|
||||
|
||||
qcom,speed3-pvs2-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -405,10 +421,14 @@
|
||||
< 2265600000 1015000 700 >,
|
||||
< 2342400000 1030000 734 >,
|
||||
< 2419200000 1045000 769 >,
|
||||
- < 2457600000 1050000 785 >;
|
||||
+ < 2457600000 1050000 785 >,
|
||||
+ < 2572800000 1125000 827 >,
|
||||
+ < 2726400000 1195000 900 >,
|
||||
+ < 2880000000 1225000 937 >;
|
||||
|
||||
qcom,speed3-pvs3-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -439,10 +459,14 @@
|
||||
< 2265600000 990000 700 >,
|
||||
< 2342400000 1005000 734 >,
|
||||
< 2419200000 1020000 769 >,
|
||||
- < 2457600000 1025000 785 >;
|
||||
+ < 2457600000 1025000 785 >,
|
||||
+ < 2572800000 1115000 827 >,
|
||||
+ < 2726400000 1185000 900 >,
|
||||
+ < 2880000000 1215000 937 >;
|
||||
|
||||
qcom,speed3-pvs4-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -473,10 +497,14 @@
|
||||
< 2265600000 965000 700 >,
|
||||
< 2342400000 980000 734 >,
|
||||
< 2419200000 995000 769 >,
|
||||
- < 2457600000 1000000 785 >;
|
||||
+ < 2457600000 1000000 785 >,
|
||||
+ < 2572800000 1075000 827 >,
|
||||
+ < 2726400000 1175000 900 >,
|
||||
+ < 2880000000 1205000 937 >;
|
||||
|
||||
qcom,speed3-pvs5-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 76 >,
|
||||
< 345600000 750000 87 >,
|
||||
< 422400000 750000 106 >,
|
||||
@@ -507,10 +535,14 @@
|
||||
< 2265600000 940000 700 >,
|
||||
< 2342400000 955000 734 >,
|
||||
< 2419200000 970000 769 >,
|
||||
- < 2457600000 975000 785 >;
|
||||
+ < 2457600000 975000 785 >,
|
||||
+ < 2572800000 1025000 827 >,
|
||||
+ < 2726400000 1175000 900 >,
|
||||
+ < 2880000000 1195000 937 >;
|
||||
|
||||
qcom,speed3-pvs6-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 76 >,
|
||||
< 345600000 750000 87 >,
|
||||
< 422400000 750000 106 >,
|
||||
@@ -541,10 +573,14 @@
|
||||
< 2265600000 915000 700 >,
|
||||
< 2342400000 930000 734 >,
|
||||
< 2419200000 945000 769 >,
|
||||
- < 2457600000 950000 785 >;
|
||||
+ < 2457600000 950000 785 >,
|
||||
+ < 2572800000 1010000 827 >,
|
||||
+ < 2726400000 1155000 900 >,
|
||||
+ < 2880000000 1175000 937 >;
|
||||
|
||||
qcom,speed1-pvs0-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 810000 87 >,
|
||||
< 422400000 820000 108 >,
|
||||
@@ -576,6 +612,7 @@
|
||||
|
||||
qcom,speed1-pvs1-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 810000 108 >,
|
||||
@@ -607,6 +644,7 @@
|
||||
|
||||
qcom,speed1-pvs2-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 108 >,
|
||||
@@ -638,6 +676,7 @@
|
||||
|
||||
qcom,speed1-pvs3-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 108 >,
|
||||
@@ -669,6 +708,7 @@
|
||||
|
||||
qcom,speed1-pvs4-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 108 >,
|
||||
@@ -700,6 +740,7 @@
|
||||
|
||||
qcom,speed1-pvs5-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 108 >,
|
||||
@@ -731,6 +772,7 @@
|
||||
|
||||
qcom,speed1-pvs6-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 108 >,
|
||||
@@ -762,6 +804,7 @@
|
||||
|
||||
qcom,speed1-pvs7-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 108 >,
|
||||
@@ -793,6 +836,7 @@
|
||||
|
||||
qcom,speed1-pvs8-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 108 >,
|
||||
@@ -824,6 +868,7 @@
|
||||
|
||||
qcom,speed1-pvs9-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 108 >,
|
||||
@@ -855,6 +900,7 @@
|
||||
|
||||
qcom,speed1-pvs10-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 108 >,
|
||||
@@ -886,6 +932,7 @@
|
||||
|
||||
qcom,speed1-pvs11-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 108 >,
|
||||
@@ -917,6 +964,7 @@
|
||||
|
||||
qcom,speed1-pvs12-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 108 >,
|
||||
@@ -948,6 +996,7 @@
|
||||
|
||||
qcom,speed1-pvs13-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 108 >,
|
||||
@@ -979,6 +1028,7 @@
|
||||
|
||||
qcom,speed1-pvs14-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 76 >,
|
||||
< 345600000 750000 87 >,
|
||||
< 422400000 750000 108 >,
|
||||
@@ -1010,6 +1060,7 @@
|
||||
|
||||
qcom,speed1-pvs15-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 76 >,
|
||||
< 345600000 750000 87 >,
|
||||
< 422400000 750000 108 >,
|
||||
@@ -1041,6 +1092,7 @@
|
||||
|
||||
qcom,speed3-pvs0-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 106 >,
|
||||
@@ -1071,10 +1123,14 @@
|
||||
< 2265600000 1085000 716 >,
|
||||
< 2342400000 1100000 751 >,
|
||||
< 2419200000 1115000 786 >,
|
||||
- < 2457600000 1120000 802 >;
|
||||
+ < 2457600000 1120000 802 >,
|
||||
+ < 2572800000 1175000 827 >,
|
||||
+ < 2726400000 1225000 900 >,
|
||||
+ < 2880000000 1265000 937 >;
|
||||
|
||||
qcom,speed3-pvs1-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 106 >,
|
||||
@@ -1105,10 +1161,14 @@
|
||||
< 2265600000 1075000 716 >,
|
||||
< 2342400000 1090000 751 >,
|
||||
< 2419200000 1105000 786 >,
|
||||
- < 2457600000 1110000 802 >;
|
||||
+ < 2457600000 1110000 802 >,
|
||||
+ < 2572800000 1165000 827 >,
|
||||
+ < 2726400000 1215000 900 >,
|
||||
+ < 2880000000 1245000 937 >;
|
||||
|
||||
qcom,speed3-pvs2-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 106 >,
|
||||
@@ -1139,10 +1199,14 @@
|
||||
< 2265600000 1065000 716 >,
|
||||
< 2342400000 1080000 751 >,
|
||||
< 2419200000 1095000 786 >,
|
||||
- < 2457600000 1100000 802 >;
|
||||
+ < 2457600000 1100000 802 >,
|
||||
+ < 2572800000 1145000 827 >,
|
||||
+ < 2726400000 1185000 900 >,
|
||||
+ < 2880000000 1215000 937 >;
|
||||
|
||||
qcom,speed3-pvs3-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 106 >,
|
||||
@@ -1173,10 +1237,14 @@
|
||||
< 2265600000 1055000 716 >,
|
||||
< 2342400000 1070000 751 >,
|
||||
< 2419200000 1085000 786 >,
|
||||
- < 2457600000 1090000 802 >;
|
||||
+ < 2457600000 1090000 802 >,
|
||||
+ < 2572800000 1145000 827 >,
|
||||
+ < 2726400000 1175000 900 >,
|
||||
+ < 2880000000 1205000 937 >;
|
||||
|
||||
qcom,speed3-pvs4-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 106 >,
|
||||
@@ -1207,10 +1275,14 @@
|
||||
< 2265600000 1045000 716 >,
|
||||
< 2342400000 1060000 751 >,
|
||||
< 2419200000 1075000 786 >,
|
||||
- < 2457600000 1080000 802 >;
|
||||
+ < 2457600000 1080000 802 >,
|
||||
+ < 2572800000 1135000 827 >,
|
||||
+ < 2726400000 1165000 900 >,
|
||||
+ < 2880000000 1195000 937 >;
|
||||
|
||||
qcom,speed3-pvs5-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 106 >,
|
||||
@@ -1241,10 +1313,14 @@
|
||||
< 2265600000 1035000 716 >,
|
||||
< 2342400000 1050000 751 >,
|
||||
< 2419200000 1065000 786 >,
|
||||
- < 2457600000 1070000 802 >;
|
||||
+ < 2457600000 1070000 802 >,
|
||||
+ < 2572800000 1125000 827 >,
|
||||
+ < 2726400000 1155000 900 >,
|
||||
+ < 2880000000 1185000 937 >;
|
||||
|
||||
qcom,speed3-pvs6-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -1275,10 +1351,14 @@
|
||||
< 2265600000 1025000 716 >,
|
||||
< 2342400000 1040000 751 >,
|
||||
< 2419200000 1055000 786 >,
|
||||
- < 2457600000 1060000 802 >;
|
||||
+ < 2457600000 1060000 802 >,
|
||||
+ < 2572800000 1115000 827 >,
|
||||
+ < 2726400000 1145000 900 >,
|
||||
+ < 2880000000 1175000 937 >;
|
||||
|
||||
qcom,speed3-pvs7-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -1309,10 +1389,14 @@
|
||||
< 2265600000 1015000 716 >,
|
||||
< 2342400000 1030000 751 >,
|
||||
< 2419200000 1045000 786 >,
|
||||
- < 2457600000 1050000 802 >;
|
||||
+ < 2457600000 1050000 802 >,
|
||||
+ < 2572800000 1105000 827 >,
|
||||
+ < 2726400000 1135000 900 >,
|
||||
+ < 2880000000 1165000 937 >;
|
||||
|
||||
qcom,speed3-pvs8-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -1343,10 +1427,14 @@
|
||||
< 2265600000 1005000 716 >,
|
||||
< 2342400000 1020000 751 >,
|
||||
< 2419200000 1035000 786 >,
|
||||
- < 2457600000 1040000 802 >;
|
||||
+ < 2457600000 1040000 802 >,
|
||||
+ < 2572800000 1095000 827 >,
|
||||
+ < 2726400000 1125000 900 >,
|
||||
+ < 2880000000 1155000 937 >;
|
||||
|
||||
qcom,speed3-pvs9-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -1377,10 +1465,14 @@
|
||||
< 2265600000 995000 716 >,
|
||||
< 2342400000 1010000 751 >,
|
||||
< 2419200000 1025000 786 >,
|
||||
- < 2457600000 1030000 802 >;
|
||||
+ < 2457600000 1030000 802 >,
|
||||
+ < 2572800000 1085000 827 >,
|
||||
+ < 2726400000 1115000 900 >,
|
||||
+ < 2880000000 1145000 937 >;
|
||||
|
||||
qcom,speed3-pvs10-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -1411,10 +1503,14 @@
|
||||
< 2265600000 985000 716 >,
|
||||
< 2342400000 1000000 751 >,
|
||||
< 2419200000 1015000 786 >,
|
||||
- < 2457600000 1020000 802 >;
|
||||
+ < 2457600000 1020000 802 >,
|
||||
+ < 2572800000 1075000 827 >,
|
||||
+ < 2726400000 1105000 900 >,
|
||||
+ < 2880000000 1135000 937 >;
|
||||
|
||||
qcom,speed3-pvs11-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -1445,10 +1541,14 @@
|
||||
< 2265600000 975000 716 >,
|
||||
< 2342400000 990000 751 >,
|
||||
< 2419200000 1005000 786 >,
|
||||
- < 2457600000 1010000 802 >;
|
||||
+ < 2457600000 1010000 802 >,
|
||||
+ < 2572800000 1065000 827 >,
|
||||
+ < 2726400000 1095000 900 >,
|
||||
+ < 2880000000 1125000 937 >;
|
||||
|
||||
qcom,speed3-pvs12-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -1479,10 +1579,14 @@
|
||||
< 2265600000 965000 716 >,
|
||||
< 2342400000 980000 751 >,
|
||||
< 2419200000 995000 786 >,
|
||||
- < 2457600000 1000000 802 >;
|
||||
+ < 2457600000 1000000 802 >,
|
||||
+ < 2572800000 1065000 827 >,
|
||||
+ < 2726400000 1085000 900 >,
|
||||
+ < 2880000000 1115000 937 >;
|
||||
|
||||
qcom,speed3-pvs13-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -1513,10 +1617,14 @@
|
||||
< 2265600000 955000 716 >,
|
||||
< 2342400000 970000 751 >,
|
||||
< 2419200000 985000 786 >,
|
||||
- < 2457600000 990000 802 >;
|
||||
+ < 2457600000 990000 802 >,
|
||||
+ < 2572800000 1045000 827 >,
|
||||
+ < 2726400000 1065000 900 >,
|
||||
+ < 2880000000 1095000 937 >;
|
||||
|
||||
qcom,speed3-pvs14-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 76 >,
|
||||
< 345600000 750000 87 >,
|
||||
< 422400000 750000 106 >,
|
||||
@@ -1547,10 +1655,14 @@
|
||||
< 2265600000 945000 716 >,
|
||||
< 2342400000 960000 751 >,
|
||||
< 2419200000 975000 786 >,
|
||||
- < 2457600000 980000 802 >;
|
||||
+ < 2457600000 980000 802 >,
|
||||
+ < 2572800000 1035000 827 >,
|
||||
+ < 2726400000 1055000 900 >,
|
||||
+ < 2880000000 1085000 937 >;
|
||||
|
||||
qcom,speed3-pvs15-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 76 >,
|
||||
< 345600000 750000 87 >,
|
||||
< 422400000 750000 106 >,
|
||||
@@ -1581,9 +1693,39 @@
|
||||
< 2265600000 935000 716 >,
|
||||
< 2342400000 950000 751 >,
|
||||
< 2419200000 965000 786 >,
|
||||
- < 2457600000 970000 802 >;
|
||||
+ < 2457600000 970000 802 >,
|
||||
+ < 2572800000 1025000 827 >,
|
||||
+ < 2726400000 1045000 900 >,
|
||||
+ < 2880000000 1075000 937 >;
|
||||
};
|
||||
|
||||
+ qcom,msm-cpufreq@0 {
|
||||
+ reg = <0 4>;
|
||||
+ compatible = "qcom,msm-cpufreq";
|
||||
+ qcom,cpufreq-table =
|
||||
+ < 268800 /* 75 MHz */ >,
|
||||
+ < 300000 /* 75 MHz */ >,
|
||||
+ < 422400 /* 150 MHz */ >,
|
||||
+ < 652800 /* 200 MHz */ >,
|
||||
+ < 729600 /* 307 MHz */ >,
|
||||
+ < 883200 /* 307 MHz */ >,
|
||||
+ < 960000 /* 460 MHz */ >,
|
||||
+ < 1036800 /* 460 MHz */ >,
|
||||
+ < 1190400 /* 460 MHz */ >,
|
||||
+ < 1267200 /* 614 MHz */ >,
|
||||
+ < 1497600 /* 614 MHz */ >,
|
||||
+ < 1574400 /* 800 MHz */ >,
|
||||
+ < 1728000 /* 800 MHz */ >,
|
||||
+ < 1958400 /* 931 MHz */ >,
|
||||
+ < 2265600 /* 931 MHz */ >,
|
||||
+ < 2342400 /* 931 MHz */ >,
|
||||
+ < 2419200 /* 931 MHz */ >,
|
||||
+ < 2457600 /* 931 MHz */ >,
|
||||
+ < 2572800 /* 931 MHz */ >,
|
||||
+ < 2726400 /* 931 MHz */ >,
|
||||
+ < 2880000 /* 931 MHz */ >;
|
||||
+ };
|
||||
+
|
||||
i2c@f9928000 { /* BLSP-1 QUP-6 */
|
||||
cell-index = <3>;
|
||||
compatible = "qcom,i2c-qup";
|
||||
@@ -1751,7 +1893,7 @@
|
||||
<1880000 2068000>,
|
||||
<3008000 3309000>,
|
||||
<3760000 4136000>,
|
||||
- <4468000 2457000>;
|
||||
+ <4468000 2457600>;
|
||||
qcom,dec-ocmem-ab-ib = <0 0>,
|
||||
<176000 519000>,
|
||||
<456000 519000>,
|
48
Patches/OLD/bacon/Kernel-CM-13.0/9.patch
Normal file
48
Patches/OLD/bacon/Kernel-CM-13.0/9.patch
Normal file
|
@ -0,0 +1,48 @@
|
|||
From ce0b0419372d65cbe99a8a5a611c03c7f6abc4b2 Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Sat, 17 Oct 2015 20:50:31 -0400
|
||||
Subject: [PATCH] Update defconfig
|
||||
|
||||
---
|
||||
arch/arm/configs/cyanogenmod_bacon_defconfig | 9 +++++----
|
||||
1 file changed, 5 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/configs/cyanogenmod_bacon_defconfig b/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
index 009a34d..ed05004 100644
|
||||
--- a/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
+++ b/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
@@ -125,8 +125,9 @@ CONFIG_RD_BZIP2=y
|
||||
CONFIG_RD_LZMA=y
|
||||
# CONFIG_RD_XZ is not set
|
||||
# CONFIG_RD_LZO is not set
|
||||
-# CONFIG_RD_LZ4 is not set
|
||||
+CONFIG_RD_LZ4=y
|
||||
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
|
||||
+CONFIG_CC_OPTIMIZE_MORE=y
|
||||
CONFIG_SYSCTL=y
|
||||
CONFIG_ANON_INODES=y
|
||||
CONFIG_PANIC_TIMEOUT=5
|
||||
@@ -190,7 +191,7 @@ CONFIG_SECCOMP_FILTER=y
|
||||
CONFIG_HAVE_GENERIC_DMA_COHERENT=y
|
||||
CONFIG_RT_MUTEXES=y
|
||||
CONFIG_BASE_SMALL=0
|
||||
-# CONFIG_MODULES is not set
|
||||
+CONFIG_MODULES=y
|
||||
CONFIG_STOP_MACHINE=y
|
||||
CONFIG_BLOCK=y
|
||||
CONFIG_LBDAF=y
|
||||
@@ -1779,12 +1780,12 @@ CONFIG_SERIAL_MSM_HS=y
|
||||
#
|
||||
# Diag Support
|
||||
#
|
||||
-# CONFIG_DIAG_CHAR is not set
|
||||
+CONFIG_DIAG_CHAR=y
|
||||
|
||||
#
|
||||
# DIAG traffic over USB
|
||||
#
|
||||
-# CONFIG_DIAG_OVER_USB is not set
|
||||
+CONFIG_DIAG_OVER_USB=y
|
||||
|
||||
#
|
||||
# SDIO support for DIAG
|
577
Patches/OLD/bacon/Old/android_kernel_oneplus_msm8974-new/1.patch
Normal file
577
Patches/OLD/bacon/Old/android_kernel_oneplus_msm8974-new/1.patch
Normal file
|
@ -0,0 +1,577 @@
|
|||
From c0209d6b15d2fc752741fe0e04b227990e74377f Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Sat, 17 Oct 2015 20:49:21 -0400
|
||||
Subject: [PATCH] Implement KEXEC
|
||||
|
||||
---
|
||||
arch/arm/Kconfig | 26 ++++++++++
|
||||
arch/arm/boot/compressed/head.S | 64 ++++++++++++++++++++++++
|
||||
arch/arm/configs/cyanogenmod_bacon_defconfig | 6 ++-
|
||||
arch/arm/include/asm/kexec.h | 8 +++
|
||||
arch/arm/kernel/machine_kexec.c | 58 +++++++++++++++++++--
|
||||
arch/arm/kernel/relocate_kernel.S | 75 ++++++++++++++++++++++++++++
|
||||
arch/arm/mach-msm/include/mach/memory.h | 16 ++++++
|
||||
arch/arm/mach-msm/oppo/board-8974-oppo.c | 27 ++++++++++
|
||||
arch/arm/mach-msm/restart.c | 28 +++++++++++
|
||||
include/linux/kexec.h | 19 +++++--
|
||||
kernel/kexec.c | 4 ++
|
||||
11 files changed, 322 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
|
||||
index 37d3c6d..f801a19 100644
|
||||
--- a/arch/arm/Kconfig
|
||||
+++ b/arch/arm/Kconfig
|
||||
@@ -2299,6 +2299,32 @@ config ATAGS_PROC
|
||||
Should the atags used to boot the kernel be exported in an "atags"
|
||||
file in procfs. Useful with kexec.
|
||||
|
||||
+config KEXEC_HARDBOOT
|
||||
+ bool "Support hard booting to a kexec kernel"
|
||||
+ depends on KEXEC
|
||||
+ help
|
||||
+ Allows hard booting (i.e., with a full hardware reboot) to a kernel
|
||||
+ previously loaded in memory by kexec. This works around the problem of
|
||||
+ soft-booted kernel hangs due to improper device shutdown and/or
|
||||
+ reinitialization. Support is comprised of two components:
|
||||
+
|
||||
+ First, a "hardboot" flag is added to the kexec syscall to force a hard
|
||||
+ reboot in relocate_new_kernel() (which requires machine-specific assembly
|
||||
+ code). This also requires the kexec userspace tool to load the kexec'd
|
||||
+ kernel in memory region left untouched by the bootloader (i.e., not
|
||||
+ explicitly cleared and not overwritten by the boot kernel). Just prior
|
||||
+ to reboot, the kexec kernel arguments are stashed in a machine-specific
|
||||
+ memory page that must also be preserved. Note that this hardboot page
|
||||
+ need not be reserved during regular kernel execution.
|
||||
+
|
||||
+ Second, the zImage decompresor of the boot (bootloader-loaded) kernel is
|
||||
+ modified to check the hardboot page for fresh kexec arguments, and if
|
||||
+ present, attempts to jump to the kexec'd kernel preserved in memory.
|
||||
+
|
||||
+ Note that hardboot support is only required in the boot kernel and any
|
||||
+ kernel capable of performing a hardboot kexec. It is _not_ required by a
|
||||
+ kexec'd kernel.
|
||||
+
|
||||
config CRASH_DUMP
|
||||
bool "Build kdump crash kernel (EXPERIMENTAL)"
|
||||
depends on EXPERIMENTAL
|
||||
diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S
|
||||
index d3892ef..be05aa1 100644
|
||||
--- a/arch/arm/boot/compressed/head.S
|
||||
+++ b/arch/arm/boot/compressed/head.S
|
||||
@@ -11,6 +11,12 @@
|
||||
#include <linux/linkage.h>
|
||||
|
||||
.arch armv7-a
|
||||
+
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ #include <asm/kexec.h>
|
||||
+ #include <asm/memory.h>
|
||||
+#endif
|
||||
+
|
||||
/*
|
||||
* Debugging stuff
|
||||
*
|
||||
@@ -136,6 +142,64 @@ start:
|
||||
1: mov r7, r1 @ save architecture ID
|
||||
mov r8, r2 @ save atags pointer
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ /* Check hardboot page for a kexec kernel. */
|
||||
+ ldr r3, =KEXEC_HB_PAGE_ADDR
|
||||
+ ldr r0, [r3]
|
||||
+ ldr r1, =KEXEC_HB_PAGE_MAGIC
|
||||
+ teq r0, r1
|
||||
+ bne not_booting_other
|
||||
+
|
||||
+ /* Clear hardboot page magic to avoid boot loop. */
|
||||
+ mov r0, #0
|
||||
+ str r0, [r3]
|
||||
+
|
||||
+ /*
|
||||
+ * Copy dtb from location up high in memory to default location.
|
||||
+ * Kernel freezes if this is not done.
|
||||
+ */
|
||||
+ ldr r1, [r3, #12] @ kexec_boot_atags
|
||||
+ ldr r2, [r3, #16] @ kexec_boot_atags_len
|
||||
+ mov r5, #0 @ iterator
|
||||
+catags_cpy:
|
||||
+ ldr r0, [r1, r5] @ from kexec_boot_atags
|
||||
+ str r0, [r8, r5] @ to atags_pointer
|
||||
+ add r5, r5, #4
|
||||
+ cmp r5, r2
|
||||
+ blo catags_cpy
|
||||
+
|
||||
+#ifdef KEXEC_HB_KERNEL_LOC
|
||||
+ /*
|
||||
+ * Copy kernel from location up high in memory to location in first 128MB.
|
||||
+ * Bootloader on hammerhead erases first 128MB of ram on reboot, so it can't
|
||||
+ * be in there before reboot, but decompressing in location above 128MB takes
|
||||
+ * a long time. This memcpy is much quicker, for some reason.
|
||||
+ */
|
||||
+ ldr r2, [r3, #4] @ kexec_start_address
|
||||
+ ldr r4, [r3, #20] @ kexec_kernel_len
|
||||
+ ldr r6, =KEXEC_HB_KERNEL_LOC @ target
|
||||
+ mov r5, #0 @ iterator
|
||||
+kernel_cpy:
|
||||
+ ldr r0, [r2, r5] @ from kexec_start_address
|
||||
+ str r0, [r6, r5] @ to KEXEC_HB_KERNEL_LOC
|
||||
+ add r5, r5, #4
|
||||
+ cmp r5, r4
|
||||
+ blo kernel_cpy
|
||||
+#else
|
||||
+ ldr r6, [r3, #4] @ kexec_start_address
|
||||
+#endif
|
||||
+
|
||||
+ /* set registers and boot kexecd' kernel */
|
||||
+ mov r0, #0
|
||||
+ ldr r1, [r3, #8] @ kexec_mach_type
|
||||
+ mov r2, r8 @ atags pointer
|
||||
+ mov pc, r6
|
||||
+
|
||||
+ .ltorg
|
||||
+
|
||||
+not_booting_other:
|
||||
+#endif
|
||||
+
|
||||
#ifndef __ARM_ARCH_2__
|
||||
/*
|
||||
* Booting from Angel - need to enter SVC mode and disable
|
||||
diff --git a/arch/arm/configs/cyanogenmod_bacon_defconfig b/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
index 1fd8a93..5f67061 100644
|
||||
--- a/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
+++ b/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
@@ -693,7 +693,9 @@ CONFIG_ZBOOT_ROM_BSS=0
|
||||
# CONFIG_ARM_APPENDED_DTB is not set
|
||||
CONFIG_CMDLINE=""
|
||||
# CONFIG_XIP_KERNEL is not set
|
||||
-# CONFIG_KEXEC is not set
|
||||
+CONFIG_KEXEC=y
|
||||
+CONFIG_KEXEC_HARDBOOT=y
|
||||
+CONFIG_ATAGS_PROC=n
|
||||
# CONFIG_CRASH_DUMP is not set
|
||||
# CONFIG_AUTO_ZRELADDR is not set
|
||||
|
||||
@@ -1283,7 +1285,7 @@ CONFIG_OF=y
|
||||
#
|
||||
# Device Tree and Open Firmware support
|
||||
#
|
||||
-# CONFIG_PROC_DEVICETREE is not set
|
||||
+CONFIG_PROC_DEVICETREE=y
|
||||
# CONFIG_OF_SELFTEST is not set
|
||||
CONFIG_OF_FLATTREE=y
|
||||
CONFIG_OF_EARLY_FLATTREE=y
|
||||
diff --git a/arch/arm/include/asm/kexec.h b/arch/arm/include/asm/kexec.h
|
||||
index c2b9b4b..564c55b 100644
|
||||
--- a/arch/arm/include/asm/kexec.h
|
||||
+++ b/arch/arm/include/asm/kexec.h
|
||||
@@ -17,6 +17,10 @@
|
||||
#define KEXEC_ARM_ATAGS_OFFSET 0x1000
|
||||
#define KEXEC_ARM_ZIMAGE_OFFSET 0x8000
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ #define KEXEC_HB_PAGE_MAGIC 0x4a5db007
|
||||
+#endif
|
||||
+
|
||||
#ifndef __ASSEMBLY__
|
||||
|
||||
/**
|
||||
@@ -53,6 +57,10 @@ static inline void crash_setup_regs(struct pt_regs *newregs,
|
||||
/* Function pointer to optional machine-specific reinitialization */
|
||||
extern void (*kexec_reinit)(void);
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+extern void (*kexec_hardboot_hook)(void);
|
||||
+#endif
|
||||
+
|
||||
#endif /* __ASSEMBLY__ */
|
||||
|
||||
#endif /* CONFIG_KEXEC */
|
||||
diff --git a/arch/arm/kernel/machine_kexec.c b/arch/arm/kernel/machine_kexec.c
|
||||
index 357b651..29cdd2f 100644
|
||||
--- a/arch/arm/kernel/machine_kexec.c
|
||||
+++ b/arch/arm/kernel/machine_kexec.c
|
||||
@@ -14,6 +14,9 @@
|
||||
#include <asm/cacheflush.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/system_misc.h>
|
||||
+#include <linux/memblock.h>
|
||||
+#include <linux/of_fdt.h>
|
||||
+#include <asm/mmu_writeable.h>
|
||||
|
||||
extern const unsigned char relocate_new_kernel[];
|
||||
extern const unsigned int relocate_new_kernel_size;
|
||||
@@ -22,6 +25,12 @@ extern unsigned long kexec_start_address;
|
||||
extern unsigned long kexec_indirection_page;
|
||||
extern unsigned long kexec_mach_type;
|
||||
extern unsigned long kexec_boot_atags;
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+extern unsigned long kexec_hardboot;
|
||||
+extern unsigned long kexec_boot_atags_len;
|
||||
+extern unsigned long kexec_kernel_len;
|
||||
+void (*kexec_hardboot_hook)(void);
|
||||
+#endif
|
||||
|
||||
static atomic_t waiting_for_crash_ipi;
|
||||
|
||||
@@ -32,6 +41,37 @@ static atomic_t waiting_for_crash_ipi;
|
||||
|
||||
int machine_kexec_prepare(struct kimage *image)
|
||||
{
|
||||
+ struct kexec_segment *current_segment;
|
||||
+ __be32 header;
|
||||
+ int i, err;
|
||||
+
|
||||
+ /* No segment at default ATAGs address. try to locate
|
||||
+ * a dtb using magic */
|
||||
+ for (i = 0; i < image->nr_segments; i++) {
|
||||
+ current_segment = &image->segment[i];
|
||||
+
|
||||
+ err = memblock_is_region_memory(current_segment->mem,
|
||||
+ current_segment->memsz);
|
||||
+ if (!err)
|
||||
+ return - EINVAL;
|
||||
+
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ if(current_segment->mem == image->start)
|
||||
+ mem_text_write_kernel_word(&kexec_kernel_len, current_segment->memsz);
|
||||
+#endif
|
||||
+
|
||||
+ err = get_user(header, (__be32*)current_segment->buf);
|
||||
+ if (err)
|
||||
+ return err;
|
||||
+
|
||||
+ if (be32_to_cpu(header) == OF_DT_HEADER)
|
||||
+ {
|
||||
+ mem_text_write_kernel_word(&kexec_boot_atags, current_segment->mem);
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ mem_text_write_kernel_word(&kexec_boot_atags_len, current_segment->memsz);
|
||||
+#endif
|
||||
+ }
|
||||
+ }
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -123,10 +163,14 @@ void machine_kexec(struct kimage *image)
|
||||
reboot_code_buffer = page_address(image->control_code_page);
|
||||
|
||||
/* Prepare parameters for reboot_code_buffer*/
|
||||
- kexec_start_address = image->start;
|
||||
- kexec_indirection_page = page_list;
|
||||
- kexec_mach_type = machine_arch_type;
|
||||
- kexec_boot_atags = image->start - KEXEC_ARM_ZIMAGE_OFFSET + KEXEC_ARM_ATAGS_OFFSET;
|
||||
+ mem_text_write_kernel_word(&kexec_start_address, image->start);
|
||||
+ mem_text_write_kernel_word(&kexec_indirection_page, page_list);
|
||||
+ mem_text_write_kernel_word(&kexec_mach_type, machine_arch_type);
|
||||
+ if (!kexec_boot_atags)
|
||||
+ mem_text_write_kernel_word(&kexec_boot_atags, image->start - KEXEC_ARM_ZIMAGE_OFFSET + KEXEC_ARM_ATAGS_OFFSET);
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ mem_text_write_kernel_word(&kexec_hardboot, image->hardboot);
|
||||
+#endif
|
||||
|
||||
/* copy our kernel relocation code to the control code page */
|
||||
memcpy(reboot_code_buffer,
|
||||
@@ -140,6 +184,12 @@ void machine_kexec(struct kimage *image)
|
||||
if (kexec_reinit)
|
||||
kexec_reinit();
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ /* Run any final machine-specific shutdown code. */
|
||||
+ if (image->hardboot && kexec_hardboot_hook)
|
||||
+ kexec_hardboot_hook();
|
||||
+#endif
|
||||
+
|
||||
soft_restart(reboot_code_buffer_phys);
|
||||
}
|
||||
|
||||
diff --git a/arch/arm/kernel/relocate_kernel.S b/arch/arm/kernel/relocate_kernel.S
|
||||
index d0cdedf..0e45ffc 100644
|
||||
--- a/arch/arm/kernel/relocate_kernel.S
|
||||
+++ b/arch/arm/kernel/relocate_kernel.S
|
||||
@@ -4,6 +4,15 @@
|
||||
|
||||
#include <asm/kexec.h>
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+#include <asm/memory.h>
|
||||
+#if defined(CONFIG_ARCH_TEGRA_2x_SOC) || defined(CONFIG_ARCH_TEGRA_3x_SOC)
|
||||
+ #include <mach/iomap.h>
|
||||
+#elif defined(CONFIG_ARCH_APQ8064) || defined(CONFIG_ARCH_MSM8974)
|
||||
+ #include <mach/msm_iomap.h>
|
||||
+#endif
|
||||
+#endif
|
||||
+
|
||||
.globl relocate_new_kernel
|
||||
relocate_new_kernel:
|
||||
|
||||
@@ -52,6 +61,12 @@ relocate_new_kernel:
|
||||
b 0b
|
||||
|
||||
2:
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ ldr r0, kexec_hardboot
|
||||
+ teq r0, #0
|
||||
+ bne hardboot
|
||||
+#endif
|
||||
+
|
||||
/* Jump to relocated kernel */
|
||||
mov lr,r1
|
||||
mov r0,#0
|
||||
@@ -60,6 +75,52 @@ relocate_new_kernel:
|
||||
ARM( mov pc, lr )
|
||||
THUMB( bx lr )
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+hardboot:
|
||||
+ /* Stash boot arguments in hardboot page:
|
||||
+ * 0: KEXEC_HB_PAGE_MAGIC
|
||||
+ * 4: kexec_start_address
|
||||
+ * 8: kexec_mach_type
|
||||
+ * 12: kexec_boot_atags
|
||||
+ * 16: kexec_boot_atags_len
|
||||
+ * 20: kexec_kernel_len */
|
||||
+ ldr r0, =KEXEC_HB_PAGE_ADDR
|
||||
+ str r1, [r0, #4]
|
||||
+ ldr r1, kexec_mach_type
|
||||
+ str r1, [r0, #8]
|
||||
+ ldr r1, kexec_boot_atags
|
||||
+ str r1, [r0, #12]
|
||||
+ ldr r1, kexec_boot_atags_len
|
||||
+ str r1, [r0, #16]
|
||||
+ ldr r1, kexec_kernel_len
|
||||
+ str r1, [r0, #20]
|
||||
+ ldr r1, =KEXEC_HB_PAGE_MAGIC
|
||||
+ str r1, [r0]
|
||||
+
|
||||
+#if defined(CONFIG_ARCH_TEGRA_2x_SOC) || defined(CONFIG_ARCH_TEGRA_3x_SOC)
|
||||
+ ldr r0, =TEGRA_PMC_BASE
|
||||
+ ldr r1, [r0]
|
||||
+ orr r1, r1, #0x10
|
||||
+ str r1, [r0]
|
||||
+loop: b loop
|
||||
+#elif defined(CONFIG_ARCH_APQ8064)
|
||||
+ /* Restart using the PMIC chip, see mach-msm/restart.c */
|
||||
+ ldr r0, =APQ8064_TLMM_PHYS
|
||||
+ mov r1, #0
|
||||
+ str r1, [r0, #0x820] @ PSHOLD_CTL_SU
|
||||
+loop: b loop
|
||||
+#elif defined(CONFIG_ARCH_MSM8974)
|
||||
+ /* Restart using the PMIC chip, see mach-msm/restart.c */
|
||||
+ ldr r0, =MSM8974_MPM2_PSHOLD_PHYS
|
||||
+ mov r1, #0
|
||||
+ str r1, [r0, #0]
|
||||
+loop: b loop
|
||||
+#else
|
||||
+#error "No reboot method defined for hardboot."
|
||||
+#endif
|
||||
+
|
||||
+ .ltorg
|
||||
+#endif
|
||||
.align
|
||||
|
||||
.globl kexec_start_address
|
||||
@@ -79,6 +140,20 @@ kexec_mach_type:
|
||||
kexec_boot_atags:
|
||||
.long 0x0
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ .globl kexec_boot_atags_len
|
||||
+kexec_boot_atags_len:
|
||||
+ .long 0x0
|
||||
+
|
||||
+ .globl kexec_kernel_len
|
||||
+kexec_kernel_len:
|
||||
+ .long 0x0
|
||||
+
|
||||
+ .globl kexec_hardboot
|
||||
+kexec_hardboot:
|
||||
+ .long 0x0
|
||||
+#endif
|
||||
+
|
||||
relocate_new_kernel_end:
|
||||
|
||||
.globl relocate_new_kernel_size
|
||||
diff --git a/arch/arm/mach-msm/include/mach/memory.h b/arch/arm/mach-msm/include/mach/memory.h
|
||||
index 9225230..1c87b96 100644
|
||||
--- a/arch/arm/mach-msm/include/mach/memory.h
|
||||
+++ b/arch/arm/mach-msm/include/mach/memory.h
|
||||
@@ -20,6 +20,22 @@
|
||||
/* physical offset of RAM */
|
||||
#define PLAT_PHYS_OFFSET UL(CONFIG_PHYS_OFFSET)
|
||||
|
||||
+#if defined(CONFIG_KEXEC_HARDBOOT)
|
||||
+#if defined(CONFIG_MACH_APQ8064_FLO)
|
||||
+#define KEXEC_HB_PAGE_ADDR UL(0x88C00000)
|
||||
+#elif defined(CONFIG_MACH_APQ8064_MAKO)
|
||||
+#define KEXEC_HB_PAGE_ADDR UL(0x88600000)
|
||||
+#elif defined(CONFIG_MACH_MSM8974_HAMMERHEAD)
|
||||
+#define KEXEC_HB_PAGE_ADDR UL(0x10100000)
|
||||
+#define KEXEC_HB_KERNEL_LOC UL(0x3208000)
|
||||
+#elif defined(CONFIG_MACH_OPPO_MSM8974)
|
||||
+#define KEXEC_HB_PAGE_ADDR UL(0x2F600000)
|
||||
+#define KEXEC_HB_KERNEL_LOC UL(0x3208000)
|
||||
+#else
|
||||
+#error "Adress for kexec hardboot page not defined"
|
||||
+#endif
|
||||
+#endif
|
||||
+
|
||||
#ifndef __ASSEMBLY__
|
||||
void clean_and_invalidate_caches(unsigned long, unsigned long, unsigned long);
|
||||
void clean_caches(unsigned long, unsigned long, unsigned long);
|
||||
diff --git a/arch/arm/mach-msm/oppo/board-8974-oppo.c b/arch/arm/mach-msm/oppo/board-8974-oppo.c
|
||||
index eb24545..10bbbda 100644
|
||||
--- a/arch/arm/mach-msm/oppo/board-8974-oppo.c
|
||||
+++ b/arch/arm/mach-msm/oppo/board-8974-oppo.c
|
||||
@@ -54,6 +54,13 @@
|
||||
|
||||
#include <linux/pcb_version.h>
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+#include <asm/setup.h>
|
||||
+#include <asm/memory.h>
|
||||
+#include <linux/memblock.h>
|
||||
+#define OPPO_PERSISTENT_RAM_SIZE (SZ_1M)
|
||||
+#endif
|
||||
+
|
||||
static struct platform_device *ram_console_dev;
|
||||
|
||||
static struct persistent_ram_descriptor msm_prd[] __initdata = {
|
||||
@@ -72,6 +79,26 @@ static struct persistent_ram msm_pr __initdata = {
|
||||
|
||||
void __init msm_8974_reserve(void)
|
||||
{
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ // Reserve space for hardboot page - just after ram_console,
|
||||
+ // at the start of second memory bank
|
||||
+ int ret;
|
||||
+ phys_addr_t start;
|
||||
+ struct membank* bank;
|
||||
+
|
||||
+ if (meminfo.nr_banks < 2) {
|
||||
+ pr_err("%s: not enough membank\n", __func__);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ bank = &meminfo.bank[1];
|
||||
+ start = bank->start + SZ_1M + OPPO_PERSISTENT_RAM_SIZE;
|
||||
+ ret = memblock_remove(start, SZ_1M);
|
||||
+ if(!ret)
|
||||
+ pr_info("Hardboot page reserved at 0x%X\n", start);
|
||||
+ else
|
||||
+ pr_err("Failed to reserve space for hardboot page at 0x%X!\n", start);
|
||||
+#endif
|
||||
persistent_ram_early_init(&msm_pr);
|
||||
of_scan_flat_dt(dt_scan_for_memory_reserve, NULL);
|
||||
}
|
||||
diff --git a/arch/arm/mach-msm/restart.c b/arch/arm/mach-msm/restart.c
|
||||
index a04ab8d..fe89976 100644
|
||||
--- a/arch/arm/mach-msm/restart.c
|
||||
+++ b/arch/arm/mach-msm/restart.c
|
||||
@@ -38,6 +38,10 @@
|
||||
#include "timer.h"
|
||||
#include "wdog_debug.h"
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+#include <asm/kexec.h>
|
||||
+#endif
|
||||
+
|
||||
#define WDT0_RST 0x38
|
||||
#define WDT0_EN 0x40
|
||||
#define WDT0_BARK_TIME 0x4C
|
||||
@@ -373,6 +377,26 @@ static int __init msm_pmic_restart_init(void)
|
||||
|
||||
late_initcall(msm_pmic_restart_init);
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+static void msm_kexec_hardboot_hook(void)
|
||||
+{
|
||||
+ set_dload_mode(0);
|
||||
+
|
||||
+ // Set PMIC to restart-on-poweroff
|
||||
+ pm8xxx_reset_pwr_off(1);
|
||||
+
|
||||
+ // These are executed on normal reboot, but with kexec-hardboot,
|
||||
+ // they reboot/panic the system immediately.
|
||||
+#if 0
|
||||
+ qpnp_pon_system_pwr_off(PON_POWER_OFF_WARM_RESET);
|
||||
+
|
||||
+ /* Needed to bypass debug image on some chips */
|
||||
+ msm_disable_wdog_debug();
|
||||
+ halt_spmi_pmic_arbiter();
|
||||
+#endif
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
static int __init msm_restart_init(void)
|
||||
{
|
||||
#ifdef CONFIG_MSM_DLOAD_MODE
|
||||
@@ -392,6 +416,10 @@ static int __init msm_restart_init(void)
|
||||
if (scm_is_call_available(SCM_SVC_PWR, SCM_IO_DISABLE_PMIC_ARBITER) > 0)
|
||||
scm_pmic_arbiter_disable_supported = true;
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ kexec_hardboot_hook = msm_kexec_hardboot_hook;
|
||||
+#endif
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
early_initcall(msm_restart_init);
|
||||
diff --git a/include/linux/kexec.h b/include/linux/kexec.h
|
||||
index af84a25..a4509ad 100644
|
||||
--- a/include/linux/kexec.h
|
||||
+++ b/include/linux/kexec.h
|
||||
@@ -111,6 +111,10 @@ struct kimage {
|
||||
#define KEXEC_TYPE_CRASH 1
|
||||
unsigned int preserve_context : 1;
|
||||
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ unsigned int hardboot : 1;
|
||||
+#endif
|
||||
+
|
||||
#ifdef ARCH_HAS_KIMAGE_ARCH
|
||||
struct kimage_arch arch;
|
||||
#endif
|
||||
@@ -178,6 +182,11 @@ extern struct kimage *kexec_crash_image;
|
||||
|
||||
#define KEXEC_ON_CRASH 0x00000001
|
||||
#define KEXEC_PRESERVE_CONTEXT 0x00000002
|
||||
+
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+#define KEXEC_HARDBOOT 0x00000004
|
||||
+#endif
|
||||
+
|
||||
#define KEXEC_ARCH_MASK 0xffff0000
|
||||
|
||||
/* These values match the ELF architecture values.
|
||||
@@ -196,10 +205,14 @@ extern struct kimage *kexec_crash_image;
|
||||
#define KEXEC_ARCH_MIPS ( 8 << 16)
|
||||
|
||||
/* List of defined/legal kexec flags */
|
||||
-#ifndef CONFIG_KEXEC_JUMP
|
||||
-#define KEXEC_FLAGS KEXEC_ON_CRASH
|
||||
-#else
|
||||
+#if defined(CONFIG_KEXEC_JUMP) && defined(CONFIG_KEXEC_HARDBOOT)
|
||||
+#define KEXEC_FLAGS (KEXEC_ON_CRASH | KEXEC_PRESERVE_CONTEXT | KEXEC_HARDBOOT)
|
||||
+#elif defined(CONFIG_KEXEC_JUMP)
|
||||
#define KEXEC_FLAGS (KEXEC_ON_CRASH | KEXEC_PRESERVE_CONTEXT)
|
||||
+#elif defined(CONFIG_KEXEC_HARDBOOT)
|
||||
+#define KEXEC_FLAGS (KEXEC_ON_CRASH | KEXEC_HARDBOOT)
|
||||
+#else
|
||||
+#define KEXEC_FLAGS (KEXEC_ON_CRASH)
|
||||
#endif
|
||||
|
||||
#define VMCOREINFO_BYTES (4096)
|
||||
diff --git a/kernel/kexec.c b/kernel/kexec.c
|
||||
index 4e2e472..aef7893 100644
|
||||
--- a/kernel/kexec.c
|
||||
+++ b/kernel/kexec.c
|
||||
@@ -1004,6 +1004,10 @@ SYSCALL_DEFINE4(kexec_load, unsigned long, entry, unsigned long, nr_segments,
|
||||
|
||||
if (flags & KEXEC_PRESERVE_CONTEXT)
|
||||
image->preserve_context = 1;
|
||||
+#ifdef CONFIG_KEXEC_HARDBOOT
|
||||
+ if (flags & KEXEC_HARDBOOT)
|
||||
+ image->hardboot = 1;
|
||||
+#endif
|
||||
result = machine_kexec_prepare(image);
|
||||
if (result)
|
||||
goto out;
|
706
Patches/OLD/bacon/Old/android_kernel_oneplus_msm8974-new/2.patch
Normal file
706
Patches/OLD/bacon/Old/android_kernel_oneplus_msm8974-new/2.patch
Normal file
|
@ -0,0 +1,706 @@
|
|||
From e914463298097e12f8504fa8215246ac70e59831 Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Sat, 17 Oct 2015 20:49:57 -0400
|
||||
Subject: [PATCH] Overclocked to 2.8Ghz, underclocked to 268Mhz
|
||||
|
||||
---
|
||||
arch/arm/boot/dts/msm8974-v2.dtsi | 2 +-
|
||||
arch/arm/boot/dts/msm8974pro-pm8941.dtsi | 8 +-
|
||||
.../arm/boot/dts/msm8974pro-pma8084-regulator.dtsi | 16 +-
|
||||
arch/arm/boot/dts/msm8974pro.dtsi | 190 ++++++++++++++++++---
|
||||
4 files changed, 179 insertions(+), 37 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/msm8974-v2.dtsi b/arch/arm/boot/dts/msm8974-v2.dtsi
|
||||
index 04769bd..8739175 100644
|
||||
--- a/arch/arm/boot/dts/msm8974-v2.dtsi
|
||||
+++ b/arch/arm/boot/dts/msm8974-v2.dtsi
|
||||
@@ -135,7 +135,7 @@
|
||||
<1880000 2068000>,
|
||||
<3008000 3309000>,
|
||||
<3760000 4136000>,
|
||||
- <4468000 2457000>;
|
||||
+ <4468000 2457600>;
|
||||
qcom,dec-ocmem-ab-ib = <0 0>,
|
||||
<176000 519000>,
|
||||
<456000 519000>,
|
||||
diff --git a/arch/arm/boot/dts/msm8974pro-pm8941.dtsi b/arch/arm/boot/dts/msm8974pro-pm8941.dtsi
|
||||
index 89939e6..d76e4bd 100644
|
||||
--- a/arch/arm/boot/dts/msm8974pro-pm8941.dtsi
|
||||
+++ b/arch/arm/boot/dts/msm8974pro-pm8941.dtsi
|
||||
@@ -39,22 +39,22 @@
|
||||
};
|
||||
|
||||
&krait0_vreg {
|
||||
- regulator-max-microvolt = <1120000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
qcom,ldo-delta-voltage = <12500>;
|
||||
};
|
||||
|
||||
&krait1_vreg {
|
||||
- regulator-max-microvolt = <1120000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
qcom,ldo-delta-voltage = <12500>;
|
||||
};
|
||||
|
||||
&krait2_vreg {
|
||||
- regulator-max-microvolt = <1120000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
qcom,ldo-delta-voltage = <12500>;
|
||||
};
|
||||
|
||||
&krait3_vreg {
|
||||
- regulator-max-microvolt = <1120000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
qcom,ldo-delta-voltage = <12500>;
|
||||
};
|
||||
|
||||
diff --git a/arch/arm/boot/dts/msm8974pro-pma8084-regulator.dtsi b/arch/arm/boot/dts/msm8974pro-pma8084-regulator.dtsi
|
||||
index 433d466..428a520 100644
|
||||
--- a/arch/arm/boot/dts/msm8974pro-pma8084-regulator.dtsi
|
||||
+++ b/arch/arm/boot/dts/msm8974pro-pma8084-regulator.dtsi
|
||||
@@ -492,9 +492,9 @@
|
||||
<0xf908a800 0x1000>; /* APCS_ALIAS0_KPSS_MDD */
|
||||
reg-names = "acs", "mdd";
|
||||
regulator-min-microvolt = <500000>;
|
||||
- regulator-max-microvolt = <1120000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
qcom,headroom-voltage = <150000>;
|
||||
- qcom,retention-voltage = <675000>;
|
||||
+ qcom,retention-voltage = <600000>;
|
||||
qcom,ldo-default-voltage = <750000>;
|
||||
qcom,ldo-threshold-voltage = <850000>;
|
||||
qcom,ldo-delta-voltage = <12500>;
|
||||
@@ -508,9 +508,9 @@
|
||||
<0xf909a800 0x1000>; /* APCS_ALIAS1_KPSS_MDD */
|
||||
reg-names = "acs", "mdd";
|
||||
regulator-min-microvolt = <500000>;
|
||||
- regulator-max-microvolt = <1120000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
qcom,headroom-voltage = <150000>;
|
||||
- qcom,retention-voltage = <675000>;
|
||||
+ qcom,retention-voltage = <600000>;
|
||||
qcom,ldo-default-voltage = <750000>;
|
||||
qcom,ldo-threshold-voltage = <850000>;
|
||||
qcom,ldo-delta-voltage = <12500>;
|
||||
@@ -524,9 +524,9 @@
|
||||
<0xf90aa800 0x1000>; /* APCS_ALIAS2_KPSS_MDD */
|
||||
reg-names = "acs", "mdd";
|
||||
regulator-min-microvolt = <500000>;
|
||||
- regulator-max-microvolt = <1120000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
qcom,headroom-voltage = <150000>;
|
||||
- qcom,retention-voltage = <675000>;
|
||||
+ qcom,retention-voltage = <600000>;
|
||||
qcom,ldo-default-voltage = <750000>;
|
||||
qcom,ldo-threshold-voltage = <850000>;
|
||||
qcom,ldo-delta-voltage = <12500>;
|
||||
@@ -540,9 +540,9 @@
|
||||
<0xf90ba800 0x1000>; /* APCS_ALIAS3_KPSS_MDD */
|
||||
reg-names = "acs", "mdd";
|
||||
regulator-min-microvolt = <500000>;
|
||||
- regulator-max-microvolt = <1120000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
qcom,headroom-voltage = <150000>;
|
||||
- qcom,retention-voltage = <675000>;
|
||||
+ qcom,retention-voltage = <600000>;
|
||||
qcom,ldo-default-voltage = <750000>;
|
||||
qcom,ldo-threshold-voltage = <850000>;
|
||||
qcom,ldo-delta-voltage = <12500>;
|
||||
diff --git a/arch/arm/boot/dts/msm8974pro.dtsi b/arch/arm/boot/dts/msm8974pro.dtsi
|
||||
index c50b379..ebb5112 100644
|
||||
--- a/arch/arm/boot/dts/msm8974pro.dtsi
|
||||
+++ b/arch/arm/boot/dts/msm8974pro.dtsi
|
||||
@@ -90,6 +90,7 @@
|
||||
qcom,clock-krait@f9016000 {
|
||||
qcom,speed1-pvs0-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 74 >,
|
||||
< 345600000 775000 85 >,
|
||||
< 422400000 775000 104 >,
|
||||
@@ -121,6 +122,7 @@
|
||||
|
||||
qcom,speed1-pvs1-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 74 >,
|
||||
< 345600000 775000 85 >,
|
||||
< 422400000 775000 104 >,
|
||||
@@ -152,6 +154,7 @@
|
||||
|
||||
qcom,speed1-pvs2-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 74 >,
|
||||
< 345600000 750000 85 >,
|
||||
< 422400000 750000 104 >,
|
||||
@@ -183,6 +186,7 @@
|
||||
|
||||
qcom,speed1-pvs3-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 74 >,
|
||||
< 345600000 750000 85 >,
|
||||
< 422400000 750000 104 >,
|
||||
@@ -214,6 +218,7 @@
|
||||
|
||||
qcom,speed1-pvs4-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 74 >,
|
||||
< 345600000 750000 85 >,
|
||||
< 422400000 750000 104 >,
|
||||
@@ -245,6 +250,7 @@
|
||||
|
||||
qcom,speed1-pvs5-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 720000 68 >,
|
||||
< 300000000 725000 74 >,
|
||||
< 345600000 725000 85 >,
|
||||
< 422400000 725000 104 >,
|
||||
@@ -276,6 +282,7 @@
|
||||
|
||||
qcom,speed1-pvs6-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 720000 68 >,
|
||||
< 300000000 725000 74 >,
|
||||
< 345600000 725000 85 >,
|
||||
< 422400000 725000 104 >,
|
||||
@@ -307,6 +314,7 @@
|
||||
|
||||
qcom,speed3-pvs0-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 106 >,
|
||||
@@ -337,10 +345,14 @@
|
||||
< 2265600000 1065000 700 >,
|
||||
< 2342400000 1080000 734 >,
|
||||
< 2419200000 1095000 769 >,
|
||||
- < 2457600000 1100000 785 >;
|
||||
+ < 2457600000 1100000 785 >,
|
||||
+ < 2572800000 1145000 827 >,
|
||||
+ < 2726400000 1205000 900 >,
|
||||
+ < 2880000000 1235000 937 >;
|
||||
|
||||
qcom,speed3-pvs1-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 106 >,
|
||||
@@ -371,10 +383,14 @@
|
||||
< 2265600000 1040000 700 >,
|
||||
< 2342400000 1055000 734 >,
|
||||
< 2419200000 1070000 769 >,
|
||||
- < 2457600000 1075000 785 >;
|
||||
+ < 2457600000 1075000 785 >,
|
||||
+ < 2572800000 1145000 827 >,
|
||||
+ < 2726400000 1205000 900 >,
|
||||
+ < 2880000000 1235000 937 >;
|
||||
|
||||
qcom,speed3-pvs2-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -405,10 +421,14 @@
|
||||
< 2265600000 1015000 700 >,
|
||||
< 2342400000 1030000 734 >,
|
||||
< 2419200000 1045000 769 >,
|
||||
- < 2457600000 1050000 785 >;
|
||||
+ < 2457600000 1050000 785 >,
|
||||
+ < 2572800000 1125000 827 >,
|
||||
+ < 2726400000 1195000 900 >,
|
||||
+ < 2880000000 1225000 937 >;
|
||||
|
||||
qcom,speed3-pvs3-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -439,10 +459,14 @@
|
||||
< 2265600000 990000 700 >,
|
||||
< 2342400000 1005000 734 >,
|
||||
< 2419200000 1020000 769 >,
|
||||
- < 2457600000 1025000 785 >;
|
||||
+ < 2457600000 1025000 785 >,
|
||||
+ < 2572800000 1115000 827 >,
|
||||
+ < 2726400000 1185000 900 >,
|
||||
+ < 2880000000 1215000 937 >;
|
||||
|
||||
qcom,speed3-pvs4-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -473,10 +497,14 @@
|
||||
< 2265600000 965000 700 >,
|
||||
< 2342400000 980000 734 >,
|
||||
< 2419200000 995000 769 >,
|
||||
- < 2457600000 1000000 785 >;
|
||||
+ < 2457600000 1000000 785 >,
|
||||
+ < 2572800000 1075000 827 >,
|
||||
+ < 2726400000 1175000 900 >,
|
||||
+ < 2880000000 1205000 937 >;
|
||||
|
||||
qcom,speed3-pvs5-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 76 >,
|
||||
< 345600000 750000 87 >,
|
||||
< 422400000 750000 106 >,
|
||||
@@ -507,10 +535,14 @@
|
||||
< 2265600000 940000 700 >,
|
||||
< 2342400000 955000 734 >,
|
||||
< 2419200000 970000 769 >,
|
||||
- < 2457600000 975000 785 >;
|
||||
+ < 2457600000 975000 785 >,
|
||||
+ < 2572800000 1025000 827 >,
|
||||
+ < 2726400000 1175000 900 >,
|
||||
+ < 2880000000 1195000 937 >;
|
||||
|
||||
qcom,speed3-pvs6-bin-v0 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 76 >,
|
||||
< 345600000 750000 87 >,
|
||||
< 422400000 750000 106 >,
|
||||
@@ -541,10 +573,14 @@
|
||||
< 2265600000 915000 700 >,
|
||||
< 2342400000 930000 734 >,
|
||||
< 2419200000 945000 769 >,
|
||||
- < 2457600000 950000 785 >;
|
||||
+ < 2457600000 950000 785 >,
|
||||
+ < 2572800000 1010000 827 >,
|
||||
+ < 2726400000 1155000 900 >,
|
||||
+ < 2880000000 1175000 937 >;
|
||||
|
||||
qcom,speed1-pvs0-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 810000 87 >,
|
||||
< 422400000 820000 108 >,
|
||||
@@ -576,6 +612,7 @@
|
||||
|
||||
qcom,speed1-pvs1-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 810000 108 >,
|
||||
@@ -607,6 +644,7 @@
|
||||
|
||||
qcom,speed1-pvs2-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 108 >,
|
||||
@@ -638,6 +676,7 @@
|
||||
|
||||
qcom,speed1-pvs3-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 108 >,
|
||||
@@ -669,6 +708,7 @@
|
||||
|
||||
qcom,speed1-pvs4-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 108 >,
|
||||
@@ -700,6 +740,7 @@
|
||||
|
||||
qcom,speed1-pvs5-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 108 >,
|
||||
@@ -731,6 +772,7 @@
|
||||
|
||||
qcom,speed1-pvs6-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 108 >,
|
||||
@@ -762,6 +804,7 @@
|
||||
|
||||
qcom,speed1-pvs7-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 108 >,
|
||||
@@ -793,6 +836,7 @@
|
||||
|
||||
qcom,speed1-pvs8-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 108 >,
|
||||
@@ -824,6 +868,7 @@
|
||||
|
||||
qcom,speed1-pvs9-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 108 >,
|
||||
@@ -855,6 +900,7 @@
|
||||
|
||||
qcom,speed1-pvs10-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 108 >,
|
||||
@@ -886,6 +932,7 @@
|
||||
|
||||
qcom,speed1-pvs11-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 108 >,
|
||||
@@ -917,6 +964,7 @@
|
||||
|
||||
qcom,speed1-pvs12-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 108 >,
|
||||
@@ -948,6 +996,7 @@
|
||||
|
||||
qcom,speed1-pvs13-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 108 >,
|
||||
@@ -979,6 +1028,7 @@
|
||||
|
||||
qcom,speed1-pvs14-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 76 >,
|
||||
< 345600000 750000 87 >,
|
||||
< 422400000 750000 108 >,
|
||||
@@ -1010,6 +1060,7 @@
|
||||
|
||||
qcom,speed1-pvs15-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 76 >,
|
||||
< 345600000 750000 87 >,
|
||||
< 422400000 750000 108 >,
|
||||
@@ -1041,6 +1092,7 @@
|
||||
|
||||
qcom,speed3-pvs0-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 106 >,
|
||||
@@ -1071,10 +1123,14 @@
|
||||
< 2265600000 1085000 716 >,
|
||||
< 2342400000 1100000 751 >,
|
||||
< 2419200000 1115000 786 >,
|
||||
- < 2457600000 1120000 802 >;
|
||||
+ < 2457600000 1120000 802 >,
|
||||
+ < 2572800000 1175000 827 >,
|
||||
+ < 2726400000 1225000 900 >,
|
||||
+ < 2880000000 1265000 937 >;
|
||||
|
||||
qcom,speed3-pvs1-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 106 >,
|
||||
@@ -1105,10 +1161,14 @@
|
||||
< 2265600000 1075000 716 >,
|
||||
< 2342400000 1090000 751 >,
|
||||
< 2419200000 1105000 786 >,
|
||||
- < 2457600000 1110000 802 >;
|
||||
+ < 2457600000 1110000 802 >,
|
||||
+ < 2572800000 1165000 827 >,
|
||||
+ < 2726400000 1215000 900 >,
|
||||
+ < 2880000000 1245000 937 >;
|
||||
|
||||
qcom,speed3-pvs2-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 106 >,
|
||||
@@ -1139,10 +1199,14 @@
|
||||
< 2265600000 1065000 716 >,
|
||||
< 2342400000 1080000 751 >,
|
||||
< 2419200000 1095000 786 >,
|
||||
- < 2457600000 1100000 802 >;
|
||||
+ < 2457600000 1100000 802 >,
|
||||
+ < 2572800000 1145000 827 >,
|
||||
+ < 2726400000 1185000 900 >,
|
||||
+ < 2880000000 1215000 937 >;
|
||||
|
||||
qcom,speed3-pvs3-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 106 >,
|
||||
@@ -1173,10 +1237,14 @@
|
||||
< 2265600000 1055000 716 >,
|
||||
< 2342400000 1070000 751 >,
|
||||
< 2419200000 1085000 786 >,
|
||||
- < 2457600000 1090000 802 >;
|
||||
+ < 2457600000 1090000 802 >,
|
||||
+ < 2572800000 1145000 827 >,
|
||||
+ < 2726400000 1175000 900 >,
|
||||
+ < 2880000000 1205000 937 >;
|
||||
|
||||
qcom,speed3-pvs4-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 106 >,
|
||||
@@ -1207,10 +1275,14 @@
|
||||
< 2265600000 1045000 716 >,
|
||||
< 2342400000 1060000 751 >,
|
||||
< 2419200000 1075000 786 >,
|
||||
- < 2457600000 1080000 802 >;
|
||||
+ < 2457600000 1080000 802 >,
|
||||
+ < 2572800000 1135000 827 >,
|
||||
+ < 2726400000 1165000 900 >,
|
||||
+ < 2880000000 1195000 937 >;
|
||||
|
||||
qcom,speed3-pvs5-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 795000 68 >,
|
||||
< 300000000 800000 76 >,
|
||||
< 345600000 800000 87 >,
|
||||
< 422400000 800000 106 >,
|
||||
@@ -1241,10 +1313,14 @@
|
||||
< 2265600000 1035000 716 >,
|
||||
< 2342400000 1050000 751 >,
|
||||
< 2419200000 1065000 786 >,
|
||||
- < 2457600000 1070000 802 >;
|
||||
+ < 2457600000 1070000 802 >,
|
||||
+ < 2572800000 1125000 827 >,
|
||||
+ < 2726400000 1155000 900 >,
|
||||
+ < 2880000000 1185000 937 >;
|
||||
|
||||
qcom,speed3-pvs6-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -1275,10 +1351,14 @@
|
||||
< 2265600000 1025000 716 >,
|
||||
< 2342400000 1040000 751 >,
|
||||
< 2419200000 1055000 786 >,
|
||||
- < 2457600000 1060000 802 >;
|
||||
+ < 2457600000 1060000 802 >,
|
||||
+ < 2572800000 1115000 827 >,
|
||||
+ < 2726400000 1145000 900 >,
|
||||
+ < 2880000000 1175000 937 >;
|
||||
|
||||
qcom,speed3-pvs7-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -1309,10 +1389,14 @@
|
||||
< 2265600000 1015000 716 >,
|
||||
< 2342400000 1030000 751 >,
|
||||
< 2419200000 1045000 786 >,
|
||||
- < 2457600000 1050000 802 >;
|
||||
+ < 2457600000 1050000 802 >,
|
||||
+ < 2572800000 1105000 827 >,
|
||||
+ < 2726400000 1135000 900 >,
|
||||
+ < 2880000000 1165000 937 >;
|
||||
|
||||
qcom,speed3-pvs8-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -1343,10 +1427,14 @@
|
||||
< 2265600000 1005000 716 >,
|
||||
< 2342400000 1020000 751 >,
|
||||
< 2419200000 1035000 786 >,
|
||||
- < 2457600000 1040000 802 >;
|
||||
+ < 2457600000 1040000 802 >,
|
||||
+ < 2572800000 1095000 827 >,
|
||||
+ < 2726400000 1125000 900 >,
|
||||
+ < 2880000000 1155000 937 >;
|
||||
|
||||
qcom,speed3-pvs9-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -1377,10 +1465,14 @@
|
||||
< 2265600000 995000 716 >,
|
||||
< 2342400000 1010000 751 >,
|
||||
< 2419200000 1025000 786 >,
|
||||
- < 2457600000 1030000 802 >;
|
||||
+ < 2457600000 1030000 802 >,
|
||||
+ < 2572800000 1085000 827 >,
|
||||
+ < 2726400000 1115000 900 >,
|
||||
+ < 2880000000 1145000 937 >;
|
||||
|
||||
qcom,speed3-pvs10-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -1411,10 +1503,14 @@
|
||||
< 2265600000 985000 716 >,
|
||||
< 2342400000 1000000 751 >,
|
||||
< 2419200000 1015000 786 >,
|
||||
- < 2457600000 1020000 802 >;
|
||||
+ < 2457600000 1020000 802 >,
|
||||
+ < 2572800000 1075000 827 >,
|
||||
+ < 2726400000 1105000 900 >,
|
||||
+ < 2880000000 1135000 937 >;
|
||||
|
||||
qcom,speed3-pvs11-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -1445,10 +1541,14 @@
|
||||
< 2265600000 975000 716 >,
|
||||
< 2342400000 990000 751 >,
|
||||
< 2419200000 1005000 786 >,
|
||||
- < 2457600000 1010000 802 >;
|
||||
+ < 2457600000 1010000 802 >,
|
||||
+ < 2572800000 1065000 827 >,
|
||||
+ < 2726400000 1095000 900 >,
|
||||
+ < 2880000000 1125000 937 >;
|
||||
|
||||
qcom,speed3-pvs12-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -1479,10 +1579,14 @@
|
||||
< 2265600000 965000 716 >,
|
||||
< 2342400000 980000 751 >,
|
||||
< 2419200000 995000 786 >,
|
||||
- < 2457600000 1000000 802 >;
|
||||
+ < 2457600000 1000000 802 >,
|
||||
+ < 2572800000 1065000 827 >,
|
||||
+ < 2726400000 1085000 900 >,
|
||||
+ < 2880000000 1115000 937 >;
|
||||
|
||||
qcom,speed3-pvs13-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 770000 68 >,
|
||||
< 300000000 775000 76 >,
|
||||
< 345600000 775000 87 >,
|
||||
< 422400000 775000 106 >,
|
||||
@@ -1513,10 +1617,14 @@
|
||||
< 2265600000 955000 716 >,
|
||||
< 2342400000 970000 751 >,
|
||||
< 2419200000 985000 786 >,
|
||||
- < 2457600000 990000 802 >;
|
||||
+ < 2457600000 990000 802 >,
|
||||
+ < 2572800000 1045000 827 >,
|
||||
+ < 2726400000 1065000 900 >,
|
||||
+ < 2880000000 1095000 937 >;
|
||||
|
||||
qcom,speed3-pvs14-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 76 >,
|
||||
< 345600000 750000 87 >,
|
||||
< 422400000 750000 106 >,
|
||||
@@ -1547,10 +1655,14 @@
|
||||
< 2265600000 945000 716 >,
|
||||
< 2342400000 960000 751 >,
|
||||
< 2419200000 975000 786 >,
|
||||
- < 2457600000 980000 802 >;
|
||||
+ < 2457600000 980000 802 >,
|
||||
+ < 2572800000 1035000 827 >,
|
||||
+ < 2726400000 1055000 900 >,
|
||||
+ < 2880000000 1085000 937 >;
|
||||
|
||||
qcom,speed3-pvs15-bin-v1 =
|
||||
< 0 0 0 >,
|
||||
+ < 268800000 745000 68 >,
|
||||
< 300000000 750000 76 >,
|
||||
< 345600000 750000 87 >,
|
||||
< 422400000 750000 106 >,
|
||||
@@ -1581,9 +1693,39 @@
|
||||
< 2265600000 935000 716 >,
|
||||
< 2342400000 950000 751 >,
|
||||
< 2419200000 965000 786 >,
|
||||
- < 2457600000 970000 802 >;
|
||||
+ < 2457600000 970000 802 >,
|
||||
+ < 2572800000 1025000 827 >,
|
||||
+ < 2726400000 1045000 900 >,
|
||||
+ < 2880000000 1075000 937 >;
|
||||
};
|
||||
|
||||
+ qcom,msm-cpufreq@0 {
|
||||
+ reg = <0 4>;
|
||||
+ compatible = "qcom,msm-cpufreq";
|
||||
+ qcom,cpufreq-table =
|
||||
+ < 268800 /* 75 MHz */ >,
|
||||
+ < 300000 /* 75 MHz */ >,
|
||||
+ < 422400 /* 150 MHz */ >,
|
||||
+ < 652800 /* 200 MHz */ >,
|
||||
+ < 729600 /* 307 MHz */ >,
|
||||
+ < 883200 /* 307 MHz */ >,
|
||||
+ < 960000 /* 460 MHz */ >,
|
||||
+ < 1036800 /* 460 MHz */ >,
|
||||
+ < 1190400 /* 460 MHz */ >,
|
||||
+ < 1267200 /* 614 MHz */ >,
|
||||
+ < 1497600 /* 614 MHz */ >,
|
||||
+ < 1574400 /* 800 MHz */ >,
|
||||
+ < 1728000 /* 800 MHz */ >,
|
||||
+ < 1958400 /* 931 MHz */ >,
|
||||
+ < 2265600 /* 931 MHz */ >,
|
||||
+ < 2342400 /* 931 MHz */ >,
|
||||
+ < 2419200 /* 931 MHz */ >,
|
||||
+ < 2457600 /* 931 MHz */ >,
|
||||
+ < 2572800 /* 931 MHz */ >,
|
||||
+ < 2726400 /* 931 MHz */ >,
|
||||
+ < 2880000 /* 931 MHz */ >;
|
||||
+ };
|
||||
+
|
||||
i2c@f9928000 { /* BLSP-1 QUP-6 */
|
||||
cell-index = <3>;
|
||||
compatible = "qcom,i2c-qup";
|
||||
@@ -1751,7 +1893,7 @@
|
||||
<1880000 2068000>,
|
||||
<3008000 3309000>,
|
||||
<3760000 4136000>,
|
||||
- <4468000 2457000>;
|
||||
+ <4468000 2457600>;
|
||||
qcom,dec-ocmem-ab-ib = <0 0>,
|
||||
<176000 519000>,
|
||||
<456000 519000>,
|
|
@ -0,0 +1,48 @@
|
|||
From ce1d0035c6d67f633444075f4a1cf9aef165d3f0 Mon Sep 17 00:00:00 2001
|
||||
From: Tad <tad@spotco.us>
|
||||
Date: Sat, 17 Oct 2015 20:50:31 -0400
|
||||
Subject: [PATCH] Update defconfig
|
||||
|
||||
---
|
||||
arch/arm/configs/cyanogenmod_bacon_defconfig | 9 +++++----
|
||||
1 file changed, 5 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/configs/cyanogenmod_bacon_defconfig b/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
index 5f67061..41a303a 100644
|
||||
--- a/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
+++ b/arch/arm/configs/cyanogenmod_bacon_defconfig
|
||||
@@ -125,8 +125,9 @@ CONFIG_RD_BZIP2=y
|
||||
CONFIG_RD_LZMA=y
|
||||
# CONFIG_RD_XZ is not set
|
||||
# CONFIG_RD_LZO is not set
|
||||
-# CONFIG_RD_LZ4 is not set
|
||||
+CONFIG_RD_LZ4=y
|
||||
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
|
||||
+CONFIG_CC_OPTIMIZE_MORE=y
|
||||
CONFIG_SYSCTL=y
|
||||
CONFIG_ANON_INODES=y
|
||||
CONFIG_PANIC_TIMEOUT=5
|
||||
@@ -190,7 +191,7 @@ CONFIG_SECCOMP_FILTER=y
|
||||
CONFIG_HAVE_GENERIC_DMA_COHERENT=y
|
||||
CONFIG_RT_MUTEXES=y
|
||||
CONFIG_BASE_SMALL=0
|
||||
-# CONFIG_MODULES is not set
|
||||
+CONFIG_MODULES=y
|
||||
CONFIG_STOP_MACHINE=y
|
||||
CONFIG_BLOCK=y
|
||||
CONFIG_LBDAF=y
|
||||
@@ -1775,12 +1776,12 @@ CONFIG_SERIAL_MSM_HS=y
|
||||
#
|
||||
# Diag Support
|
||||
#
|
||||
-# CONFIG_DIAG_CHAR is not set
|
||||
+CONFIG_DIAG_CHAR=y
|
||||
|
||||
#
|
||||
# DIAG traffic over USB
|
||||
#
|
||||
-# CONFIG_DIAG_OVER_USB is not set
|
||||
+CONFIG_DIAG_OVER_USB=y
|
||||
|
||||
#
|
||||
# SDIO support for DIAG
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue