[PATCH 00/29] omapdrm: Last large refactoring for drm_bridge transition
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Wed Dec 5 14:59:53 UTC 2018
Hello,
This patch series finishes the large omapdrm refactoring started in v4.17 to
transition from the omapdrm-specific encoder and panel drivers to drm_bridge
and drm_panel. While more changes will follow, the next patch series will
focus on the usage of the first drm_bridge driver (for the tftp410).
The series starts with a few miscalleanous cleanups (01/29 to 04/29) and then
reverses the direction of the DSS device .enable() and .disable() operations
(05/29 to 09/29). All DSS device operations now match the drm_bridge model.
After a bit of further cleanups (10/29 and 11/29), the next step is to move
from struct videomode to struct drm_display_mode in the encoder and panel
drivers (12/29 to 14/29). This allows the VENC encoder to report all supported
modes (PAL and NTSC), not just the active mode (15/29).
We then move to removing access to the component at the end of the pipeline,
as the bridge API doesn't give us easy access to it (patches 16/29 to 18/29).
The next three patches (19/29 to 21/29) remove the src field from the
omap_dss_device structure, again to align with drm_bridge.
Additional miscellaneous refactoring follows to simplify the code (22/29 to
24/29), and the next patch (25/29) replaces usage of struct videomode with
struct drm_display_mode for the .check_timings() and .set_timings()
operations. The VENC encoder can then use struct drm_display_mode internally
(26/29) and the DPI and SDI drivers can avoid storing the full mode
(27/29).
Finally patches 28/29 and 29/29 simplify and refactor the omapdrm
initialization sequence to prepare for drm_bridge usage.
With these changes in place, the next series will fix a few issues in the
tfp410 drm_bridge driver, add direct support for drm_bridge in omapdrm, and
remove the internal tfp410 and DVI connector drivers.
Laurent Pinchart (29):
drm/omap: Remove declaration of nonexisting function
drm/omap: Remove unused kobj field from struct omap_dss_device
drm/omap: venc: Remove wss_data field from venc_device structure
drm/omap: Use atomic suspend/resume helpers
drm/omap: Move common display enable/disable code to encoder
drm/omap: Remove connection checks from internal encoders .enable()
drm/omap: Remove connection checks from display .enable() and
.remove()
drm/omap: Remove enable checks from display .enable() and .remove()
drm/omap: Reverse direction of the DSS device enable/disable
operations
drm/omap: Remove omap_dss_device dst field
drm/omap: Factor out common init/cleanup code for output devices
drm/omap: Expose DRM modes instead of timings in display devices
drm/omap: Merge display .get_modes() and .get_size() operations
drm/omap: Add a dss device operation flag for .get_modes()
drm/omap: venc: List both PAL and NTSC modes
drm/omap: Don't pass display pointer to encoder init function
drm/omap: Move display alias ID to omap_drm_pipeline
drm/omap: Don't store display pointer in omap_connector structure
drm/omap: panel-dsi-cm: Store source pointer internally
drm/omap: Notify all devices in the pipeline of output disconnection
drm/omap: Remove src field from omap_dss_device structure
drm/omap: Move DISPC timing checks to CRTC .mode_valid() operation
drm/omap: venc: Simplify mode setting by caching configuration
drm/omap: Factor out common mode validation code
drm/omap: Pass drm_display_mode to .check_timings() and .set_timings()
drm/omap: venc: Use drm_display_mode natively
drm/omap: Store pixel clock instead of full mode in DPI and SDI
encoders
drm/omap: Simplify OF lookup of DSS devices
drm/omap: Refactor initialization sequence
.../omapdrm/displays/connector-analog-tv.c | 44 ----
.../gpu/drm/omapdrm/displays/connector-dvi.c | 38 ---
.../gpu/drm/omapdrm/displays/connector-hdmi.c | 44 ----
.../gpu/drm/omapdrm/displays/encoder-opa362.c | 38 +--
.../gpu/drm/omapdrm/displays/encoder-tfp410.c | 34 +--
.../drm/omapdrm/displays/encoder-tpd12s015.c | 39 ----
drivers/gpu/drm/omapdrm/displays/panel-dpi.c | 43 +---
.../gpu/drm/omapdrm/displays/panel-dsi-cm.c | 139 +++++------
.../displays/panel-lgphilips-lb035q02.c | 35 +--
.../omapdrm/displays/panel-nec-nl8048hl11.c | 35 +--
.../displays/panel-sharp-ls037v7dw01.c | 55 ++---
.../omapdrm/displays/panel-sony-acx565akm.c | 49 +---
.../omapdrm/displays/panel-tpo-td028ttec1.c | 46 +---
.../omapdrm/displays/panel-tpo-td043mtea1.c | 42 +---
drivers/gpu/drm/omapdrm/dss/base.c | 76 ++++--
drivers/gpu/drm/omapdrm/dss/display.c | 24 +-
drivers/gpu/drm/omapdrm/dss/dpi.c | 62 ++---
drivers/gpu/drm/omapdrm/dss/dsi.c | 44 +---
drivers/gpu/drm/omapdrm/dss/dss-of.c | 60 +----
drivers/gpu/drm/omapdrm/dss/hdmi4.c | 52 +----
drivers/gpu/drm/omapdrm/dss/hdmi5.c | 52 +----
drivers/gpu/drm/omapdrm/dss/omapdss.h | 48 ++--
drivers/gpu/drm/omapdrm/dss/output.c | 18 +-
drivers/gpu/drm/omapdrm/dss/sdi.c | 62 ++---
drivers/gpu/drm/omapdrm/dss/venc.c | 219 ++++++++----------
drivers/gpu/drm/omapdrm/omap_connector.c | 158 ++++++-------
drivers/gpu/drm/omapdrm/omap_connector.h | 7 +-
drivers/gpu/drm/omapdrm/omap_crtc.c | 9 +
drivers/gpu/drm/omapdrm/omap_drv.c | 170 ++++++--------
drivers/gpu/drm/omapdrm/omap_drv.h | 3 +
drivers/gpu/drm/omapdrm/omap_encoder.c | 99 ++++----
drivers/gpu/drm/omapdrm/omap_encoder.h | 3 +-
32 files changed, 625 insertions(+), 1222 deletions(-)
--
Regards,
Laurent Pinchart
More information about the dri-devel
mailing list