omapdss changes for 3.11, part 1/2
The following changes since commit 317ddd256b9c24b0d78fa8018f80f1e495481a10:
Linux 3.10-rc5 (2013-06-08 17:41:04 -0700)
are available in the git repository at:
git://gitorious.org/linux-omap-dss2/linux.git tags/omapdss-for-3.11-1
for you to fetch changes up to 595470a7853848cb971d5ee3fed443b1e3aa0d1b:
OMAPDSS: gracefully disable overlay at error (2013-06-17 14:00:56 +0300)
----------------------------------------------------------------
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
----------------------------------------------------------------
Emil Goode (1):
OMAPDSS: Remove kfree for memory allocated with devm_kzalloc
Sergey Kibrik (1):
OMAPDSS: gracefully disable overlay at error
Tomi Valkeinen (36):
OMAPDSS: add pdata->default_display_name
OMAPDSS: only probe pdata if there's one
OMAPDSS: add omap_dss_find_output()
OMAPDSS: add omap_dss_find_output_by_node()
OMAPDSS: fix dss_get_ctx_loss_count for DT
OMAPDSS: clean up dss_[ovl|mgr]_get_device()
OMAPDSS: add helpers to get mgr or output from display
OMAPDSS: split overlay manager creation
OMAPDRM: fix overlay manager handling
OMAPDSS: Implement display (dis)connect support
OMAPDSS: CORE: use devm_regulator_get
OMAPDSS: DSI: cleanup regulator init
OMAPDSS: DPI: cleanup pll & regulator init
OMAPDSS: DPI: fix regulators for DT
OMAPDSS: HDMI: add hdmi_init_regulator
OMAPDSS: SDI: clean up regulator init
OMAPDSS: SDI: fix regulators for DT
OMAPDSS: VENC: clean up regulator init
OMAPDSS: add videomode conversion support
OMAPDSS: remove dssdev uses in trivial cases
OMAPDSS: add panel list
OMAPDSS: use the panel list in omap_dss_get_next_device
OMAPDSS: don't use dss bus in suspend/resume
OMAPDSS: implement display sysfs without dss bus
OMAPDSS: Add panel dev pointer to dssdev
OMAPDSS: remove omap_dss_start/stop_device()
OMAPDSS: combine omap_dss_output into omap_dss_device
OMAPDSS: omapdss.h: add owner field to omap_dss_device
OMAPDSS: add module_get/put to omap_dss_get/put_device()
OMAPDSS: add THIS_MODULE owner to DSS outputs
OMAPDSS: output: increase refcount in find_output funcs
OMAPFB: use EPROBE_DEFER if default display is not present
OMAPDSS: HDMI: clean up PHY power handling
OMAPDSS: HDMI clean up hpd_gpio
OMAPDSS: remove unused fields in omap_dss_device
OMAPDSS: remove dispc's dependency to VENC/HDMI
drivers/gpu/drm/omapdrm/omap_crtc.c | 46 +++- drivers/gpu/drm/omapdrm/omap_drv.c | 21 +- drivers/gpu/drm/omapdrm/omap_drv.h | 1 + drivers/video/omap2/displays/panel-acx565akm.c | 16 +- drivers/video/omap2/displays/panel-generic-dpi.c | 26 +-- .../omap2/displays/panel-lgphilips-lb035q02.c | 10 +- drivers/video/omap2/displays/panel-n8x0.c | 30 +-- .../omap2/displays/panel-nec-nl8048hl11-01b.c | 4 +- drivers/video/omap2/displays/panel-picodlp.c | 34 ++- .../video/omap2/displays/panel-sharp-ls037v7dw01.c | 10 +- drivers/video/omap2/displays/panel-taal.c | 164 +++++++------- drivers/video/omap2/displays/panel-tfp410.c | 32 +-- .../video/omap2/displays/panel-tpo-td043mtea1.c | 36 +-- drivers/video/omap2/dss/Kconfig | 1 + drivers/video/omap2/dss/apply.c | 47 ++-- drivers/video/omap2/dss/core.c | 108 +++++---- drivers/video/omap2/dss/dispc-compat.c | 3 +- drivers/video/omap2/dss/dispc.c | 24 +- drivers/video/omap2/dss/display-sysfs.c | 154 +++++++------ drivers/video/omap2/dss/display.c | 246 ++++++++++++++------- drivers/video/omap2/dss/dpi.c | 131 +++++------ drivers/video/omap2/dss/dsi.c | 135 +++++------ drivers/video/omap2/dss/dss.c | 3 +- drivers/video/omap2/dss/dss.h | 35 +-- drivers/video/omap2/dss/dss_features.c | 1 - drivers/video/omap2/dss/hdmi.c | 107 ++++----- drivers/video/omap2/dss/manager-sysfs.c | 47 ++-- drivers/video/omap2/dss/manager.c | 29 ++- drivers/video/omap2/dss/output.c | 78 ++++++- drivers/video/omap2/dss/rfbi.c | 39 ++-- drivers/video/omap2/dss/sdi.c | 61 ++--- drivers/video/omap2/dss/ti_hdmi.h | 5 +- drivers/video/omap2/dss/ti_hdmi_4xxx_ip.c | 87 ++++---- drivers/video/omap2/dss/ti_hdmi_4xxx_ip.h | 1 + drivers/video/omap2/dss/venc.c | 87 +++----- drivers/video/omap2/dss/venc_panel.c | 16 +- drivers/video/omap2/omapfb/omapfb-ioctl.c | 9 +- drivers/video/omap2/omapfb/omapfb-main.c | 27 +-- include/video/omapdss.h | 113 ++++++---- 39 files changed, 1131 insertions(+), 893 deletions(-)
[GIT PULL] omapdss changes for 3.11, part 2/2
The following changes since commit 595470a7853848cb971d5ee3fed443b1e3aa0d1b:
OMAPDSS: gracefully disable overlay at error (2013-06-17 14:00:56 +0300)
are available in the git repository at:
git://gitorious.org/linux-omap-dss2/linux.git tags/omapdss-for-3.11-2
for you to fetch changes up to c545b59515cca4ccaf920e12582a43836cddaa2b:
OMAPDSS: panels: add Kconfig comment (2013-06-17 14:33:21 +0300)
----------------------------------------------------------------
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.
----------------------------------------------------------------
Tomi Valkeinen (23):
OMAPDSS: public omapdss_register_output()
OMAPDSS: modify get/find functions to go through the device chain
OMAPDSS: add OMAP_DISPLAY_TYPE_DVI
drm/omap: DVI connector fix
OMAPDSS: DPI: Add ops
OMAPDSS: SDI: Add ops
OMAPDSS: DVI: Add ops
OMAPDSS: AnalogTV: Add ops
OMAPDSS: HDMI: Add ops
OMAPDSS: DSI: Add ops
OMAPDSS: Add new TFP410 Encoder driver
OMAPDSS: Add new TPD12S015 Encoder driver
OMAPDSS: Add new DVI Connector driver
OMAPDSS: Add new HDMI Connector driver
OMAPDSS: Add new Analog TV Connector driver
OMAPDSS: Add new simple DPI panel driver
OMAPDSS: Add new DSI Command Mode panel driver
OMAPDSS: Add Sony ACX565AKM panel driver
OMAPDSS: Add LG.Philips LB035Q02 panel driver
OMAPDSS: Add Sharp LS037V7DW01 panel driver
OMAPDSS: Add TPO TD043MTEA1 panel driver
OMAPDSS: Add NEC NL8048HL11 panel driver
OMAPDSS: panels: add Kconfig comment
drivers/gpu/drm/omapdrm/omap_drv.c | 6 +- drivers/video/omap2/Kconfig | 1 + drivers/video/omap2/Makefile | 1 + drivers/video/omap2/displays-new/Kconfig | 73 ++ drivers/video/omap2/displays-new/Makefile | 12 + .../video/omap2/displays-new/connector-analog-tv.c | 265 ++++ drivers/video/omap2/displays-new/connector-dvi.c | 351 +++++ drivers/video/omap2/displays-new/connector-hdmi.c | 375 ++++++ drivers/video/omap2/displays-new/encoder-tfp410.c | 267 ++++ .../video/omap2/displays-new/encoder-tpd12s015.c | 395 ++++++ drivers/video/omap2/displays-new/panel-dpi.c | 270 ++++ drivers/video/omap2/displays-new/panel-dsi-cm.c | 1336 ++++++++++++++++++++ .../omap2/displays-new/panel-lgphilips-lb035q02.c | 358 ++++++ .../omap2/displays-new/panel-nec-nl8048hl11.c | 394 ++++++ .../omap2/displays-new/panel-sharp-ls037v7dw01.c | 324 +++++ .../omap2/displays-new/panel-sony-acx565akm.c | 865 +++++++++++++ .../omap2/displays-new/panel-tpo-td043mtea1.c | 646 ++++++++++ drivers/video/omap2/displays/Kconfig | 2 +- drivers/video/omap2/dss/apply.c | 14 +- drivers/video/omap2/dss/display.c | 1 + drivers/video/omap2/dss/dpi.c | 74 +- drivers/video/omap2/dss/dsi.c | 97 +- drivers/video/omap2/dss/dss.h | 4 - drivers/video/omap2/dss/hdmi.c | 238 +++- drivers/video/omap2/dss/output.c | 15 +- drivers/video/omap2/dss/rfbi.c | 4 +- drivers/video/omap2/dss/sdi.c | 82 +- drivers/video/omap2/dss/venc.c | 76 +- include/video/omap-panel-data.h | 209 +++ include/video/omapdss.h | 192 ++- 30 files changed, 6911 insertions(+), 36 deletions(-) create mode 100644 drivers/video/omap2/displays-new/Kconfig create mode 100644 drivers/video/omap2/displays-new/Makefile create mode 100644 drivers/video/omap2/displays-new/connector-analog-tv.c create mode 100644 drivers/video/omap2/displays-new/connector-dvi.c create mode 100644 drivers/video/omap2/displays-new/connector-hdmi.c create mode 100644 drivers/video/omap2/displays-new/encoder-tfp410.c create mode 100644 drivers/video/omap2/displays-new/encoder-tpd12s015.c create mode 100644 drivers/video/omap2/displays-new/panel-dpi.c create mode 100644 drivers/video/omap2/displays-new/panel-dsi-cm.c create mode 100644 drivers/video/omap2/displays-new/panel-lgphilips-lb035q02.c create mode 100644 drivers/video/omap2/displays-new/panel-nec-nl8048hl11.c create mode 100644 drivers/video/omap2/displays-new/panel-sharp-ls037v7dw01.c create mode 100644 drivers/video/omap2/displays-new/panel-sony-acx565akm.c create mode 100644 drivers/video/omap2/displays-new/panel-tpo-td043mtea1.c