summaryrefslogtreecommitdiff
path: root/drivers/video
AgeCommit message (Collapse)Author
2017-09-20video: tegra: make tegra_fb_find_mode check default modesDominik Sliwa
We were only looking in tegra, VESA and CEA tables. Let's also check standard video mode definitions table Signed-off-by: Dominik Sliwa <dominik.sliwa@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-03-31colibri_t20: hack: prevent boot lock-up if hdmi is not connectedMarcel Ziswiler
Hack to prevent boot lock-up if HDMI is not connected. This has been observed on recent T20 SoC production lots produced some when after mid 2015. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
2016-09-29video: tegra: dsi: fix gcc-6 compilationMarcel Ziswiler
drivers/video/tegra/dc/dsi.c: In function 'tegra_dsi_read_fifo': drivers/video/tegra/dc/dsi.c:2515:3: error: this 'if' clause does not guard... [-Werror=misleading-indentation] if (rd_fifo_cnt << 2 > DSI_READ_FIFO_DEPTH) ^~ drivers/video/tegra/dc/dsi.c:2518:4: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if' break; ^~~~~ Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2016-09-29tegra: HDMI allow more aspect ratiosDominik Sliwa
When connected display EDID presents aspect ratio that is in valid range, but it's not in a table of valid ratios accept it with a warning message. Signed-off-by: Dominik Sliwa <dominik.sliwa@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2016-09-29tegra: Fix unsupported HDMI screen crashDominik Sliwa
Connecting unsuported screen to HDMI resulted in kernel panic. Signed-off-by: Dominik Sliwa <dominik.sliwa@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2015-02-10Prevent null pointer dereferenceMariusz Glebocki
2015-01-16Merge remote-tracking branch 'remotes/nvidia/l4t/l4t-r16-r2' into tegra-nextMarcel Ziswiler
(tegra-l4t-r16-16.5) Conflicts: drivers/media/video/tegra_v4l2_camera.c drivers/mmc/host/sdhci.c drivers/watchdog/tegra_wdt.c include/media/tegra_v4l2_camera.h
2014-12-18video: tegra: fb: fix pixel clock polarityMarcel Ziswiler
The pixel clock polarity setting was wrong: The kernel display flags are rather somewhat confusing: The flags specify the edge where the data should be driven by the controller (and hence not sampled by the display!). Please note that we don't change the default pixel clock polarity.
2014-12-18apalis/colibri_t20/t30: hdmi: fix dc disable stateMarcel Ziswiler
Our move to modedb lead to the HDMI display controller always being enabled (unless forced off by vidargs). This patch makes sure it gets disabled upon boot disconnected as well as upon later disconnect. Note: This also fixes DVFS on Colibri T30 in the sense that it will again stay at 400 MHz EMC as long as no DVI-D aka HDMI display is connected during boot.
2014-10-28video: tegra: nvmap: prevent null pointer dereferenceColibri_T30_LinuxImageV2.3Beta3_20141031Colibri_T20_LinuxImageV2.3Beta3_20141031Apalis_T30_LinuxImageV2.3Beta3_20141031Mariusz Glebocki
2014-08-04Revert "fbcon: workaround full screen custom boot logo issue and disable cursor"Colibri_T30_LinuxImageV2.3Beta1_20140804Colibri_T20_LinuxImageV2.3Beta1_20140804Apalis_T30_LinuxImageV2.3Beta1_20140804colibriMarcel Ziswiler
The whole rounding stuff really depends on a specific resolution. This reverts commit 4dd83942b418b937e3da02746baabf63f37fe682.
2014-08-04fbcon: workaround full screen custom boot logo issue and disable cursorRaul Munoz
Force round down in division calculating required logo height as preceding code did round up as follows: logo_lines = DIV_ROUND_UP(logo_height, vc->vc_font.height); Which resulted in no boot-logo shown at all due to not enough lines being available. Additionally disable cursor for custom boot logo.
2014-08-04Revert "fbcon: workaround full screen boot-logo issue"Marcel Ziswiler
Using this unconditionally cuts the birds feet (;-p). This reverts commit 491f263ebfb338c59abfbde6d4e0e7256a0150fa.
2014-08-01nvmap: fix test condition to avoid infinite looptegra-l4t-r16-er-2014-08-01daily-2014.08.04.3_l4t/l4t-r16Bibek Basu
Make sure that we dont enter infinite loop due to negative value of pins in some cases. Also remove debugging check for refcount. Bug 1478467 Change-Id: I7df8efa5b3cf8927a0c18363add4f031aca48e48 Signed-off-by: Bibek Basu <bbasu@nvidia.com> Reviewed-on: http://git-master/r/450209 Reviewed-by: Matthew Pedro <mapedro@nvidia.com> Tested-by: Matthew Pedro <mapedro@nvidia.com>
2014-07-31video: tegra: host: power module before accessBibek Basu
There could be race in refcount update leading to access of module registers without enabling the clock and power.This patch tries to catch such instances and enables power. Bug 1478467 Change-Id: Ia32da44bfcd7838e312815b6261ccadf4470a761 Signed-off-by: Bibek Basu <bbasu@nvidia.com> Reviewed-on: http://git-master/r/448701 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Venkat Moganty <vmoganty@nvidia.com> Reviewed-by: Matthew Pedro <mapedro@nvidia.com>
2014-07-31video: tegra: nvhost: validate nvmap_handle_refBibek Basu
nvhost_job_unpin should always get the nvmap_handle_ref from rb_entry after validating handle and presence in the tree. Bug 1478467 Change-Id: Ibf5f64a1a82fea8adbf7500bdb36b76357776448 Signed-off-by: Bibek Basu <bbasu@nvidia.com> Reviewed-on: http://git-master/r/436076 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Venkat Moganty <vmoganty@nvidia.com> Reviewed-by: Matthew Pedro <mapedro@nvidia.com>
2014-07-14fbcon: workaround full screen boot-logo issueRaul Munoz
Force round down in division calculating required logo height as preceding code did round up as follows: logo_lines = DIV_ROUND_UP(logo_height, vc->vc_font.height); Which resulted in no boot-logo shown at all due to not enough lines being available.
2014-04-29arm: tegra: dc: disable dc when framebuffer off detectedStefan Agner
Don't initialize the whole display controller (dc) when framebuffer mode is set to off. This avoids creation of the /dev/tegra_dc_x device. The tegra X driver requires for each tegra_dc_x device an framebuffer device with the same id. This patch avoids creation of both, which makes the tegra X driver load correctly. Note: Turning off tegrafb0 still leads to kernel crash due to hard coded device enumeration.
2014-03-12Merge branch 'l4t/l4t-r16-r2' into colibriMarcel Ziswiler
Conflicts: drivers/media/video/tegra_v4l2_camera.c reverted to current driver supporting ACM rather than CSI2 drivers/media/video/videobuf2-dma-nvmap.c drivers/video/tegra/host/Makefile
2014-02-10video: tegra: fb: colibri_t20: hack avoid 24 Hz modeMarcel Ziswiler
Hack to avoid 24 Hz mode in X resulting in no display at all. This has been encountered using e.g. a Samsung SyncMaster F2380 if connected by HDMI. root@colibri-t20:~# xrandr Screen 0: minimum 256 x 128, current 1920 x 1080, maximum 2048 x 2048 LVDS-1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 0mm x 0mm 1920x1080 60.0*+ HDMI-1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 160mm x 90mm 1920x1080 60.0 + 24.0* 1680x1050 59.9 1280x1024 75.0 60.0 1440x900 75.0 59.9 1280x960 60.0 1280x800 59.9 1152x864 75.0 1280x720 60.0 50.0 1024x768 75.0 70.1 60.0 832x624 74.6 800x600 72.2 75.0 60.3 56.2 720x576 50.0 720x480 59.9 640x480 75.0 72.8 66.7 59.9 720x400 70.1 This is really just enabling the same hack from Apalis/Colibri T30 which is now relevant on the Colibri T20 as well due to the modedb changes: 3a6fc5303b9e798295caa01d2cfe75b05fdccf55
2014-02-06video: tegra: check if framebuffer is registredColibri_T30_LinuxImageV2.1Beta2_20140206Colibri_T20_LinuxImageV2.1Beta2_20140207Apalis_T30_LinuxImageV2.1Beta2_20140206Stefan Agner
Before updating modes on HDMI hotplug, check if framebuffer is registered at all. This allows to disable framebuffers completely.
2014-01-29video: tegra: kernel parameters to change RGB clock polarityStefan Agner
Allow to change clock polarity for RGB display output using the keywords outputen/pixclockpol/vsync and hsync. Add them right after the driver specification, use 0/1 to specifiy high/low polarity, e.g. video=tegrafb0:pixclockpol:1,800x480
2014-01-29video: tegra: remove special clocks for Tegra 2Stefan Agner
Remove special clocks for Tegra 2, but use backup clock source instead. This allows to run all common used resolution within the drivers -1/+9% allowed band for pixelclock exactness.
2014-01-24media: nvmap: Allow access to videobuf2-dma-nvmapRahool Paliwal
Allow the "user" nvmap client to access the nvmap memory handle of "videobuf2-dma-nvmap" client. Bug 1421388 Change-Id: Id7a28c06214508d807098a6b258345023192a601 Signed-off-by: Rahool Paliwal <rpaliwal@nvidia.com> Reviewed-on: http://git-master/r/344620 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Matthew Pedro <mapedro@nvidia.com>
2014-01-24video: tegra: hdmi: validate variable screeninfopdabade
verify variable screeninfo by checking xres and yres before validating aspect ratio. bug 1417318 Change-Id: I473f3e2f30888c053ca53559e33355f216d2a8d3 Signed-off-by: Pankaj Dabade <pdabade@nvidia.com> Reviewed-on: http://git-master/r/340236 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Jong Kim <jongk@nvidia.com> Reviewed-by: Jon Mayo <jmayo@nvidia.com> Reviewed-by: Matthew Pedro <mapedro@nvidia.com>
2014-01-24video: tegra: add more modes and tweaked pixelclocks for Tegra 2Stefan Agner
Add some more modes e.g. for full HD panel. Also add tweaked pixel clock for Tegra 2 because the clock is always a child of the peripherial clock and only some divisors are available.
2014-01-24video: tegra: fb: apalis/colibri_t30: hack avoid 24 Hz modeMarcel Ziswiler
Hack to avoid 24 Hz mode in X resulting in no display at all. This has been encountered using e.g. a Samsung SyncMaster F2380 if connected by HDMI. root@apalis-t30:~# xrandr Screen 0: minimum 256 x 128, current 1920 x 1080, maximum 2048 x 2048 LVDS-1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 0mm x 0mm 1920x1080 58.6*+ HDMI-1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 160mm x 90mm 1920x1080 60.0*+ 1680x1050 59.9 1280x1024 75.0 60.0 1440x900 75.0 59.9 1280x960 60.0 1280x800 59.9 1152x864 75.0 1280x720 60.0 50.0 1024x768 75.0 70.1 60.0 832x624 74.6 800x600 72.2 75.0 60.3 56.2 720x576 50.0 720x480 59.9 640x480 75.0 72.8 66.7 59.9 720x400 70.1 This is basically a revamp of the following commit which got scrapped by the modedb changes: 8174d21e5fe0d086cb5824161c58eb065f412281
2014-01-23video: tegra: fb: Update and synchronize dc windowpdabade
Update and synchronize DC window after enabling DC while unblanking. bug 1416339 Change-Id: I404004e1cbb3908cceade8aa033a660dc488d400 Signed-off-by: Pankaj Dabade <pdabade@nvidia.com> Reviewed-on: http://git-master/r/344778 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Bibek Basu <bbasu@nvidia.com> Reviewed-by: Jong Kim <jongk@nvidia.com> Reviewed-by: Matthew Pedro <mapedro@nvidia.com> Tested-by: Matthew Pedro <mapedro@nvidia.com>
2014-01-22Check null pointers for sysfs callsStefan Agner
When grepping through sysfs, grep tries to read all sysfs files which are available. Some of them lead to error due to null pointers. Therefor check for null pointers before using them.
2014-01-22video: tegra: updated comments, move front_porch work aroundStefan Agner
Updated several comments to make code easier to read and understand. Also use the front_porch workaround in any case, for HDMI output too.
2014-01-09tegra: video: parse multiple modedbsStefan Agner
In order to find a viable resolution we not only parse VESA mode, we also parse CEA (multimedia) modes and our own small modedb (for specific touch screens).
2014-01-09tegra: video: remove unreferenced resolution from tegra_fb_infoStefan Agner
2014-01-09tegra: video: use correct return value for callbackStefan Agner
2014-01-09tegra: video: use new modedb based settingsStefan Agner
Use new modedb based framebuffer settings by defining default_mode in the display controllers platform data. Also impelmented the fallback logic to this default_mode in case no kernel cmd line parameter was set.
2014-01-07tegra: video: use modedb to specify framebuffer resolutionStefan Agner
Allow to specify framebufffer videomode using kernel command line parameters. NVIDIAs binary X driver later on picks up those settings and start X with current mode settings, if no EDID data are available.
2013-11-26hdmi: avoid division by zero oopsStefan Agner
After suspend, mode filter might be called with empty yres. This leads to division by zero when checking aspect ratio. Return as invalid mode when yres is zero.
2013-11-18media: nvmap: Few tweaks in nvmapVikram Fugro
The tweaks are only specific to r16-r2 branch and will not go into mainline. - Pass nvmap memory handle to the user through the mmap'd buffer allocated by videobuf2 client. - Allow the "user" nvmap client to access the nvmap memory handle of "videobuf2-dma-nvmap" client. Re-arranging the copyright message in nvmap_dev.c for Automatic validation to pass. Bug 1369083 Change-Id: Ia27d172253860e79557911c2e848bc9084d662d4 Signed-off-by: Vikram Fugro <vfugro@nvidia.com> Reviewed-on: http://git-master/r/309494 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Krishna Reddy <vdumpa@nvidia.com> Reviewed-by: Kaustubh Purandare <kpurandare@nvidia.com> Reviewed-by: Winnie Hsu <whsu@nvidia.com> Reviewed-by: Matthew Pedro <mapedro@nvidia.com>
2013-10-21hdmi: retry edid reads up to 4 times until failingMax Krummenacher
When hotpluging hdmi the read of edid often fails. Add up to 4 retries with a 500ms delay before giving up.
2013-09-09apalis/colibri_t30: fix HDMI hang issueMax Krummenacher
Initialisation of the framebuffer console on DVI-D aka HDMI always failed on monitors which report the vertical front porch to be 1 in their EDID. The fix now changes also the modedb and not only the list of videomodes with a compatible timing. This was particularly bad on Apalis T30 where this is activated by default. On Colibri T30 this was observed when enabling it using the fbcon=map:1 boot argument.
2013-06-24video: tegra: fb: apalis/colibri_t30: hack avoid 24 Hz modeMarcel Ziswiler
Hack to avoid 24 Hz mode in X resulting in no display at all. This has been encountered using e.g. a Samsung SyncMaster F2380 if connected by HDMI. root@apalis-t30:~# xrandr Screen 0: minimum 256 x 128, current 1920 x 1080, maximum 2048 x 2048 LVDS-1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 0mm x 0mm 1920x1080 58.6*+ HDMI-1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 160mm x 90mm 1920x1080 60.0 + 24.0* 1680x1050 59.9 1280x1024 75.0 60.0 1440x900 75.0 59.9 1280x960 60.0 1280x800 59.9 1152x864 75.0 1280x720 60.0 50.0 1024x768 75.0 70.1 60.0 832x624 74.6 800x600 72.2 75.0 60.3 56.2 720x576 50.0 720x480 59.9 640x480 75.0 72.8 66.7 59.9 720x400 70.1
2013-06-12video: tegra: nvmap: fix CONFIG_NVMAP_PAGE_POOLS=n compilationPeter Gielda
Move paddr to correct ifdef to enable CONFIG_NVMAP_PAGE_POOLS=n compilation.
2013-06-12video: tegra: nvmap: export symbols to build tegra_v4l2_camera modulePiotr Zierhoffer
2013-03-05tegra: When using V4L2, don't use vi client.Andrew Chew
The VI client within drivers/video/tegra is mutually exclusive with the Tegra V4L2 framework, since they both want to own the camera hardware. Change-Id: Idebd0f619f5fc7eb6323b2e08c29c9692c8887a0 Signed-off-by: Andrew Chew <achew@nvidia.com> Signed-off-by: Bryan Wu <pengw@nvidia.com> Reviewed-on: http://git-master/r/200221 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Matthew Pedro <mapedro@nvidia.com>
2013-03-05tegra: Make tegra_vi01_device accessibleAndrew Chew
Make it accessible outside of drivers/video/tegra. V4L2 driver needs to set some platform_data. Add suport for T20. Change-Id: I98353c2874ea28cfa0a7a5dd8a1dc4c586af4dd7 Signed-off-by: Andrew Chew <achew@nvidia.com> Signed-off-by: Bryan Wu <pengw@nvidia.com> Reviewed-on: http://git-master/r/200220 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Matthew Pedro <mapedro@nvidia.com>
2013-03-03tegra: When using V4L2, don't use vi client.Andrew Chew
The VI client within drivers/video/tegra is mutually exclusive with the Tegra V4L2 framework, since they both want to own the camera hardware. Signed-off-by: Andrew Chew <achew@nvidia.com>
2013-03-03Make it accessible outside of drivers/video/tegra. V4L2 driver needs toAndrew Chew
set some platform_data. Signed-off-by: Andrew Chew <achew@nvidia.com>
2013-03-03Conflicts:Marcel Ziswiler
arch/arm/mach-tegra/common.c drivers/ata/ahci-tegra.c
2013-01-25fbcon: logo: allow easy integration of a custom Linux boot logoT30_LinuxImageV2.0Beta1_20130314T20_LinuxImageV2.0_20130305T20_LinuxImageV2.0Beta2_20130129Marcel Ziswiler
This patch allows for easy integration of a custom Linux boot logo to replace the Tux' being shown by default. Use gimp or the like to create a raw PPM in your desired resolution. Reduce the number of colours in the image to 224: user@host:~$ ppmquant 224 Toradex-640x480.ppm > \ Toradex-640x480-224.ppm ppmquant: making histogram... ppmquant: 370 colors found ppmquant: choosing 224 colors... ppmquant: mapping image to new colors... Convert it from raw PPM to ASCII format: user@host:~$ pnmnoraw Toradex-640x480-224.ppm > \ Toradex-640x480-ascii-224.ppm Copy it into the Linux sources: cp Toradex-640x480-ascii-224.ppm linux-toradex/drivers/video/logo/\ logo_custom_clut224.ppm Activate exclusively custom Linux logo in the kernel configuration: Device Drivers -> Graphics support -> Bootup logo -> Custom 224-color Linux logo And re-compile the kernel.
2013-01-14video: tegra: dc: minimum window size is 1x1Jon Mayo
Use 1x1 as the minimum window size. Bug 1193195 Change-Id: I42e13fec82bbc2dc37bde6416088f3ae49b304b7 Signed-off-by: Jon Mayo <jmayo@nvidia.com> Reviewed-on: http://git-master/r/173302 (cherry picked from commit 3f160560b48fdf501547b9fc1f7c5bf8bd5e32af) Reviewed-on: http://git-master/r/190810 Reviewed-by: Eric Brower <ebrower@nvidia.com> Tested-by: Eric Brower <ebrower@nvidia.com> Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Matthew Pedro <mapedro@nvidia.com>
2012-12-21arm: tegra: fb: Fix merge errorShashank Sharma
Fix manual rebase error Change-Id: I3b2165488b11bddda271cecdc979341c130def9b Signed-off-by: Shashank Sharma <shashanks@nvidia.com> Reviewed-on: http://git-master/r/173554 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Winnie Hsu <whsu@nvidia.com>