summaryrefslogtreecommitdiff
path: root/drivers/video/tegra
AgeCommit message (Collapse)Author
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-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-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-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>
2012-12-20arm: tegra: fb: Set new mode to all vc'sShashank Sharma
Send change all vc's notification from HDMI hot-plug reader to fbcon, so that the new selected mode can be applied on all the vc's from vc1 to vc6. This sometimes causes corruption on HDMI hot plugin, when fbcon is mapped to HDMI Bug 1166008 Signed-off-by: Shashank Sharma <shashanks@nvidia.com> Change-Id: Id173de3014597f79c8c8b31bbbee7c9c560547b6 Reviewed-on: http://git-master/r/168683 Reviewed-by: Matthew Pedro <mapedro@nvidia.com> Tested-by: Matthew Pedro <mapedro@nvidia.com>
2012-12-20arm: tegra: dc: corrct order to enable/disable dc irqJong Kim
When porting change from mainline to balance dc irq, the change of enable/disable order was not ported, thus dc irq is disabled if dc is enabled during probe. This is part of http://git-master/r/146107. Original change is big for many bugs, only port one here. bug 1173177 bug 1173038 bug 1008313 Change-Id: Idd703daca9f980e905b185eeeae19dc6309d76e5 Signed-off-by: Dongfang Shi <dshi@nvidia.com> Reviewed-on: http://git-master/r/162868 (cherry picked from commit 6ddd8b02f7a17d2269290d06159c20860ffb92e9) Signed-off-by: Jong Kim <jongk@nvidia.com> Reviewed-on: http://git-master/r/173249 Reviewed-by: Winnie Hsu <whsu@nvidia.com> Reviewed-by: Jon Mayo <jmayo@nvidia.com>
2012-12-20arm: tegra: fb: Update line_length using display widthJong Kim
Unconditionally update line_length using disply width to avoid discrepancy between line_length and actual display width. bug 1186388 Change-Id: I8ef2f9cf76a61764c2121f3c2c013b72b830ce2e Signed-off-by: Jong Kim <jongk@nvidia.com> Reviewed-on: http://git-master/r/170664 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Winnie Hsu <whsu@nvidia.com>
2012-12-17tegra: Add nvmap_mark_global()Andrew Chew
Add this function, to be able to set the global field of an nvmap_handle while preserving the nvmap API's encapsulation mechanisms. Change-Id: I62de773a65119722f059b114e2d0e906c7e04e83 Signed-off-by: Andrew Chew <achew@nvidia.com> Signed-off-by: Bryan Wu <pengw@nvidia.com> Reviewed-on: http://git-master/r/169834 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Winnie Hsu <whsu@nvidia.com>
2012-12-17tegra: Add function to release resourcesAndrew Chew
Add a companion function to nvhost_client_device_get_resources() called nvhost_client_device_put_resources() that does the opposite thing. This is useful for any nvhost clients that need to be loaded as modules, since the driver removal path will be exercised in that case. Change-Id: Ib5cec6fce7b05c780b135b03fcd88e068f772244 Signed-off-by: Andrew Chew <achew@nvidia.com> Signed-off-by: Bryan Wu <pengw@nvidia.com> Reviewed-on: http://git-master/r/169833 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Winnie Hsu <whsu@nvidia.com>
2012-11-16android: dc: tegra: video: conditionally revert timestamp supportMarcel Ziswiler
Android R14 userspace seems to have issues with timestamp support: [ 14.764337] host1x host1x: SurfaceFlinger: syncpoint id 8 (disp0_a) stuck waiting 3, timeout=2147483447 [ 14.773845] host1x host1x: id 8 (disp0_a) min 2 max 4 [ 14.779163] host1x host1x: id 9 (disp1_a) min 2 max 4 [ 14.784316] host1x host1x: id 18 (2d_0) min 21 max 25 [ 14.789586] host1x host1x: id 20 (disp0_b) min 2 max 4 [ 14.794889] host1x host1x: id 21 (disp1_b) min 2 max 4 [ 14.800241] host1x host1x: id 22 (3d) min 77 max 95 [ 14.805217] host1x host1x: id 24 (disp0_c) min 2 max 4 [ 14.810573] host1x host1x: id 25 (disp1_c) min 2 max 4 [ 14.815873] host1x host1x: id 26 (vblank0) min 800 max 0 [ 14.821264] host1x host1x: id 27 (vblank1) min 684 max 0 [ 14.826810] host1x host1x: waitbase id 3 val 77 Therefore conditionally revert it in that case for now. See e4e2e776a3d4bf1adf37fc061cfdfb92281f3ace.
2012-11-12Merge branch 'l4t/l4t-r16-r2' into colibriMarcel Ziswiler
Conflicts: arch/arm/mach-tegra/tegra3_usb_phy.c arch/arm/mach-tegra/usb_phy.c drivers/usb/gadget/tegra_udc.c drivers/usb/otg/Makefile drivers/video/tegra/fb.c sound/soc/tegra/tegra_pcm.c