Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
2561 commits
Select commit Hold shift + click to select a range
7dd3f99
cfg80211/nl80211: Send AssocReq IEs to user space in AP mode
jmalinen Aug 8, 2011
07e39d4
cfg80211: fix a crash in nl80211_send_station
sdf611097 May 3, 2012
6812878
cfg80211: Add nl80211 event for deletion of a station entry
Mar 23, 2011
d897c9f
Revert "SLAB: Record actual last user of freed objects."
drewis Jul 16, 2012
3bc8d90
Revert "mm: notifier_from_errno() cleanup"
drewis Jul 16, 2012
eece673
Revert "slab,rcu: don't assume the size of struct rcu_head"
drewis Jul 16, 2012
2739a74
Revert "mm: Remove support for kmem_cache_name()"
drewis Jul 16, 2012
b82ea02
Revert "sched: don't call task_group() many times in set_task_rq()"
drewis Jul 16, 2012
113c3c7
Revert "cpufreq: Export user_policy min/max"
drewis Jul 16, 2012
80d799e
Revert "[CPUFREQ] fix cpumask memory leak in acpi-cpufreq on cpu hotp…
drewis Jul 16, 2012
310fb69
Revert "cpufreq: expose a cpufreq_quick_get_max routine"
drewis Jul 16, 2012
c360d87
msm: mahimahi: bcmdhd updates
drewis Jun 30, 2012
91c1d53
msm: supersonic: bcmdhd updates
drewis Jul 16, 2012
6b38f0a
msm: incrediblec: bcmdhd updates
drewis Jul 16, 2012
4b38457
msm: bravo: bcmdhd updates
drewis Jul 16, 2012
e94e44d
configs: evervolv: bcmdhd updates
drewis Jul 16, 2012
25be48f
net: wireless: Add CONFIG_WIFI_CONTROL_FUNC option
Jun 8, 2011
136fdd6
net: wireless: bcmdhd: Reload FW in case of constant scan failure
Jun 14, 2012
2c92a37
net: wireless: bcmdhd: Reduce priority for dhd_dpc and watchdog
Jun 14, 2012
6b9bbd6
net: wireless: bcmdhd: Ignore error if "chanspecs" command is not sup…
Jun 20, 2012
0303e06
net: wireless: bcmdhd: Skip inaccurate wl_construct_reginfo() call
Jun 28, 2012
9444582
net: wireless: bcmdhd: Add wiphyband update for country change
Jun 28, 2012
3d33f6c
net: wireless: bcmdhd: Return wl_construct_reginfo() call
Jun 28, 2012
9c387e9
net: wireless: bcmdhd: Skip country setting if unnecessary
Jun 28, 2012
6302788
net: wireless: bcmdhd: Add mutex to wl_update_wiphybands()
Jun 29, 2012
a3e66c8
net: wireless: bcmdhd: Init locks in dhd_attach() at the beginning
avagin Jul 9, 2012
722fbfe
net: wireless: bcmdhd: Update wiphy bands on band change
Jul 9, 2012
c042ec5
net: wireless: bcmdhd: Fix P2P GO hang issue
Jul 9, 2012
ebee637
net: wireless: bcmdhd: Remove country update from wl_update_wiphybands
Jul 11, 2012
e561a8b
net: wireless: bcmdhd: Add info_string param with driver/fw/chip info
Jul 12, 2012
d173567
net: wireless: bcmdhd: remove rouge file
drewis Jul 16, 2012
2a7a28a
net: wireless: Add CFG80211_ALLOW_RECONNECT option
Sep 15, 2011
1c51f7a
net: wireless: Fix CFG80211_ALLOW_RECONNECT option for disconnect
Oct 18, 2011
9663317
configs: evervolv: allow reconnect
drewis Jul 16, 2012
51115b5
cpufreq interactive governor: event tracing
toddpoynor Feb 17, 2012
c51efb7
cpufreq: interactive: apply intermediate load to max speed not current
toddpoynor Apr 6, 2012
96a8b4b
cpufreq: interactive: set at least hispeed when above hispeed load
toddpoynor Apr 7, 2012
1f7500e
cpufreq: interactive: don't drop speed if recently at higher load
toddpoynor Apr 7, 2012
b2b046a
cpufreq: interactive: configurable delay before raising above hispeed
toddpoynor Apr 14, 2012
89e6978
cpufreq: interactive: adjust code and documentation to match
toddpoynor Apr 18, 2012
f33ff84
cpufreq: interactive: based hispeed bump on target freq, not actual
toddpoynor Apr 19, 2012
7fef84b
cpufreq: Separate speed target revalidate time and initial set time
toddpoynor Apr 20, 2012
5b8cf3e
cpufreq: interactive: Boost frequency on touchscreen input
toddpoynor Apr 3, 2012
b4e8d7b
cpufreq: interactive: remove unused target_validate_time_in_idle
toddpoynor Apr 24, 2012
b84c350
cpufreq: interactive: Add sysfs boost interface for hints from userspace
toddpoynor Apr 24, 2012
30c79c7
cpufreq: interactive: set floor for boosted speed
toddpoynor Apr 27, 2012
4d46b2f
cpufreq: interactive: add boost pulse interface
toddpoynor May 3, 2012
ef2e3d2
cpufreq: interactive: restart above_hispeed_delay at each hispeed load
toddpoynor May 11, 2012
e72821d
cpufreq: interactive: remove scorpion optimization
drewis Jul 20, 2012
3a905b5
cpufreq: ondemand: reset to cafs-3.0 initial contribution
drewis Jul 20, 2012
20e6744
cpufreq: Fix input handler crash
Aug 3, 2011
b642f5e
cpufreq : Fix crash input event handler on governor switch
Jan 19, 2012
168fbb7
cpufreq: make the "scaling_cur_freq" sysfs entry pollable
Feb 23, 2012
3135af6
cpufreq: Add cpu utilization statistics to aid decisions made by user…
Mar 6, 2012
5fda10e
cpufreq: Make the "scaling_governor" sysfs node pollable
May 25, 2012
a16d125
Add Hybrid Adaptive Voltage Scaling (HAVS).
intersectRaven Sep 27, 2010
88a0f73
CodeAurora AVS updates.
intersectRaven Feb 18, 2011
d7bd2b1
Copy parts of the regulator stack from CodeAurora to test AVS stabili…
intersectRaven Sep 23, 2010
8be70cd
Modify AVS to try up to 5 times whenever voltage setting fails
intersectRaven May 15, 2011
82dc65e
Add debug message when AVS fails to set voltages and tries again.
intersectRaven Oct 11, 2010
afe4c41
Modify voltage limits (max) to conform with maximum stable in SVS ker…
intersectRaven Feb 12, 2011
b2238e1
Remove unusable voltage in HAVS voltage table to set proper voltage s…
intersectRaven Feb 22, 2011
d7a71d1
Remove AVS messages and restore printout to AVSDEBUG.
intersectRaven Jan 25, 2011
0cdd7e6
configs: update a few netfilter things
drewis Jul 20, 2012
361f80d
msm: avs: enable debug
drewis Jul 22, 2012
0c5383c
Merge branch 'jb-avs' into jellybean
drewis Jul 22, 2012
3cee18e
configs: enable avs
drewis Jul 22, 2012
3bebe50
msm: avs: add entries for 1.113GHz OC
drewis Jul 23, 2012
713921e
msm: cpu: bump 245MHz upper limit by .025
drewis Jul 23, 2012
5588f44
cpufreq: ondemand: Prevent sysfs create race
pboonstoppel Feb 28, 2012
c2d78db
msm: avs: youre being too noisy
drewis Jul 24, 2012
b078967
Revert "msm: avs: enable debug"
drewis Jul 30, 2012
a0ae9d8
include: checkout msm_mdp from ics_chocolate
drewis Jul 30, 2012
4ba87e4
video: msm: add mdp version to id string,
drewis Jul 31, 2012
b877d2a
HACK: block fbearlysuspend to not break androids crt-off animation
codeworkx Jul 23, 2012
8d29117
net: wireless: bcmdhd: Adjust driver/fw/chip info format
Jul 13, 2012
65b7e6d
net: wireless: bcmdhd: Use proper jiffie-related functions
Jul 13, 2012
565d87d
net: wireless: bcmdhd: Prevent HT Avail request failure to flood the log
Jul 18, 2012
6302390
net: wireless: bcmdhd: Fill station_info packet fields
Jul 27, 2012
8d84607
net: wireless: bcmdhd: Use correct time from boot for TSF
Aug 13, 2012
5012c52
net: wireless: bcmdhd: Update to Version 5.90.195.98
Aug 22, 2012
6c2c9b9
Proportional Rate Reduction for TCP.
Aug 21, 2011
98cd438
Staging: android: fixed white spaces coding style issue in
May 2, 2012
64be14a
Staging: android: fixed a space warning in binder.h
Dec 22, 2011
b07ba62
Staging: android: binder: Don't call dump_stack in binder_vma_open
arve-android Jan 21, 2012
b9ecbbb
Staging: android: binder: Fix crashes when sharing a binder file betw…
arve-android Feb 1, 2012
feaac26
staging: android/lowmemorykiller: Don't grab tasklist_lock
faux123 Jul 30, 2012
8fea6a0
staging: android/lowmemorykiller: Better mm handling
faux123 May 11, 2012
75a0756
staging: android/lowmemorykiller: No need for task->signal check
faux123 Jul 30, 2012
6325c90
staging: android/lowmemorykiller: Do not kill kernel threads
Feb 6, 2012
ef69f12
Staging: android: lowmemorykiller.c
gregkh Mar 7, 2012
277e1de
Staging: android: binder: Fix use-after-free bug
arve-android Mar 8, 2012
147e1d4
sched: disable GENTLTE_FAIR_SLEEPERS for better performance on Android
faux123 Feb 25, 2012
d2efa9b
switch do_fsync() to fget_light()
Apr 20, 2012
47cd9b2
ARM: rwlocks: remove unused branch labels from trylock routines
wildea01 May 15, 2012
e273f9c
configs: evervolv: enable cgroup freezer and perf events
drewis Aug 28, 2012
cdcf3f8
block/deadline: tweaked for better performance on android
faux123 Aug 29, 2012
2b1591a
Revert "HACK: block fbearlysuspend to not break androids crt-off anim…
drewis Aug 29, 2012
9f12535
Kill off warning: ‘inline’ is not at beginning of declaration
jjuhl Jan 16, 2011
b71ead3
configs: evervolv: disable perf events
drewis Sep 5, 2012
ac17b61
Revert "switch do_fsync() to fget_light()"
drewis Sep 5, 2012
fb9a0bd
arm: enable -pipe
drewis Sep 8, 2012
e0c3fd5
Remove '+' symbol from kernel version string
franciscofranco Dec 19, 2011
3152c8c
qsd8k: Update supersonic current version.
preludedrew Oct 5, 2012
0b9b98b
[CPUFREQ] CPUfreq ondemand: update sampling rate without waiting for …
myungjoo Feb 29, 2012
7c5b02b
cpufreq: Fix panic when setting sampling rate
Jul 19, 2012
1875354
cpufreq: fix utilization statistics for sync cpus
Jun 26, 2012
bfab3d7
cpufreq: Add a boostpulse interface to ondemand
Aug 14, 2012
183d698
cpufreq: Fix sysfs deadlock with concurrent hotplug/frequency switch
bebarino Jul 17, 2012
40e095c
cpufreq: notify avg load for short sampling_rate
Aug 9, 2012
79f88dc
cpufreq: boost the sampling rate on touch event
Aug 9, 2012
b68d10e
config: evervolv: mahimahi/bravo set def gov to ondemand
drewis Oct 3, 2012
4d4dd51
mdp: hack increase timeout to 5s
drewis Oct 5, 2012
8a49c80
cpufreq: ondemand: fixup boostpulse per cyanogen
drewis Oct 15, 2012
2991f0b
enable compaction on lowmem_shrink per cyanogen
drewis Oct 15, 2012
2b405b2
lowmemorykiller: fix compile warning
drewis Oct 15, 2012
9bd4c06
cpufreq: ondemand: remove freq max hardcode
drewis Oct 15, 2012
ae05be7
cpufreq: ondemand: fix compile warning
drewis Oct 15, 2012
7f817d9
cpufreq: ondemand: remove input ramping completely
drewis Oct 15, 2012
0debdf0
Revert "cpufreq: boost the sampling rate on touch event"
drewis Oct 16, 2012
928e0d1
cpufrq: ondemand: dont ever reduce the boostfreq
drewis Oct 16, 2012
9373e40
ARM: Call idle notifiers
toddpoynor Jun 16, 2011
77ebde0
ARM: Move leds idle start/stop calls to idle notifiers
toddpoynor Jun 25, 2011
6399af7
ARM: idle: call idle notifiers before stopping nohz tick
colincross Nov 30, 2011
c8e1f7c
ARM: idle: update idle ticks before call idle end notifier
toddpoynor Nov 4, 2011
a2e433e
cpufreq: interactive: take idle notifications only when active
Jun 27, 2012
e771a84
cpufreq: interactive: keep freezer happy when not current governor
Jun 27, 2012
5a50d53
cpufreq: interactive: handle speed up and down in the realtime task
toddpoynor Jul 17, 2012
3a29d89
cpufreq: interactive: remove input_boost handling
toddpoynor Jul 17, 2012
d842a8b
cpufreq: interactive: always limit initial speed bump to hispeed
toddpoynor Sep 25, 2012
f9ace73
cpufreq: interactive: run at fraction of hispeed_freq when load is low
toddpoynor Oct 3, 2012
130913c
drivers: cpufreq: Send a uevent when governor changes
hyperb1iss Sep 12, 2012
ecf5cdb
configs: remove extra govs
drewis Oct 29, 2012
6fdac7c
cpufreq: interactive: add boostpulse duration
Oct 4, 2012
d35d44c
cpufreq: interactive: if boost duration greater than max use max inst…
drewis Oct 29, 2012
46666ae
cpufreq: interactive: dont boost for less than default duration
drewis Oct 29, 2012
429e189
fb: fix reserved usage for 4.2
drewis Dec 1, 2012
695d910
HID: uhid: introduce user-space I/O driver support for HID
Jun 10, 2012
dc11307
HID: uhid: add internal message buffer
Jun 10, 2012
87f3eab
HID: uhid: allow poll()'ing on uhid devices
Jun 10, 2012
6f13ee6
HID: uhid: implement read() on uhid devices
Jun 10, 2012
ea8eb17
HID: uhid: implement write() on uhid devices
Jun 10, 2012
072b9de
HID: uhid: add UHID_CREATE and UHID_DESTROY events
Jun 10, 2012
0f12290
HID: uhid: allow feeding input data into uhid devices
Jun 10, 2012
f528470
HID: uhid: forward hid report-descriptor to hid core
Jun 10, 2012
2ee099e
HID: uhid: add UHID_START and UHID_STOP events
Jun 10, 2012
a6763a0
HID: uhid: forward open/close events to user-space
Jun 10, 2012
10dd110
HID: uhid: forward output request to user-space
Jun 10, 2012
cc4365e
HID: uhid: forward raw output reports to user-space
Jun 10, 2012
b2d223d
HID: uhid: implement feature requests
Jun 10, 2012
efb1470
HID: uhid: add documentation
Jun 10, 2012
4d10a79
HID: uhid: add example program
Jun 10, 2012
cd09986
MAINTAINERS: add UHID entry
Jun 10, 2012
bba8850
HID: uhid: silence gcc warning
Jun 18, 2012
16c9b24
HID: uhid: Fix sending events with invalid data
vcgomes Jul 14, 2012
01470eb
HID: Add Support for Setting and Getting Feature Reports from hidraw
signal11 Jan 18, 2011
dba4340
configs: enable Uhid
drewis Dec 11, 2012
fc58a7f
config: mahimahi: update for ubuntu
drewis Feb 22, 2013
d76c86e
new defconfigs modified for ubuntuphone
drewis Feb 24, 2013
b0ca41d
Revert "config: mahimahi: update for ubuntu"
drewis Feb 24, 2013
ad166fb
supersonic: use xz compression on kernel.
preludedrew Feb 24, 2013
d3764dd
kgsl: checkout jb_mr1_chocolate
drewis Apr 18, 2013
08a1386
kgsl: support grp/imem clk for qsd8k
drewis May 24, 2012
ecd1d31
sync: Add synchronization framework
Mar 13, 2012
2a4de0f
sw_sync: add cpu based sync driver
Apr 18, 2012
9e61e37
sync: add timestamps to sync_pts
Mar 15, 2012
7a962bf
sync: add debugfs support
Mar 15, 2012
d82c5cb
sw_sync: add debug support
Mar 15, 2012
0bc26f0
sync: add ioctl to get fence data
Mar 16, 2012
691030d
sw_sync: add fill_driver_data support
Mar 16, 2012
aaa3483
sync: add poll support
Mar 20, 2012
4b3cafc
sync: driver commits
Nov 21, 2012
3a20cde
module.h: split out the EXPORT_SYMBOL into export.h
May 23, 2011
ce6a1ed
Adding support for trace events for sync point driver
Nov 21, 2012
5e17de6
configs: enable sync
drewis Apr 18, 2013
ae5ad0f
ion: checkout jb_mr1_chocolate
drewis Apr 18, 2013
29bce07
timers: Add rb_init_node() to allow for stack allocated rb nodes
johnstultz-work Jan 4, 2011
45f9ed6
extra files for ion compile
drewis Apr 18, 2013
9801fde
mahimahi: use ion for sf heap
drewis Apr 18, 2013
2993205
ARM: 6671/1: LPAE: use phys_addr_t instead of unsigned long in outerc…
wildea01 Feb 15, 2011
92c2e39
msm: boards: add ion sf heap
drewis Apr 23, 2013
0689495
configs: enable ion
drewis Apr 23, 2013
59b38f0
configs: update localversions
drewis Apr 23, 2013
3cbba75
msm_mdp: checkout jb_mr1_chocolate
drewis Apr 24, 2013
8dd72b1
msm: video: support get/put to ion buffer
drewis Apr 24, 2013
49252dd
qsd8k: bcmdhd: compile as module.
preludedrew Apr 26, 2013
cc60472
configs: ubuntu: enable ion
drewis Apr 26, 2013
662b48e
configs: all: enable sw_sync
drewis Apr 26, 2013
0eb2f60
configs: ubuntu: build bcmdhd as module
drewis Apr 26, 2013
a0ccda8
Expose virtual PID from child namespace in /proc/PID/status.
tonyespy Feb 27, 2013
5fb927f
inc: fix compile errors to to ion change
tiny4579 Apr 27, 2013
796d23a
qsd8k: copy msm-specific headers.
preludedrew May 25, 2013
5fa27c1
add msm_{ion,rotator} for 4.3 build
drewis Jul 29, 2013
edd58a4
qsd8k: also export ion header
drewis Jul 30, 2013
69a13bd
Revert "configs: enable ion"
drewis Jul 30, 2013
4413cb9
Merging latest XT_QTAGUID module
rossimo Sep 13, 2013
a0e4f56
Revert "Revert "configs: enable ion""
drewis Nov 13, 2013
35e5aad
sw_sync: export sw_sync API
May 16, 2012
226faae
msm: kgsl: initialize kgsl_sync_timeline_ops properly
Dec 7, 2012
df4140d
supersonic: switch to xz compression
elginsk8r Nov 23, 2013
df695fb
add extra free kbytes tunable
Sep 1, 2011
95bdcb7
configs: enable CGROUP_MEM_RES_CTLR_SWAP
drewis Nov 26, 2013
65700ab
config: inc: enable FUSE
tiny4579 Nov 27, 2013
df67133
Initial incredikernel deconfig for 4.4
zachf714 Feb 17, 2014
cb3d113
Bring in Tiny4579's interactive gov
zachf714 Feb 17, 2014
6abd620
defconfig updates to support data usage limits in ICS
tiny4579 Aug 10, 2012
c937f9a
update defconfig to support mobile data limit and warning
tiny4579 Aug 10, 2012
7d04db5
cpufreq: ondemand: add boostpulse interface
Oct 6, 2012
7498551
drivers: cpufreq: Send a uevent when governor changes
hyperb1iss Sep 12, 2012
76ffd31
This is KK not JB
zachf714 Feb 17, 2014
0faddc7
I duplicated a line in the defconfig, now its fixed
zachf714 Feb 17, 2014
f710a62
Fix Compile of governers
zachf714 Feb 17, 2014
56f8ee4
cpufreq: overclock max speed now supports 1.15 and 1.19 GHz
tiny4579 Dec 12, 2012
eac2484
fs/dyn_sync_cntrl: dynamic sync control - Thanks Faux123
anarkia1976 Mar 29, 2013
0f85e59
dynamic fsync control disabled by default
tiny4579 Apr 11, 2013
8e7f3cc
fs/dyn_sync_cntrl: explictly check if dyn fsync control is active prior
tiny4579 Apr 14, 2013
f688717
defconfig: enable dynamic fsync
zachf714 Apr 10, 2014
eb4205f
random: entropy tweaks are all the rage nowadays
imoseyon Jan 4, 2013
536c37c
[v4] binfmt_elf.c: use get_random_int() to fix entropy depleting
pibroch Jan 4, 2013
190171d
input: move add_input_randomness - patch from Google Code issue 42265
tiny4579 Jan 10, 2013
7d77a22
defconfig: Enable Audit
zachf714 Apr 10, 2014
7a9a5a6
Tweak lowmemorykiller
Nov 5, 2012
ba80a63
Fix memory leak
Nov 5, 2012
ebaa675
Add Add The Brain Fuck Scheduler v0.404 by Con Kolivas
Nov 5, 2012
e984739
Tweak BFS
Nov 5, 2012
5609f44
Increase readahead buffer
Nov 5, 2012
29febc0
Adjust VM ratios
Nov 5, 2012
3b00926
Fix fixup_user_fault for MMU=n
Nov 5, 2012
e65f12f
Flush disk cache when merging
Nov 5, 2012
8225131
Adjust VFS pressure
Nov 5, 2012
6998c62
Fix BFS
zachf714 Apr 10, 2014
bf84bf9
Avoid corrupting structure while waiting for rcu_free
Nov 5, 2012
e8f7387
Fix IDR leak on module removal
Nov 5, 2012
e760a22
Fix EXT4 should writeback data for non journal mode
Nov 5, 2012
679e7d7
Fix oops in ext3_try_to_allocate_with_rsv
Nov 5, 2012
3190d29
incrediblec: OC Farther (EXTREAMLY EXPERIMENTAL)
zachf714 Apr 10, 2014
5445e45
Revert "incrediblec: OC Farther (EXTREAMLY EXPERIMENTAL)"
zachf714 Apr 11, 2014
a4fd887
Enable BFS
zachf714 Apr 11, 2014
74324d0
Tweak GPU
Nov 5, 2012
dba71b7
Add missing kfree in ibmaem.c
Nov 5, 2012
e18af54
add missing declaration of kgdb_init and breakpoint
Nov 5, 2012
a7c6d48
fix return type of __atomic64_add_return
Nov 5, 2012
09e557b
Overhaul kconfig
Nov 5, 2012
95f58a7
drivers: cpufreq: Adding SmartassH3 CPU Governor
RonGokhale Feb 27, 2013
6b544a9
Enable the SmartassH3 gov
zachf714 Apr 24, 2014
d1dd0b1
Revert "Enable the SmartassH3 gov"
zachf714 Apr 24, 2014
0357ff6
Revert "drivers: cpufreq: Adding SmartassH3 CPU Governor"
zachf714 Apr 24, 2014
bfe0855
exfat filesystem support
flar2 Sep 14, 2013
9df8c28
Enable exFAT
zachf714 May 6, 2014
8021c20
n_tty: Fix n_tty_write crash when echoing in raw mode
peterhurley May 3, 2014
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
24 changes: 24 additions & 0 deletions Documentation/android.txt
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,12 @@ CONTENTS:
1.3 Recommended enabled config options
2. Contact

