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. Tomi 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 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel