summaryrefslogtreecommitdiff
path: root/drivers/video/tegra/fb.c
AgeCommit message (Collapse)Author
2011-10-07video: tegra: provide blank that clears screenJon Mayo
Only clear the display when ioctl FBIOBLANK is FB_BLANK_NORMAL is used This indicates that display should still be powered on and is useful when HDMI audio needs to remain active but no content is displayed on screen. bug 857117 bug 868916 Reviewed-on: http://git-master/r/53608 (cherry picked from commit 234a39002a5a4daa364271ed357de14cff06f6a9) Change-Id: I28b71c693681852933158aa4491a0d164ce64a8f Reviewed-on: http://git-master/r/56443 Tested-by: Jon Mayo <jmayo@nvidia.com> Reviewed-by: Jon Mayo <jmayo@nvidia.com>
2011-08-29video: tegra: dc: Separate allocations for U and VRobert Morell
Currently, dc_ext only takes a single nvmap memory ID per overlay, even in the YUV case (the U and V planes are expected to be differentiated using an offset from the beginning of the nvmap allocation). This is problematic for some software flows, such as certain video interlacing algorithms that will vary the luma plane while keeping the chrome plane constant. This change allows dc_ext clients to specify a different nvmap allocation for each of the Y, U, and V planes. If a YUV surface is used and no U or V plane allocation is specified, the old behavior is preserved: the U and V offsets are assumed to be within the same allocation as Y. Note: this changes the behavior of the offset parameter: the old code added offset to offset_u and offset_v when using it. The new code treats all three offsets as relative to the beginning of the allocation. It also fixes a bug in the code where offset was applied twice to the Y plane. I believe this is safe because the presence of this bug means that no existing clients are using offset != 0 (or if they are, they're already broken). Signed-off-by: Robert Morell <rmorell@nvidia.com> Bug 850882 Change-Id: I230e03db25baaae73a3bdc0d45a2aec162b87fa4 Reviewed-on: http://git-master/r/41471 Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Tested-by: Varun Colbert <vcolbert@nvidia.com>
2011-08-25video: tegra: fb: do not set mode on registerJon Mayo
Do not load a default mode on fb register. This causes a race with any userspace attempts to set a mode on hotplug. Bug 862473 Change-Id: I52a93c4348753ca73d01a96025512bf9d179e1e5 Reviewed-on: http://git-master/r/48861 Reviewed-by: Jonathan Mayo <jmayo@nvidia.com> Tested-by: Jonathan Mayo <jmayo@nvidia.com> Reviewed-by: Donghan Ryu <dryu@nvidia.com> Reviewed-by: Michael Frydrych <mfrydrych@nvidia.com> Tested-by: Michael Frydrych <mfrydrych@nvidia.com> Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com> Reviewed-by: Robert Morell <rmorell@nvidia.com>
2011-08-24video: tegra: fb: remove warning unused var 'mode'Jon Mayo
warning introduced by commit e50086bfeb1c1fd090ddc5f6c4d951bd4f5fdbcd Change-Id: I4e651e8e01266faa3eabdc72c955784dafca7f9f Reviewed-on: http://git-master/r/48859 Reviewed-by: Jonathan Mayo <jmayo@nvidia.com> Tested-by: Jonathan Mayo <jmayo@nvidia.com> Reviewed-by: Robert Morell <rmorell@nvidia.com>
2011-08-15nvhost: Move include files to kernel/includeTerje Bergstrom
To prepare for kernel modularization, nvhost include files need to be moved from mach-tegra/include to kernel/include. At the same time user space specific part is split into nvhost_ioctl.h. Bug 854182 Change-Id: I3694a40d786028733310ecf5b59341282af571be Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-on: http://git-master/r/43211 Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Tested-by: Varun Colbert <vcolbert@nvidia.com>
2011-08-11video: tegra: Allow fractional input rectsRobert Morell
This change makes the input rect for Tegra windows be a 20.12 fixed-point number instead of an integer. This allows software to specify sub-pixel precision. bug 818525 Change-Id: I130f63b68159ed896d1113ea537307997875ca40 Signed-off-by: Robert Morell <rmorell@nvidia.com> Reviewed-on: http://git-master/r/40526 Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Tested-by: Varun Colbert <vcolbert@nvidia.com>
2011-08-11video: tegra: Remove fbdev SET_NVMAP and FLIP ioctlsRobert Morell
This is necessary so that multiple clients can open /dev/fb* at the same time. The functionaly has been moved to the dc extension device nodes. bug 818525 Change-Id: I299e060fce3bb9e3cbf976f3d94dbabc4b3f1654 Signed-off-by: Robert Morell <rmorell@nvidia.com> Reviewed-on: http://git-master/r/40515 Reviewed-by: Jonathan Mayo <jmayo@nvidia.com>
2011-07-15video: tegra: dc: remove emc clock workerJon Mayo
remove the support to delay changing emc clock. Bug 850852 Change-Id: Ibc125e7789ad96059c53c82eb51091afd7b880fc Reviewed-on: http://git-master/r/40133 Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Tested-by: Varun Colbert <vcolbert@nvidia.com>
2011-07-15video: tegra: dc: clean up dynamic emc codeJon Mayo
refactor emc code and centralize it in one place. Bug 850852 Change-Id: Icddd270d1ea4f47de11aa3633dd2dbb205a15742 Reviewed-on: http://git-master/r/40131 Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Tested-by: Varun Colbert <vcolbert@nvidia.com>
2011-07-13video: tegra: dc: fix hdmi mode filterDonghan Ryu
If there are more than one hdmi modes that have same xres, yres, and vmode, tegra_dc_hdmi_mode_equal can return true even though pixclocks are way different from each other. Now, tegra_dc_hdmi_mode_equal will retun false if pixclock has more than 1Hz of difference. Also, tegra_fb_set_par will use fb_find_nearest_mode instead of fb_find_best_mode to take refresh rate into the consideration. Bug: 815409 (cherry picked from commit 8cf6e47dd3d4efaa3a1f0a15f1bd36ad34d3a951) Change-Id: I744d3c6dfb553bfab190e7d82a9dc5d8782e45d5 Reviewed-on: http://git-master/r/37419 Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Tested-by: Varun Colbert <vcolbert@nvidia.com>
2011-07-12video: tegra: fix the free sequence in tegra_fb_register.Jubeom Kim
Fix err_delete_wq and err_put_client of error handling. Reviewed-on: http://git-master/r/37870 (cherry picked from commit 794cd34757fe7193b0e2f1847335d127840fd4a3) Change-Id: If8bf04b6a5a473b3c13017ea8ad2c33cd7b4954e Reviewed-on: http://git-master/r/38447 Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Tested-by: Varun Colbert <vcolbert@nvidia.com>
2011-07-07video: tegra: Aligned the stride of fb to 16-byte boundary.Kevin Huang
Aligned memory can improve the performance memory access. Also, since the bootloader fb is aligned, kernel needs to do it to avoid skew. Change-Id: Ia5a122539856da9e9c73580929b8ea9c73e86c9d Reviewed-on: http://git-master/r/35276 Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Tested-by: Varun Colbert <vcolbert@nvidia.com>
2011-06-24tegra: dc: set EMC clock dynamicallyXin Xie
If the screen is idle (no POST for some time), reduce the DC EMC clock according the windows size. If external display connected, the EMC clock will not be reduced. BUG 828306 Change-Id: I6fb62ce6baf3380737c76b71f16e38ad6465a667 Reviewed-on: http://git-master/r/37106 Reviewed-by: Niket Sirsi <nsirsi@nvidia.com> Tested-by: Niket Sirsi <nsirsi@nvidia.com>
2011-06-24tegra: dc: adding max pixclock check for hdmiDonghan Ryu
tegra_dc_hdmi_equal doesn't check pixclock and some devices doesn't support 148.5Mhz pixclock which is needed for 1080p@60. However, adding 1080p@30 to the supported hdmi mode array makes tegra_dc_hdmi_equal to retun 1080p@60. Therefore, this commit adds max pixclock check to distinguish modes with different pixclock Bug: 815409 Change-Id: Ifbf07929e3c7a92172856518a55e9d4a04f0b943 Reviewed-on: http://git-master/r/32511 Reviewed-by: Niket Sirsi <nsirsi@nvidia.com> Tested-by: Niket Sirsi <nsirsi@nvidia.com>
2011-05-31[ARM] tegra: Extend the wait interface in the hostPaul Hodgson
Extend the wait interface to relay the actual resultant waited point back. Change-Id: Idbaa96b186390a2383ef2cc99aefb950648a2d19 Reviewed-on: http://git-master/r/23033 Reviewed-by: Niket Sirsi <nsirsi@nvidia.com> Tested-by: Niket Sirsi <nsirsi@nvidia.com>
2011-05-25Merging 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/dc.c Change-Id: I88eb56972632ec9c87c6ac81c14c0cadb689415c
2011-05-24video: tegra: add support for tiled surfacesMichael I. Gold
Change-Id: I82497fc756552740836eaa2f608fecaea409cfeb Signed-off-by: Michael I. Gold <gold@nvidia.com>
2011-05-24video: tegra: add display inversion supportAri Hirvonen
Change-Id: Ied3851e0cb801f607499493f1e552f42daa97e6b Signed-off-by: Ari Hirvonen <ahirvonen@nvidia.com>
2011-05-11video: tegra: Fixed compilation warnings.Kevin Huang
Change-Id: Ie46f78c54ea8f7bf04fa33c368123e760c072999 Reviewed-on: http://git-master/r/30751 Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Tested-by: Varun Colbert <vcolbert@nvidia.com>
2011-05-05ARM: 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 Change-Id: Ief7b6379026e6abeb31a28aabf920618edd7ab44 Reviewed-on: http://git-master/r/29759 Reviewed-by: Jonathan Mayo <jmayo@nvidia.com> Tested-by: Jonathan Mayo <jmayo@nvidia.com> Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
2011-04-26Update copyrightsScott Williams
Change-Id: I2ffeaf6f8dfeb279b40ca6f69f6c9157401a746a
2011-04-26video: tegra: calculate h_ref_to_sync for modeJon Mayo
add tegra_dc_set_fb_mode() to create tegra_dc_mode from fb_videmode. Original-Change-Id: Icfaf99ab1c14b64f52b5b382bc8b94ed2e8306db Reviewed-on: http://git-master/r/22689 Reviewed-by: Jonathan Mayo <jmayo@nvidia.com> Tested-by: Jonathan Mayo <jmayo@nvidia.com> Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com> Change-Id: I233b15e1c88e0946752cac1251d5122a1f50a579
2011-04-26video: tegra: use low power for any type of blankJon Mayo
use a lower power mode for any type of FB_BLANK instead of only supporting FB_BLANK_POWERDOWN. Original-Change-Id: I1dc9a6bb29808802563afb07fb5d7b41a5ba5c3d Reviewed-on: http://git-master/r/22467 Reviewed-by: Aleksandr Frid <afrid@nvidia.com> Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com> Tested-by: Yu-Huan Hsu <yhsu@nvidia.com> Change-Id: I4402e7f067a7f30e6a728c8b3ec4a00821741cbe
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-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-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-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-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-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-03video: tegra: add height/width to dc and fbErik Gilling
Change-Id: I22c280928079af04263375fce63a87776588a457 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-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-12video: tegra: reset default window in releaseSergey Kudakov
Change-Id: I242e9fac525472c5c20f213a6de516f95b2f6a12 Cc: Sergey Kudakov <sergey.kudakov@motorola.com> Signed-off-by: Erik Gilling <konkers@android.com>
2011-01-03HDMI stereo support - kernel code changeschzhang
Signed-off-by: Chong Zhang <chzhang@nvidia.com> Change-Id: I53eea3b14852aecd589dfbd0461258e064835cc9 Reviewed-on: http://git-master/r/11405 Reviewed-by: Daniel Willemsen <dwillemsen@nvidia.com>
2010-12-16video: tegra: Fixed the HDMI corruption issue.Gaurav Sarode
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. Change-Id: I7e70f6a8231856e5e5768fab6b0c1d9d0ea24737 Reviewed-on: http://git-master/r/13302 Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Tested-by: Bharat Nihalani <bnihalani@nvidia.com>
2010-11-19video: tegra: Scale colors in pseudopaletteRobert Morell
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-18video: tegra: YUV overlay supportAri Hirvonen
Change-Id: I4bed4d37bc275cca9ef69390c217498529121db0 Signed-off-by: Erik Gilling <konkers@android.com>
2010-11-17video: tegra: fill in transparency info in 32bpp FB modeErik Gilling
also remove incorrect support for 24bpp Change-Id: Ic6528760bf2585ca5e7a2a68a200e3346694505e Signed-off-by: Erik Gilling <konkers@android.com>
2010-11-10video: tegra: mark a window's handle as unused when it isErik Gilling
Change-Id: Iedc9a26f62e14c0263f0f315e589a672762ab31a Signed-off-by: Erik Gilling <konkers@android.com>
2010-11-09video: tegra: flush fb_flip workqueue on blank and suspendErik Gilling
Change-Id: I58e9ba73b2fd232e6c1f40946e2e353b90ce5dd7 Signed-off-by: Erik Gilling <konkers@android.com>
2010-11-09video: tegra: fix crash when no HDMI modes are supportedErik Gilling
Change-Id: I2e23d018d5acb814e7a088921c26c8f305790442 Signed-off-by: Erik Gilling <konkers@android.com>
2010-11-05video: tegra: fb: Add nvmap client nameRebecca Schultz Zavin
Passes a name to nvmap_create_client so it can be tracked for debugging. Change-Id: Id4aa9804d8cc8c04c44f51602362435fb877d1af Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
2010-10-26video: tegra: allow setting output mode without changing fb geometryErik Gilling
Change-Id: I0a723b4e68c99d2727e12d2c26f1506b1f634f8a Signed-off-by: Erik Gilling <konkers@android.com>
2010-10-26video: tegra: add IOCTL for querying modesErik Gilling
Change-Id: Ic312271b96a8bb8d8b2696448d3ff7fd73a7a851 Signed-off-by: Erik Gilling <konkers@android.com>
2010-10-20video: tegra: allow clearing of video modes in fb driverErik Gilling
Change-Id: Ibec4fd2ef7136843b68c52b60862b2c5c3e795fc Signed-off-by: Erik Gilling <konkers@android.com>
2010-10-20video: tegra: fb: Add flag to flip fb during probeColin Cross
Change-Id: Ibe65175392fe2fe491cb88b5df0771a17bc0c706 Signed-off-by: Colin Cross <ccross@android.com>
2010-10-18video: tegra: fb var info on monspecs changeErik Gilling
activates the default mode Change-Id: I34d27d2947377771e8f1c89f3933204d7e65364f Signed-off-by: Erik Gilling <konkers@android.com>
2010-10-18video: tegra: ensure first video mode is marked with FB_MODE_IS_FIRSTErik Gilling
Change-Id: If3c417c670962e4ca6ff92c3bd1a388c189f11ab Signed-off-by: Erik Gilling <konkers@android.com>
2010-10-14video: tegra: update overlay stride in fb_set_parErik Gilling
Fixes recovery graphics Change-Id: I68824dfcd29b40eaa27a8b5ee437e5763288a49e Signed-off-by: Erik Gilling <konkers@android.com>
2010-10-12Revert "video: tegra: add utility function to compute framebuffer stride"Erik Gilling
This reverts commit 10c751b8f5bb78f674d4939b47be933934bb23dd. Change-Id: I236ddcd531d3ca17c8727cac84e6d2aa6e27dbe1