aries-vibrator: add sysfs interface to control vibration intensity

Change-Id: Ia69e9fe28111a36fb9fa32410e54e69f84fbcd57

Conflicts:
	arch/arm/mach-s5pv210/aries-vibrator.c

Signed-off-by: scotthartbti <scott.hart.bti@gmail.com>
Bring back stock MFC memory allocation
Signed-off-by: scotthartbti <scott.hart.bti@gmail.com>
Optimize MFC memory usage, properly
Signed-off-by: scotthartbti <scott.hart.bti@gmail.com>
S5PC11X: BOOTMEM: Modify bootmem to use mainline code
S5PC11X: FIMC: Call sw reset when stopping fimc
Signed-off-by: scotthartbti <scott.hart.bti@gmail.com>
Use better method of allocating memory for FIMD.
Signed-off-by: scotthartbti <scott.hart.bti@gmail.com>
Revert "S5PC11X: BOOTMEM: Modify bootmem to use mainline code"

This reverts commit 29ce72ae88e10603b8ece8bf6614c1835247f5af.
new spalsh

Signed-off-by: scotthartbti <scott.hart.bti@gmail.com>
update to new cm boot splash from humberos

Change-Id: Ib8664f693283fbaaf6f30adf66e881f4db42ea83

Conflicts:
	drivers/video/samsung/logo_rgb24_wvga_portrait.h

Signed-off-by: scotthartbti <scott.hart.bti@gmail.com>
remove PMEM; not needed anymore, frees a few extra MB of memory
Signed-off-by: scotthartbti <scott.hart.bti@gmail.com>
remove broken IOCTL_MFC_BUF_CACHE and reduce MFC memsize to 32mb
Signed-off-by: scotthartbti <scott.hart.bti@gmail.com>
Add lagfree cpu governor

Change-Id: Ib0dfb456c703010ed2b5e2a4c998a7205982ee0d

Conflicts:
	arch/arm/configs/aries_infuse4g_defconfig
	drivers/cpufreq/Kconfig
	drivers/cpufreq/Makefile

Signed-off-by: scotthartbti <scott.hart.bti@gmail.com>
block: add BFQ I/O scheduler

block: prepare I/O context code for BFQ-v3 for 3.0

BFQ uses struct cfq_io_context to store its per-process per-device data,
reusing the same code for cic handling of CFQ.  The code is not shared
ATM to minimize the impact of these patches.

This patch introduces a new hlist to each io_context to store all the
cic's allocated by BFQ to allow calling the right destructor on module
unload; the radix tree used for cic lookup needs to be duplicated
because it can contain dead keys inserted by a scheduler and later
retrieved by the other one.

Update the io_context exit and free paths to take care also of
the BFQ cic's.

Change the type of cfqq inside struct cfq_io_context to void *
to use it also for BFQ per-queue data.

A new bfq-specific ioprio_changed field is necessary, too, to avoid
clobbering cfq's one, so switch ioprio_changed to a bitmap, with one
element per scheduler.

Signed-off-by: Fabio Checconi <fabio@gandalf.sssup.it>
Signed-off-by: Paolo Valente <paolo.valente@unimore.it>
Signed-off-by: Arianna Avanzini <avanzini.arianna@gmail.com>

block: cgroups, kconfig, build bits for BFQ-v3-3.0

Add a Kconfig option and do the related Makefile changes to compile
the BFQ I/O scheduler.  Also let the cgroups subsystem know about the
BFQ I/O controller.

Signed-off-by: Fabio Checconi <fabio@gandalf.sssup.it>
Signed-off-by: Paolo Valente <paolo.valente@unimore.it>
Signed-off-by: Arianna Avanzini <avanzini.arianna@gmail.com>

block: introduce the BFQ-v3 I/O sched for 3.0

Add the BFQ-v3 I/O scheduler to 3.0.
The general structure is borrowed from CFQ, as much of the code. A (bfq_)queue
is associated to each task doing I/O on a device, and each time a scheduling
decision has to be taken a queue is selected and it is served until it expires.

The main differences are:
    - Slices are given in the service domain: tasks are assigned budgets,
      measured in number of sectors. Once got the disk, a task must
      however consume its assigned budget within a configurable maximum time
      (by default, the maximum possible value of the budgets is automaticall
      computed to comply with this timeout). This allows the desired latency
      vs "throughput boosting" tradeoff to be set.

    - Budgets are scheduled according to a variant of WF2Q+, implemented
      using an augmented rb-tree to take eligibility into account while
      preserving an O(log N) overall complexity.

    - A low-latency tunable is provided; if enabled, both interactive and soft
      real-time applications are guaranteed very low latency.

    - Latency guarantees are preserved also in presence of NCQ.

    - Useful features borrowed from CFQ: cooperating-queues merging (with
      some additional optimizations with respect to the original CFQ version),
      static fallback queue for OOM.

    - BFQ supports full hierarchical scheduling, exporting a cgroups
      interface.  Each node has a full scheduler, so each group can
      be assigned its own ioprio and an ioprio_class.

    - If the cgroups interface is used, weights can be explictly assigned,
      otherwise ioprio values are mapped to weights using the relation
      weight = IOPRIO_BE_NR - ioprio.

    - ioprio classes are served in strict priority order, i.e., lower
      priority queues are not served as long as there are higher priority
      queues.  Among queues in the same class the bandwidth is distributed
      in proportion to the weights of each queue. A very thin extra bandwidth
      is however guaranteed to the Idle class, to prevent it from starving.

Regarding what has not changed it is worth noting:
    - the handling of cfq_io_contexts to associate queues to tasks.
      Much of the code has been reused just renaming it.  (There is room for
      code sharing with CFQ but we wanted to minimize the impact of this
      patch.)

    - The handling of async queues.

    - The handling of idle windows.

    - The handling of merging.

    - The heuristics to assert that a task is worth an idle window (with
      minor modifications to hw_tag/CIC_SEEKY detection).

Signed-off-by: Paolo Valente <paolo.valente@unimore.it>
Signed-off-by: Arianna Avanzini <avanzini.arianna@gmail.com>

block: enable BFQ scheduler by default

Change-Id: I57ec2be067780f6358f3f2345739c50f102ca90d

Conflicts:
	block/blk-ioc.c
	include/linux/iocontext.h

Signed-off-by: scotthartbti <scott.hart.bti@gmail.com>
Revert "aries-vibrator: add sysfs interface to control vibration intensity"

This reverts commit 71b09f43c2e95679e753c7fa682d752722b50217.
Revert "remove broken IOCTL_MFC_BUF_CACHE and reduce MFC memsize to 32mb"

This reverts commit 67f119d2aeac1596aaff70fd1304c0bbe28d4dfc.
Revert "remove PMEM; not needed anymore, frees a few extra MB of memory"

This reverts commit 1646a0d1143b8e2ca0c86d2fe4e685f3f5baf719.
Revert "block: add BFQ I/O scheduler"

This reverts commit af8715ca0de35a6a5782590e497c7a58144fe684.