msm: Remove all references to CONFIG_ANDROID_PMEM

CONFIG_ANDROID_PMEM is completely deprecated. Remove all
references to it.

Change-Id: Ie1f2b08094fffdf308025d43bf4c8c164e52340b
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
video: msm: Increase video encoding output buffer size

When bistream buffer size is half of YUV buffer size, video core
may be put into a bad state where output buffers are not returned
back to user space. Increasing the output buffer size solves the issue.

Change-Id: Ie30ec084a764717526c74fc3f89d2684c7020f09
Signed-off-by: Shuzhen Wang <shuzhenw@codeaurora.org>
Merge remote-tracking branch kernel.org/linux-3.4.y'
Merge remote-tracking branch 'caf/kk_2.7_rb1.11'

Conflicts:
	arch/arm/kernel/perf_event.c
	drivers/cpufreq/cpufreq_ondemand.c
	drivers/tty/serial/msm_serial_hs.c
	net/wireless/reg.c
cfg80211: Fix memory leak

When a driver requests a specific regulatory domain after cfg80211 already
has one, a struct ieee80211_regdomain is leaked.

Change-Id: Id28fc9861b9c911a97bd242439eabca097d76258
Reported-by: Larry Finger <Larry.Finger@lwfinger.net>
Tested-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Git-commit: b7566fc363e23f0efd3fa1e1460f9421cdc0d77e
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
[mattw@codeaurora.org: trivially backport to the msm-3.4 kernel]
Signed-off-by: Matt Wagantall <mattw@codeaurora.org>
Signed-off-by: Divya Sharma <c_shard@codeaurora.org>
(cherry picked from commit 271a5d7b68b6ae90a52dd0693ea16522a80a86ab)
cfg80211: export regulatory_hint_user() API

This is to help the hardware configured in world
roaming mode to save power when not connected to
any AP.

CRs-Fixed: 542802
Change-Id: Ia643d0e9848dcd486832973bd6dd186edd7bd4ea
Signed-off-by: Mihir Shete <smihir@codeaurora.org>
Revert "ALSA: fix oops in snd_pcm_info() caused by ASoC DPCM"

This reverts commit 5812381adfde20cb352d3047190ab45ea5bb59f2.
Revert "msm: msm_fb: Fix Regressions because of overmap changes."

This reverts commit 40d83c037cbe0263ebfa20332aa55b8eeb7e1f53.
Revert "msm: msm_fb: Map RGB layers to the max possible size."

This reverts commit f0723ccf455eeb598afb289b8e562f2fb2f28bab.
msm: acpuclock: Fix acpuclk_data null pointer dereference

If acpuclk_data is null, dereferencing it in acpuclk_get_switch_time
causes a kernel panic.  Add pointer check to fix that.

Change-Id: I69b92671c8cf26cb45ec8f1193c147be2ebe4c16
Signed-off-by: Junjie Wu <junjiew@codeaurora.org>
msm: krait-regulator: Update SLEW_RATE constant

The Krait regulators are clocked from an RC oscillator circuit
that could vary in frequency by as much as 25% in extreme
conditions, causing the voltage ramp to be either faster or slower
than the nominal rate. To ensure we wait long enough for the rail
to settle in all conditions, lower SLEW_RATE by 25%.

from caf
commit  92abbdd637cee6f8b2f3ef438f5d727290680f2d

Change-Id: I11cc4e7d57eced2f8f984153d48b4298ee71ec9e
Signed-off-by: Matt Wagantall <mattw@codeaurora.org>
Signed-off-by: Devin Kim <dojip.kim@lge.com>
msm: krait-regulator: correct krait rail settling delay calculation

set_pmic_gang_voltage() updates pmic_vmax_uV to be equal to vmax
prior returning.  Because of this, the settling delay calculation
will always yield 0us. Fix this.

from caf
commit  46d0b10ef7b72fc5756eb290139a6e6595ab2081

Change-Id: I670a0bdecfe72e9ddf663e9a35ef8a6354946224
Signed-off-by: Matt Wagantall <mattw@codeaurora.org>
Signed-off-by: Devin Kim <dojip.kim@lge.com>
Bluetooth fixes

Change-Id: Ie9abdee4d3ba341da1524bcc974db3b99266a3f7
Revert "msm: msm_fb: Do not use ION_IOMMU_UNMAP_DELAYED flag."

This reverts commit c0f1aa3616669bb8803a5e561786725f07ebb5f4.
msm: kgsl: Detect gpu mem entry collisions when using MAP_FIXED flag

When using MAP_FIXED flags, detect collisions with previous gpu memory
entries. Fail mmap() if previous gpu entries exist.

Change-Id: I09f456677e7fc81b8bdf1b2f5724569220c7e897
Signed-off-by: Harsh Vardhan Dwivedi <hdwivedi@codeaurora.org>
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.

Change-Id: Ic04659686e72838a0db518e9303dd037191e3879
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>

Conflicts:
	drivers/video/msm/mdss/mdss_mdp.c
iommu: Make termination of stalled transaction optional

When pagefault happens do not cancel the faulting transaction if
the registered fault handler returns EBUSY error. This way
drivers can control when they want to resume the transaction.

Change-Id: Ia4563da073ab04174803101c3b8ec82b0571850e
Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org>
Signed-off-by: Sakshi Agrawal <sakshia@codeaurora.org>
iommu/msm: check range before mapping.

Make sure iommu_map_range() does not leave a partial
mapping on error if part of the range is already
mapped.

Change-Id: I0ddeb0e0169b579f1efdeca4071fce4ee75a11f8
Signed-off-by: Jeremy Gebben <jgebben@codeaurora.org>
Signed-off-by: Sakshi Agrawal <sakshia@codeaurora.org>
msm: iommu: Convert to clk_prepare/unprepare

Add calls to clk_prepare and unprepare so that MSM can migrate to
the common clock framework. We never unprepare the clocks until
driver remove because the clocks are enabled and disabled in irq
context. Finer grained power management is possible in the future
via runtime power management techniques.

Cc: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Acked-by: Joerg Roedel <joro@8bytes.org>
Signed-off-by: David Brown <davidb@codeaurora.org>
iommu: Split iommu_unmaps

iommu_map splits requests into pages that the iommu driver reports
that it can handle.  The iommu_unmap path does not do the same.  This
can cause problems not only from callers that might expect the same
behavior as the map path, but even from the failure path of iommu_map,
should it fail at a point where it has mapped and needs to unwind a
set of pages that the iommu driver cannot handle directly.  amd_iommu,
for example, will BUG_ON if asked to unmap a non power of 2 size.

Fix this by extracting and generalizing the sizing code from the
iommu_map path and use it for both map and unmap.

Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Joerg Roedel <joro@8bytes.org>