Commit Graph

211987 Commits

Author SHA1 Message Date
Allen Martin
febad2cd1e ARM: tegra: suspend: protect suspend functions with CONFIG_PM
Protect suspend/resume functions behind #ifdef CONFIG_PM.  This
prevents a compile error with CONFIG_PM turned off.

Signed-off-by: Allen Martin <amartin@nvidia.com>
Signed-off-by: Colin Cross <ccross@android.com>
2010-11-24 16:28:34 -08:00
Allen Martin
287241377f ARM: tegra: irq: protect irq suspend with CONFIG_PM
Protect irq suspend/resume functions behind #ifdef CONFIG_PM.
This prevents a link error if CONFIG_PM is turned off.

Signed-off-by: Allen Martin <amartin@nvidia.com>
Signed-off-by: Colin Cross <ccross@android.com>
2010-11-24 16:28:34 -08:00
Allen Martin
1b8f8a55f1 usb: host: tegra: protect bus suspend with CONFIG_PM
Protect the bus suspend/resume functions behind #ifdef CONFIG_PM.
This prevents a compile error if CONFIG_PM is turned off.

Signed-off-by: Allen Martin <amartin@nvidia.com>
Signed-off-by: Colin Cross <ccross@android.com>
2010-11-24 16:28:34 -08:00
Jaikumar Ganesh
44fcde3cc9 serial: tegra_hsuart: Use resources instead of platform data.
Use resources to pass data to tegra_hsuart to set
mapbase, irq.

Signed-off-by: Jaikumar Ganesh <jaikumar@google.com>
2010-11-24 15:11:24 -08:00
Varun Wadekar
9e6a2ba103 [ARM] tegra: support to burn device fuses
Change-Id: Ic12a93d4212b5f9a7802537b8f21e288aa431005
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
2010-11-23 16:44:00 -08:00
Varun Wadekar
c3b77692f4 [ARM] tegra: fuse read/write apis for fuse burning
expose fuse register read and write apis for fuse
burning

Change-Id: Id6785f5506fe9293ddb5072240f49470ca5fcd08
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
2010-11-23 16:44:00 -08:00
Varun Wadekar
e8903adee3 [ARM] tegra: use dma to read/write fuse registers
tegra2 hangs if fuse registers are accessed during an apb dma
operation. war is to use apb dma to read/write fuse registers
instead.

Change-Id: I4d99a1ad56115c0d73e9cd0679cf38f70f922f3d
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
2010-11-23 16:44:00 -08:00
Jaikumar Ganesh
1ff693aee0 [ARM] tegra: Change size of constants from SZ_64 to 64.
Signed-off-by: Jaikumar Ganesh <jaikumar@google.com>
2010-11-23 14:40:55 -08:00
Iliyan Malchev
e9ccef1e98 [ARM] tegra_spdif_audio: support continuous DMA mode
-- Add support for contnuous single-buffered DMA
-- Remove PIO support
-- Added suspend and resume functionality

Signed-off-by: Scott Peterson <speterson@nvidia.com>
Signed-off-by: Iliyan Malchev <malchev@google.com>
2010-11-23 13:49:39 -08:00
Scott Peterson
3707e1c4af [ARM] tegra_spdif_audio: Enable 16 bit packed mode
Enable 16 bit packed fifo format mode to work avoid
channel swapping when dma underrun occurs.

Added suspend/resume functionality so spdif registers
are restored.

Change-Id: Id80e7903b81fd3b3b84af08dba40196121eb6cb7
Signed-off-by: Iliyan Malchev <malchev@google.com>
2010-11-22 15:41:17 -08:00
Chris Fries
230015ed6a [ARM] tegra: i2s: Continuous DMA support
- Refactor DMA interactions to handle continuous single-buffered DMA
- Remove PIO support (obsolete, conflicts with new buffer management)
- Remove sample rate conversion (obsolete)
- Remove error-reporting logic
- Remove TEGRA_AUDIO_IN/OUT_GET/SET_BUF_CONFIG
- Add TEGRA_AUDIO_IN/OUT_GET/SET_NUM_BUFS

Change-Id: I8f21a0bb314aac3b7d1bb4918bda9141e58db38d
Signed-off-by: Iliyan Malchev <malchev@google.com>
2010-11-22 15:41:10 -08:00
Jay Cheng
ea1a88753b usb: host: tegra: rewrite usb suspend/resume routine.
Tegra host controller will time the resume operation to clear the bit
when the port control state switches to HS or FS Idle. This behavior
is different from EHCI where the host controller driver is required
to set this bit to a zero after the resume duration is timed in the
driver.

