summaryrefslogtreecommitdiff
path: root/drivers/video/fbdev/omap2/dss
AgeCommit message (Collapse)Author
2014-10-22OMAPDSS: fix dispc register dump for preload & mflagTomi Valkeinen
Preload register is dumped twice for video overlays and mflag register is not dumped for GFX. Fix the register dump. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-10-22OMAPDSS: DISPC: fix mflag offsetTomi Valkeinen
The register offset for DISPC_OVL_MFLAG_THRESHOLD is wrong, fix it. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-10-22OMAPDSS: HDMI: fix regsd writeTomi Valkeinen
HDMI PLL's REGSD field is only set by the driver if the PLL's output clock is over 1GHz. This is clearly an error, as REGSD should be set always. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-10-22OMAPDSS: HDMI: fix PLL GO bit handlingTomi Valkeinen
The PLL settings are committed by setting GO bit, which is then cleared by the HW when the settings have been taken into use. The current PLL code handles this wrong: instead of waiting for the bit to be cleared, it waits for the bit to be set. Usually, the bit is always set, as the CPU has just set it before. However, if the CPU takes enough time between setting the GO bit and checking it, the HW may already have cleared the bit and this leads to timeout error. Fix the wait to check the bit properly. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-10-22OMAPDSS: apply: wait pending updates on manager disableTomi Valkeinen
We should wait for any pending updates when an overlay manager is about to be disabled, because the updates will never be finished if the manager is disabled too early. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-10-22OMAPDSS: set suppress_bind_attrsTomi Valkeinen
omapdss drivers cannot handle devices being unbound while the devices are part of a connected display pipeline. Module refcounts are used to prevent unloading the modules, but one can still manually unbind the devices via sysfs, causing crash. Set suppress_bind_attrs to disable the bind/unbind support via sysfs. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-10-20video: fbdev: omap2: dss: drop owner assignment from platform_driversWolfram Sang
A platform_driver does not need to set an owner, it will be populated by the driver core. Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2014-09-30arm, fbdev, omap2, LLVMLinux: Remove nested function from omap2 dssBehan Webster
Replace the use of nested functions where a normal function will suffice. Nested functions are not liked by upstream kernel developers in general. Their use breaks the use of clang as a compiler, and doesn't make the code any better. This code now works for both gcc and clang. Signed-off-by: Behan Webster <behanw@converseincode.com> Suggested-by: Arnd Bergmann <arnd@arndb.de> Cc: Arnd Bergmann <arnd@arndb.de> Reviewed-by: Felipe Balbi <balbi@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-08-26OMAPDSS: DSI: use c99 initializers in structuresJulia Lawall
Use c99 initializers for structures. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @decl@ identifier i1,fld; type T; field list[n] fs; @@ struct i1 { fs T fld; ...}; @bad@ identifier decl.i1,i2; expression e; initializer list[decl.n] is; @@ struct i1 i2 = { is, + .fld = e - e ,...}; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-08-08Merge tag 'fbdev-3.17' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux Pull fbdev updates from Tomi Valkeinen: - much better HDMI infoframe support for OMAP - Cirrus Logic CLPS711X framebuffer driver - DT support for PL11x CLCD driver - various small fixes * tag 'fbdev-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux: (35 commits) OMAPDSS: DSI: fix depopulating dsi peripherals video: hyperv: hyperv_fb: refresh the VM screen by force on VM panic video: ARM CLCD: Fix DT-related build problems drivers: video: fbdev: atmel_lcdfb.c: Add ability to inverted backlight PWM. video: ARM CLCD: Add DT support drm/omap: Add infoframe & dvi/hdmi mode support OMAPDSS: HDMI: remove the unused code OMAPDSS: HDMI5: add support to set infoframe & HDMI mode OMAPDSS: HDMI4: add support to set infoframe & HDMI mode OMAPDSS: HDMI: add infoframe and hdmi_dvi_mode fields OMAPDSS: add hdmi ops to hdmi-connector and tpd12s015 OMAPDSS: add hdmi ops to hdmi_ops and omap_dss_driver OMAPDSS: HDMI: remove custom avi infoframe OMAPDSS: HDMI5: use common AVI infoframe support OMAPDSS: HDMI4: use common AVI infoframe support OMAPDSS: Kconfig: select HDMI OMAPDSS: HDMI: fix name conflict OMAPDSS: DISPC: clean up dispc_mgr_timings_ok OMAPDSS: DISPC: reject interlace for lcd out OMAPDSS: DISPC: fix debugfs reg dump ...
2014-08-08OMAPDSS: DSI: fix depopulating dsi peripheralsTomi Valkeinen
After v3.16-rc1, devices populated with of_platform_populate() should be depopulated using of_platform_depopulate(). Failure to do so prevents the devices from being populated again (e.g. when loading a module). This patch fixes the problem for the OMAP DSI driver. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-07-04OMAPDSS: HDMI: remove the unused codeTomi Valkeinen
We no longer need the horrible driver internal videmode tables, which were used to decide if a given videomode is a HDMI or DVI mode. So remove all related code. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-07-04OMAPDSS: HDMI5: add support to set infoframe & HDMI modeTomi Valkeinen
Instead of using hardcoded AVI infoframe, and a custom HDMI/DVI mode selection based in internal videomode tables, add support to set the infoframe and HDMI/DVI mode. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-07-04OMAPDSS: HDMI4: add support to set infoframe & HDMI modeTomi Valkeinen
Instead of using hardcoded AVI infoframe, and a custom HDMI/DVI mode selection based in internal videomode tables, add support to set the infoframe and HDMI/DVI mode. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-07-04OMAPDSS: HDMI: add infoframe and hdmi_dvi_mode fieldsTomi Valkeinen
Add infoframe and hdmi_dvi_mode fields to 'struct hdmi_config' which will be used in the following patches for OMAP4 and OMAP5 HDMI. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-07-04OMAPDSS: HDMI: remove custom avi infoframeTomi Valkeinen
We now use the common AVI infoframe support, so the OMAP specific AVI infoframe code can be removed. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-07-04OMAPDSS: HDMI5: use common AVI infoframe supportTomi Valkeinen
Instead of using OMAP specific AVI infoframe structs, use the common one from include/linux/hdmi.h. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-07-04OMAPDSS: HDMI4: use common AVI infoframe supportTomi Valkeinen
Instead of using OMAP specific AVI infoframe structs, use the common one from include/linux/hdmi.h. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-07-04OMAPDSS: Kconfig: select HDMITomi Valkeinen
Select HDMI support to be able to use HDMI infoframe helpers. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-07-04OMAPDSS: HDMI: fix name conflictTomi Valkeinen
OMAP HDMI driver has an 'enum hdmi_audio_sample_size', which conflicts with the common include/linux/hdmi.h. Change the name of the OMAP specific enum with '_omap" postfix. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-07-04OMAPDSS: DISPC: clean up dispc_mgr_timings_okTomi Valkeinen
dispc_mgr_timings_ok() is a bit confusing how it handles the return value. Change the function to just return immediately when a timing is deemed not valid, making the code much easier to follow. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-07-04OMAPDSS: DISPC: reject interlace for lcd outTomi Valkeinen
OMAP2/3 does not support interlace for LCD out. OMAP4+ does, but is not supported by the driver at the moment. The driver still accepts interlaced mode for LCD out, causing broken display output. This patch makes dispc reject interlace for LCD out. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-07-04OMAPDSS: DISPC: fix debugfs reg dumpTomi Valkeinen
DISPC reg dump prints a few registers twice. Remove the extra prints. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-06-26video: omapdss: Fix potential null pointer dereferenceSachin Kamat
kmalloc can return null. Add a check to avoid potential null pointer dereference error when the pointer is accessed later. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-05-28OMAPDSS: move 'compatible' converter to omapdss driverTomi Valkeinen
Move the panel/encoder driver compatible-string converter from arch/arm/mach-omap2/display.c to omapdss driver. That is a more logical place for it, as it's really an omapdss internal hack. The code is rewritten to follow the video node graph, starting from omapdss. This removes the need to have the device compatible-string database. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-05-23OMAPDSS: HDMI: fix devm_ioremap_resource error checksTomi Valkeinen
devm_ioremap_resource returns ERR_PTR on error, not NULL. Fix the error checks in the driver. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-05-23OMAPDSS: HDMI: remove unused definesTomi Valkeinen
Remove some unused defines from the HDMI driver. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-05-23OMAPDSS: HDMI: cleanup WP ioremapsTomi Valkeinen
Commit 59b3d38a3691396783df108e6afbba30656edccb missed cleaning up the hdmi_wp.c file. Clean up hdmi_wp.c the same way as the others. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-05-19OMAPDSS: hdmi5_core: Fix compilation with OMAP5_DSS_HDMI_AUDIOJyri Sarha
Use correct variable name for base address. Signed-off-by: Jyri Sarha <jsarha@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-05-09OMAPDSS: Fix writes to DISPC_POL_FREQTomi Valkeinen
When omapdss writes to DISPC_POL_FREQ register, it always ORs the bits with the current contents of the register, never clearing the old ones, causing wrong signal polarity settings. As we write all the bits in DISPC_POL_FREQ, we don't need to care about the current contents of the register. So fix the issue by constructing new register value from scratch. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-05-09OMAPDSS: HDMI: cleanup ioremapsTomi Valkeinen
Now that all the boards using OMAP HDMI are using DT boot, we can remove the hacks for getting the ioresources with non-DT boot. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-05-09OMAPDSS: HDMI: Add OMAP5 HDMI supportTomi Valkeinen
This adds a new driver to omapdss for OMAP5 HDMI. However, the new driver uses common HDMI files which are shared with OMAP4 HDMI driver. OMAP5 HDMI has a different HDMI core IP compared to OMAP4, but has very similar PLL and PHY IPs which can be handled with common code. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-05-09OMAPDSS: HDMI: PLL changes for OMAP5Archit Taneja
Add a features struct to differentiate between the HDMI PLLs on OMAP4 and OMAP5. The OMAP5 PLL is more sensitive when it comes to locking. We need to ensure that the DCO freq isn't too low for lower pixel clocks. Modify the PLL computation slightly to ensure the HDMI PLL locks for lower frequencies. This will be later replaced by a more complex computation which makes sure all the PLL constraints are met. Signed-off-by: Archit Taneja <archit@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-05-09OMAPDSS: HDMI: PHY changes for OMAP5Archit Taneja
OMAP5 HDMI PHY has some differences compared to OMAP4 HDMI PHY. This patch creates a features struct which help the driver configure the PHY based on what SoC it is. Some of the features aren't currenlty used, but will come in use later. Signed-off-by: Archit Taneja <archit@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-05-09OMAPDSS: HDMI: support larger register offsets for OMAP5 HDMI coreArchit Taneja
The HDMI core IP on OMAP5 has a wider address range for registers. The offsets for the later registers can't fit into the u16 type currently used for hdmi register read and write functions. Use u32 for offsets instead. Signed-off-by: Archit Taneja <archit@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-05-09OMAPDSS: HDMI: move irq & phy pwr handlingTomi Valkeinen
HDMI IRQ handling was moved into hdmi_phy.c when restructuring the HDMI driver. While this worked fine, it's not correct. The HDMI IRQ handling should be either in the hdmi_wp, or in the main hdmi driver. This patch moves the handling to the main hdmi driver, as I feel it's a more appropriate choice. This move also requires changing the handling of the PHY power, as that was partly handled in the IRQ handler. The PHY power is handled via the WP module. An option would be to give HDMI PHY driver function pointers that it could use to manage the PHY power, but as the PHY power is not needed to access the PHY registers, the handling was also moved to the main HDMI driver. This could be changed later if need be. Note that there's slightly similar power issue with the PLL: the HDMI PLLs power is also handled via the WP module. For now, the PLL power handling is still done inside the PLL driver. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-05-09OMAPDSS: HDMI: improve MakefileTomi Valkeinen
We'll soon add support for OMAP5 HDMI, which uses some of the same files as OMAP4 HDMI does. This patch adds a new config entry "OMAP2_DSS_HDMI_COMMON", which both OMAP4 and OMAP5 HDMI config entries can select. OMAP2_DSS_HDMI_COMMON will cause the common HDMI files to be compiled. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-05-09OMAPDSS: DSI: Add OMAP5 DSI module IDsTomi Valkeinen
Add OMAP5 DSI module ID support to the OMAP DSI driver. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-05-09OMAPDSS: DPI: fix LCD3 DSI sourceTomi Valkeinen
At the moment the dpi driver does not handle LCD3 clock source at all. LCD3 channel gets the DSI PLL clock from DSI2 instance. Add support for LCD3's clock source in the dpi driver. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-05-09OMAPDSS: features: fix OMAP5 featuresTomi Valkeinen
OMAP5 has LCD3 overlay manager, and total 4 overlay managers. These are not correctly defined in the dss features. Fix them. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-05-09OMAPDSS: DSS & DISPC DT support for OMAP5Tomi Valkeinen
Add omap5 entries to dispc's and dss's of_device_id tables. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-05-09OMAPDSS: Add DSS features for AM43xxSathya Prakash M R
Add DSS features for AM43xx. Signed-off-by: Sathya Prakash M R <sathyap@ti.com> Acked-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-05-09OMAPDSS: remove venc_panel.cTomi Valkeinen
The use of venc_panel.c was removed in 09d2e7cdebd53b7572380a215008b334ff6321a5 (OMAPDSS: VENC: remove code related to old panel model), but the file itself was left behind. Remove the unused file. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-05-09omapdss: remove check for simpler port/endpoint bindingArchit Taneja
The support for simpler port/endpoint binding was removed in the merged version of omapdss DT. But dss_init_ports still tries to get to an endpoint even if no port exists. Remove this as this doesn't work. Signed-off-by: Archit Taneja <archit@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-05-09OMAPDSS: add __exit to dss_uninit_portsFabian Frederick
dss_uninit_ports is only called by __exit omap_dsshw_remove Cc: Tomi Valkeinen <tomi.valkeinen@ti.com> Cc: linux-omap@vger.kernel.org Cc: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Fabian Frederick <fabf@skynet.be> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-05-09video: omap2dss: fix LPAE warningsArnd Bergmann
If LPAE is enabled, dma_addr_t is 64 bit, so we have to change a few type for everything in this driver to match again. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Peter Griffin <peter.griffin@linaro.org> Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com> Cc: Tomi Valkeinen <tomi.valkeinen@ti.com> Cc: linux-fbdev@vger.kernel.org Cc: linux-omap@vger.kernel.org Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-05-07OMAPDSS: DSI: set regulator voltage to 1.8VTomi Valkeinen
Set the DSI vdd regulator voltage to the required 1.8V. This is required for the case when the regulator in the DT data defines a range of allowed voltages. In this case it's required to set the voltage, as otherwise enabling the voltage fails. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-05-07OMAPDSS: HDMI4: set regulator voltage to 1.8VTomi Valkeinen
Set the HDMI vdda regulator voltage to the required 1.8V. This is required for the case when the regulator in the DT data defines a range of allowed voltages. In this case it's required to set the voltage, as otherwise enabling the voltage fails. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-05-07OMAPDSS: HDMI: lane config supportTomi Valkeinen
Add support to configure the pins used for the HDMI lanes. The order and polarity of the lanes can be defined in the DT data. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-04-17video: move fbdev to drivers/video/fbdevTomi Valkeinen
The drivers/video directory is a mess. It contains generic video related files, directories for backlight, console, linux logo, lots of fbdev device drivers, fbdev framework files. Make some order into the chaos by creating drivers/video/fbdev directory, and move all fbdev related files there. No functionality is changed, although I guess it is possible that some subtle Makefile build order related issue could be created by this patch. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> Acked-by: Rob Clark <robdclark@gmail.com> Acked-by: Jingoo Han <jg1.han@samsung.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>