All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 00/29] Remove the omapdrm and omapdss devices from platform code
@ 2017-05-08 11:32 Laurent Pinchart
  2017-05-08 11:32 ` [PATCH v2 01/28] drm: omapdrm: Remove duplicate error messages when mapping memory Laurent Pinchart
                   ` (29 more replies)
  0 siblings, 30 replies; 89+ messages in thread
From: Laurent Pinchart @ 2017-05-08 11:32 UTC (permalink / raw)
  To: dri-devel
  Cc: Bartlomiej Zolnierkiewicz, Tony Lindgren, Tomi Valkeinen,
	Liam Girdwood, Peter Ujfalusi, Mark Brown, linux-omap

Hello,

This patch series is a second, extended version of the code previously posted
as "[PATCH/RFC 0/7] Remove the omapdrm device from platform code".

The omapdss/omapdrm initialization code is quite a mess. The physical devices
are instantiated from DT, but two virtual devices named omapdrm and omapdss
are instanciated from platform code to pass various pieces of platform data to
the drivers.

The omapdrm and omapdss platform devices are currently used to pass data and
function pointers from board code to the drivers for the purpose of

- identifying the OMAP SoC revision
- controlling the DSI pads
- configuring bus throughput

It turns out that all these can be handled in the omapdrm and omapdss drivers
without the need for platform data.

- The SoC revision is used to identify the version of various DSS IP cores,
which can instead be done through compatible string matching (with the help of
soc_device_match() in two cases where ES version is needed).

- The DSI pads control can be performed by the driver directly without calling
board code, accessing the related registers through syscon.

- Bus throughput control is implemented in mach-omap2 as a no-op, so we can
just drop the code.

This patch series starts with a few small cleanups and unused features removal
(01/28 to 04/28). It then slowly replaces all uses of the omapdrm and omapdss
platform data as explained above (05/28 to 20/28).

The next step is to remove the omapdss platform driver (for the virtual
omapdss platform device, also known as core code, not to be confused with the
omapdss_dss driver for the DSS hardware device). Patches 21/28 to 23/28 move
the useful features of the core to the omapdss_dss driver. Patch 24/28 adds
omapdrm platform device registration to the omapdss_dss driver to replace
board code, and patch 25/28 finally removes the omapdss platform driver.

Note that registering the omapdrm platform device from within the omapdss_dss
driver is a hack, but isn't worse than the current situation. Quite the
contrary, given that the omapdrm device exists for the sole purpose of
supporting the omapdrm/omapdss driver architecture, moving it out of platform
code can be considered as (slightly) cleaner. In any case, it will be easier
to refactor the code as everything is now isolated on the driver side.

Patches 26/28 and 27/28 remove the now unnecessary platform devices from
platform code, and patch 28/28 removes the now unused omapdrm platform data
structure.

The series will be annoying to merge given that it touches multiple subsystems
(ARM core, DRM, FBDEV and ALSA). The easiest solution would be to merge
everything through the DRM tree as that's where the bulk of changes lies. This
would require an ack from Bartlomiej for patch 04/28, from Peter, Liam or Mark
on patch 18/28 and from Tony on patches 26/28 and 27/28.

The patches are currently based on top of v4.11.