Poll PORT_SUSPEND bit till the suspend is completed. Write PORT_RESUME to 0
to clear PORT_SUSPEND bit.

Disable disconnect detection during resume.

Change-Id: I30a45dc7e7a87773a93c128877d0f0827e5d44b7
Signed-off-by: Jay Cheng <jacheng@nvidia.com>
2010-11-22 13:05:49 -08:00
Jay Cheng
c543614360 ARM: tegra: usb_phy: Disable disconnect detection during resume
Change-Id: I30a45dc7e7a87773a93c128877d0f0827e5d44b7
Signed-off-by: Jay Cheng <jacheng@nvidia.com>
2010-11-22 13:05:38 -08:00
Robert Morell
d6f7633ef2 video: tegra: host: Fix bounds-checking
The length of the mod_locks array is NV_HOST1X_NB_MLOCKS, not
NV_HOST1X_SYNCPT_NB_PTS.

Change-Id: Ibce054bb8a168f2b83646745f2b62cd282b8ff9d
Signed-off-by: Robert Morell <rmorell@nvidia.com>
Acked-by: Erik Gilling <konkers@android.com>
2010-11-19 19:26:36 -08:00
Robert Morell
d340f9224d video: tegra: Scale colors in pseudopalette
This fixes incorrect colors drawn by clients such as fbconsole.  As
described by skeletonfb's fb_setcolreg: "The values supplied have a 16
bit magnitude which needs to be scaled in this function for the
hardware."

Tested with both r8g8b8 and r5g6b5 pixel depths and fbconsole.

Change-Id: Ie3c3579502ddab8843a8a4dc7049c6efaa5d0ac1
Signed-off-by: Robert Morell <rmorell@nvidia.com>
Acked-by: Erik Gilling <konkers@android.com>
2010-11-19 19:19:25 -08:00
Erik Gilling
a60ea58ebe tegra: video: make tegra_dc_is_yuv_planar return bool
Change-Id: I8adaea9eeb20f1c90b33d41a5b462ab8ee515b49
Signed-off-by: Erik Gilling <konkers@android.com>
2010-11-18 16:27:52 -08:00
Ari Hirvonen
9a3e1502d5 video: tegra: YUV overlay support
Change-Id: I4bed4d37bc275cca9ef69390c217498529121db0
Signed-off-by: Erik Gilling <konkers@android.com>
2010-11-18 16:06:46 -08:00
Nathan Connell
5915336cb1 ARM: tegra: usb_phy: Disable HS disconnect detect for USB2 port
Signed-off-by: Nathan Connell <w14185@motorola.com>
Change-Id: Ia0c24128af0f1def38d0902b15a274582c302ce2
2010-11-18 15:37:25 -08:00
Chris Fries
c706cd5d9c [ARM] tegra: dma: Single buffered continuous DMA
- Added "single buffer continuous DMA" mode in addition to the
  "double buffer continuous DMA" mode that is already implemented
- Changed the queuing of next buffer to be more flexible for
  continuous DMA.  It can now get in-flight right after a transfer
  starts, or whenever the client enqueues a buffer.

Signed-off-by: Iliyan Malchev <malchev@google.com>
2010-11-17 23:07:23 -08:00
Erik Gilling
482c7cd4fa video: tegra: fill in transparency info in 32bpp FB mode
also remove incorrect support for 24bpp

Change-Id: Ic6528760bf2585ca5e7a2a68a200e3346694505e
Signed-off-by: Erik Gilling <konkers@android.com>
2010-11-17 14:13:33 -08:00
Jay Cheng
91e80b7924 usb: host: tegra: Remove programing PTC bits based on bus speed.
Program PTC bits as NORMAL_OP is enough when resume.

Change-Id: I229eb3ef2ebaff72d023179502ec7a8904e87682
Signed-off-by: Jay Cheng <jacheng@nvidia.com>
2010-11-15 11:34:03 -08:00
Erik Gilling
7a58a0e87e video: tegra: add option to autodetect bitdepth from bootloader
Change-Id: I5f17ab96323b3d313473622f572006d01b4716f7
Signed-off-by: Erik Gilling <konkers@android.com>
2010-11-11 18:02:29 -08:00
James Wylder
8cb73bc101 video: tegra: call disable with interrupts disabled.
Change-Id: Idb126c14f6e18efcb64f3f613772640b8bd3fca0
Signed-off-by: Erik Gilling <konkers@android.com>
2010-11-11 18:02:29 -08:00
Dima Zavin
df05ccfa78 ARM: tegra: flush console before reboot
If the console_sem was held while the system was rebooted, the messages
in the temporary logbuffer would not have propogated to all the console
drivers.