0. Getting sources:
-----------------

git clone --reference /path/to/linux-git/for/speedup/ git://android.git.kernel.org/kernel/msm.git
git checkout -b android-msm-2.6.29 origin/android-msm-2.6.29


1. Android
==========
Expand All @@ -26,6 +32,7 @@ To see a working defconfig look at msm_defconfig or goldfish_defconfig
which can be found at http://android.git.kernel.org in kernel/common.git
and kernel/msm.git

msm_defconfig should work on qualcomm reference design, HTC Magic and G1/ADP1.

1.1 Required enabled config options
-----------------------------------
Expand Down Expand Up @@ -114,6 +121,23 @@ SERIAL_CORE
SERIAL_CORE_CONSOLE


Board code names
----------------

board-halibut - Qualcomm SURF 7201A
board-sapphire - HTC Magic
board-trout - HTC Dream / T-Mobile G1 / Android ADP1

Booting your kernel
-------------------

hold down camera and red button to boot into rainbow screen. Then

./fastboot boot linux-msm/arch/arm/boot/zImage ramdisk.img

Machine will freeze at rainbow screen for a while, be
patient. ramdisk.img is required.

2. Contact
==========
website: http://android.git.kernel.org
Expand Down
185 changes: 185 additions & 0 deletions Documentation/arm/msm/avs.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,185 @@
Introduction
============