Laurent Pinchart (28):
  drm: omapdrm: Remove duplicate error messages when mapping memory
  drm: omapdrm: Drop support for non-DT devices
  drm: omapdrm: Remove unused dss_get_core_pdev() function
  drm: omapdrm: Remove unused default display name support
  drm: omapdrm: Infer the OMAP version from the SoC family
  drm: omapdrm: dispc: Select features based on compatible string
  drm: omapdrm: dpi: Remove platform driver
  drm: omapdrm: dpi: Replace OMAP SoC model checks with DSS device type
  drm: omapdrm: dsi: Store DSI type and PLL hardware data in OF data
  drm: omapdrm: dsi: Handle pin muxing internally
  drm: omapdrm: dss: Select features based on compatible string
  drm: omapdrm: dss: Split operations out of dss_features structure
  drm: omapdrm: dss: Initialize DSS internal features at probe time
  drm: omapdrm: hdmi: Store PHY features in PHY data structure
  drm: omapdrm: hdmi: Store PHY features in HDMI transmitter drivers
  drm: omapdrm: hdmi: Store PLL hardware data in HDMI transmitter
    drivers
  drm: omapdrm: hdmi: Replace OMAP SoC model check with HDMI xmit
    version
  drm: omapdrm: hdmi: Pass HDMI core version as integer to HDMI audio
  drm: omapdrm: sdi: Remove platform driver
  drm: omapdrm: Don't forward set_min_bus_tput() to no-op platform code
  drm: omapdrm: Move all debugfs code from core to dss
  drm: omapdrm: Move shutdown() handler from core to dss
  drm: omapdrm: Merge the dss_features and omap_dss_features structures
  drm: omapdrm: Register omapdrm platform device in omapdss driver
  drm: omapdrm: Remove the omapdss driver
  ARM: OMAP2+: Remove unused omapdrm platform device
  ARM: OMAP2+: Don't register omapdss device for omapdrm
  drm: omapdrm: Remove omapdrm platform data

 arch/arm/mach-omap2/Makefile                |   2 +-
 arch/arm/mach-omap2/display.c               | 118 +++++------
 arch/arm/mach-omap2/display.h               |   1 -
 arch/arm/mach-omap2/drm.c                   |  53 -----
 drivers/gpu/drm/omapdrm/dss/core.c          | 230 ++-------------------
 drivers/gpu/drm/omapdrm/dss/dispc.c         |  96 +++------
 drivers/gpu/drm/omapdrm/dss/display.c       |  19 +-
 drivers/gpu/drm/omapdrm/dss/dpi.c           | 150 +++-----------
 drivers/gpu/drm/omapdrm/dss/dsi.c           | 298 ++++++++++++++--------------
 drivers/gpu/drm/omapdrm/dss/dss.c           | 274 +++++++++++--------------
 drivers/gpu/drm/omapdrm/dss/dss.h           |  46 +++--
 drivers/gpu/drm/omapdrm/dss/dss_features.c  | 220 +++++++++++++-------
 drivers/gpu/drm/omapdrm/dss/dss_features.h  |  41 +++-
 drivers/gpu/drm/omapdrm/dss/hdmi.h          |  16 +-
 drivers/gpu/drm/omapdrm/dss/hdmi4.c         |  47 ++++-
 drivers/gpu/drm/omapdrm/dss/hdmi4_core.c    |   9 +-
 drivers/gpu/drm/omapdrm/dss/hdmi5.c         |  48 ++++-
 drivers/gpu/drm/omapdrm/dss/hdmi5_core.c    |   9 +-
 drivers/gpu/drm/omapdrm/dss/hdmi_phy.c      |  79 +-------
 drivers/gpu/drm/omapdrm/dss/hdmi_pll.c      |  86 +-------
 drivers/gpu/drm/omapdrm/dss/hdmi_wp.c       |  24 +--
 drivers/gpu/drm/omapdrm/dss/omapdss.h       |   2 -
 drivers/gpu/drm/omapdrm/dss/rfbi.c          |  12 +-
 drivers/gpu/drm/omapdrm/dss/sdi.c           |  54 -----
 drivers/gpu/drm/omapdrm/dss/venc.c          |  28 +--
 drivers/gpu/drm/omapdrm/dss/video-pll.c     |  20 +-
 drivers/gpu/drm/omapdrm/omap_drv.c          |  16 +-
 drivers/gpu/drm/omapdrm/omap_drv.h          |   1 -
 drivers/video/fbdev/omap2/omapfb/dss/core.c |   2 -
 include/linux/platform_data/omap_drm.h      |  53 -----
 include/linux/platform_data/omapdss.h       |   1 -
 include/sound/omap-hdmi-audio.h             |   2 +-
 sound/soc/omap/omap-hdmi-audio.c            |   9 +-
 33 files changed, 763 insertions(+), 1303 deletions(-)
 delete mode 100644 arch/arm/mach-omap2/drm.c
 delete mode 100644 include/linux/platform_data/omap_drm.h

