summaryrefslogtreecommitdiff
path: root/drivers/video
AgeCommit message (Collapse)Author
2011-05-16nvrm: move stale wait checking into the kerneltegra-11.2.6Chris Johnson
The kernel now receives wait tracking data (similar to gathers and relocs) and compares the current syncpt with the threshold value. If it's old, it gets a kernel mapping and rewrites the method data to use a kernel reserved syncpt that is always 0 (so trivially pops when seen by the HW). Bug 519650 Bug 785525 Bug 803452 Note: reset the author in this commit to fix a email addr problem and since from the latest/last cherry pick there was a reworking of the code to be compatible with different user space versions it also seemed reasonable. (cherry picked from commit 4069d8e67665624ad3dceb628e572980dd57acd0) (cherry picked from commit 6e4336408588e348804a62e53386acc9abc06823) (cherry picked from commit 87a9efe751716ca741caac72b9061fdfdcec540a) Change-Id: I9c6076da2384f373d5f402bee4406b09b4ebc4ff Reviewed-on: http://git-master/r/23159 Reviewed-on: http://git-master/r/30281 Tested-by: Chris Johnson <cwj@nvidia.com> Reviewed-by: Ken Adams <kadams@nvidia.com> Reviewed-by: Prajakta Gudadhe <pgudadhe@nvidia.com>
2011-05-10ARM: tegra: dc: clip invalid windows to screen resJon Mayo
clip invalid windows to fix screen size, failure to do so causes display errors that result in corrupted display and invalid video modes. prints a warning only once, if this warning is present in the logs then there is a misbehaving application. Bug 821094 (cherry picked from commit e08f18eba00bd5d86cb7770f709417a1bd0ca14f) Change-Id: Ie5cec5c805bfe2bd4c5f1e5b7e22d5f255ca2680 Reviewed-on: http://git-master/r/30587 Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Tested-by: Varun Colbert <vcolbert@nvidia.com>
2011-05-09video: tegra: dc: handle error conditionAmit Kamath
Do not handle requests further for displays that are not enabled Bug 813310 Bug 813728 Reviewed-on: http://git-master/r/29515 (cherry picked from commit 22578f1d7065ea84855fdbcaf09a792e9f9d3856) Change-Id: I1fa907e33f2d250fff64752c8f0e26de51f3655b Reviewed-on: http://git-master/r/30672 Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Tested-by: Bharat Nihalani <bnihalani@nvidia.com>
2011-04-25merging android-tegra-2.6.36 into git-master/linux-2.6/android-tegra-2.6.36Nitin Kumbhar
Conflicts: arch/arm/mm/proc-v7.S drivers/video/tegra/dc/dc.c Change-Id: I40be0d615f14f1c01305388a706d257f624ba968
2011-04-21Merge remote branch 'tegra/linux-tegra-2.6.36' into android-tegra-2.6.36Rebecca Schultz Zavin
2011-04-21video: tegra: dc: Fix several problemsAndrei Warkentin
Resolve potential race between resume and reset Fix wmb after return Change-Id: I98ad1e713b9781d780bf93561496011bf62b86d1 Signed-off-by: Andrei Warkentin <andreiw@motorola.com>
2011-04-20merging android-tegra-2.6.36 into git-master/linux-2.6/android-tegra-2.6.36Nitin Kumbhar
Change-Id: I903db54b76781cdb9231bb25d79635cb8f264087
2011-04-19video: tegra: dc: hdcp: handle the case of DEVICE_COUNT = 0 properlyPeter Zu
bug 811316 Change-Id: I4513f81719a60c8f214ee07082e58defb1cca0aa Reviewed-on: http://git-master/r/26985 Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Tested-by: Varun Colbert <vcolbert@nvidia.com>
2011-04-19video: tegra: dc: removed incorrect cropping codeDonghan Ryu
there was a cropping code which saves from out of FB.However, the cropping code was wrong and cropping should be done from usermode driver instead of kernel. a warning is added here for easy debugging Bug 792524 Change-Id: Id57243e36f903b14a093dad23a6111032890c01a Reviewed-on: http://git-master/r/28055 Reviewed-by: Donghan Ryu <dryu@nvidia.com> Tested-by: Donghan Ryu <dryu@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
2011-04-19Merge branch linux-tegra-2.6.36 into android-tegra-2.6.36Erik Gilling
Change-Id: I023482f230dc4f413647f47b3c7c36fd4c98b97d
2011-04-19video: tegra: prevent double disable in suspendAndrei Warkentin
Prevents HDMI detect worker from re-disabling DC during suspend (after tegra_dc_suspend has disabled DC itself)/ Change-Id: I90016fb709934ab8fb5135443980898069f8071f Signed-off-by: Andrei Warkentin <andreiw@motorola.com> Signed-off-by: Erik Gilling <konkers@android.com>
2011-04-19video: tegra: dc: hdcp: handle the case of DEVICE_COUNT = 0 properlyPeter Zu
When HDCP repeater has no device attached, DEVICE_COUNT reports back as 0. HDCP driver should handle this case as a good case and continue downstream authentication, other than fail it. Change-Id: Ied2e46428c0247f14fbd96016cd4fdbf358f6587
2011-04-18merging android-tegra-2.6.36 into git-master/linux-2.6/android-tegra-2.6.36Nitin Kumbhar
Change-Id: Ibf21f94d93ef237de6ab379dc1aa2498df08cdbd
2011-04-15tegra dc: fix premult dst alpha blendingFrancis Hart
Register assignments were wrong for incoming overlay blend parameters. DisplayManagerLite policy sets src combine mode to premult to signal dst premult aplha blending. But the DC expects premult set for the dst window for this mode. Bug 796009 Change-Id: I5929bc4cd362ac60c7a9f14bb4ae83da04b857ab Reviewed-on: http://git-master/r/26835 Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Tested-by: Varun Colbert <vcolbert@nvidia.com>
2011-04-15Merge branch 'linux-tegra' into android-tegraErik Gilling
2011-04-15video: tegra: fix more unplug/suspend timeout in nvhdcpErik Gilling
Change-Id: I30dfa03324eb5c4c344c62578eb808a150c80deb Signed-off-by: Erik Gilling <konkers@android.com>
2011-04-14ARM: tegra: dc: hdmi drive strength changesJon Mayo
use pixel clock to configure HDMI interface signaling properties. These options are different depending on which SoC. Bug 786961 Bug 795251 (cherry picked from commit a59e2483a9f85a72186f51c124709401af554eb3) Change-Id: Ie5ef35fe03065d3e77831a0e1a2bbf8319d04125 Reviewed-on: http://git-master/r/27722 Reviewed-by: Jonathan Mayo <jmayo@nvidia.com> Tested-by: Jonathan Mayo <jmayo@nvidia.com> Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Reviewed-by: Jessica Liao <jeliao@nvidia.com>
2011-04-14video: tegra: nvmap: debugfs improvementDonghan Ryu
nvmap's debugfs had a bad format so it was very difficult to read the outputs. this commit fixes it and added total allocation size along with it Bug 813891 Change-Id: I6e3165b3ff917d9510d39f1e35b8e6b59c086592 Reviewed-on: http://git-master/r/27349 Reviewed-by: Donghan Ryu <dryu@nvidia.com> Tested-by: Donghan Ryu <dryu@nvidia.com> Reviewed-by: Krishna Reddy <vdumpa@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
2011-04-13Merge branch linux-tegra-2.6.36 into android-tegra-2.6.36Erik Gilling
Change-Id: I016b27ad8ada8ec6214b1ed2b6096c294d2e81b8
2011-04-13video: tegra: fix unplug/suspend timeout in nvhdcpErik Gilling
If HDCP was turned off (either by unplug or suspend) the work funciton would wait the full timeout 5 * l.75s before exiting. This causes suspend to timeout and crash. Change-Id: I8eb185452ad09e34f4573874e9766c0e1cec15de Signed-off-by: Erik Gilling <konkers@android.com>
2011-04-13merging android-tegra-2.6.36 into git-master/linux-2.6/android-tegra-2.6.36Nitin Kumbhar
Conflicts: drivers/video/tegra/fb.c Change-Id: Id2c7cf76925c140073baf04244b839c723515254
2011-04-12Merge branch linux-tegra-2.6.36 into android-tegra-2.6.36Erik Gilling
Change-Id: I4305576b867fb062db791b0e18a8f0215bbc5705
2011-04-12video: tegra: zero out var before calling fb_videomode_to_varErik Gilling
Change-Id: I23f01da0a7dcd62594faa828676ffb7a4bc72d9f Signed-off-by: Erik Gilling <konkers@android.com>
2011-04-12video: tegra: add debouncing to hdmi hotplugErik Gilling
Change-Id: Ic998e183e79faabc36d96720dcbae2640e8cf419 Signed-off-by: Erik Gilling <konkers@android.com>
2011-04-11merging android-tegra-2.6.36 into git-master/linux-2.6/android-tegra-2.6.36Nitin Kumbhar
Change-Id: I1f85b4ed49128a261b29bb7c3ffe8c5d511a44f9
2011-04-07video: tegra: Limit error-diffusion ditheringChao Jiang
Error-diffusion dithering on Tegra would never be enabled in video modes where horizontal width exceeded 640 pixels. For large screen, either 24bit ture color or ordering dither may be used since it does not require a line buffer. Change-Id: If60a64858506ee96d444cb2cb3dcf7a1fbce5b1d Reviewed-on: http://git-master/r/17393 Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Tested-by: Varun Colbert <vcolbert@nvidia.com>
2011-04-07Merge branch linux-tegra-2.6.36 into android-tegra-2.6.36Erik Gilling
Change-Id: I0dea4f256442d7391808de8456fe35d3879682fe
2011-04-07video: tegra: reset hdcp failure count on hotplugJon Mayo
use tegra_nvhdcp_on/tegra_nvhdcp_off in hotplug handler to clean up state machine. Change-Id: I62fe503f0628ad4b49d5d7d66fe1702122179877 Signed-off-by: Erik Gilling <konkers@android.com>
2011-04-07Merge branch linux-tegra-2.6.36 into android-tegra-2.6.36Erik Gilling
Change-Id: If54be4c2e106e24beb0ae3063156a0659fcbb943
2011-04-07video: tegra: use longer retries for hdcpJon Mayo
use 3 seconds for i2c/ddc failures on hdcp (15 attempts at 250mS each) Change-Id: Ia755c9b42d5a0d8467b68c9d334638bcb015eabd Signed-off-by: Erik Gilling <konkers@android.com>
2011-04-07video: tegra: attempt HDCP on DVIErik Gilling
Change-Id: If9efc63de3427f263b121e102cd0168883a236a3 Signed-off-by: Erik Gilling <konkers@android.com>
2011-04-05tegra: display: fb: fixing uninitialized valuesDonghan Ryu
fb_videomode_to_var doesn't fill out all the members of fb_var_screeninfo. So, we need to perform memset before calling the function Bug 808273 Reviewed-on: http://git-master/r/24430 (cherry picked from commit 17de002a0ff09138c9db244cb200380ba38f4033) Change-Id: Id4d2975fa2b887e97601f1aee8304465aecc7cc2 Reviewed-on: http://git-master/r/26669 Reviewed-by: Donghan Ryu <dryu@nvidia.com> Tested-by: Donghan Ryu <dryu@nvidia.com> Reviewed-by: Jubeom Kim <jubeomk@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
2011-04-01video: tegra: dc: emc scaling based on overlay and panel freqWen Yi
Using a factor of two to increase the emc frequency required by the display panel to prevent underflow. Bug 800993 Change-Id: Ibb60a88a4efb384bce6f1277022b335540f11a2e Reviewed-on: http://git-master/r/24862 Reviewed-by: Wen Yi <wyi@nvidia.com> Tested-by: Wen Yi <wyi@nvidia.com> Reviewed-by: Daniel Willemsen <dwillemsen@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
2011-04-01video: tegra: dc: synchronize pwm config and dc stateWen Yi
There is a race condition between fb_blank and pwm_update_status that could cause kernel panic. The solution is to synchronize the function tegra_dc_config_pwm with dc->lock. Bug 803498 Change-Id: I9323cb223aa8feb92f56d0025b2d97ab3b8d1752 Reviewed-on: http://git-master/r/23776 Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Tested-by: Bharat Nihalani <bnihalani@nvidia.com> Reviewed-by: Mayuresh Kulkarni <mkulkarni@nvidia.com>
2011-04-01merging android-tegra-2.6.36 into git-master/linux-2.6/android-tegra-2.6.36Nitin Kumbhar
Conflicts: drivers/serial/tegra_hsuart.c drivers/usb/host/ehci-tegra.c Change-Id: Ief6c03a63615a41e85de59ad14dedef309d0b2fb
2011-03-31Merge branch 'linux-tegra-2.6.36' into android-tegra-2.6.36Colin Cross
2011-03-31video: tegra: reset hdcp failure count on hotplugErik Gilling
Change-Id: Iba5041f8428b13791004c96e6e8c2ed4dbcc37b8 Signed-off-by: Erik Gilling <konkers@android.com>
2011-03-29video: tegra: dc: emc scaling based on overlay and panel freqWen Yi
Change the emc frequency using number of overlays and the frequency of the display panel. Bug 800993 Change-Id: I30ef2edd1ed9b43afa8c38b0f05b5d6e49b7f892 Reviewed-on: http://git-master/r/24052 Reviewed-by: Amit Kamath <akamath@nvidia.com> Reviewed-by: Wen Yi <wyi@nvidia.com> Tested-by: Wen Yi <wyi@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Reviewed-by: Matthew Longnecker <mlongnecker@nvidia.com>
2011-03-23video: tegra: dc: hdcp: renegotiate the hdcp link on resumePeter Zu
bug 802909 Change-Id: I061eb7082b251ef6963e2a68fd9821122e010966 Reviewed-on: http://git-master/r/23871 Reviewed-by: Peter Zu <pzu@nvidia.com> Tested-by: Peter Zu <pzu@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Reviewed-by: Jonathan Mayo <jmayo@nvidia.com>
2011-03-23video: tegra: dsi: Set dsi clock in multiples of MhzTom Cherry
Change-Id: I82081f6e4e3646fbf7c265851e548ca64b2415db Reviewed-on: http://git-master/r/23760 Tested-by: Thomas Cherry <tcherry@nvidia.com> Reviewed-by: Chih-Lung Huang <lhuang@nvidia.com> Reviewed-by: Aleksandr Frid <afrid@nvidia.com> Reviewed-by: Kevin Huang <kevinh@nvidia.com> Reviewed-by: Daniel Willemsen <dwillemsen@nvidia.com>
2011-03-22video: pwm_backlight: Add check_fb hookRobert Morell
In systems with multiple framebuffer devices, one of the devices might be blanked while another is unblanked. In order for the backlight blanking logic to know whether to turn off the backlight for a particular framebuffer's blanking notification, it needs to be able to check if a given framebuffer device corresponds to the backlight. This plumbs the check_fb hook from core backlight through the pwm_backlight helper to allow platform code to plug in a check_fb hook. Originally reviewed on http://git-master/r/21716 Reviewed-on: http://git-master/r/23100 (cherry picked from commit c7831cb27fc6a2701b020676a6daf9c76e9470d9) Change-Id: I32895d6f2c5988b09680a350e169f1f3c9b56da6 Reviewed-on: http://git-master/r/23725 Reviewed-by: Robert Morell <rmorell@nvidia.com> Tested-by: Gaurav Sarode <gsarode@nvidia.com> Reviewed-by: Mayuresh Kulkarni <mkulkarni@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
2011-03-22backlight: add low threshold to pwm backlightArun Murthy
The intensity of the backlight can be varied from a range of max_brightness to zero. Though most, if not all the pwm based backlight devices start flickering at lower brightness value. And also for each device there exists a brightness value below which the backlight appears to be turned off though the value is not equal to zero. If the range of brightness for a device is from zero to max_brightness. A graph is plotted for brightness Vs intensity for the pwm based backlight device has to be a linear graph. intensity | / | / | / |/ --------- 0 max_brightness But pratically on measuring the above we note that the intensity of backlight goes to zero(OFF) when the value in not zero almost nearing to zero(some x%). so the graph looks like intensity | / | / | / | | ------------ 0 x max_brightness In order to overcome this drawback knowing this x% i.e nothing but the low threshold beyond which the backlight is off and will have no effect, the brightness value is being offset by the low threshold value(retaining the linearity of the graph). Now the graph becomes intensity | / | / | / | / ------------- 0 max_brightness With this for each and every digit increment in the brightness from zero there is a change in the intensity of backlight. Devices having this behaviour can set the low threshold brightness(lth_brightness) and pass the same as platform data else can have it as zero. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Arun Murthy <arun.murthy@stericsson.com> Acked-by: Linus Walleij <linus.walleij@stericsson.com> Acked-by: Richard Purdie <rpurdie@linux.intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Reviewed-on: http://git-master/r/23099 (cherry picked from commit 92db79791aa60cacb3fa90d1cb2e942420c29408) Change-Id: Icbe49b593dfa6608934ff274b4c9281e43c30b5c Reviewed-on: http://git-master/r/23724 Tested-by: Gaurav Sarode <gsarode@nvidia.com> Reviewed-by: Mayuresh Kulkarni <mkulkarni@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
2011-03-22Merge branch 'linux-tegra-2.6.36' into android-tegra-2.6.36Colin Cross
2011-03-22video: tegra: add HOST1_SYNC regs to nvhost_debug_show dumpChris Johnson
Change-Id: I48cccf5b0df768b9cfc774803f3945f4806a62ac
2011-03-21Merge remote branch 'tegra/linux-tegra-2.6.36' into android-tegra-2.6.36Rebecca Schultz Zavin
2011-03-21video: tegra: cleanup debug syncpt outputChris Johnson
In debug prints for stuck WAITs differentiate WAIT_SYNCPT vs. WAIT_SYNCPT_BASE and fix some build warnings. Change-Id: Ia47375614c676a9f93216fbfaaf6856c3df42e2e Signed-off-by: Chris Johnson <cwj@nvidia.com>
2011-03-21Revert "Revert "Revert "tegra: host: move stale wait checking into the kernel"""Nitin Kumbhar
This reverts commit be7b9ce20d645c2c9293441830ee33a0a5fc489f.
2011-03-21merging android-tegra-2.6.36 into git-master/linux-2.6/android-tegra-2.6.36Nitin Kumbhar
Change-Id: I517760af5756279b41836062063bdcaa04e5bfef
2011-03-18tegra:video:nvmap: optimize cache_maint operation.vdumpa
video:tegra:nvmap: Clean whole L1 instead of cleaning by MVA For large allocations, cleaning each page of the allocation can take a significant amount of time. If an allocation that nvmap needs to clean or invalidate out of the cache is significantly larger than the cache, just flush the entire cache by set/ways. bug 788967 Reviewed-on: http://git-master/r/19354 (cherry picked from commit c01c12e63b1476501204152356867aeb5091fb80) tegra:video:nvmap: optimize cache_maint operation. optimize cache_maint operation for carveout and heap memories. flush carveout memory allocations on memory free. Bug 761637 Reviewed-on: http://git-master/r/21205 Conflicts: drivers/video/tegra/nvmap/nvmap_dev.c drivers/video/tegra/nvmap/nvmap_heap.c drivers/video/tegra/nvmap/nvmap_ioctl.c (cherry picked from commit 731df4df5e895e1d4999359d6d5939fc2095f883) tegra:video:nvmap: optimize cache flush for system heap pages. optimize cache flush for pages allocated from system heap. Bug 788187 Reviewed-on: http://git-master/r/21687 (cherry picked from commit 3f318911ad91410aed53c90494210e2b8f74308b) Change-Id: Ia7b90ba0b50acfef1b88dd8095219c51733e027f Reviewed-on: http://git-master/r/23465 Reviewed-by: Kirill Artamonov <kartamonov@nvidia.com> Tested-by: Kirill Artamonov <kartamonov@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
2011-03-16video: tegra: dsi: Added dsi support.Luke Huang
Bug 793366 Bug 794499 Change-Id: Id49d86dd7760b75ef4947f5bdab9e37f0333391d Reviewed-on: http://git-master/r/#change,18950 Reviewed-on: http://git-master/r/22508 Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Tested-by: Varun Colbert <vcolbert@nvidia.com>