summaryrefslogtreecommitdiff
path: root/drivers/video
AgeCommit message (Collapse)Author
2011-02-20video: tegra: Change overlay spinlock to mutexDan Willemsen
We call tegra_overlay_put inside the overlay lock, which can do a flip. It's not safe to do a flip in an atomic context. Change-Id: I4b043737a3eede0d47b8269a2d40e7c739f75df3 Reviewed-on: http://git-master/r/20087 Reviewed-by: Daniel Willemsen <dwillemsen@nvidia.com> Tested-by: Daniel Willemsen <dwillemsen@nvidia.com> Reviewed-by: Prajakta Gudadhe <pgudadhe@nvidia.com> Reviewed-by: Jonathan Mayo <jmayo@nvidia.com>
2011-02-18video: tegra: nvmap: fix potential deadlockKirill Artamonov
Enabled mutex debugging reavealed potential deadlocks introduced with compaction. Handle spin lock replaced with mutex. Heap functions cannot be protected with spinlock because they call kernel slab allocation functions which cannot be called from atomic context. nvmap_client ref_lock is also replaced with mutex. Otherwise we cannot access heap parameters protected by mutex nvmap_handle lock. Extra locking for handle->owner removed. bug 793364 Change-Id: I635ce9ebf259dd7bf8802457567f93b7be5795ea Reviewed-on: http://git-master/r/19850 Reviewed-by: Kirill Artamonov <kartamonov@nvidia.com> Tested-by: Kirill Artamonov <kartamonov@nvidia.com> Reviewed-by: Daniel Willemsen <dwillemsen@nvidia.com>
2011-02-17video: tegra: Fix handling non-zero Y offsetTaekhyun Kim
Change-Id: I6ce3f66075856397b394f433a4ee29ff3357b548 Reviewed-on: http://git-master/r/16977 Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Tested-by: Varun Colbert <vcolbert@nvidia.com>
2011-02-16merge: video: tegra: fix HDMI merge issueDan Willemsen
tegra_hdmi_writel should be _tegra_hdmi_writel in this function Change-Id: I7bbd85b634cd6dbd67637db57b66559cb092c8ba Reviewed-on: http://git-master/r/19664 Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Tested-by: Varun Colbert <vcolbert@nvidia.com>
2011-02-16video: tegra: add modeset switch to trigger ueventsDan Willemsen
Change-Id: I3b060b622a593d48319a442072a21d0c4f9527ae Reviewed-on: http://git-master/r/19049 Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Tested-by: Varun Colbert <vcolbert@nvidia.com>
2011-02-16video: tegra: fix max yres in stereo hdmi caseChong Zhang
tegra_fb_set_windowattr() has logic to adjust window y according to yres, however when in stereo mode, the max y allowed should be v_active, which could be larger than yres. bug 784597 Change-Id: I63342be8e2d87396502574f3a8dd0fb2769a47a8 Reviewed-on: http://git-master/r/17537 Reviewed-by: Chong Zhang <chzhang@nvidia.com> Tested-by: Chong Zhang <chzhang@nvidia.com> Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Tested-by: Varun Colbert <vcolbert@nvidia.com>
2011-02-16[tegra: HDMI: stereo] fix VIC for 720p stereo modeChong Zhang
VIC for 720p stereo mode should be 4 (60Hz) or 19 (50Hz). bug 792143 Change-Id: I3edb468a992842ed6a3247fbab02970b0c078acb Reviewed-on: http://git-master/r/19468 Reviewed-by: Chong Zhang <chzhang@nvidia.com> Tested-by: Chong Zhang <chzhang@nvidia.com> Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Tested-by: Varun Colbert <vcolbert@nvidia.com>
2011-02-16video: tegra: nvmap: replace mutex with spinlockKirill Artamonov
There are places where nvmap_free_handle_id is called when interrupts are disabled and mutex cannot be used as nvmap handle lock. Change-Id: Icc220fe627c08f21c677d936a54f70c818dc8e8c Reviewed-on: http://git-master/r/19489 Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Tested-by: Varun Colbert <vcolbert@nvidia.com>
2011-02-15merging android-tegra-2.6.36 into git-master/linux-2.6/android-tegra-2.6.36Nitin Kumbhar
Conflicts: drivers/net/wireless/bcm4329/Makefile Change-Id: I13ed89657bb43ac906c6424372050df5fd681374
2011-02-14Merge branch 'linux-tegra' into android-tegraErik Gilling
2011-02-14video: tegra: add some missing mutex locking to nvhost_cdmaPrajakta Gudadhe
Change-Id: Ie4606d9a5154090274168babc110ea2d79747c05 Signed-off-by: Erik Gilling <konkers@android.com>
2011-02-14video: tegra: hdmi stereo mode set fixChong Zhang
Reverting previous hdmi hotplug fix (commit 633a7967cad4454327572f85fbdf5cd88eb68b78). It doesn't seem to fix hotplug problem on ventana, and it is causing tegra_dc_enable() to be called before we set up hdmi mode properly. It's no longer needed when we set ventna_hdmi_enb=1. The 5ms sleep time after tegra_dc_enable() is no longer needed, as the tegra_dc_enable() is removed from tegra_dc_hdmi_detect_worker(). bug 784597 Change-Id: Ibd2ef95f45bec23031e6f839490f06a2832c6931 Reviewed-on: http://git-master/r/17084 Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Tested-by: Varun Colbert <vcolbert@nvidia.com>
2011-02-14Merge branch 'linux-tegra-2.6.36' into android-tegra-2.6.36Rebecca Schultz Zavin
2011-02-14video: tegra: nvmap: Fix broken optimizationkartamonov
An attempt had been made to reduce the number of pte operations while patching relocs. The optimization was incorrectly coded and was not providing the expected speedup. Credit for the find goes to Peter Pipkorn. Change-Id: Ic83b20ee470e54d5053f747dbcbdf7b038b7c7c4 Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
2011-02-11nvmap: implementing K36 carveout compactorKirill Artamonov
bug 762482 Change-Id: Ifadebc1b0c4eb0df89e179091acca0ff6e527e56 Reviewed-on: http://git-master/r/15743 Reviewed-by: Kirill Artamonov <kartamonov@nvidia.com> Tested-by: Kirill Artamonov <kartamonov@nvidia.com> Reviewed-by: Varun Colbert <vcolbert@nvidia.com>
2011-02-09merging android-tegra-2.6.36 into git-master/linux-2.6/android-tegra-2.6.36Nitin Kumbhar
Conflicts: drivers/video/tegra/dc/hdmi.c Change-Id: Ia65c693bf49160e3906df68403129ba1e5545912
2011-02-07Merge branch linux-tegra-2.6.36 into android-tegra-2.6.36Erik Gilling
Change-Id: I6fcdbcd0eb7103ac580deb94faf79959a5818ba1
2011-02-07video: tegra: only enable HDMI features if detected from edidErik Gilling
Change-Id: I94c5c83c25a8aa1de344339f5759953074488720 Signed-off-by: Erik Gilling <konkers@android.com>
2011-02-07video: fbmon: add HDMI dectetion to fbmod edid parsingErik Gilling
Looks for ieee registration numver 0x000c03 as per HDMI spec. Change-Id: I6875b24c66e8754510edabcb4f9ba682a50d6ac1 Signed-off-by: Erik Gilling <konkers@android.com>
2011-02-04merging android-tegra-2.6.36 into git-master/linux-2.6/android-tegra-2.6.36Nitin Kumbhar
Conflicts: arch/arm/mach-tegra/include/mach/dc.h drivers/video/tegra/dc/hdmi.c drivers/video/tegra/host/nvhost_acm.c Change-Id: Iddf74984cc02f08dca3738967c0580ba7c375337
2011-02-03Merge branch linux-tegra-2.6.36 into android-tegra-2.6.36Erik Gilling
Change-Id: I65d011f4a13d99ffc617a807d551d5869b739662
2011-02-03video: tegra: add height/width to dc and fbErik Gilling
Change-Id: I22c280928079af04263375fce63a87776588a457 Signed-off-by: Erik Gilling <konkers@android.com>
2011-02-02Merge branch linux-tegra-2.6.36 into android-tegra-2.6.36Erik Gilling
Change-Id: I870875673113113940a47d30010683e51b12a27b
2011-02-02video: tegra: set h/v sync polarity for HDMIErik Gilling
Change-Id: I4be0eb963c3779b9313ef94476b1589059d4aa3c Signed-off-by: Erik Gilling <konkers@android.com>
2011-02-02video: tegra: support v/h sync polarityErik Gilling
Change-Id: Ida82a70efaeadc9d5b11d8703e688063680b72a8 Signed-off-by: Erik Gilling <konkers@android.com>
2011-02-02video: tegra: correct HDMI h/vsync polairty in some modesErik Gilling
Change-Id: I0e988d1724461ff2d5bd1009f2fdc379bd154703 Signed-off-by: Erik Gilling <konkers@android.com>
2011-01-31video: tegra: Fix HDMI mirroring corruptionDan Willemsen
The new overlay code had this change commented out, because I hadn't figured out how to get the resolution of the display outside of the fb driver. This change now grabs it from the h_active and v_active of the current mode. Old Change: video: tegra: Fixed the HDMI corruption issue. If internal panel has different resolution compared to HDMI panel, then window attributes are calculated differently, this causes HDMI panel to show corruption. This is fixed by checking actual display resolution while computing window attributes. Bug 784995 Change-Id: I1ba2a85355ae02ed8914fbc32ea695f53ff9a947 Reviewed-on: http://git-master/r/17139 Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Tested-by: Varun Colbert <vcolbert@nvidia.com>
2011-01-28[video: tegra: nvmap] perform cache maintenance for rw_handleMinwuk Lee
Need cache maintenance on rw_handle to remove display garbage issue which happens randomly. Bug 778138 Change-Id: I227913d1e49d7c28a1a776e2b946cfa0cc7e9803 Reviewed-on: http://git-master/r/17236 Reviewed-by: Niket Sirsi <nsirsi@nvidia.com> Tested-by: Niket Sirsi <nsirsi@nvidia.com>
2011-01-28nvmap: Optionally check global list for IOC_GET_IDRobert Morell
For NVMAP_IOC_GET_ID, if the requested handle isn't found in the client-private list, check the device-wide handles if allowed (global handles or superuser). The proper way to share memory between clients is to first call IOC_GET_ID from the client who owns the memory, pass the resulting ID to the new client, and then use IOC_FROM_ID in the new client to get a handle. However, some (broken) legacy applications did both IOC_GET_ID and IOC_FROM_ID steps in the new client. To support those applications but hopefully prevent new applications from growing the same behavior, the NVMAP_SEARCH_GLOBAL_HANDLES config option was added that restores the old behavior (default N). Note that even with this option enabled, the client issuing the IOC_GET_ID call must be privileged to access the handle provided. In practice, this means the global list search only works for clients who have opened the /dev/knvmap super device node. Change-Id: I6a4490de922864d9119b24e610cfa127ec64bdc7 Signed-off-by: Robert Morell <rmorell@nvidia.com> Reviewed-on: http://git-master/r/14431 Reviewed-by: Niket Sirsi <nsirsi@nvidia.com> Tested-by: Niket Sirsi <nsirsi@nvidia.com>
2011-01-27tegra : HDMI: hdmi hot plug detection modificationMinwuk Lee
When tegra_dc_hdmi_detect is triggered with high HPD Interrupt, but there's no previous trigger of low HPD interrupt, by some specific HW design, then, there's no switch change, no hotplug_handling is getting called because 1=>1 change do nothing in switch_set_state. Add this change for safe operation. Bug 779317 Change-Id: I79f9ad24616388a9eb5156d53b12676b96665c38 Reviewed-on: http://git-master/r/16285 Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Tested-by: Varun Colbert <vcolbert@nvidia.com>
2011-01-27video: tegra: Support dither settingsChao Jiang
Support dither settings in display control structure by writing color control registers. Change-Id: I57ceb22a4b96bc507e15ad97893ec19a5be44ec7 Reviewed-on: http://git-master/r/15906 Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Tested-by: Varun Colbert <vcolbert@nvidia.com>
2011-01-27video: tegra: Support for post power-on actionsChao Jiang
Add support for extra actions that have to be done after power on the panel. fixes bug 767252 Change-Id: I68b0c4d03818c2722149fcba38b6eb222157d209 Reviewed-on: http://git-master/r/15766 Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Tested-by: Varun Colbert <vcolbert@nvidia.com>
2011-01-27video: tegra: Multi client overlay managementDan Willemsen
This creates a new device node per head - /dev/tegra_dc%u. There are a number of ioctls in linux/tegra_overlay.h to open, close, and flip overlays. This is a replacement for the extensions in the tegra fb interface, but does not remove that functionality for compatibility reasons. Once everyone has moved, we can remove the tegra fb extensions. Change-Id: Id78a94482637a7ce229ec64eb5feaf2dec2b7804 Reviewed-on: http://git-master/r/16700 Reviewed-by: Daniel Willemsen <dwillemsen@nvidia.com> Tested-by: Daniel Willemsen <dwillemsen@nvidia.com>
2011-01-27video: tegra: Tiled surface supportDan Willemsen
Change-Id: Ib991078ae8fb3d91e16bcf038796f0e10344e2c4 Reviewed-on: http://git-master/r/16697 Reviewed-by: Daniel Willemsen <dwillemsen@nvidia.com> Tested-by: Daniel Willemsen <dwillemsen@nvidia.com>
2011-01-25[tegra: HDMI: hdcp] Fix warning issueMinwuk Lee
Need to put tegra_nvhdcp_suspend ahead of spin_lock_irqsave() to avoid warning while device enters into suspend (LP0) Bug 781575 Change-Id: Iefbea823dad71e21ecd71c48007bebc9cbe10f0d Reviewed-on: http://git-master/r/16687 Reviewed-by: Niket Sirsi <nsirsi@nvidia.com> Tested-by: Niket Sirsi <nsirsi@nvidia.com>
2011-01-25nvhost: Reimplement null kickoff functionality.Dan Willemsen
For each channel submit where null kickoff is requested, we don't place the user's commands in the pushbuffer. All necessary context switches, syncpoint increments and waitbase increments do happen though. Update: Add NULL_KICKOFF ioctl to use instead of FLIP, this prevents kernel ABI breakage. Bug 717235 Previous Id: I51c323729ea57993a5b52fb395ab90cb8608ee6b Previously Reviewed: http://git-master/r/5091 Change-Id: I4f92db457aff6e1c3a8d454255c4b051c4663360 Reviewed-on: http://git-master/r/15882 Reviewed-by: Daniel Willemsen <dwillemsen@nvidia.com> Tested-by: Daniel Willemsen <dwillemsen@nvidia.com> Reviewed-by: Varun Colbert <vcolbert@nvidia.com>
2011-01-25Fixed Multiple HDMI Hotplug detection.Gaurav Sarode
Fixed Bug 748794 Added 5 ms delay to allow pin voltage to stabilize. Change-Id: I0040bd1d4db074971ca67aabf2569b3173529103 Reviewed-on: http://git-master/r/16333 Tested-by: Gaurav Sarode <gsarode@nvidia.com> Reviewed-by: Jonathan Mayo <jmayo@nvidia.com> Reviewed-by: Peter Zu <pzu@nvidia.com> Reviewed-by: Min-wuk Lee <mlee@nvidia.com> Reviewed-by: Shail Dave <sdave@nvidia.com>
2011-01-24Merge remote branch 'tegra/linux-tegra-2.6.36' into android-tegra-2.6.36Rebecca Schultz Zavin
Change-Id: Ifc4b876bb673b2f3beaa3c5995bc3d527f6f717d
2011-01-24video: tegra: nvmap: Several changes to carveout killerRebecca Schultz Zavin
-Add a module param to enable/disable carveout killer -Fix race condition in code to wait for something to free memory after firing carveout killer -Fix the check for current so we always compare task->group_leaders Change-Id: Ie030978827dce6b0fbbfa1db0d80e4abe59eaa51 Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
2011-01-24video: tegra: incresase delay in underflow recoveryErik Gilling
Change-Id: I8093c83a2749c63b6ece051cc9b892d87e55fe04 Signed-off-by: Erik Gilling <konkers@android.com>
2011-01-24Merge branch linux-tegra-2.6.36 into android-tegra-2.6.36Erik Gilling
Change-Id: I31c6619f888c36cfe571fda8593f6e1172810ba9
2011-01-24video: tegra: dump host state when timing out on suspendErik Gilling
Change-Id: I718fb071ac74f5a051a7d5b9fcdd782163ed48b6 Signed-off-by: Erik Gilling <konkers@android.com>
2011-01-21tegra: dc: fix deadlockTom Cherry
There's a deadlock when resuming tegradc. tegra_dc_resume locks dc->lock, then later tegra_dc_set_out_pin_polars attempts to lock the same lock. This is incorrect behavior and causes deadlock. tegra_dc_set_out_pin_polars should not lock dc->lock, rather it should be called within a lock. Integration from http://git-master/r/#change,15572 Bug 780047 Change-Id: I032fe086fcc0f097b4a5f2a4f5a9164948e3621a Reviewed-on: http://git-master/r/15994 Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Tested-by: Varun Colbert <vcolbert@nvidia.com>
2011-01-21Revert "HDMI WAR: Fixed HDMI issue after LP0 resume."Gaurav Sarode
This reverts commit 1d46b71b62739a2f4154918c0055f85c29d8e6d5. Original issue is fixed by commit 08da711a7475bebdca5eec2d8b51751f380067a2 Change-Id: Ia5e763b3e813f1af36f2e0034faee23f5aa1f24a Reviewed-on: http://git-master/r/16292 Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Tested-by: Bharat Nihalani <bnihalani@nvidia.com> Reviewed-by: Varun Wadekar <vwadekar@nvidia.com>
2011-01-18merging android-tegra-2.6.36 into git-master/linux-2.6/android-tegra-2.6.36Nitin Kumbhar
Conflicts: drivers/net/wireless/bcm4329/Makefile Change-Id: I31ce81e09c6f18d6966a5cffebc533453bce02d8
2011-01-14Merge branch 'linux-tegra-2.6.36' into android-tegra-2.6.36Colin Cross
2011-01-14video: tegra: host: Force memory bus to full when using 2d, 3d or mpeColin Cross
Change-Id: I7138af5d26c3f406537bc4b2bc4bb052de37f7bf Signed-off-by: Colin Cross <ccross@android.com>
2011-01-14video: tegra: host: disable MPE auto-power-gateMayuresh Kulkarni
It is seen that auto-power-gate of MPE causes some issues when long run camera stress test is run. The issue manifest itself in the form of MPE sync-point not getting triggered from hardware and hence the caller who is waiting on it hangs up the system. Disabling auto-power-gate for MPE seems to resolve this issue. Original work of Jay Cheng <jacheng@nvidia.com> Signed-off-by: Mayuresh Kulkarni <mkulkarni@nvidia.com> Change-Id: Iaef9f959cbc00dd715352ca637955cd2bea6f355
2011-01-12Merge remote branch 'tegra/linux-tegra-2.6.36' into android-tegra-2.6.36Rebecca Schultz Zavin
2011-01-12video: tegra: nvmap: Several fixes to the carveout killerRebecca Schultz Zavin
-Modify the carveout killer to only kill tasks with lower priorities than the one that's trying to allocate -After delivering a sigkill to a task, wait for something to exit and cleanup before retrying the allocation Change-Id: If62b6ed008a73fc3c347ff26735a83eee284909e Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>