Terje Bergstrom [Wed, 14 May 2014 12:22:49 +0000 (15:22 +0300)]
gpu: nvgpu: Rewrite PMU boot-up sequence
Rewrite PMU boot sequence as a state machine. At PMU power-up send
initial messages, and reset state machine. At each reply from PMU,
do the next stage of PMU boot and set state.
As now PMU and FECS boot are independent, we need to ensure engine
idle before saving ZBC.
When touch rail get enabled, there is chances of parent rail to be
short and drop the voltage output of parent rail to be 0V. This can
cause the malfunctioning of system which depends on parent rail.
Add the SW-WAR for enabling touch rail on P1761-A04 designs.
- Enable LDO3 (3.3V) to load switch output.
- Enable load switch and then disable parent rail.
Prashant Malani [Tue, 18 Mar 2014 19:06:02 +0000 (12:06 -0700)]
video: tegra: host: gk20a: remove pg_init_mutex
There is a scenario where the pg_init_mutex tries to ge acquired from a
nonstalling threaded ISR. This leads to timeouts while trying to update
the zbc table. Since deferred pg_init is disabled for now, we can remove
the mutex.
Deepak Nibade [Thu, 5 Jun 2014 05:56:59 +0000 (11:26 +0530)]
gpu: nvgpu: fix memory leak of dbg_session
In gk20a_dbg_gpu_dev_release() (when we close nvhost-dgb-gpu sysfs),
we return from function if there is no channel bound to dbg_session
without freeing the dbg_session memory.
If there is no channel bound then do not call dbg_unbind_channel_gk20a()
and then free dbg_session memory always.
Change-Id: Ifb9561ab231a97ce93c8439a1243c7fe9769a163 Signed-off-by: Leo Wang <leow@nvidia.com>
Reviewed-on: http://git-master/r/415648 Reviewed-by: Emad Mir <emir@nvidia.com> Tested-by: Emad Mir <emir@nvidia.com>
When touch rail get enabled, there is chances of parent rail to be
short and drop the voltage output of parent rail to be 0V. This can
cause the malfunctioning of system which depends on parent rail.
Add the SW-WAR for enabling touch rail on P1761-A03 designs.
- Enable LDO3 (3.3V) to load switch output.
- Enable load switch and then disable parent rail.
Laxman Dewangan [Tue, 3 Jun 2014 07:02:11 +0000 (12:32 +0530)]
regulator: core: add support for disabling parent after enabling rail.
Add support on core driver of regulator to disable parent once the
regulator enable. This is needed for some specific purpose to handle
overcurrent on parent rail due to enabling the rail.
Michael Frydrych [Fri, 30 May 2014 10:38:45 +0000 (13:38 +0300)]
video: tegra: dc: disable windows on enabled dc
dc initializes syncpt ids as late as in tegra_dc_init(), thus
hdmi must be plugged at least once, before sync ids are valid.
Disabling windows on hdmi will otherwise lead to attemp of
incrementing invalid syncpt.
If dc is enabled, tegra_dc_init() must have been already called
and it is safe to flush syncpt.
Use pre-allocated DMA buffers for ADMA descriptor and Bounce buffer
instead of dynamic DMA mapping.
This improves SDHCI driver performance by reducing dynamic DMA mapping
overhead.
Sang-Hun Lee [Sun, 1 Jun 2014 06:15:47 +0000 (23:15 -0700)]
regulator: palams: disallow pmic access post shutdown
- Once shutdown has been called against pmic, i2c bus
is shutdown, so pmic cannot enable or disable
regulators
- As such, once shutdown has been called, reject
regulator enable/disable calls
Sang-Hun Lee [Sun, 18 May 2014 01:32:13 +0000 (18:32 -0700)]
i2c: tegra: protect i2c state variables
- i2c state variables cancel_xfer_on_shutdown and
atomic_xfer_only are accessed without any locking,
which could lead to a race
- lock the adapter when accessing these variables
Sang-Hun Lee [Mon, 19 May 2014 21:54:30 +0000 (14:54 -0700)]
PM/Domain: cancel workqueue upon power off
- If there is any workqueue power_off_delayed_work pending when
calling pm_genpd_suspend or its variants, the workqueue will
trigger post pm_genpd_suspend operation, causing a double shutdown
- This is fixing a bug from 3f4475eade08af799d3e1a100e24e1b418abbba5
Arto Merilainen [Tue, 20 May 2014 09:47:20 +0000 (12:47 +0300)]
gpu: nvgpu: Disable pm runtime on shutdown
In some cases the gpu has still work pending while the device is
being suspended. This patch forces pm runtime to be disabled for
the device to avoid powering up the gpu unnecessarily.
Sang-Hun Lee [Tue, 20 May 2014 00:12:30 +0000 (17:12 -0700)]
i2c: tegra: warn on i2c init failure
- If tegra_i2c_init fails during xfer, the error is being
silently ignored, making the debug difficult
- If tegra_i2c_init fails, at least print a warning and
stack trace to make the failure explicit
Roger Ma [Mon, 19 May 2014 05:08:56 +0000 (13:08 +0800)]
arm: tegra: soctherm: Update temp threshold with critical trip temp
Takes critical trip temp into hardware while updating temperature
UP/DN thresholds to ensure that SW shutsown is working at critical
trip temp with UART log of thermal shutdown even.
Philip Rakity [Sun, 1 Jun 2014 19:59:45 +0000 (20:59 +0100)]
ARM: tegra: support 16V voltage for maxim Wall Charger
comment from system engineering:
Since the maximum input voltage of the BQ2419x is 17V
it is safe to set the maximum voltage to 16V for all
platforms. 15V is too low. 17V leaves less margin.
Jordan Nien [Fri, 30 May 2014 15:05:05 +0000 (23:05 +0800)]
input: touchscreen: raydium: update to 64.6
64.6 Change list:
1. Fixed slow scan function.
2. Improve pinch to zoom in mode 0.
3. Enhance the cover range of baseline.
64.5 Change list:
1. Disable point queue function
2. Improve stylus with palm.
3. fix selftest test log file error.
64.4 Change list:
1. Fixed ghost touch detected if smart cover on the screen.
2. Point queue for finger drawing from bezel.
3. Implement kthread function to replace work queue, default is disable.
(#define ISR_POST_HANDLER WORK_QUEUE or KTHREAD in rm31080a_ts.c)
4. improve selftest test time ( about 15 seconds).
64.3 Change list:
1. Add sysfs test mode, usage see Test Mode page.
2. Improve smart cover detection.
3. Disable FB_CALLBACK function.
Change-Id: Iaa98f808d0e2d194d3f2b962e2baaef2cc83111d Signed-off-by: Jordan Nien <jnien@nvidia.com>
(cherry picked from commit 844677c807637381b439be3af45da3d5f677f58f)
Reviewed-on: http://git-master/r/417273 Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit Reviewed-by: Vincent Chen <zochen@nvidia.com> Tested-by: Vincent Chen <zochen@nvidia.com> Reviewed-by: Mitch Luban <mluban@nvidia.com>
Sai Gurrappadi [Thu, 29 May 2014 19:54:38 +0000 (12:54 -0700)]
drivers: cpuquiet: Move init code to __init
Move the runnables governor init code to the correct init function
instead of runnables_start as it should only be run once.
runnables_start/stop can be called multiple times whenever the governor
is switched.
Change-Id: I07f220e7b6a52c8761bebc294fa5648fb8fd9be8 Signed-off-by: Michael I. Gold <gold@nvidia.com>
Reviewed-on: http://git-master/r/416351
(cherry picked from commit 4a46c87239e1c5ea3d2e53ed349fb8908b2877e5)
Reviewed-on: http://git-master/r/416394 Reviewed-by: Harshada Kale <hkale@nvidia.com> Tested-by: Harshada Kale <hkale@nvidia.com>
Sami Kiminki [Fri, 16 May 2014 16:30:30 +0000 (19:30 +0300)]
video: tegra: host: Skip IOVA gap in Tsec carveout mapping
When mapping Tsec carveout to IOVA space, do not add IOVA gap page at
the end. Otherwise, if there is another carveout already mapped that
starts right after the Tsec carveout, the first page of it will be
incorrectly mapped to the IOVA gap page.
Charlie Huang [Fri, 16 May 2014 23:05:04 +0000 (16:05 -0700)]
drivers: platform: tegra: camera: shutdown event
implement shutdown/suspend/resume functions to avoid i2c failures.
add atomic cam_ref to prevent the conflict scenario of system
shutdown but the user space still atempt to access the driver.
Allen Yu [Mon, 26 May 2014 09:42:01 +0000 (17:42 +0800)]
arm: tegra: pm: suppress kmemleak false positive
The memory block for relocating lp0 vector is referenced by
a physical address (i.e. tegra_lp0_vec_start) which kmemleak
can't detect. Mark it as not a leak to avoid false positive.
Change-Id: Ia7fb91dab51972235885d7a087a84ce4aabd690b Signed-off-by: Jinyoung Park <jinyoungp@nvidia.com>
(cherry picked from commit ec34acc1493190c7524d0c543e4af1e52b9b3fc7)
Reviewed-on: http://git-master/r/414751 Reviewed-by: Roger Ma <roma@nvidia.com> Tested-by: Roger Ma <roma@nvidia.com>
GVS: Gerrit_Virtual_Submit Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Vincent Chen [Thu, 22 May 2014 22:36:53 +0000 (15:36 -0700)]
input: touchscreen: raydium: update 64.2
1. Corrected palm judgment when frequency hopping is enabled.
2. Fixed ghost touch detected if smart cover on the screen.
3. Use FB_CALLBACK function to enable/disable touch device.
4. Improve selftest coverage for idle mode
Sai Gurrappadi [Tue, 13 May 2014 21:50:09 +0000 (14:50 -0700)]
drivers: cpuquiet: Fix runnable gov device_busy
On device_busy, the runnable governor stops its sample timer and cancels
any queued runnable_work. However, it is possible for the cpuquiet
platform driver to call device_busy on cpuquiet_quiesence/wake_cpu calls
which can be invoked from the queued runnable_worker thread. This will
lead to the runnable_worker thread waiting infinitely on it self
finishing in cancel_work_sync.
Fix this by removing the cancel_work_sync call as it isn't necessary
because the worker doesn't requeue it self. Stopping the timer is
sufficient.
Jordan Nien [Wed, 28 May 2014 09:38:09 +0000 (17:38 +0800)]
arm: tegra: Correct touch regulator.
- Touch regulator for P1761 A03 is ldousb.
Change-Id: I39aea58540d8795c20305eef976536632bc56672 Signed-off-by: Jordan Nien <jnien@nvidia.com>
Reviewed-on: http://git-master/r/416004 Reviewed-by: Steven Kao <skao@nvidia.com>
GVS: Gerrit_Virtual_Submit Reviewed-by: Xiaohui Tao <xtao@nvidia.com> Reviewed-by: Vincent Chen <zochen@nvidia.com> Reviewed-by: Eric Chuang <echuang@nvidia.com>
Jinyoung Park [Thu, 20 Mar 2014 08:51:56 +0000 (17:51 +0900)]
staging: iio: adc: palmas: Add current source init
Added current source initialization for CH0 and CH3 before
auto conversion configuration.
The current sources should be configured with preferred settings
before perform auto conversion to get expected result of auto conversion.
Change-Id: I1c5440f8021a90f3eee4b80c3f70ab1956ac0cf5 Signed-off-by: Jinyoung Park <jinyoungp@nvidia.com>
(cherry picked from commit 9922a2d86d54a8eb353b9fc33ba345e19e20a05b)
Reviewed-on: http://git-master/r/414750 Reviewed-by: Roger Ma <roma@nvidia.com> Tested-by: Roger Ma <roma@nvidia.com> Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit Reviewed-by: Thomas Cherry <tcherry@nvidia.com> Reviewed-by: Diwakar Tundlam <dtundlam@nvidia.com>
iio: adc: palmas: add dt support for autoconversion
Add DT parsing for auto conversion configurations on palmas-adc.
The autoconversion subnode is require as
gpadc {
::::
auto_conv0 {
// Auto-conversion 0 parameters
};
auto_conv1 {
// Auto-conversion 1 parameters
};
::::::::
};
Change-Id: Id730213f6d5c685efef65cee9c74c4e33c81c66c Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: http://git-master/r/392401
(cherry picked from commit cc243afc6ecf4b49d2193605c37c6cc61aff6ae9)
Reviewed-on: http://git-master/r/414747 Reviewed-by: Roger Ma <roma@nvidia.com> Tested-by: Roger Ma <roma@nvidia.com>
GVS: Gerrit_Virtual_Submit
Roger Ma [Sat, 24 May 2014 13:18:51 +0000 (21:18 +0800)]
arm: tegra: tn8: Add new P1761-A04-E dts
Enabling Tdiode auto shutdown based on BOM revision,
Tdiode temperature 95C corresponds to Tdiode ADC raw
value 2025 with current source 400uA on P1761-A04-E.
Change-Id: Ib4701a7583b6afeae32667654891be74a9a186b0 Signed-off-by: Roger Ma <roma@nvidia.com>
(cherry picked from commit 5f1bd8af471763213746805f835b8835f3bf5b2a)
Reviewed-on: http://git-master/r/414746
GVS: Gerrit_Virtual_Submit Reviewed-by: Eric Chuang <echuang@nvidia.com>
Lael Jones [Tue, 25 Mar 2014 22:58:55 +0000 (15:58 -0700)]
video: tegra: dc: update cursor clip window
- Cursor clip window register bits are 29:28 and
should use a shift of 28 instead of 29
- After programming the clip window in
tegra_dc_ext_cursor_clip it is necessary to do
an update so subsequent r-m-w or the register
will pick up the correct value
- Shift the clip window into the correct bits
inside of set_cursor_start_addr
Modify initialization sequence to let iqs253 sensor
tune itself to the environment. Once tuning is done
disable ATI, DYCAL, ACF, specify LTA Halt time as always and
keep the device in streaming mode as event mode can have issues.
With this, the delay to detect user proximity event reduced
from 20 secs to less then 1 secs. However, the very first time
after reboot when user stays in vicinity of device for around 30 secs,
detecting user away takes around 30 secs. After that this issue does not
occur.
Narayan Reddy [Fri, 9 May 2014 08:28:30 +0000 (13:58 +0530)]
net: wireless: bcmdhd: optimize scan time
modify DHD_SCAN_UNASSOC_ACTIVE_TIME and
DHD_SCAN_ASSOC_ACTIVE_TIME to 65 and 35 msec to save
300 msec of active scan time in non associated state and
100 msec in case of associated state.
Daniel Solomon [Fri, 18 Apr 2014 04:15:01 +0000 (21:15 -0700)]
video: tegra: dc: fix nvsd smooth_k handling
When smooth_k is enabled, the NVSD driver determines
that hardware pixel gain and brightness calculations
are complete when it sees to consecutive and equal
brightness values. However, since multiple raw K
values are mapped to a single brightness value,
this check can be misleading.
To fix this, we continue checking for new brightness
values for a few additional frames after seeing repeating
brightness results. The number of frames is calculated
from smooth_k_incr.
Manoj Gangwal [Fri, 23 May 2014 14:12:06 +0000 (19:42 +0530)]
Asoc: Fix BT voice call issue
1) When call window is minimised, 'touch'sound
gets played. In this case DAM is not used.
So this will bypass the DAM used in BT call
and cause the audio loss in DL.
This change will not allow to bypass the DAM
when BT voice call is in progress.
Laxman Dewangan [Thu, 22 May 2014 10:02:39 +0000 (15:32 +0530)]
power: lc70903f: return old temp of device read failed
It is observed that device read failed once in while when reading
temp from device. The next read success. To resolve the temp read fail
from device, return last temperature read from device.
Allen Yu [Mon, 19 May 2014 16:33:36 +0000 (00:33 +0800)]
i2c-algo-bit: fix scheduling while atomic
i2c transfer using bit-banging may be in atomic context.
This patch avoid relinquishing processor during try_address()
in case of atomic context transfer.
Jon Mayo [Thu, 1 May 2014 18:36:02 +0000 (11:36 -0700)]
video: tegra: dc: fix typo in window emc
conditional AND (&&) was mistakenly typed as Bitwise AND (&), resulting
in the condition evaluting to true in some cases when window should not be
considered for EMC bandwidth.
Change-Id: Ie30f2adff81c8a0f469a19e0263880fdb9b9379b Signed-off-by: Jon Mayo <jmayo@nvidia.com>
Reviewed-on: http://git-master/r/404042
(cherry picked from commit 88abc9c97891b33659e2d445c1f71400f1713b6b)
Reviewed-on: http://git-master/r/413455 Reviewed-by: Harshada Kale <hkale@nvidia.com> Tested-by: Harshada Kale <hkale@nvidia.com>
Change-Id: I9ce15517047974d08026b4cbfeb889f31db9d31d Signed-off-by: Xia Yang <xiay@nvidia.com>
Reviewed-on: http://git-master/r/404643
(cherry picked from commit 0b0fa33d528fdc3252489d792a3dabc00eae51f6) Signed-off-by: Peter Zu <pzu@nvidia.com>
(cherry picked from commit 8ecabd43bfb0a1c4ddc06ababd5a58d1f12cf2a2)
Reviewed-on: http://git-master/r/412307 Reviewed-by: Thomas Cherry <tcherry@nvidia.com> Tested-by: Thomas Cherry <tcherry@nvidia.com>
Xia Yang [Thu, 8 May 2014 23:21:55 +0000 (16:21 -0700)]
arm: tegra: t124: add emc clock for disp la
Add new EMC clock for display controller latency allowance
Change-Id: Ia73de5b447b2344f9a9c475e9b89a2387cfcc0e0 Signed-off-by: Xia Yang <xiay@nvidia.com>
Reviewed-on: http://git-master/r/407158
(cherry picked from commit 82de4e40a59cff30bb504954d11b4aeed396699f) Signed-off-by: Peter Zu <pzu@nvidia.com>
(cherry picked from commit c0e2349e966cc1b8d3d4a9fd7ccd7ebd53b07fd2)
Reviewed-on: http://git-master/r/412306 Reviewed-by: Thomas Cherry <tcherry@nvidia.com> Tested-by: Thomas Cherry <tcherry@nvidia.com>
Use the new LA API. The new API gives DC feedback when a display
client's new LA value is less than the minimum LA for the current EMC
frequency. DC needs to take some corrective action for such cases.
Detect when a display client's new LA value is less than the minimum LA
for the current EMC frequency. Return an error in such a case and let
the display driver take corrective action.