gpu: ion: Secure buffers at allocation time

Currently, buffers allocated as secure must be explicitly secured
with a lock call. Considering all buffers from secured heaps are now
always secured and will never be mapped in the non-secure world,
this extra lock call is redundant. Lock the buffer at allocation
time instead of requiring clients to do so explicitly. Reference
counting will ensure correctness until clients remove the lock/unlock
calls.

Change-Id: I1593b6ec651b13b22171997606c915b8f51a05fd
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
Kconfig: Add config option to support vmalloc savings

The virtual space belonging to any subsystem which is
expected to have a lifetime of the entire system can be
reclaimed. Adding config option to enable or disable
this feature.

Change-Id: I56faef4b71c948185fdfe336054a5951dfa8d011
Signed-off-by: Neeti Desai <neetid@codeaurora.org>
msm: Allow lowmem to be non contiguous and mixed.

Any image that is expected to have a lifetime of
the entire system can give the virtual address
space back for use in vmalloc.

Change-Id: I81ce848cd37e8573d706fa5d1aa52147b3c8da12
Signed-off-by: Neeti Desai <neetid@codeaurora.org>
msm: Increase the kernel virtual area to include lowmem

Even though lowmem is accounted for in vmalloc space, allocation
comes only from the region bounded by VMALLOC_START and VMALLOC_END.
The kernel virtual area can now allocate from any unmapped region
starting from PAGE_OFFSET.

Change-Id: I291b9eb443d3f7445fd979bd7b09e9241ff22ba3
Signed-off-by: Neeti Desai <neetid@codeaurora.org>
msm: Adjust the low memory boundary

The unused virtual address space in low memory is given to
vmalloc for use. This reduces the low memory space and
increases vmalloc space. Adjust the vmalloc_min in order
to increase the low memory.

Change-Id: I0dbef5b6e5ec3d19f5f93f06ed03a4cf1215dc4d
Signed-off-by: Neeti Desai <neetid@codeaurora.org>
msm: Update the kernel log messages

After reclaiming vmalloc and adjusting lowmem, the two regions
are no longer contiguous. Update the messages printed during
bootup to list all regions corresponding to low memory and vmalloc
respectively

Change-Id: I2aeb25026c068e27860c3df1496fc6f5c420b818
Signed-off-by: Neeti Desai <neetid@codeaurora.org>
ARM: dts: msm: Update device tree with memory map information for 8974

Update the device tree in order to be aligned with the latest memory
map. As the venus and adsp images are relocatable, reclaim the memory
that was previously occupied by non relocatable images of these
subsystems.

Change-Id: I4c4ff452f01877378247d275a9a86ee88a1948cb
Signed-off-by: Neeti Desai <neetid@codeaurora.org>
defconfig: Enable config to allow vmalloc savings

Enable the config ENABLE_VMALLOC_SAVINGS to reclaim
vmalloc space in low memory for msm8974.

Change-Id: If8bf86338ec19d1659943e2f514d19881fd46d72
Signed-off-by: Neeti Desai <neetid@codeaurora.org>
Kconfig: Enable config to allow vmalloc savings

Enable the config to reclaim the vmalloc space in lowmem
and disable the map around the hole config, as both the
configs cannot be enabled together.

Change-Id: I91adf88f527ddc14f3fde452c6e72bde596ce06d
Signed-off-by: Neeti Desai <neetid@codeaurora.org>
mm: panic on the first bad page table entry access

Sometimes having a number of bad page table entries precipitates in
a crash much later. Because of this, we do not have any context for
the point at which the first bad pte entry was encountered. Hence,
panic on first such instance to help gather context for debug.

Change-Id: Idddf2b977214eb1463d08e16630e98264b9af487
Signed-off-by: Pushkar Joshi <pushkarj@codeaurora.org>
msm: acpuclock-8226: Increase the 8610 max DDR vote to 333MHz

The RPM is now capable of scaling DDR to 333Mhz safely.
Increase the maximum acpuclock vote for DDR to 333MHz.

Change-Id: If75cd51e2af2c004d44cf9463a9f60de97ef6bc7
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
ASoC: msm: Parse headset jack type

Headset jack type can be either normally open
or normally closed. Read the on-board headset
jack type from device tree.

CRs-fixed: 543701
Change-Id: I5860a67fae5c9853be251ccad10c221021982976
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
ARM: dts: msm: Add board specific jack type for msm8x26

The headset jack can be normally closed(NC) or normally open(NO)
Add NC type for boards that have NC jack type.

CRs-fixed: 543701
Change-Id: I9709d59a9f005fbc044a42e43b0810312cfa1c8c
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
msm: audio: qdsp6v2: Change acdb_mmap size variable to unsigned

The acdb_mmap fuction does a size calculation but
stores the result in an int which makes negitive
numbers possible. Changing the variable to unsigned
ensures that the size used is never out of bounds.

Change-Id: Iffd9c1440d2f28b703a77993fdbb3ccd18f30694
CRs-fixed: 548145
Signed-off-by: Ben Romberger <bromberg@codeaurora.org>
ASoC :msm: Increase Proxy buffering

-Proxy buffering can overflow if BT playback setup takes a lot of time
-Fix this by increasing the proxy buffer size so that we will end
 up buffering the additional data that can come in during this time

Change-Id: I3b9acc848e0922bb26c87845fc6164f4266fbfa9
Signed-off-by: Amit Shekhar <ashekhar@codeaurora.org>
mdss: display: Add support for dynamic FPS

Add sysfs entry for dynamic FPS update mode. Add support to
change FPS in the following scenarios:
1. Store the FPS and change the clocks only when Suspend/resume
   happens. This is the default configuration.
2. Change the FPS immediately by updating the clocks. Video
   mode engine is disabled and then enabled when clock rate
   is updated.

CRs-Fixed: 488453
Change-Id: I1722d54d9fbfdfbd7d22e02d8776a0f60dc86141
Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
ARM: dts: msm: Add support for Dynamic Fps

Add properties to DSI panel node to support
dynamic FPS. One property is to enable this feature and the
second property is the control when frame rate will be changed.

CRs-Fixed: 488453
Change-Id: I24f6fe88eece327f97212d2aff06100e83164383
Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
wcnss: Add more PMU registers to register dump list

When a WDI timeout or Watchdog bite happens at WCNSS, certain WCNSS
registers are logged for debug purpose. Add a number of PMU registers to
this debug list.

CRs-Fixed: 548094
Change-Id: I00f997df387b3ea588998f3ca2f7be0ed6effbb3
Acked-by: Mihir Shete <smihir@qti.qualcomm.com>
Signed-off-by: Sameer Thalappil <sameert@codeaurora.org>
ARM: dts: msm: reserve memory for splash screen on 8x10

Earlier, display driver was allocating the memory for
splash screen feature.   The splash image was copied
to the allocated memory during LK to kernel transition.
Now, instead of allocating and copying, display driver
reserves the splash screen memory until the first display
update.

Change-Id: Ia8f37aa3390d6ad533cfd44cf3839e84afb9a3c3
Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org>
mmc: print an error on FLUSH timeout

Up until now the FLUSH timeout error was not printed and there
was no way to know if the FLUSH completed successfully or not.
Printing the FLUSH failure will help to identify if FS corruption
happened due to this timeout.

Change-Id: Ibbb51d030d7130d63974a1b4319ad4a24621c595
Signed-off-by: Maya Erez <merez@codeaurora.org>
Signed-off-by: Konstantin Dorfman <kdorfman@codeaurora.org>