kang bcmdhd driver from siyah

Change-Id: I9d1321ac74cc3e34ae7dfff46b63597640ab9943

Conflicts:
	arch/arm/mach-exynos/mach-u1.c

Signed-off-by: scotthartbti <scott.hart.bti@gmail.com>
defconfig: Enable compaction and migration
Signed-off-by: scotthartbti <scott.hart.bti@gmail.com>
k3dh: Change calibration file path to /efs/root/sys/calibdata.q
Signed-off-by: scotthartbti <scott.hart.bti@gmail.com>
Enable P2P interface.
Signed-off-by: scotthartbti <scott.hart.bti@gmail.com>
ksm: cleanup for mm_slots_hash

Use compile-allocated memory instead of dynamic allocated memory for
mm_slots_hash.

Use hash_ptr() instead divisions for bucket calculation.

Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
Signed-off-by: Izik Eidus <ieidus@redhat.com>
Cc: Avi Kivity <avi@redhat.com>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
ksm: fix bad user data when swapping

Building under memory pressure, with KSM on 2.6.36-rc5, collapsed with
an internal compiler error: typically indicating an error in swapping.

Perhaps there's a timing issue which makes it now more likely, perhaps
it's just a long time since I tried for so long: this bug goes back to
KSM swapping in 2.6.33.

Notice how reuse_swap_page() allows an exclusive page to be reused, but
only does SetPageDirty if it can delete it from swap cache right then -
if it's currently under Writeback, it has to be left in cache and we
don't SetPageDirty, but the page can be reused.  Fine, the dirty bit
will get set in the pte; but notice how zap_pte_range() does not bother
to transfer pte_dirty to page_dirty when unmapping a PageAnon.

If KSM chooses to share such a page, it will look like a clean copy of
swapcache, and not be written out to swap when its memory is needed;
then stale data read back from swap when it's needed again.

We could fix this in reuse_swap_page() (or even refuse to reuse a
page under writeback), but it's more honest to fix my oversight in
KSM's write_protect_page().  Several days of testing on three machines
confirms that this fixes the issue they showed.

Signed-off-by: Hugh Dickins <hughd@google.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: stable@kernel.org
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
ksm: free swap when swapcache page is replaced
Signed-off-by: scotthartbti <scott.hart.bti@gmail.com>
Manually rollback UV/DVFS code.. for some reason
git revert not removing all of it and leaving bits behind.
Signed-off-by: scotthartbti <scott.hart.bti@gmail.com>
Add OC... 1400 and 1600mhz steps.. Hopefully be able to
implement DVFS in future commit...
Signed-off-by: scotthartbti <scott.hart.bti@gmail.com>
Add DVFS code back in correctly so we dont cause issues
with OC code from previous commit
Signed-off-by: scotthartbti <scott.hart.bti@gmail.com>
Change voltage settings for OC steps.. see if this helps
Signed-off-by: scotthartbti <scott.hart.bti@gmail.com>
Call cpufreq_update_policy on DVFS events.
Signed-off-by: scotthartbti <scott.hart.bti@gmail.com>
Oooops... Best if the lock is set correctly.  :/
Signed-off-by: scotthartbti <scott.hart.bti@gmail.com>
cpufreq: boostfreq: do not set to current value

dbs_tuners_ins.boostfreq should not be set upon boosting, as it
will fix the boostfreq to the current max value, despite the
fact that it can change later (via cpufreq reconfiguration)

Change-Id: I12741ff367b37d6161e06f3d5de21807c5415a9d
remove PMEM; not needed anymore, frees a few extra MB of memory
Change-Id: Ic5905568ef499d81acbc3130431e8624560e5668

Thanks to @jt1134

Conflicts:
	arch/arm/mach-s5pv210/mach-p1.c

Signed-off-by: scotthartbti <scott.hart.bti@gmail.com>
S5PC11X: FIMC: Modify to run fimc after all configurations

- Modify to set context info before running fimc hw
- Check whether context num is valid in ISR

Bug: 5790269
Change-Id: I5c579ab22ed360d25063102d22ed07b05c707e01
Signed-off-by: jung-min.oh <jung-min.oh@samsung.com>
S5PC11X: FIMC: Call sw reset when stopping fimc

Modify to call sw-reset whenever fimc finishes handling a frame.

Found a case that a timeout error occurred on fimc
during video playback aging test and after that,
fimc didn't recover from the abnormal status
in spite of right configurations.

According to hw team, sw-reset is called for each frame
to prevent fimc from entering into an abnormal state
by clearing internal registers in fimc.

Change-Id: I7fe5f4124400bbe37ec2033eff1b8355d68a3323
Signed-off-by: jung-min.oh <jung-min.oh@samsung.com>
S5PC11X: FIMC: Handle off mode in suspend()/resume()

Avoid clock gating in suspend()/resume() when ctrl->status is set
to FIMC_OFF_SLEEP because the fimc doesn't support it.
Prevent the fimc from turning on during resume when it is not used.

This patch fixes issue 5400100,
which says mp3 playback power usage increased by 33%.

Also, don't allow capture modue op during output mode, and vice-versa.

Change-Id: I705523a674f1102a77195ee2ee170935bcf4d41e
Signed-off-by: jung-min.oh <jung-min.oh@samsung.com>
net: wireless: bcmdhd: update bcmdhd driver to 1.15.15
bcmdhd: Change packet filter settings to block multicast

A common complaint of users is that battery life on wifi
is very poor, with frequent wlan_rx_wake wakelocks.

It turns out Samsung "opened up" the packet filter
settings from Gingerbread to ICS.

This makes them match the tuna configuration, minus
the filter to allow mDNS through (which lets a bunch
of other stuff through too.)

Signed-off-by: Andrew Dodd <atd7@cornell.edu>