video: tegra: remove free memory check

Used free memory check in allocation policy is not working,
because it doesn't calculate available physical memory size in
same way as android oom killer.

It also breaks kernel build if swapping is enabled.

Remove free memory check from allocation policy.

Change-Id: I214d1829451f313dbace967e87ed4111e688865d
Reviewed-on: http://git-master/r/85227
Reviewed-by: Simone Willett <swillett@nvidia.com>
Tested-by: Simone Willett <swillett@nvidia.com>
video: tegra: dsi: enable dsi panel B

Enable dsi panel B by setting the first bit
in APB_MISC_GP_MIPI_PAD_CTRL_0 register.

Bug 935764
Signed-off-by: Preetham Chandru R <pchandru@nvidia.com>
Change-Id: I9e958e0c9d9e934edf77688fd6a987b5e863392b
Reviewed-on: http://git-master/r/96672
Reviewed-by: Shashank Sharma <shashanks@nvidia.com>
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Kiran Adduri <kadduri@nvidia.com>
Reviewed-by: Animesh Kishore <ankishore@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
arm: tegra: cardhu: add TEGRA_CARDHU_DUAL_DSI_PANEL config option

add TEGRA_CARDHU_DUAL_DSI_PANEL config option to enable or disable dual
dsi panel in cardhu

Bug 935764
Signed-off-by: Preetham Chandru R <pchandru@nvidia.com>

Change-Id: I9a93386c046f5845a3dcf55c575de6b8e67f188d
Reviewed-on: http://git-master/r/96706
Reviewed-by: Simone Willett <swillett@nvidia.com>
Tested-by: Simone Willett <swillett@nvidia.com>
spi: tegra: cleanup in runtime_pm implementation.

Cleaning up runtime pm implementation for the driver.
There is lots of duplicate code which is not require as
it is handled in the runtime framework.

Change-Id: I4494cdd3518cbcb90f24fb3387f38c9859b4f957
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: http://git-master/r/102206
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
spi: tegra: synchronize PPSB late write

When any write is made to PPSB register, it take time
to actual happen in the register due to ARM-PPSB design.
Delay or readback is required to make sure that write is
completed. There is no worst case guaranteed delay and hence
doing the register read to make write completes actually.

Change-Id: Iefd25115e1a9f02c64e83f11a4e249ad9d086d16
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: http://git-master/r/102207
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
asoc: tegra: P1852 machine: Add TDM mode settings

Pass TDM mode variables for CPU dai.
Codec Id is not passed properly, hence use dual instances
of the dai_link operations.

Bug 948478

Change-Id: I13188d5001b8f9c2f2f67ee7a9d3bec89311037d
Signed-off-by: Bob Johnston <bjohnston@nvidia.com>
Reviewed-on: http://git-master/r/103793
Reviewed-by: Nitin Pai <npai@nvidia.com>
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Scott Peterson <speterson@nvidia.com>
video: tegra: detect fbmem alignment on probe

Detect the stride size used by the bootloader.
If DC is not enabled, fallback to a default stride size.

Bug 973111

Change-Id: If04647ddf04a44987cd841062ff30e03fa4d6a02
Signed-off-by: Jon Mayo <jmayo@nvidia.com>
Reviewed-on: http://git-master/r/104031
Reviewed-by: Simone Willett <swillett@nvidia.com>
Tested-by: Simone Willett <swillett@nvidia.com>
net: wireless: bcm4329: Fix GCC 4.6 warning

This module has -Werror turned on, so this was causing the build to
break on GCC 4.6:

drivers/net/wireless/bcm4329/wl_iw.c: In function 'wl_iw_set_pmksa':
drivers/net/wireless/bcm4329/wl_iw.c:5149:5: error: array subscript is above array bounds [-Werror=array-bounds]
drivers/net/wireless/bcm4329/wl_iw.c:5152:5: error: array subscript is above array bounds [-Werror=array-bounds]

It's a partial 'backport' of a change made to the bcmdhd driver:

commit 09a8dc7361d0e603d9935ec7f736fabaa2e6dc7a
net: wireless: bcmdhd: Combined P2P fix

Change-Id: Ie62ad82f884c213553772ac91eaf85e17a807503
Signed-off-by: Dan Willemsen <dwillemsen@nvidia.com>
Reviewed-on: http://git-master/r/88694
GVS: Gerrit_Virtual_Submit
Reviewed-by: Stephen Warren <swarren@nvidia.com>
nvmap: Use linux conventions.

Avoid multiple CONFIG_TEGRA_NVMAP ifdefs.

Change-Id: Ic186a8203d8b2291d3d39ce8b612b33bee16f531
Signed-off-by: Krishna Reddy <vdumpa@nvidia.com>
Reviewed-on: http://git-master/r/103937
Reviewed-by: Simone Willett <swillett@nvidia.com>
Tested-by: Simone Willett <swillett@nvidia.com>
arm: tegra: Enable arm errata 764369

Enable arm errata 764369 for TEGRA_2x and 3x.
Bug 981223
Bug 885467

