summaryrefslogtreecommitdiff
path: root/drivers/video/omap2
AgeCommit message (Collapse)Author
2013-08-29OMAPDSS: RFBI: remove code related to old panel modelTomi Valkeinen
Now that the old panel drivers have been removed, we can remove the old-model API and related code from the DSS encoder drivers. This patch removes the code from the RFBI driver. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Reviewed-by: Archit Taneja <archit@ti.com>
2013-08-29OMAPDSS: VENC: remove code related to old panel modelTomi Valkeinen
Now that the old panel drivers have been removed, we can remove the old-model API and related code from the DSS encoder drivers. This patch removes the code from the VENC driver. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Reviewed-by: Archit Taneja <archit@ti.com>
2013-08-29OMAPDSS: SDI: remove code related to old panel modelTomi Valkeinen
Now that the old panel drivers have been removed, we can remove the old-model API and related code from the DSS encoder drivers. This patch removes the code from the SDI driver. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Reviewed-by: Archit Taneja <archit@ti.com>
2013-08-29OMAPDSS: DSI: remove code related to old panel modelTomi Valkeinen
Now that the old panel drivers have been removed, we can remove the old-model API and related code from the DSS encoder drivers. This patch removes the code from the DSI driver. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Reviewed-by: Archit Taneja <archit@ti.com>
2013-08-29OMAPDSS: HDMI: remove code related to old panel modelTomi Valkeinen
Now that the old panel drivers have been removed, we can remove the old-model API and related code from the DSS encoder drivers. This patch removes the code from the HDMI driver. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Reviewed-by: Archit Taneja <archit@ti.com>
2013-08-29OMAPDSS: DPI: remove code related to old panel modelTomi Valkeinen
Now that the old panel drivers have been removed, we can remove the old-model API and related code from the DSS encoder drivers. This patch removes the code from the DPI driver. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Reviewed-by: Archit Taneja <archit@ti.com>
2013-08-29OMAPDSS: remove all old panel driversTomi Valkeinen
The board files now use the new panel drivers, making the old panel drivers obsolete. Remove the old panel drivers, Kconfig and Makefile entries, and the panels' platform data structs. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Reviewed-by: Archit Taneja <archit@ti.com>
2013-08-29OMAPDSS: DPI: change regulator handlingTomi Valkeinen
Regulator handling for DPI and SDI is currently handled in the core.c, using the 'virtual' omapdss platform device. Nowadays we have proper devices for both DPI and SDI, and so we can handle the regulators inside the respective drivers. This patch moves the regulator handling for DPI into dpi.c. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Reviewed-by: Archit Taneja <archit@ti.com>
2013-08-29OMAPDSS: SDI: change regulator handlingTomi Valkeinen
Regulator handling for DPI and SDI is currently handled in the core.c, using the 'virtual' omapdss platform device. Nowadays we have proper devices for both DPI and SDI, and so we can handle the regulators inside the respective drivers. This patch moves the regulator handling for SDI into sdi.c. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Reviewed-by: Archit Taneja <archit@ti.com>
2013-08-29OMAPDSS: RFBI: Mark RFBI as brokenTomi Valkeinen
OMAPDSS's RFBI encoder driver has not been working for some time. The Nokia N800 is the only board in the mainline that uses RFBI, but it has never been fully functional. The RFBI driver needs to be updated to the new panel model, but as the driver is rather unmaintained and there's no way to test the changes, let's mark the driver as broken. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Reviewed-by: Archit Taneja <archit@ti.com>
2013-08-06OMAPDSS: HDMI: Fix AVI infoframe bugMythri P K
ti_hdmi_4xxx_basic_configure() is supposed to initialize the AVI infoframe data in the ip_data container. However, the function actually takes a copy of the infoframe from the ip_data, and then goes on initializing that copy. The initialized data is never copied back to the ip_data container, thus the infoframe in ip_data is left always zero. Afaik, this doesn't really cause any issues in the current mainline, as we don't use the advanced features offered by the AVI infoframe. This patch fixes the initialization of the AVI infoframe. Signed-off-by: Mythri P K <mythripk@ti.com> [tomi.valkeinen@ti.com: updated the description] Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2013-08-02OMAPDSS: analog-tv-connector: compile fixTomi Valkeinen
connector-analog-tv.c uses omap_dss_pal_timings, defined in omapdss's venc.c, for default timings. omap_dss_pal_timings only exists when VENC is enabled in the kernel config, so disabling VENC breaks omap_dss_pal_timings connector-analog-tv compilation. Instead of adding dependency to VENC, add internal default timings to the connector driver, because the connector driver should not depend on VENC, and it can be used with any other analog TV encoder. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2013-07-15PTR_RET is now PTR_ERR_OR_ZERO(): Replace most.Rusty Russell
Sweep of the simple cases. Cc: netdev@vger.kernel.org Cc: linuxppc-dev@lists.ozlabs.org Cc: linux-arm-kernel@lists.infradead.org Cc: Julia Lawall <julia.lawall@lip6.fr> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Acked-by: David S. Miller <davem@davemloft.net> Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2013-07-09Merge tag 'fbdev-for-3.11' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/plagnioj/linux-fbdev Pull fbdev update from Jean-Christophe PLAGNIOL-VILLARD: "Various fbdev changes for 3.11 - xilinxfb updates - Small cleanups and fixes to multiple drivers - OMAP display subsystem bug updates - imxfb dt support" * tag 'fbdev-for-3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/plagnioj/linux-fbdev: (95 commits) video: imxfb: Add DT support video: i740fb: Make i740fb_init static fb: make fp_get_options name argument const video: mmp: fix graphics/video layer enable/mask swap issue video: mmp: fix memcpy wrong size for mmp_addr issue radeon: use pdev->pm_cap instead of pci_find_capability(..,PCI_CAP_ID_PM) aty128fb: use pdev->pm_cap instead of pci_find_capability(..,PCI_CAP_ID_PM) video: of_display_timing.h: Declare 'display_timing' fbdev: bfin-lq035q1-fb: Use dev_pm_ops fbmem: return -EFAULT on copy_to_user() failure OMAPDSS: DPI: Fix wrong pixel clock limit video: replace strict_strtoul() with kstrtoul() uvesafb: Correct/simplify warning message fb: fix atyfb unused data warnings fb: fix atyfb build warning video: imxfb: Make local symbols static video: udlfb: Make local symbol static video: udlfb: Use NULL instead of 0 video: smscufx: Use NULL instead of 0 video: remove unnecessary platform_set_drvdata() ...
2013-07-04Merge branch 'for-linus' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial Pull trivial tree updates from Jiri Kosina: "The usual stuff from trivial tree" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (34 commits) treewide: relase -> release Documentation/cgroups/memory.txt: fix stat file documentation sysctl/net.txt: delete reference to obsolete 2.4.x kernel spinlock_api_smp.h: fix preprocessor comments treewide: Fix typo in printk doc: device tree: clarify stuff in usage-model.txt. open firmware: "/aliasas" -> "/aliases" md: bcache: Fixed a typo with the word 'arithmetic' irq/generic-chip: fix a few kernel-doc entries frv: Convert use of typedef ctl_table to struct ctl_table sgi: xpc: Convert use of typedef ctl_table to struct ctl_table doc: clk: Fix incorrect wording Documentation/arm/IXP4xx fix a typo Documentation/networking/ieee802154 fix a typo Documentation/DocBook/media/v4l fix a typo Documentation/video4linux/si476x.txt fix a typo Documentation/virtual/kvm/api.txt fix a typo Documentation/early-userspace/README fix a typo Documentation/video4linux/soc-camera.txt fix a typo lguest: fix CONFIG_PAE -> CONFIG_x86_PAE in comment ...
2013-06-28Merge tag 'fbdev-3.11-2' of git://gitorious.org/linux-omap-dss2/linux into ↵Jean-Christophe PLAGNIOL-VILLARD
fbdev/for-next Various fbdev changes for 3.11 * xilinxfb updates * Small cleanups and fixes to multiple drivers
2013-06-26OMAPDSS: DPI: Fix wrong pixel clock limitTomi Valkeinen
DPI is supposed to skip odd dividers in the clock path when the pixel clock is higher than 100MHz. The code, however, defines the pixel clock limit as 1MHz. This causes the driver to skip valid clock dividers, possibly making the pixel clock to be further away from the requested one than necessary. Fix the clock limit to 100MHz. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Cc: NeilBrown <neilb@suse.de>
2013-06-26video: replace strict_strtoul() with kstrtoul()Jingoo Han
The usage of strict_strtoul() is not preferred, because strict_strtoul() is obsolete. Thus, kstrtoul() should be used. Signed-off-by: Jingoo Han <jg1.han@samsung.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2013-06-17OMAPDSS: panels: add Kconfig commentTomi Valkeinen
Add a comment to Kconfig to clarify the difference between the two display driver directories. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2013-06-17OMAPDSS: Add NEC NL8048HL11 panel driverTomi Valkeinen
Add NEC NL8048HL11 panel driver which uses the new DSS device model and DSS ops. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2013-06-17OMAPDSS: Add TPO TD043MTEA1 panel driverTomi Valkeinen
Add TPO TD043MTEA1 panel driver which uses the new DSS device model and DSS ops. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Tested-by: Grazvydas Ignotas <notasas@gmail.com>
2013-06-17OMAPDSS: Add Sharp LS037V7DW01 panel driverTomi Valkeinen
Add Sharp LS037V7DW01 panel driver which uses the new DSS device model and DSS ops. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2013-06-17OMAPDSS: Add LG.Philips LB035Q02 panel driverTomi Valkeinen
Add LG.Philips LB035Q02 panel driver which uses the new DSS device model and DSS ops. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2013-06-17OMAPDSS: Add Sony ACX565AKM panel driverTomi Valkeinen
Add Sony ACX565AKM panel driver which uses the new DSS device model and DSS ops. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Tested-by: Aaro Koskinen <aaro.koskinen@iki.fi>
2013-06-17OMAPDSS: Add new DSI Command Mode panel driverTomi Valkeinen
Add DSI Command Mode panel driver which uses the new DSS device model and DSS ops. This driver only supports a very basic set of features which should be common to all DSI command mode panels. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2013-06-17OMAPDSS: Add new simple DPI panel driverTomi Valkeinen
Add simple DPI Panel driver which uses the new DSS device model and DSS ops. A "simple" panel means one that does not require any special setup. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2013-06-17OMAPDSS: Add new Analog TV Connector driverTomi Valkeinen
Add Analog TV Connector driver which uses the new DSS device model and DSS ops. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2013-06-17OMAPDSS: Add new HDMI Connector driverTomi Valkeinen
Add HDMI Connector driver which uses the new DSS device model and DSS ops. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2013-06-17OMAPDSS: Add new DVI Connector driverTomi Valkeinen
Add DVI Connector driver which uses the new DSS device model and DSS ops. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2013-06-17OMAPDSS: Add new TPD12S015 Encoder driverTomi Valkeinen
Add TPD12S015 HDMI ESD protection and level shifter encoder driver which uses the new DSS device model and DSS ops. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2013-06-17OMAPDSS: Add new TFP410 Encoder driverTomi Valkeinen
Add TFP410 DPI-to-DVI Encoder driver which uses the new DSS device model and DSS ops. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2013-06-17OMAPDSS: DSI: Add opsTomi Valkeinen
Add "ops" style method for using DSI functionality. Ops style calls will allow us to have arbitrarily long display pipelines, where each entity can call ops in the previous display entity. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2013-06-17OMAPDSS: HDMI: Add opsTomi Valkeinen
Add "ops" style method for using HDMI functionality. Ops style calls will allow us to have arbitrarily long display pipelines, where each entity can call ops in the previous display entity. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2013-06-17OMAPDSS: AnalogTV: Add opsTomi Valkeinen
Add "ops" style method for using analog TV functionality. Ops style calls will allow us to have arbitrarily long display pipelines, where each entity can call ops in the previous display entity. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2013-06-17OMAPDSS: SDI: Add opsTomi Valkeinen
Add "ops" style method for using SDI functionality. Ops style calls will allow us to have arbitrarily long display pipelines, where each entity can call ops in the previous display entity. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2013-06-17OMAPDSS: DPI: Add opsTomi Valkeinen
Add "ops" style method for using DPI functionality. Ops style calls will allow us to have arbitrarily long display pipelines, where each entity can call ops in the previous display entity. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2013-06-17OMAPDSS: add OMAP_DISPLAY_TYPE_DVITomi Valkeinen
Add new display bus type for DVI. This is not used by omapdss driver itself, but is used by external encoder chips that output DVI. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2013-06-17OMAPDSS: modify get/find functions to go through the device chainTomi Valkeinen
In the future will have arbitrarily long video pipeline chains, instead of the current two-entities-per-pipeline model. This patch changes the affected get/find style functions so that they properly go through the video pipeline chain, for example when getting the overlay manager connected to a given display. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2013-06-17OMAPDSS: public omapdss_register_output()Tomi Valkeinen
In order to allow multiple display block in a video pipeline, we need to give the drivers way to register themselves. For now we have the omapdss_register_display() which is used to register panels, and dss_register_output() which is used to register DSS encoders. This patch makes dss_register_output() public (with the name of omapdss_register_output), which can be used to register also external encoders. The distinction between register_output and register_display is that a "display" is an entity at the end of the videopipeline, and "output" is something inside the pipeline. The registration and naming will be made saner in the future, but the current names and functions are kept to minimize changes during the dss device model transition. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2013-06-17OMAPDSS: gracefully disable overlay at errorSergey Kibrik
Disable overlay via ovl->disable() interface, which will properly set flags in cache and GO bits for managers. This allows overlay user to re-enable it on next frame, thus recovering from FIFO underflows. Signed-off-by: Sergey Kibrik <sergiikibrik@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2013-06-17OMAPDSS: Remove kfree for memory allocated with devm_kzallocEmil Goode
It's not necessary to free memory allocated with devm_kzalloc in a remove function and using kfree leads to a double free. Signed-off-by: Emil Goode <emilgoode@gmail.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2013-06-17OMAPDSS: remove dispc's dependency to VENC/HDMITomi Valkeinen
DISPC needs to know the clock rate for DIGIT (i.e. TV) channel, and this clock is provided by either VENC or HDMI modules. Currently DISPC will call a function in VENC/HDMI, asking what the clock rate is. This means we have a fixed dependency from DISPC to both VENC and HDMI. To have a more generic approach, and in particular to allow adding OMAP5 HDMI driver, we need to remove this dependency. This patch makes VENC/HDMI inform DISPC when the their clock changes, thus reversing the dependency and removing the issue. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2013-06-17OMAPDSS: HDMI clean up hpd_gpioTomi Valkeinen
hpd_gpio is no longer used by the OMAP4 HDMI IP driver, and we can thus remove the unnecessary code. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2013-06-17OMAPDSS: HDMI: clean up PHY power handlingTomi Valkeinen
The TRM tells to set PHY to TXON only after getting LINK_CONNECT, and to set PHY to OFF or LDOON after getting LINK_DISCONNECT, in order to avoid damage to the PHY. We don't currently do it quite like that. Instead of using the HDMI interrupts, we use HPD signal. This works, but is not actually quite correct, as HPD comes at a different time than LINK_CONNECT and LINK_DISCONNECT interrupts. Also, the HPD GPIO is a property of the TPD level shifter, not HDMI IP, so handling the GPIO in the HDMI driver is wrong. This patch implements the PHY power handling correctly, using the interrupts. There is a corner case that causes some additional difficulties: we may get both LINK_CONNECT and LINK_DISCONNECT interrupts at the same time. This is handled in the code by retrying: turning off the PHY, clearing the interrupt status, and re-enabling the PHY. This causes a new LINK_CONNECT interrupt to happen if a cable is connected. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2013-06-17OMAPFB: use EPROBE_DEFER if default display is not presentTomi Valkeinen
Currently omapfb returns EPROBE_DEFER if no displays have been probed at the time omapfb is probed. However, sometimes some of the displays have been probed at that time, but not all. We can't return EPROBE_DEFER in that case, because then one missing driver would cause omapfb to defer always, preventing any display from working. However, if the user has defined a default display, we can presume that the driver for that display is eventually loaded. Thus, this patch changes omapfb to return EPROBE_DEFER in case default display is not found. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2013-06-17OMAPDSS: output: increase refcount in find_output funcsTomi Valkeinen
Now that omap_dss_output has been combined into omap_dss_device, we can add ref counting for the relevant output functions also. This patch adds omap_dss_get_device() calls to the various find_output() style functions. This, of course, means that the users of those find_output functions need to do a omap_dss_put_device() after use. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2013-06-17OMAPDSS: add THIS_MODULE owner to DSS outputsTomi Valkeinen
Setup the owner field for DSS output's omap_dss_device so that module refcounting works. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2013-06-17OMAPDSS: add module_get/put to omap_dss_get/put_device()Tomi Valkeinen
omap_dss_get_device() should be called for omap_dss_device before it is used to increase its refcount. Currently we only increase the refcount for the underlying device. This patch adds managing the ref count to the underlying module also, which contains the ops for the omap_dss_device. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2013-06-17OMAPDSS: combine omap_dss_output into omap_dss_deviceTomi Valkeinen
We currently have omap_dss_device, which represents an external display device, sometimes an external encoder, sometimes a panel. Then we have omap_dss_output, which represents DSS's output encoder. In the future with new display device model, we construct a video pipeline from the display blocks. To accomplish this, all the blocks need to be presented by the same entity. Thus, this patch combines omap_dss_output into omap_dss_device. Some of the fields in omap_dss_output are already found in omap_dss_device, but some are not. This means we'll have DSS output specific fields in omap_dss_device, which is not very nice. However, it is easier to just keep those output specific fields there for now, and after transition to new display device model is made, they can be cleaned up easier than could be done now. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2013-06-17OMAPDSS: remove omap_dss_start/stop_device()Tomi Valkeinen
The omap_dss_start_device() and omap_dss_stop_device(), called by the DSS output drivers, are old relics. They originally did something totally else, but nowadays they increase the module ref count for panels that are enabled. This model is quite broken: the panel modules may be used even before they are enabled. For example, configuring the panel requires calls to functions located in the panel modules. In the following patches we try to improve the ref count management for the modules and display devices. The first step, however, is to remove the omap_dss_start/stop_device() totally. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>