[GIT PULL] omapdrm changes for v4.20

Tomi Valkeinen tomi.valkeinen at ti.com
Mon Sep 3 13:40:11 UTC 2018

Hi Dave,

Please pull omapdrm changes for v4.20.

I'm sending these early to get as much linux-next time as possible. We may get some more
patches later in the -rc cycle, but this pull request should be the bulk of the changes.


The following changes since commit 5b394b2ddf0347bef56e50c69a58773c94343ff3:

  Linux 4.19-rc1 (2018-08-26 14:11:59 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux.git tags/omapdrm-4.20

for you to fetch changes up to 6ea48430952323091194100d48c5610b9cd286b4:

  drm/omap: Don't call .set_timings() operation recursively (2018-09-03 16:13:30 +0300)

omapdrm changes for v4.20

Big amount of changes from Laurent, reworking the driver towards the
model used by the other DRM drivers by reverting the direction of many
of the operations on the display pipeline. The aim of this work is to
allow omapdrm to use the common DRM panels and bridges.  Not all of the
operations are dealt in these patches, so more work needs to be done.

The only change visible to the user should be the change in module
dependencies: e.g. earlier a panel module depended on an encoder module,
but now the encoder module depends on the panel module, which affects
the order in which to unload the modules.

Jyri Sarha (1):
      drm/omap: dss: Move platform_device_register from core.c to dss.c probe

Laurent Pinchart (100):
      drm/omap: dss: Gather OMAP DSS components at probe time
      drm/omap: dss: Handle DPI and SDI port initialization failures
      drm/omap: dss: Remove omapdss_atv_ops get_wss and set_wss operations
      drm/omap: dss: Remove DSS encoders get_timings operation
      drm/omap: dss: Remove unused omapdss_default_get_timings()
      drm/omap: dss: Constify omap_dss_driver operations structure
      drm/omap: displays: Remove videomode from omap_dss_device structure
      drm/omap: dss: Remove omap_dss_device panel fields
      drm/omap: dss: Rename omap_dss_device list field to output_list
      drm/omap: dss: Create global list of all omap_dss_device instances
      drm/omap: dss: Create and use omapdss_device_is_registered()
      drm/omap: dss: Rework output lookup by port node
      drm/omap: dss: Allow looking up any device by port
      drm/omap: dss: Move common device operations to common structure
      drm/omap: dss: Add functions to connect and disconnect devices
      drm/omap: dss: Move debug message and checks to connection handlers
      drm/omap: displays: Don't call disconnect handlers directly
      drm/omap: dss: Move src and dst check and set to connection handlers
      drm/omap: displays: Remove input omap_dss_device from panel data
      drm/omap: dsi: Simplify debugfs implementation
      drm/omap: Move DSI debugfs clocks dump to dsi%u_clks files
      drm/omap: dss: Remove output devices list
      drm/omap: dss: Rename for_each_dss_dev macro to for_each_dss_display
      drm/omap: dss: Make omap_dss_get_next_device() more generic
      drm/omap: dss: Split omapdss_register_display()
      drm/omap: dss: Remove panel devices list
      drm/omap: dss: Move and rename omap_dss_(get|put)_device()
      drm/omap: dss: Store dss_device pointer in omap_dss_device
      drm/omap: dss: Move DSS mgr ops and private data to dss_device
      drm/omap: dss: Modify omapdss_find_output_from_display() to return channel
      drm/omap: dss: Replace omap_dss_device port number with bitmask
      drm/omap: dss: Extend omapdss_of_find_source_for_first_ep() to sinks
      drm/omap: displays: Don't cast dssdev to panel data unnecessarily
      drm/omap: dss: Cleanup error paths in output init functions
      drm/omap: dss: dsi: Move initialization code from bind to probe
      drm/omap: dss: hdmi4: Move initialization code from bind to probe
      drm/omap: dss: hdmi5: Move initialization code from bind to probe
      drm/omap: dss: venc: Move initialization code from bind to probe
      drm/omap: dss: Acquire next dssdev at probe time
      drm/omap: dss: Add for_each_dss_output() macro
      drm/omap: dss: Add function to retrieve display for an output
      drm/omap: dss: Remove duplicated parameter to dss_mgr_(dis)connect()
      drm/omap: dss: Get regulators at probe time
      drm/omap: Remove unneeded variable assignments in omap_modeset_init
      drm/omap: Create all planes before CRTCs
      drm/omap: Group CRTC, encoder, connector and dssdev in a structure
      drm/omap: Reverse direction of DSS device (dis)connect operations
      drm/omap: dss: Move connection checks to omapdss_device_(dis)connect
      drm/omap: dss: Move display type validation to initialization time
      drm/omap: dss: Merge two disconnection helpers
      drm/omap: Pass pipe pointer to omap_crtc_init()
      drm/omap: Store CRTC lookup by channel table in omap_drm_private
      drm/omap: Remove omap_crtc_output global array
      drm/omap: Remove supported output check in CRTC connect handler
      drm/omap: Set dispc_channel_connect from DSS output connect handlers
      drm/omap: dss: Remove the dss_mgr_(dis)connect() operations
      drm/omap: dss: Remove unused omap_dss_driver operations
      drm/omap: dss: Remove omap_dss_driver .[gs]et_mirror operations
      drm/omap: Remove unnecessary display output sanity checks
      drm/omap: Check omap_dss_device type based on the output_type field
      drm/omap: connector-hdmi: Convert to the GPIO descriptors API
      drm/omap: encoder-tfp410: Convert to the GPIO descriptors API
      drm/omap: panel-nec-nl8048hl11: Convert to the GPIO descriptors API
      drm/omap: panel-sony-acx565akm: Convert to the GPIO descriptors API
      drm/omap: panel-tpo-td028ttec1: Drop unneeded linux/gpio.h header
      drm/omap: panel-tpo-td043mtea1: Convert to the GPIO descriptors API
      drm/omap: Move most omap_dss_driver operations to omap_dss_device_ops
      drm/omap: dss: Add device operations flags
      drm/omap: Don't call .detect() operation recursively
      drm/omap: Don't call HPD registration operations recursively
      drm/omap: Remove unneeded safety checks in the HPD operations
      drm/omap: Merge HPD enable operation with HPD callback registration
      drm/omap: Move HPD disconnection handling to omap_connector
      drm/omap: Don't call EDID read operation recursively
      drm/omap: Get from CRTC to display device directly
      drm/omap: Pass both output and display omap_dss_device to encoder init
      drm/omap: Don't call HDMI mode and infoframe operations recursively
      drm/omap: Pass both output and display omap_dss_device to connector init
      drm/omap: Determine connector type directly in omap_connector.c
      drm/omap: dss: hdmi: Rename hdmi_display_(set|check)_timing() functions
      drm/omap: encoder-tfp410: Don't fix timings in .set_timings() handler
      drm/omap: Make the video_mode pointer to .set_timings() const
      drm/omap: Remove duplicate calls to .set_timings() operation
      drm/omap: Remove unneeded fallback for missing .check_timings()
      drm/omap: Don't store video mode internally for external encoders
      drm/omap: Store bus flags in the omap_dss_device structure
      drm/omap: Don't call .check_timings() operation recursively
      drm/omap: Query timing information from analog TV encoder
      drm/omap: Remove .get_timings() operation from display connectors
      drm/omap: panels: Don't modify fixed timings
      drm/omap: Move bus flag hack to encoder implementation
      drm/omap: Split mode fixup and mode set from encoder enable
      drm/omap: Call dispc timings check operation directly
      drm/omap: dpi: Don't fixup video mode in dpi_set_mode()
      drm/omap: dsi: Fixup video mode in .set_config() operation
      drm/omap: hdmi: Constify video mode and related pointers
      drm/omap: sdi: Fixup video mode in .check_timings() operation
      drm/omap: venc: Fixup video mode in .check_timings() operation
      drm/omap: Store CRTC timings in .set_timings() operation
      drm/omap: Don't call .set_timings() operation recursively

Peter Ujfalusi (4):
      drm/omap: Allocate drm_device earlier and unref it as last step
      drm/omap: Manage the usable omap_dss_device list within omap_drm_private
      drm/omap: Do dss_device (display) ordering in omap_drv.c
      drm/omap: dss: Remove display ordering from dss/display.c

 .../gpu/drm/omapdrm/displays/connector-analog-tv.c | 139 +----
 drivers/gpu/drm/omapdrm/displays/connector-dvi.c   | 175 +------
 drivers/gpu/drm/omapdrm/displays/connector-hdmi.c  | 277 ++--------
 drivers/gpu/drm/omapdrm/displays/encoder-opa362.c  | 132 +----
 drivers/gpu/drm/omapdrm/displays/encoder-tfp410.c  | 187 ++-----
 .../gpu/drm/omapdrm/displays/encoder-tpd12s015.c   | 197 ++-----
 drivers/gpu/drm/omapdrm/displays/panel-dpi.c       |  88 +---
 drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c    | 247 ++++-----
 .../omapdrm/displays/panel-lgphilips-lb035q02.c    | 103 +---
 .../drm/omapdrm/displays/panel-nec-nl8048hl11.c    | 146 +-----
 .../drm/omapdrm/displays/panel-sharp-ls037v7dw01.c | 101 +---
 .../drm/omapdrm/displays/panel-sony-acx565akm.c    | 165 ++----
 .../drm/omapdrm/displays/panel-tpo-td028ttec1.c    | 102 +---
 .../drm/omapdrm/displays/panel-tpo-td043mtea1.c    | 192 ++-----
 drivers/gpu/drm/omapdrm/dss/base.c                 | 217 +++++++-
 drivers/gpu/drm/omapdrm/dss/core.c                 |  26 +-
 drivers/gpu/drm/omapdrm/dss/dispc.c                |  26 +-
 drivers/gpu/drm/omapdrm/dss/display.c              | 134 +----
 drivers/gpu/drm/omapdrm/dss/dpi.c                  | 192 +++----
 drivers/gpu/drm/omapdrm/dss/dsi.c                  | 569 ++++++++++-----------
 drivers/gpu/drm/omapdrm/dss/dss-of.c               |  47 +-
 drivers/gpu/drm/omapdrm/dss/dss.c                  |  45 +-
 drivers/gpu/drm/omapdrm/dss/dss.h                  |  11 +-
 drivers/gpu/drm/omapdrm/dss/hdmi.h                 |   8 +-
 drivers/gpu/drm/omapdrm/dss/hdmi4.c                | 351 ++++++-------
 drivers/gpu/drm/omapdrm/dss/hdmi5.c                | 334 ++++++------
 drivers/gpu/drm/omapdrm/dss/hdmi5_core.c           |   6 +-
 drivers/gpu/drm/omapdrm/dss/hdmi_wp.c              |   8 +-
 drivers/gpu/drm/omapdrm/dss/omapdss.h              | 306 ++++-------
 drivers/gpu/drm/omapdrm/dss/output.c               | 208 ++------
 drivers/gpu/drm/omapdrm/dss/sdi.c                  | 149 +++---
 drivers/gpu/drm/omapdrm/dss/venc.c                 | 291 +++++------
 drivers/gpu/drm/omapdrm/omap_connector.c           | 371 +++++++++-----
 drivers/gpu/drm/omapdrm/omap_connector.h           |   7 +-
 drivers/gpu/drm/omapdrm/omap_crtc.c                | 111 +---
 drivers/gpu/drm/omapdrm/omap_crtc.h                |   6 +-
 drivers/gpu/drm/omapdrm/omap_drv.c                 | 302 +++++------
 drivers/gpu/drm/omapdrm/omap_drv.h                 |  19 +-
 drivers/gpu/drm/omapdrm/omap_encoder.c             | 159 +++---
 drivers/gpu/drm/omapdrm/omap_encoder.h             |   6 +-
 drivers/gpu/drm/omapdrm/omap_fbdev.c               |   4 +-
 drivers/gpu/drm/omapdrm/omap_irq.c                 |   4 +-
 42 files changed, 2295 insertions(+), 3873 deletions(-)

Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki

More information about the dri-devel mailing list