This force releases the console sem if it failed to be acquired.

Change-Id: I6eba9d744ef41209d26328a17c7ae19c32d6e8cb
Signed-off-by: Dima Zavin <dima@android.com>
2010-11-11 17:40:47 -08:00
James Wylder
240db6a5cb video: add rgb disable handler
Adjust pinmux on disable in order to save power/leakage

Change-Id: I65b642c128a780aa8932205052ccee199e4c41bf
Signed-off-by: James Wylder <james.wylder@motorola.com>
Signed-off-by: Erik Gilling <konkers@android.com>
2010-11-11 14:16:51 -08:00
Dima Zavin
6ac86d2460 media: tegra: avp: fix a mutex leak on an err path in lib load
Also hold the mutex for longer on cleanup, while deleting
the libs nvmap client. Not strictly necessary...

Change-Id: I4dfdb065211571338053a16bacc2e5412c26ae77
Signed-off-by: Dima Zavin <dima@android.com>
2010-11-10 17:03:15 -08:00
Erik Gilling
fd0e00d6ae video: tegra: delay HDMI hotplug detection until after resume
Change-Id: I87c35dc3e1287fc1d936e554013deb2f92cbd6f4
Signed-off-by: Erik Gilling <konkers@android.com>
2010-11-10 16:50:48 -08:00
Erik Gilling
1da2bd65cf video: tegra: mark a window's handle as unused when it is
Change-Id: Iedc9a26f62e14c0263f0f315e589a672762ab31a
Signed-off-by: Erik Gilling <konkers@android.com>
2010-11-10 15:54:43 -08:00
Dima Zavin
4834f503c1 media: video: tegra: add avp port transport info to debug dump
Change-Id: I7ade4469609ecf87663e6a6733842889b27f7ce5
Signed-off-by: Dima Zavin <dima@android.com>
2010-11-09 18:48:17 -08:00
Dima Zavin
5b5e9b563d media: video: tegra: add debugfs entry for tegra_rpc
For now just includes the existing ports, the peer owners,
and the port and peer state.

Change-Id: I2c6b603ca02dc48acc1c763380ff0f1cb66f482b
Signed-off-by: Dima Zavin <dima@android.com>
2010-11-09 18:48:07 -08:00
Dima Zavin
1ce38cb459 media: video: tegra: wait for remote ack on disconnect
Change-Id: I42bf507b7d644184bd27be6ff53e5974dcfa3797
Signed-off-by: Dima Zavin <dima@android.com>
2010-11-09 17:15:15 -08:00
Jay Cheng
15f59ba827 ARM: tegra: usb_phy: Correct utmi power off sequence
USB_WAKE_ON_CNNT_EN_DEV is only valid when USB controller is in device mode.

Also only one of USB_WAKE_ON_CNNT_EN_DEV and USB_WAKE_ON_DISCON_EN_DEV bits
can be set at any one time.

Change-Id: I76d7fcf73e6ab8fa1610ec4264060c44b221775c
Signed-off-by: Jay Cheng <jacheng@nvidia.com>
2010-11-09 17:02:58 -08:00
Colin Cross
2d73a7392a ARM: tegra: dvfs: Fix dvfs disable config option
Change-Id: If976cc25147d96fd1130f48301017ce696e38f4f
Signed-off-by: Colin Cross <ccross@android.com>
2010-11-09 15:48:55 -08:00
Colin Cross
d50e318877 ARM: tegra: dvfs: Add lock to dvfs_reg
Change-Id: I0496cf37da3a20d697eb4f372c32d01d49352f98
Signed-off-by: Colin Cross <ccross@android.com>
2010-11-09 15:03:27 -08:00
Colin Cross
f58886c359 ARM: tegra: dvfs: Fix locking on external dvfs calls
Change-Id: I9e3a3cc8c6c4424d7f7ded22d886d51f715ec5d5
Signed-off-by: Colin Cross <ccross@android.com>
2010-11-09 15:03:26 -08:00
Colin Cross
5dd546a463 ARM: tegra: dvfs: Add config options to disable dvfs
Change-Id: I401ab5587f28dfabaf0aae1ffa062a2411a1ad92
Signed-off-by: Colin Cross <ccross@android.com>
2010-11-09 15:03:25 -08:00
Erik Gilling
bb42d01d96 [ARM] tegra: cleanup empty functions in mach/fb.h
adds static inline

