All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/29] omapdrm: Last large refactoring for drm_bridge transition
@ 2018-12-05 14:59 Laurent Pinchart
  2018-12-05 14:59 ` [PATCH 01/29] drm/omap: Remove declaration of nonexisting function Laurent Pinchart
                   ` (29 more replies)
  0 siblings, 30 replies; 75+ messages in thread
From: Laurent Pinchart @ 2018-12-05 14:59 UTC (permalink / raw)
  To: dri-devel; +Cc: Tomi Valkeinen

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

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 75+ messages in thread

end of thread, other threads:[~2019-02-11 20:38 UTC | newest]

Thread overview: 75+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-12-05 14:59 [PATCH 00/29] omapdrm: Last large refactoring for drm_bridge transition Laurent Pinchart
2018-12-05 14:59 ` [PATCH 01/29] drm/omap: Remove declaration of nonexisting function Laurent Pinchart
2018-12-09 21:44   ` Sebastian Reichel
2018-12-05 14:59 ` [PATCH 02/29] drm/omap: Remove unused kobj field from struct omap_dss_device Laurent Pinchart
2018-12-09 21:44   ` Sebastian Reichel
2018-12-05 14:59 ` [PATCH 03/29] drm/omap: venc: Remove wss_data field from venc_device structure Laurent Pinchart
2018-12-09 21:45   ` Sebastian Reichel
2018-12-05 14:59 ` [PATCH 04/29] drm/omap: Use atomic suspend/resume helpers Laurent Pinchart
2018-12-09 21:53   ` Sebastian Reichel
2018-12-10  6:49     ` Laurent Pinchart
2018-12-10  8:01       ` [PATCH v1.1 " Laurent Pinchart
2018-12-10 13:08         ` Sebastian Reichel
2018-12-05 14:59 ` [PATCH 05/29] drm/omap: Move common display enable/disable code to encoder Laurent Pinchart
2018-12-09 21:53   ` Sebastian Reichel
2018-12-05 14:59 ` [PATCH 06/29] drm/omap: Remove connection checks from internal encoders .enable() Laurent Pinchart
2018-12-09 21:54   ` Sebastian Reichel
2018-12-05 15:00 ` [PATCH 07/29] drm/omap: Remove connection checks from display .enable() and .remove() Laurent Pinchart
2018-12-09 21:54   ` Sebastian Reichel
2018-12-05 15:00 ` [PATCH 08/29] drm/omap: Remove enable " Laurent Pinchart
2018-12-09 21:55   ` Sebastian Reichel
2018-12-05 15:00 ` [PATCH 09/29] drm/omap: Reverse direction of the DSS device enable/disable operations Laurent Pinchart
2018-12-09 21:59   ` Sebastian Reichel
2018-12-10  1:01   ` [PATCH v1.1 " Laurent Pinchart
2018-12-05 15:00 ` [PATCH 10/29] drm/omap: Remove omap_dss_device dst field Laurent Pinchart
2018-12-09 22:00   ` Sebastian Reichel
2018-12-05 15:00 ` [PATCH 11/29] drm/omap: Factor out common init/cleanup code for output devices Laurent Pinchart
2018-12-09 22:01   ` Sebastian Reichel
2018-12-05 15:00 ` [PATCH 12/29] drm/omap: Expose DRM modes instead of timings in display devices Laurent Pinchart
2018-12-09 22:02   ` Sebastian Reichel
2018-12-05 15:00 ` [PATCH 13/29] drm/omap: Merge display .get_modes() and .get_size() operations Laurent Pinchart
2018-12-09 22:02   ` Sebastian Reichel
2018-12-05 15:00 ` [PATCH 14/29] drm/omap: Add a dss device operation flag for .get_modes() Laurent Pinchart
2018-12-09 22:02   ` Sebastian Reichel
2018-12-05 15:00 ` [PATCH 15/29] drm/omap: venc: List both PAL and NTSC modes Laurent Pinchart
2018-12-09 22:03   ` Sebastian Reichel
2018-12-05 15:00 ` [PATCH 16/29] drm/omap: Don't pass display pointer to encoder init function Laurent Pinchart
2018-12-09 22:03   ` Sebastian Reichel
2018-12-05 15:00 ` [PATCH 17/29] drm/omap: Move display alias ID to omap_drm_pipeline Laurent Pinchart
2018-12-09 22:03   ` Sebastian Reichel
2018-12-05 15:00 ` [PATCH 18/29] drm/omap: Don't store display pointer in omap_connector structure Laurent Pinchart
2018-12-09 22:04   ` Sebastian Reichel
2018-12-05 15:00 ` [PATCH 19/29] drm/omap: panel-dsi-cm: Store source pointer internally Laurent Pinchart
2018-12-09 22:04   ` Sebastian Reichel
2018-12-05 15:00 ` [PATCH 20/29] drm/omap: Notify all devices in the pipeline of output disconnection Laurent Pinchart
2018-12-09 22:04   ` Sebastian Reichel
2018-12-05 15:00 ` [PATCH 21/29] drm/omap: Remove src field from omap_dss_device structure Laurent Pinchart
2018-12-09 22:04   ` Sebastian Reichel
2018-12-05 15:00 ` [PATCH 22/29] drm/omap: Move DISPC timing checks to CRTC .mode_valid() operation Laurent Pinchart
2018-12-09 22:07   ` Sebastian Reichel
2018-12-10  7:50     ` Laurent Pinchart
2018-12-10 13:14       ` Sebastian Reichel
2018-12-11  1:07         ` Sebastian Reichel
2018-12-11  8:06           ` Laurent Pinchart
2019-02-11 20:30             ` Sebastian Reichel
2018-12-05 15:00 ` [PATCH 23/29] drm/omap: venc: Simplify mode setting by caching configuration Laurent Pinchart
2018-12-09 22:08   ` Sebastian Reichel
2018-12-05 15:00 ` [PATCH 24/29] drm/omap: Factor out common mode validation code Laurent Pinchart
2018-12-09 22:19   ` Sebastian Reichel
2018-12-10  8:27     ` Laurent Pinchart
2018-12-10 13:16       ` Sebastian Reichel
2018-12-10  8:27     ` [PATCH] " Laurent Pinchart
2018-12-05 15:00 ` [PATCH 25/29] drm/omap: Pass drm_display_mode to .check_timings() and .set_timings() Laurent Pinchart
2018-12-09 22:26   ` Sebastian Reichel
2018-12-10  8:07     ` Laurent Pinchart
2018-12-05 15:00 ` [PATCH 26/29] drm/omap: venc: Use drm_display_mode natively Laurent Pinchart
2018-12-06 16:23   ` [PATCH v1.1 " Laurent Pinchart
2018-12-09 22:27     ` Sebastian Reichel
2018-12-05 15:00 ` [PATCH 27/29] drm/omap: Store pixel clock instead of full mode in DPI and SDI encoders Laurent Pinchart
2018-12-09 22:27   ` Sebastian Reichel
2018-12-05 15:00 ` [PATCH 28/29] drm/omap: Simplify OF lookup of DSS devices Laurent Pinchart
2018-12-09 22:27   ` Sebastian Reichel
2018-12-05 15:00 ` [PATCH 29/29] drm/omap: Refactor initialization sequence Laurent Pinchart
2018-12-09 22:27   ` Sebastian Reichel
2018-12-10 12:28 ` [PATCH 30/29] drm/omap: Merge omap_dss_device type and output_type fields Laurent Pinchart
2018-12-10 13:20   ` Sebastian Reichel

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.