- 28 Jun, 2013 2 commits
-
-
git://gitorious.org/linux-omap-dss2/linuxJean-Christophe PLAGNIOL-VILLARD authored
OMAP display subsystem changes for 3.11 (part 2/2) This is the second part of OMAP DSS changes for 3.11. This part contains the new DSS device model support. The current OMAP panel drivers use a custom DSS bus, and there's a hard limit of one external display block per video pipeline. In the new DSS device model the devices/drivers are made according to the control bus of the display block, usually platform, i2c or spi. The display blocks can also be chained so that we can have separate drivers for setups with both external encoder and panel. To allow the current board files, which use the old style panels, to function, the old display drivers are left in their current state, and new ones are added to drivers/video/omap2/displays-new/. When the board files have been converted to use the new style panels, we can remove the old code. This is planned to happen in v3.12. Having to support two very different DSS device models makes the driver somewhat confusing in some parts, and prevents us from properly cleaning up some other parts. These cleanups will be done when the old code is removed. The new device model is designed with CDF (Common Display Framework) in mind. While CDF is still under work, the new DSS device model should be much more similar to CDF's model than the old device model, which should make the eventual conversion to CDF much easier.
-
git://gitorious.org/linux-omap-dss2/linuxJean-Christophe PLAGNIOL-VILLARD authored
OMAP display subsystem changes for 3.11 (part 1/2) This is the first part of OMAP DSS changes for 3.11. This part contains fixes, cleanups and reorganizations that are not directly related to the new DSS device model that is added in part 2, although many of the reorganizations are made to make the part 2 possible. There should not be any functional changes visible to the user except the few bug fixes. The main new internal features: - Display (dis)connect support, which allows us to explicitly (dis)connect a whole display pipeline - Panel list, which allows us to operate without the specific DSS bus - Combine omap_dss_output to omap_dss_device, so that we have one generic "entity" for display pipeline blocks
-
- 27 Jun, 2013 3 commits
-
-
Vincent Stehlé authored
drm_get_connector_name now returns a const value, which causes the following compilation warning: drivers/gpu/drm/drm_fb_helper.c: In function ‘drm_fb_helper_parse_command_line’: drivers/gpu/drm/drm_fb_helper.c:127:3: warning: passing argument 1 of ‘fb_get_options’ discards ‘const’ qualifier from pointer target type [enabled by default] In file included from drivers/gpu/drm/drm_fb_helper.c:35:0: include/linux/fb.h:627:12: note: expected ‘char *’ but argument is of type ‘const char *’ As fb_get_options uses its name argument as read only, make it const. This fixes the aforementioned compilation warning. Signed-off-by:
Vincent Stehlé <vincent.stehle@freescale.com> Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com> Cc: Tomi Valkeinen <tomi.valkeinen@ti.com> Cc: Dave Airlie <airlied@redhat.com> Cc: trivial@kernel.org Signed-off-by:
Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
-
Jing Xiang authored
There is bug when switch dma of graphic layer and video layer, it configured opposite bit, fix it. Signed-off-by:
Jing Xiang <jxiang@marvell.com> Signed-off-by:
Jett.Zhou <jtzhou@marvell.com> Signed-off-by:
Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
-
Jing Xiang authored
Memcpy used wrong struct of mmp_win, fix it. Signed-off-by:
Jing Xiang <jxiang@marvell.com> Signed-off-by:
Jett.Zhou <jtzhou@marvell.com> Signed-off-by:
Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
-
- 17 Jun, 2013 35 commits
-
-
Tomi Valkeinen authored
Add a comment to Kconfig to clarify the difference between the two display driver directories. Signed-off-by:
Tomi Valkeinen <tomi.valkeinen@ti.com>
-
Tomi Valkeinen authored
Add NEC NL8048HL11 panel driver which uses the new DSS device model and DSS ops. Signed-off-by:
Tomi Valkeinen <tomi.valkeinen@ti.com>
-
Tomi Valkeinen authored
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>
-
Tomi Valkeinen authored
Add Sharp LS037V7DW01 panel driver which uses the new DSS device model and DSS ops. Signed-off-by:
Tomi Valkeinen <tomi.valkeinen@ti.com>
-
Tomi Valkeinen authored
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>
-
Tomi Valkeinen authored
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>
-
Tomi Valkeinen authored
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>
-
Tomi Valkeinen authored
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>
-
Tomi Valkeinen authored
Add Analog TV Connector driver which uses the new DSS device model and DSS ops. Signed-off-by:
Tomi Valkeinen <tomi.valkeinen@ti.com>
-
Tomi Valkeinen authored
Add HDMI Connector driver which uses the new DSS device model and DSS ops. Signed-off-by:
Tomi Valkeinen <tomi.valkeinen@ti.com>
-
Tomi Valkeinen authored
Add DVI Connector driver which uses the new DSS device model and DSS ops. Signed-off-by:
Tomi Valkeinen <tomi.valkeinen@ti.com>
-
Tomi Valkeinen authored
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>
-
Tomi Valkeinen authored
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>
-
Tomi Valkeinen authored
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>
-
Tomi Valkeinen authored
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>
-
Tomi Valkeinen authored
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>
-
Tomi Valkeinen authored
Add "ops" style method for using DVI 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>
-
Tomi Valkeinen authored
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>
-
Tomi Valkeinen authored
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>
-
Tomi Valkeinen authored
The omapdrm driver currently uses a string comparison to find out if the display is a DVI display. This is not reliable, and as we now have a specific display type for DVI, let's use that. Signed-off-by:
Tomi Valkeinen <tomi.valkeinen@ti.com>
-
Tomi Valkeinen authored
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>
-
Tomi Valkeinen authored
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>
-
Tomi Valkeinen authored
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>
-
Sergey Kibrik authored
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>
-
Emil Goode authored
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>
-
Tomi Valkeinen authored
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>
-
Tomi Valkeinen authored
The use of platform callbacks, backlight, DSI TE and reset gpio from the struct omap_dss_device has been removed. We can thus remove the fields from omap_dss_device. Signed-off-by:
Tomi Valkeinen <tomi.valkeinen@ti.com>
-
Tomi Valkeinen authored
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>
-
Tomi Valkeinen authored
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>
-
Tomi Valkeinen authored
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>
-
Tomi Valkeinen authored
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>
-
Tomi Valkeinen authored
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>
-
Tomi Valkeinen authored
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>
-
Tomi Valkeinen authored
Add struct module *owner field to omap_dss_device, which points to the module containing the ops for this omap_dss_device. This will be used to manage the ref count for the module. Signed-off-by:
Tomi Valkeinen <tomi.valkeinen@ti.com>
-
Tomi Valkeinen authored
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>
-