Change-Id: Ie013dc1ed4f1417a72dda72ea2d079a6534c3933
Signed-off-by: Krishna Reddy <vdumpa@nvidia.com>
Reviewed-on: http://git-master/r/104181
Reviewed-by: Simone Willett <swillett@nvidia.com>
Tested-by: Simone Willett <swillett@nvidia.com>
mfd: tps80031: turn on backup battery charger circuit

The backup battery for the RTC circuit needs to be manually turned
on.  This change turns it on when the driver is first probed, off
during LP0 to prevent excess power draw, and back on again upon
resume.

Bug 986402

Change-Id: Id4768929d6a73546662806f04d98d714997174b0
Signed-off-by: Tom Cherry <tcherry@nvidia.com>
Reviewed-on: http://git-master/r/103425
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
asoc: tegra: utils: fix for multiple instances of extern1 clock.

The extern1 codec clock was not getting switched off whenever
codec goes below BIAS_OFF level. Moreover, there were two
instances of extern1 clock whenever codec was on. Reason behind
this was that, those codecs for which probe function was called
and were not present on board, turned on their extern1 clock, but
clean up routine (for switch device register failure) was not able
to turn off the clock. With this change, a conditional check is
put to turn off the clock.

(Bug 984678)
Signed-off-by: Ankit Gupta <ankitgupta@nvidia.com>

Change-Id: I585ecf73c0cabca856592dcd84e67588dfe13beb
Reviewed-on: http://git-master/r/104073
Reviewed-by: Automatic_Commit_Validation_User
Tested-by: Ankit Gupta (Engrg-SW) <ankitgupta@nvidia.com>
Reviewed-by: Prashant Gaikwad <pgaikwad@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
video: tegra: host: rewrite nvhost_job_pin/unpin APIs

- remove usage of custom interface of nvmap to patch the relocs and
  and pin the gathers/relocs
- convert code that references nvmap_handle to nvmap_handle_ref
- add logic to pin and map only unique gathers and relocs
- rename nvhost_channel_gather to nvhost_job_gather, because it's
  used in nvhost_job code only

Bug 965206

Change-Id: Iaa7fbac9e4a7b08c0a7c1e184b8dd3566e1edfe2
Signed-off-by: Mayuresh Kulkarni <mkulkarni@nvidia.com>
Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com>
Reviewed-on: http://git-master/r/95299
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com>
usb: gadget: android: add the handler for ptp class requests

Adding the handler for control requests of ptp
function driver.

Bug 980195

Change-Id: I3ddfc44d7ec4a98d29c7358be1f1d34799f92be9
Signed-off-by: Rakesh Bodla <rbodla@nvidia.com>
Reviewed-on: http://git-master/r/103007
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
media: video: tegra: Add ad5816 focuser driver

- Implement new focuser ad5816 driver.
- Complies to latest NVC framework.

Bug 947792

Change-Id: I1661de027062d2a9b4112fd24dc255d810c7afa0
Signed-off-by: Sudhir Vyas <svyas@nvidia.com>
Reviewed-on: http://git-master/r/103131
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Sachin Nikam <snikam@nvidia.com>
video: tegra: host: Improve timing of syncpt wait

nvhost_syncpt_wait_timeout() relies on sync point interrupt to
signal reaching the sync point value. With low timeout values, the
resolution is not good enough and an error is returned even when
the value is reached.

Update syncpoint value from hardware when doing a sync point wait and
do an explicit check for reaching the value even if wait returns a
timeout.

bug 984166
bug 986788
bug 987597

Change-Id: I640e32cdcdfa66b8977eac273dd32f62bd72abd6
Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com>
Reviewed-on: http://git-master/r/103827
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Mayuresh Kulkarni <mkulkarni@nvidia.com>
Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com>
usb: tegra: modify USB platform data structures

Modify USB structures of platform data. Based on the new
platform data structures modifying the initialization in
board files.

Bug 887361

Change-Id: Ie6347a078c9a596a4debe21a353e127ddde35220
Signed-off-by: Rakesh Bodla <rbodla@nvidia.com>
Reviewed-on: http://git-master/r/103597
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Rohan Somvanshi <rsomvanshi@nvidia.com>
arm: tegra: usb_phy: add common phy interface

Refactored the phy interface to scale multiple usb
phy hardware versions and for ease of maintenance.

Bug 887361

Change-Id: I08ea9e728f760ca123af7777d3ffabbd71a1aa99
Signed-off-by: Rakesh Bodla <rbodla@nvidia.com>
Reviewed-on: http://git-master/r/103598
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
usb: host: tegra: update ehci to use common phy

Following enhancements are done:
a. Update driver with common phy interface
b. Make host driver independent of phy type and
   remove unnecessary CONFIG variables.

Bug 887361

Change-Id: Ibafa37a048df4377b73029039b04d04a53020bd4
Signed-off-by: Rakesh Bodla <rbodla@nvidia.com>
Reviewed-on: http://git-master/r/103599
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
GVS: Gerrit_Virtual_Submit
usb: gadget: tegra: update udc driver to use common phy

Update the udc driver to use common phy.

Bug 887361

Change-Id: I013c3df22fd7d41718debb96dc8db78f56d73bd1
Signed-off-by: Rakesh Bodla <rbodla@nvidia.com>
Reviewed-on: http://git-master/r/103600
Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
GVS: Gerrit_Virtual_Submit