Change-Id: Iff0473dcc02ad6d10adb878f195b57a2ed6e3e2a
Signed-off-by: Erik Gilling <konkers@android.com>
2010-11-09 13:59:43 -08:00
Erik Gilling
15e220587f video: add short video mode decode to fbmon
Change-Id: Ida529e096688c231029628d3d16d6f8569bfe2c9
Signed-off-by: Erik Gilling <konkers@android.com>
2010-11-09 13:54:42 -08:00
Erik Gilling
961428a649 video: tegra: flush fb_flip workqueue on blank and suspend
Change-Id: I58e9ba73b2fd232e6c1f40946e2e353b90ce5dd7
Signed-off-by: Erik Gilling <konkers@android.com>
2010-11-09 13:54:41 -08:00
Erik Gilling
f1ec3093e5 video: tegra: fix crash when no HDMI modes are supported
Change-Id: I2e23d018d5acb814e7a088921c26c8f305790442
Signed-off-by: Erik Gilling <konkers@android.com>
2010-11-09 13:54:36 -08:00
Dima Zavin
acfd7740ee media: video: tegra: add ref count for remote clock requests
Change-Id: I824f9a27bfefe86211bc71d5f79ea798052b98b7
Signed-off-by: Dima Zavin <dima@android.com>
2010-11-08 13:59:48 -08:00
Dima Zavin
427a648355 ARM: tegra: make vcp/bsea/vde clocks be owned by the AVP
Change-Id: Ic0c3b1dc5cdccf5220d8c6cc8c7ef7883b28a4d1
Signed-off-by: Dima Zavin <dima@android.com>
2010-11-07 23:34:53 -08:00
Dima Zavin
a70a92ebdf ARM: tegra: add avp platform_device
Change-Id: I8229873e1a450b75d31e6ea4ec64647b88d16844
Signed-off-by: Dima Zavin <dima@android.com>
2010-11-07 23:34:53 -08:00
Dima Zavin
20e830c908 media: video: tegra: add support for the AVP media offload engine
Change-Id: Ia72e022ad1217ffe75915465ca0e886b16d1a64a
Signed-off-by: Dima Zavin <dima@android.com>
2010-11-07 23:34:45 -08:00
Dima Zavin
44729054a5 media: video: tegra: Add Tegra RPC support for tegra multimedia framework
Change-Id: I9233c5d7c678f6a9ba1c23af686137bf4d6a4291
Signed-off-by: Dima Zavin <dima@android.com>
2010-11-07 22:37:40 -08:00
Dima Zavin
23e9aed0c0 ARM: tegra: add avp mailbox address to iomap
Change-Id: I5472f6b6c2b8dd955843efd07d0b31d0f379fee6
Signed-off-by: Dima Zavin <dima@android.com>
2010-11-07 22:37:40 -08:00
Dima Zavin
6222412420 ARM: tegra: add missing spdif device declaration in header
Change-Id: If447711b095ec7025f3bbe232e22444839054927
Signed-off-by: Dima Zavin <dima@android.com>
2010-11-07 22:37:40 -08:00
Todd Poynor
7935def33e ARM: tegra: Don't include idle time in irqsoff/preemptoff tracers
Surprise bonus change: Rename tegra_enter_idle to more accurately reflect
what it does.

Change-Id: I1237e1271df693c109b9db8b47421f8a4c3043c3
Signed-off-by: Todd Poynor <toddpoynor@google.com>
2010-11-05 19:10:28 -07:00
Iliyan Malchev
86d007b0f8 [ARM] tegra_i2s/spdif_audio: move allow_suspend to a work queue
Since pm_qos_update_request() may block, we need to make sure that
allow_suspend is always called in process context.

Signed-off-by: Iliyan Malchev <malchev@google.com>
2010-11-05 13:34:43 -07:00
Rebecca Schultz Zavin
dbe75d43f5 Revert "tegra: video: nvmap: Printk if nvmap alloc fails"
This reverts commit e3ad53ad73.
2010-11-05 13:13:50 -07:00