Commits on Aug 25, 2011
  1. Update kernel to B&N 1.3

    dalingrin committed Aug 25, 2011
Commits on Jul 26, 2011
  1. Re-add interactive gov

    dalingrin committed Jul 26, 2011
  2. Revert "Defconfig: Remove SGX530"

    dalingrin committed Jul 26, 2011
    This reverts commit 0819678.
  3. Revert "brainfuck scheduler (BFS) intial commit"

    dalingrin committed Jul 26, 2011
    This reverts commit f23c115.
    Revert "BFS: two missing files."
    This reverts commit f0d14f4.
  4. CPUFreq: Interactive governor changes

    dalingrin committed Jul 13, 2011
    Adjust interactive governor to take advantage of
    Nook Color Tweaks dynamic clock settings
  5. First step in having sound input work on dac3100 codec.

    verygreen committed with dalingrin Jun 19, 2011
    Added capture stream to codec description.
    Added subdevices for voice input, bt(pcm) input and fm input modelled
    after zoom2
Commits on Jul 13, 2011
  1. CPUFreq: Interactive governor changes

    dalingrin committed Jul 13, 2011
    Adjust interactive governor to take advantage of
    Nook Color Tweaks dynamic clock settings
  2. First step in having sound input work on dac3100 codec.

    verygreen committed with dalingrin Jun 19, 2011
    Added capture stream to codec description.
    Added subdevices for voice input, bt(pcm) input and fm input modelled
    after zoom2
  3. Defconfig: Remove SGX530

    dalingrin committed Jul 13, 2011
    Using external modules instead
Commits on Jul 7, 2011
  1. OMAP3: V4L2: Return proper flags for VIDIOC_G_FBUF

    dalingrin committed Jul 7, 2011
    When Local Alpha blending is requested to be set, the
    VIDIOC_G_FBUF ioctl wrongly returns CHROMAKEY flag as
    set, which results in failure of the alpha setting.
    Ensure the CHROMAKEY flag is set only if the color
    key transparency is enabled.
Commits on Jun 30, 2011
  1. Fix typo in voltage settings

    dalingrin committed Jun 30, 2011
  2. CPUFREQ: Add InteracticeX governor by Imoseyon

    dalingrin committed Jun 30, 2011
    Normal interactive governor for responsiveness but also takes advantage
    of the device state to limit the clock rate when screen is off, similar
    to the smartass gov.
Commits on Jun 17, 2011
  1. Initial support for Nook Color host mode.

    verygreen committed with dalingrin Jun 1, 2011
    This is pretty hackish at the moment, but seems to work mostly well.
    Known quirk: if you disable host mode while some devices are still attached,
    they won't be disconnected - perhaps need to call for disconnect in this case.
    Defconfig: USB host mode support
    Added syfs output of charger status. Also ability of power draw control.
    Changed to usb host mode on Nook:
    Ability to request externally driven vbus (by battery or external source).
    Default to externally driven vbus when external power is connected at
    vbus request time.
    Don't try to do anything with vbus when a change comes for the same mode
    we are already in.
  2. CPUFreq: Decrease Ondemand's tendency to stay at

    dalingrin committed Jun 17, 2011
    higher OPPs
Commits on Jun 13, 2011
  1. Backport 2.6.39 ondemand gov

    dalingrin committed Jun 13, 2011
    Primary credit goes to Imoseyon
