jf kernel: bcmdhd: dont filter ip6 in suspend

this is filtering ip6 *unicast*; on ip6 networks notifications are not recieved until screen is turned on

Change-Id: I473a70347d623b9bc1a3b076eb0e672e4a19906b
disable CONFIG_SECURITY_SELINUX_DEVELOP

Change-Id: I05267c8e3044c639aa26e24f5435d4adafdb7d55
rtc: alarm: Add power-on alarm feature

Android does not support powering up of phone through alarm.
Adding shutdown hook in alarm driver which will set alarm while phone
is going down so as to power-up the phone after alarm expiration.

CRs-Fixed: 432312
Change-Id: I21786d264b93f7c0c660823a0a1a221c1b4df7b2
Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
rtc: alarm: Set power-on alarm 120 sec before actual alarm time

This will add extra buffer time for booting-up the device before
actual alarm expiration time.

Change-Id: I02cad84c394a6aab943fff37a1a0de56bb511f56
Signed-off-by: Mohit Aggarwal <maggarwa@codeaurora.org>
Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
kernel: alarm: :fix the BUG that device automatically powers on

The value of alarm.time is invalid if we get it by:
    memset(&alarm, 0, sizeof(alarm)).
So function of rtc_set_alarm aborts before it really calls into:
    rtc->ops->set_alarm.