Adaptive Voltage Scaling (AVS) for ARCH_MSM_SCORPION

The AVS driver adjusts the CPU voltage based on hardware feedback. Using
hardware feedback AVS is able to achieve lower voltages than the equivalent
static voltage scaling (SVS) voltage.

The Scorpion architecture includes three ring oscillators for AVS. The
ring oscillators provide real time feedback about the voltage requirements
for the current operating conditions. The hardware can sense when the voltage
can be lowered and needs to be raised.

The AVS software keeps track of the current operating conditions. Periodically
AVS queries the hardware. Every query AVS updates a table of required voltage
indexed by operating conditions, CPU frequency and temperature.


Hardware description
====================

AVS HW is specific to the Scorpion CPU implementation of ARMv7. The AVS HW
includes three ring oscillators. Each is located near a different
subsystem : CPU, VFP, and L2 cache. For the VFP measurement to be useful,
the VFP needs to execute.

AVS HW is controlled through ARM CP15 registers

AVSSCR - AVS Status and Control register
op1 = 7, CRn = c15, CRm = c1, op2 = 7

AVSDSCR - AVS Delay Synthesizer and Control and Status register
op1 = 7, CRn = c15, CRm = c0, op2 = 6

TSSCR - Temperature Sensor Control and Status register
op1 = 7, CRn = c15, CRm = c1, op2 = 0