Commits on Jun 9, 2011
Commits on Jun 7, 2011
Commits on May 23, 2011
  1. Optimize KCFLAGS

    dalingrin committed May 23, 2011
  2. mm: add SLQB allocator

    dalingrin committed May 23, 2011
  3. rcu: "Tiny RCU", The Bloatwatch Edition

    paulmck committed with dalingrin Oct 26, 2009
    This patch is a version of RCU designed for !SMP provided for a
    small-footprint RCU implementation.  In particular, the
    implementation of synchronize_rcu() is extremely lightweight and
    high performance. It passes rcutorture testing in each of the
    four relevant configurations (combinations of NO_HZ and PREEMPT)
    on x86.  This saves about 1K bytes compared to old Classic RCU
    (which is no longer in mainline), and more than three kilobytes
    compared to Hierarchical RCU (updated to 2.6.30):
    	   text	   data	    bss	    dec	    filename
    	    183       4       0     187     kernel/rcupdate.o
    	   2783     520      36    3339     kernel/rcutree.o
    				   3526 Total (vs 4565 for v7)
    	   text	   data	    bss	    dec	    filename
    	    263       4       0     267     kernel/rcupdate.o
    	   4594     776      52    5422     kernel/rcutree.o
    	   			   5689 Total (6155 for v7)
    	   text	   data	    bss	    dec	    filename
    	     96       4       0     100     kernel/rcupdate.o
    	    734      24       0     758     kernel/rcutiny.o
    	    			    858 Total (vs 848 for v7)
    The above is for x86.  Your mileage may vary on other platforms.
    Further compression is possible, but is being procrastinated.
    Changes from v7 (
    o	Apply Lai Jiangshan's review comments (aside from
    might_sleep() 	in synchronize_sched(), which is covered by SMP builds).
    o	Fix up expedited primitives.
    Changes from v6 (
    o	Forward ported to put it into the 2.6.33 stream.
    o	Added lockdep support.
    o	Make lightweight rcu_barrier.
    Changes from v5 (
    o	Ported to latest pre-2.6.32 merge window kernel.
    	- Renamed rcu_qsctr_inc() to rcu_sched_qs().
    	- Renamed rcu_bh_qsctr_inc() to rcu_bh_qs().
    	- Provided trivial rcu_cpu_notify().
    	- Provided trivial exit_rcu().
    	- Provided trivial rcu_needs_cpu().
    	- Fixed up the rcu_*_enter/exit() functions in linux/hardirq.h.
    o	Removed the dependence on EMBEDDED, with a view to making
    	TINY_RCU default for !SMP at some time in the future.
    o	Added (trivial) support for expedited grace periods.
    Changes from v4 ( include:
    o	Squeeze the size down a bit further by removing the
    	->completed field from struct rcu_ctrlblk.
    o	This permits synchronize_rcu() to become the empty function.
    	Previous concerns about rcutorture were unfounded, as
    	rcutorture correctly handles a constant value from
    	rcu_batches_completed() and rcu_batches_completed_bh().
    Changes from v3 ( include:
    o	Changed rcu_batches_completed(), rcu_batches_completed_bh()
    	rcu_enter_nohz(), rcu_exit_nohz(), rcu_nmi_enter(), and
    	rcu_nmi_exit(), to be static inlines, as suggested by David
    	Howells.  Doing this saves about 100 bytes from rcutiny.o.
    	(The numbers between v3 and this v4 of the patch are not directly
    	comparable, since they are against different versions of Linux.)
    Changes from v2 ( include:
    o	Fix whitespace issues.
    o	Change short-circuit "||" operator to instead be "+" in order
    to 	fix performance bug noted by "kraai" on LWN.
    Changes from v1 ( include:
    o	This version depends on EMBEDDED as well as !SMP, as suggested
    	by Ingo.
    o	Updated rcu_needs_cpu() to unconditionally return zero,
    	permitting the CPU to enter dynticks-idle mode at any time.
    	This works because callbacks can be invoked upon entry to
    	dynticks-idle mode.
    o	Paul is now OK with this being included, based on a poll at
    the 	Kernel Miniconf at, where about ten people said
    	that they cared about saving 900 bytes on single-CPU systems.
    o	Applies to both mainline and tip/core/rcu.
    Signed-off-by: Paul E. McKenney <>
    Acked-by: David Howells <>
    Acked-by: Josh Triplett <>
    Reviewed-by: Lai Jiangshan <>
    LKML-Reference: <12565226351355-git-send-email->
    Signed-off-by: Ingo Molnar <>
  4. cpufreq: interactive: New 'interactive' governor

    Mike Chan committed with dalingrin Jun 22, 2010
    New interactive governor.
    This governor is designed for latency sensitive workloads, UI interaction for
    + significantly more responsive to ramp cpu up when required (UI interaction)
    + more consistent ramping, existing governors do their cpu load sampling in a
    workqueue context, the 'interactive' governor does this in a timer context, which
    gives more consistent cpu load sampling.
    + higher priority for cpu frequency increase, rt_workqueue is used for scaling
    up, giving the remaining tasks the cpu performance benefit, unlike existing
    governors which schedule rampup work to occur after your performance starved
    tasks have completed.
    Existing governors sample cpu load at a particular rate, typically
    every X ms. Which can lead to under powering UI threads when the user has
    interacted with an idle system until the next sample period happns.
    The 'interactive' governor has a different approach. Instead of sampling the cpu
    at a specified rate, the governor will scale the cpu frequency up when coming
    out of idle. When the cpu comes out of idle, a timer is configured to fire
    within 1-2 ticks. If the cpu is 100% busy from exiting idle to when the timer
    fires then we assume the cpu is underpowered and ramp to MAX speed.
    If the cpu was not 100% busy, then the governor evaluates the cpu load over the
    last 'min_sample_rate' (default 50000 uS) to determine the cpu speed to ramp down
    There is only one tuneable for this governor:
    	The minimum ammount of time to spend at the current frequency before
    	ramping down. This is to ensure that the governor has seen enough
    	historic cpu load data to determine the appropriate workload.
    	Default is 5000 uS.
    Signed-off-by: Mike Chan <>
    Change-Id: I686d2f57b0ed9cbb73217403b7438be5719588d2
    cpufreq: interactive: Fix potential division by zero
    cpufreq: interactive: Changes to interactive governor
    Changes include:
    * May scale up to intermediate speeds after scaling down, rather than
    scale to max speed and then only scale down until max speed needed.
    * Tweaked thresholds at which max speed requested (previously CPU must
    have been 100% busy since idle exit timer started, now will go max if at
    least 85% busy) and default minimum sample time raised to 80ms. Tweaking
    based on UI tests, still in progress.
    * SMP fixes.
    * Fixed attempted multiple delete of sysfs group on governor stop.
    Set a just-in-case-CPU-goes-busy-again timer even if nr_running == 0 at
    timer function run time, but cancel if that CPU goes idle (and don't
    re-arm timer if that CPU is currently idle).
    * Re-evaluate speed if a CPU goes idle while above min speed (and no timer
    currently set) in case the platform requires all CPUs to be at the same
    * Realtime workqueues disappeared upstream, convert speed up workqueue to
    a realtime task. Average scheduling latency measured significantly less
    than WQ_HIGHPRI.
    * Timers are not deferrable, must wake CPU from idle, since we now
    re-evaluate speed for idle CPUs.
    * CPU load is computed from higher of short-term load since idle exit vs.
    long-term load since last frequency change, to avoid dropping speed
    during temporary dips in load on long-term-busy CPU.
    * Avoid 1 CPU starting new idle exit load eval interval in a race with
    timer running on another CPU.
    * New fugly debugging printfs should be reworked or go away eventually.
    Change-Id: I606b5c1850637c35a7814309df12362d5c044825
Commits on May 22, 2011
  1. Revert "Sleep of death workaround related to adb"

    dalingrin committed May 16, 2011
    This reverts commit 7ba1b0b.
  2. Fix musb crash on resume that is caused by adb

    verygreen committed with dalingrin May 13, 2011
    The adb driver enqueues the same reuest during read hoping that
    by the time it is doing next queue, the previous one completed.
    But if there was a signal (like what happens on suspend) this is not true
    and we need to dequeue the request first before bailing out.
Commits on May 13, 2011
  1. Cyttsp: Disable unnecessary gesture code paths in

    dalingrin committed May 13, 2011
    touchscreen driver