-- 
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] 89+ messages in thread

end of thread, other threads:[~2017-08-04 14:03 UTC | newest]

Thread overview: 89+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-05-08 11:32 [PATCH v2 00/29] Remove the omapdrm and omapdss devices from platform code Laurent Pinchart
2017-05-08 11:32 ` [PATCH v2 01/28] drm: omapdrm: Remove duplicate error messages when mapping memory Laurent Pinchart
2017-05-08 12:52   ` Tomi Valkeinen
2017-05-08 13:55     ` Laurent Pinchart
2017-05-09  8:37       ` Tomi Valkeinen
2017-05-08 11:32 ` [PATCH v2 02/28] drm: omapdrm: Drop support for non-DT devices Laurent Pinchart
2017-05-09  8:40   ` Tomi Valkeinen
2017-05-09  8:46     ` Laurent Pinchart
2017-05-08 11:32 ` [PATCH v2 03/28] drm: omapdrm: Remove unused dss_get_core_pdev() function Laurent Pinchart
2017-05-09  8:57   ` Tomi Valkeinen
2017-05-08 11:32 ` [PATCH v2 04/28] drm: omapdrm: Remove unused default display name support Laurent Pinchart
2017-05-08 12:30   ` Bartlomiej Zolnierkiewicz
2017-05-09  8:58   ` Tomi Valkeinen
2017-05-08 11:32 ` [PATCH v2 05/28] drm: omapdrm: Infer the OMAP version from the SoC family Laurent Pinchart
2017-05-09  9:02   ` Tomi Valkeinen
2017-05-08 11:32 ` [PATCH v2 06/28] drm: omapdrm: dispc: Select features based on compatible string Laurent Pinchart
2017-05-09  9:04   ` Tomi Valkeinen
2017-05-08 11:32 ` [PATCH v2 07/28] drm: omapdrm: dpi: Remove platform driver Laurent Pinchart
2017-05-09  9:06   ` Tomi Valkeinen
2017-05-09 21:38     ` Laurent Pinchart
2017-05-08 11:32 ` [PATCH v2 08/28] drm: omapdrm: dpi: Replace OMAP SoC model checks with DSS device type Laurent Pinchart
2017-05-09  9:23   ` Tomi Valkeinen
2017-05-09 22:24     ` Laurent Pinchart
2017-05-09 22:26       ` Laurent Pinchart
2017-05-08 11:32 ` [PATCH v2 09/28] drm: omapdrm: dsi: Store DSI type and PLL hardware data in OF data Laurent Pinchart
2017-05-09  9:31   ` Tomi Valkeinen
2017-05-08 11:32 ` [PATCH v2 10/28] drm: omapdrm: dsi: Handle pin muxing internally Laurent Pinchart
2017-05-09  9:37   ` Tomi Valkeinen
2017-05-09 21:45     ` Laurent Pinchart
2017-05-08 11:32 ` [PATCH v2 11/28] drm: omapdrm: dss: Select features based on compatible string Laurent Pinchart
2017-05-09  9:41   ` Tomi Valkeinen
2017-05-09 21:47     ` Laurent Pinchart
2017-05-10  6:52       ` Tomi Valkeinen
2017-05-08 11:32 ` [PATCH v2 12/28] drm: omapdrm: dss: Split operations out of dss_features structure Laurent Pinchart
2017-05-08 11:32 ` [PATCH v2 13/28] drm: omapdrm: dss: Initialize DSS internal features at probe time Laurent Pinchart
2017-05-09  9:48   ` Tomi Valkeinen
2017-05-09 21:49     ` Laurent Pinchart
2017-05-08 11:32 ` [PATCH v2 14/28] drm: omapdrm: hdmi: Store PHY features in PHY data structure Laurent Pinchart
2017-05-09 11:14   ` Tomi Valkeinen
2017-05-08 11:32 ` [PATCH v2 15/28] drm: omapdrm: hdmi: Store PHY features in HDMI transmitter drivers Laurent Pinchart
2017-05-09 11:27   ` Tomi Valkeinen
2017-05-08 11:32 ` [PATCH v2 16/28] drm: omapdrm: hdmi: Store PLL hardware data " Laurent Pinchart
2017-05-08 11:32 ` [PATCH v2 17/28] drm: omapdrm: hdmi: Replace OMAP SoC model check with HDMI xmit version Laurent Pinchart
2017-05-08 11:32 ` [PATCH v2 18/28] drm: omapdrm: hdmi: Pass HDMI core version as integer to HDMI audio Laurent Pinchart
2017-05-14  9:28   ` Mark Brown
2017-05-08 11:32 ` [PATCH v2 19/28] drm: omapdrm: sdi: Remove platform driver Laurent Pinchart
2017-05-09 11:29   ` Tomi Valkeinen
2017-05-08 11:32 ` [PATCH v2 20/28] drm: omapdrm: Don't forward set_min_bus_tput() to no-op platform code Laurent Pinchart
2017-05-09 11:30   ` Tomi Valkeinen
2017-05-08 11:32 ` [PATCH v2 21/28] drm: omapdrm: Move all debugfs code from core to dss Laurent Pinchart
2017-05-09 11:35   ` Tomi Valkeinen
2017-05-08 11:32 ` [PATCH v2 22/28] drm: omapdrm: Move shutdown() handler " Laurent Pinchart
2017-05-09 11:38   ` Tomi Valkeinen
2017-05-09 21:42     ` Laurent Pinchart
2017-05-08 11:32 ` [PATCH v2 23/28] drm: omapdrm: Merge the dss_features and omap_dss_features structures Laurent Pinchart
2017-05-09 12:02   ` Tomi Valkeinen
2017-05-09 22:09     ` Laurent Pinchart
2017-05-10  7:43       ` Tomi Valkeinen
2017-05-13 11:12         ` Laurent Pinchart
2017-05-15  6:32           ` Tomi Valkeinen
2017-08-04 14:03             ` Laurent Pinchart
2017-05-08 11:32 ` [PATCH v2 24/28] drm: omapdrm: Register omapdrm platform device in omapdss driver Laurent Pinchart
2017-05-09 11:48   ` Tomi Valkeinen
2017-05-08 11:33 ` [PATCH v2 25/28] drm: omapdrm: Remove the " Laurent Pinchart
2017-05-09 11:49   ` Tomi Valkeinen
2017-05-08 11:33 ` [PATCH v2 26/28] ARM: OMAP2+: Remove unused omapdrm platform device Laurent Pinchart
2017-05-08 17:09   ` Tony Lindgren
2017-05-09  8:49     ` Laurent Pinchart
2017-05-09 11:49   ` Tomi Valkeinen
2017-05-08 11:33 ` [PATCH v2 27/28] ARM: OMAP2+: Don't register omapdss device for omapdrm Laurent Pinchart
2017-05-08 17:09   ` Tony Lindgren
2017-05-09 11:51   ` Tomi Valkeinen
2017-05-08 11:33 ` [PATCH v2 28/28] drm: omapdrm: Remove omapdrm platform data Laurent Pinchart
2017-05-09 11:51   ` Tomi Valkeinen
2017-05-08 17:07 ` [PATCH v2 00/29] Remove the omapdrm and omapdss devices from platform code Tony Lindgren
2017-05-09 11:53   ` Tomi Valkeinen
2017-05-09 13:54     ` Tony Lindgren
2017-05-09 12:10 ` Tomi Valkeinen
2017-05-09 15:05   ` Sebastian Reichel
2017-05-10  7:23     ` Tomi Valkeinen
2017-05-10 16:46       ` Tony Lindgren
2017-05-10 17:40         ` Tomi Valkeinen
2017-05-10 18:29           ` Tony Lindgren
2017-05-11  8:34             ` Tomi Valkeinen
2017-05-11 14:16               ` Tony Lindgren
2017-05-12  7:29                 ` Tomi Valkeinen
2017-05-12 15:03                   ` Tony Lindgren
2017-05-09 22:18   ` Laurent Pinchart
2017-05-10  6:48     ` Tomi Valkeinen

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.