Software description
====================

AVS adaptively adjusts the CPU voltage for current operating conditions. It
maintains a table of operating voltages indexed by CPU frequency and
relative temperature.

AVS is notified before and after the frequency change. AVS uses this
information to correct the voltage and correctly maintain the operating voltage
table.

AVS manages the voltage in a background work queue. Every 50ms, AVS checks if
the HW recommends a voltage decrease or increase. The voltage table is updated
and the voltage is changed.

AVS is designed to never underestimate the required operating voltage.
Several fail safes are implemented to ensure the minimum operating
voltage is maintained.

1. The AVS HW is tuned to overestimate minimum voltage. This
overestimate provides extra operating margin.
2. Initial operating conditions are chosen to be more conservative
than equivalent static operating conditions. This ensures we always
approach the optimal voltage from the same direction.
3. Voltage is adjusted in 25mV increments. This adjustment is less than
the margin built into the AVS HW. This ensures we do not undershoot the
voltage.
4. Although not expected, if the HW requests an increase in voltage for a
single operating frequency, the voltage is increased in every frequency for
that temperature. This allows us to retry approaching the operating minimum.

If the AVS circuitry requests a voltage increase at the maximum operating
voltage, the request is noted in the kernel log, but the request is ignored.
This condition is never expected to happen.