Then we can`t disable the RTC alarm by that. The result is some
alarms enabled by alarm_suspend are not disabled correctly during
alarm_resume. And device will automatically power on.

CRs-fixed: 524051
Change-Id: Ibc99e62878d17ad4f50325630bf0862207e2cf3f
Signed-off-by: Figo Wang <figow@codeaurora.org>
kernel: alarm: add dedicated alarm type for poweroff alarm

Now we use type of RTC_WAKEUP for the poweroff alarm.
Actually lots of other applications also use this type.
But these applications never expect the device will
power on after it has been shut down. So we need to
add dedicated alarm type for the Deskclock or similar
applications.

CRs-fixed: 529674
Change-Id: I9b7911906446daa1aeb5835478c9837f8ef797f2
Signed-off-by: Figo Wang <figow@codeaurora.org>
kernel: alarm: Do not call rtc_alarm_irq_enable in IRQ Disabled context

Currently shutdown hook of alarm driver is calling
the rtc_alarm_irq_enable API in interrupts disabled
context. So fix the alarm_shutdown function to call
in API rtc_alarm_irq_enable in interrupt enabled context.

CRs-Fixed: 591790
Change-Id: Iebd82482be1dc95c6c978b617e1c18eb36e1b6eb
Signed-off-by: Prasad Sodagudi <psodagud@codeaurora.org>
board-8064-pmic: enable rtc_alarm_powerup

Change-Id: I7a54ce234cf7b8d208509ea8bb83ad49723553f9
sec-battery: Standardize the output of the "online" property

Return "0" when no power supply is present

Change-Id: Ic873705c20468cb5e7898fa2ddff5828cd5928cf
power: pm8921-charger: vote D0 when running kickstart

There is a small window when the PMIC could lock up while
running the kickstart routine. If PMIC sleeps right while
kickstart is run, it causes a short sleep which is known
to cause PMIC locksup.

To prevent these, specifically vote for D0 clock while
running kickstart which guarantees that the PMIC will not
sleep.

Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>

Conflicts:
	drivers/power/pm8921-charger.c

Change-Id: I830749c19c79fd63238769ecf7472d03d67e7aa2
power: pm8921-bms: fix calibration and UVLO issues

The bms is not running a hkadc calibration before calculating the
first SOC. This causes accuracy issues with the power on SOC.

Also when the battery gets in the low voltage range, don't limit
the corrections. We have seen UVLO where even though the BMS was
calculating SOC quickly it was not lowering the SOC fast enough.
Skip limiting ocv change when battery is near cutoff voltage.

Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>

Conflicts:
	drivers/power/pm8921-bms.c

Change-Id: I746a9b003135d51d51c7d039d411689ca69571dc
power: pm8921-charger: Add delay after turning on D0 (TCXO) clock

On APQ8064, TCXO cannot be turned off before its warm-up period (4ms).
This is not required on the platform which have a CXO. Add a warm-up
delay after turning on D0 (which turns on the TCXO).

Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>

Conflicts:
	arch/arm/mach-msm/board-8064-pmic.c
	drivers/power/pm8921-charger.c
	include/linux/mfd/pm8xxx/pm8921-charger.h

Change-Id: Iaa91b8051d6d6ed7bd6394cc920411792b176224
power: pm8921-charger: Fix delay in USB wall-charger removal

Avoid scheduling time optimization for the vin_min work. This
prevents delay in USB removal detection for USB wall-charger.

CRs-Fixed: 579548
Change-Id: I578a0a70122e4d10ff932a41d6c6ac58e5ef121d
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
Signed-off-by: Saket Saurabh <ssaurabh@codeaurora.org>
SQUASH: Remove all flo adreno related commits

It seems we jumped the gun on this one.
Flo adreno blobs cause camcorder and video playback to break.  Let's purge our systems of this curse

Revert "msm: We are using the msm2 gpu driver, not msm"

This reverts commit f7b57b6a1216be360d7b1261b581b5748642235b.

Revert "fix derps"

This reverts commit 189b1080c1afb09d4207cc6dd2c90dd3cdf80d17.

Revert "driver core: Add iommu_group tracking to struct device"

This reverts commit 917bf249be6507c8cb77ccde873900dc86c7d86b.

Revert "msm: scm: Add scm_call_atomic3"

This reverts commit 86c9956680179082000718e538954ecb75ff8180.

Revert "ARM: Add support for 64 bit register reads/writes"

This reverts commit 9bd9073c1ee84b0d8242f0dea5ed47d9a610bd4b.

Revert "msm: Fix mem leak when using per-process pages"

This reverts commit cd14d442a4b90c461136758cb82ca64154db960b.

Revert "iommu/core: pass a user-provided token to fault handlers"

This reverts commit 78ffae98c13a16e62a259f599a6ad32abbf1f1dd.

Revert "msm: kgsl: Add intermediate power levels"

This reverts commit 4e00b10e7ca642d6b78492e928440f03d1560ad8.

Revert "msm: kgsl: Add separate GPU shader memory mapping"

This reverts commit 698d100290593025466788a47f003fe566933e5e.

Revert "gpu: msm: Add new Adreno driver"

This reverts commit 33047ee836119647edc24ca29cca3b748bf2e3a5.

Change-Id: If0f013e687e94d915ea348d9f5d3cb065736103e

Conflicts:
	arch/arm/mach-msm/board-8064-gpu.c
	drivers/gpu/msm/kgsl_pwrscale_trustzone.c
	drivers/gpu/msm2/adreno.c
	drivers/gpu/msm2/adreno.h
	drivers/gpu/msm2/adreno_a2xx.c
	drivers/gpu/msm2/adreno_a3xx.c
	drivers/gpu/msm2/adreno_a4xx.c
	drivers/gpu/msm2/adreno_dispatch.c
	drivers/gpu/msm2/adreno_drawctxt.c
	drivers/gpu/msm2/adreno_drawctxt.h
	drivers/gpu/msm2/adreno_postmortem.c
	drivers/gpu/msm2/adreno_ringbuffer.c
	drivers/gpu/msm2/adreno_trace.h
	drivers/gpu/msm2/kgsl.c
	drivers/gpu/msm2/kgsl.h
	drivers/gpu/msm2/kgsl_device.h
	drivers/gpu/msm2/kgsl_events.c
	drivers/gpu/msm2/kgsl_pwrctrl.c
	drivers/gpu/msm2/kgsl_pwrctrl.h
	drivers/gpu/msm2/z180.c
	include/linux/kref.h
KGSL: Add a simple GPU governor for Adreno xxx GPU series

initial coding for a Simple GPU governor based on my own work 2 years ago
from Sensation GB kernel commit: c1ea8f64167270d67915b4d4fb00910b1c0f513f

Change-Id: I0852bdf3d14923cfcd6b8df3feaf20a7f83ac189
Signed-off-by: Paul Reioux <reioux@gmail.com>
KGSL: make simple govenor a selectable option, co-exist with ondemand

also removed some hardcoded values

Signed-off-by: Paul Reioux <reioux@gmail.com>
Change-Id: I3f6e61f6317e42eec86acb0cd370d1f7c9303c70
KGSL: simple governor: expose tunables to sysfs interface via module_param

Change-Id: I6f8c1c20e7cfd702d9de3b0fec3b4812d164d627
Signed-off-by: Paul Reioux <reioux@gmail.com>
KGSL: Simple Governor: fix minor logic issue

Change-Id: I73acefeb5728a5952381945dcaf4376dd7e71529
Signed-off-by: Paul Reioux <reioux@gmail.com>
msm: kgsl: Add separate GPU shader memory mapping

Add separate kernel memory mapping for GPU shader memory.
Previously, both the register and the shader memory were mapped
as one entity, with the mapping length being equal to combined
size of register memory and shader memory. Now, we separate the
shader memory mapping to help in cases of GPU devices where the
shader and register memory may not be adjacent. This helps to
dump the shader memory in the postmortem snapshot. By having a
separate mapping for shader memory, the snapshot dump routine
simply reads in the shader memory range specified and dumps.

Signed-off-by: Harsh Vardhan Dwivedi <hdwivedi@codeaurora.org>
Change-Id: Ia51cdbc6a682abe6505bcc53c997ef9c9192f9e6
iommu/core: pass a user-provided token to fault handlers

Sometimes a single IOMMU user may have to deal with several
different IOMMU devices (e.g. remoteproc).

When an IOMMU fault happens, such users have to regain their
context in order to deal with the fault.

Users can't use the private fields of neither the iommu_domain nor
the IOMMU device, because those are already used by the IOMMU core
and low level driver (respectively).

This patch just simply allows users to pass a private token (most
notably their own context pointer) to iommu_set_fault_handler(),
and then makes sure it is provided back to the users whenever
an IOMMU fault happens.

The patch also adopts remoteproc to the new fault handling
interface, but the real functionality using this (recovery of
remote processors) will only be added later in a subsequent patch
set.

Cc: Fernando Guzman Lugo <fernando.lugo@ti.com>
Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
[ohaugan@codeaurora.org: Resolved compilation and merge issues]
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
Change-Id: I610966aeb936e0d026c6ef35a56453337e1b3c76