Design
======

Reduce CPU operating voltage
Never allow CPU voltage to be less than required for proper operation
Immediate voltage changes as required for frequency changes.
Periodic management of CPU voltage
Minimal CPU overhead


The HW design team designed the AVS ring oscillator configuration to ensure
a proper operating voltage margin, while safely allowing reduction in CPU
operating voltage. This is implemented by the AVS delay synthesizer
configuration magic number.

AVS is logically a superset of SVS. Therefore, AVS is implemented as an add-on
to the Static Voltage Scaling driver.

AVS manages the CPU voltage exclusively.

When the frequency changes AVS is notified before and after the frequency
change. This allows AVS to increase the voltage before the operating voltage
is too low. It allows AVS to drop the voltage as soon as the frequency
transition is complete. Finally it allows the AVS background processing to
be aware that the operating conditions are not stable.

AVS manages the voltage in a background work queue. The design uses a
deferrable delayed work queue to schedule background work. The deferrable
queue was chosen to minimize CPU wakeups. This queue type will not wake the
CPU from idle, but will defer until the CPU is woken.


Power Management
================

AVS is part of the power management architecture for Scorpion. AVS manages
CPU supply voltage.

AVS is aware of CPU frequency changes. These changes are initiated by
CPUFREQ, WFI, idle power collapse and suspend.

AVS CP15 registers are preserved through power collapse.


SMP/multi-core
==============

ARCH_SM_SCORPION is not a multicore architecture. It is difficult to
anticipate the changes in HW and SW required to support SMP.

Security
========

None

Performance
===========

None

Interface
=========

There is no general purpose interface to AVS. The sole client is SVS
(acpuclock-8x50.c). AVS is initialized and torn down by the
avs_init(...) and avs_exit(...) functions. AVS is notified of CPU
frequency changes by avs_adjust_freq(...).

Driver parameters
=================

None

Config options
==============

MSM_CPU_AVS enables the driver.

Dependencies
============

AVS is built on top of the Static Voltage Scaling driver (SVS)

Once AVS is initialized. AVS assumes it is the only process changing the
supply voltage. Other coprocessors must not change the Scorpion voltage.
The bootloader must not change the Scorpion Voltage when warm booting from
power collapse.

User space utilities
====================

None

Other
=====

None

Known issues
============

None

To do
=====

AVS needs to support future Scorpion chipsets. The implementation will be
parameterized, using board files, as new chipset support is added.



23 changes: 23 additions & 0 deletions Documentation/arm/msm/boot.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
Introduction
=============
The power management integrated circuit (PMIC) records the reason the
Application processor was powered on in Shared Memory.
The hardware and software used is the shared memory interface. This document
is not for the purpose of describing this interface, but to identify the
possible values for this data item.

Description
===========
Shared memory item (SMEM_POWER_ON_STATUS_INFO) is read to get access to
this data. The table below identifies the possible values stored.

power_on_status values set by the PMIC for power on event:
----------------------------------------------------------
0x01 -- keyboard power on
0x02 -- RTC alarm
0x04 -- cable power on
0x08 -- SMPL
0x10 -- Watch Dog timeout
0x20 -- USB charger
0x40 -- Wall charger
0xFF -- error reading power_on_status value
Loading