From: Sebastian Reichel <sebastian.reichel@collabora.com>
To: Sebastian Reichel <sre@kernel.org>,
Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
Tomi Valkeinen <tomi.valkeinen@ti.com>
Cc: kernel@collabora.com, Tony Lindgren <tony@atomide.com>,
"H. Nikolaus Schaller" <hns@goldelico.com>,
Merlijn Wajer <merlijn@wizzup.org>,
Sebastian Reichel <sebastian.reichel@collabora.com>,
dri-devel@lists.freedesktop.org, linux-omap@vger.kernel.org
Subject: [RFCv1 00/42] drm/omap: Convert DSI code to use drm_mipi_dsi and drm_panel
Date: Sun, 17 Nov 2019 03:39:46 +0100 [thread overview]
Message-ID: <20191117024028.2233-1-sebastian.reichel@collabora.com> (raw)
This updates the existing omapdrm DSI code, so that it uses
common drm_mipi_dsi API and drm_panel instead of custom API.
I did not implement support for drm_bridge, since I do not
own any hardware needing this and it does not seem to be a
supported scenario with the old DSS code.
The patchset has been tested with Droid 4 using Linux console,
X.org and Weston. While I found some issues, I could not find
any regressions compared to the current state (*). Combined with
Laurent's effort this will remove all custom panel/connector
drivers from omapdrm and allow more cleanups in the DSS code.
I pushed this patchset into the following branch:
https://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-n900.git/log/?h=omapdrm-dsi-drm-panel
(*) When display is used as console for dmesg one can see an
ugly deadlock on shutdown. I have not yet found the root
cause for this problem, but that already exists with
current mainline implementation.
-- Sebastian
Sebastian Reichel (42):
omap/drm: drop unused dsi.configure_pins
drm/omap: dsi: use MIPI_DSI_FMT_* instead of OMAP_DSS_DSI_FMT_*
drm/omap: constify write buffers
drm/omap: dsi: add generic transfer function
drm/omap: panel-dsi-cm: convert to transfer API
drm/omap: dsi: unexport specific data transfer functions
drm/omap: dsi: drop virtual channel logic
drm/omap: dsi: simplify write function
drm/omap: dsi: simplify read functions
drm/omap: dsi: switch dsi_vc_send_long/short to mipi_dsi_msg
ARM: dts: omap: add channel to DSI panels
drm/omap: dsi: introduce mipi_dsi_host
drm/omap: panel-dsi-cm: use DSI helpers
drm/omap: dsi: request VC via mipi_dsi_attach
drm/omap: panel-dsi-cm: drop hardcoded VC
drm/omap: panel-dsi-cm: use common MIPI DCS 1.3 defines
drm/omap: dsi: drop unused memory_read()
drm/omap: dsi: drop unused get_te()
drm/omap: dsi: drop unused enable_te()
drm/omap: dsi: drop useless sync()
drm/omap: dsi: use pixel-format and mode from attach
drm/omap: panel-dsi-cm: use bulk regulator API
drm/omap: dsi: lp/hs switching support for transfer()
drm/omap: dsi: move TE GPIO handling into core
drm/omap: dsi: drop custom enable_te() API
drm/omap: dsi: do bus locking in host driver
drm/omap: dsi: untangle ulps ops from enable/disable
drm/dsi: add MIPI_DSI_MODE_ULPS_IDLE
drm/omap: dsi: do ULPS in host driver
drm/omap: dsi: move panel refresh function to host
drm/omap: dsi: Reverse direction of the DSS device enable/disable
operations
drm/omap: dsi: convert to drm_panel
drm/omap: dsi: use atomic helper for dirtyfb
drm/omap: dsi: implement check timings
drm/omap: panel-dsi-cm: use DEVICE_ATTR_RO
drm/omap: panel-dsi-cm: support unbinding
drm/omap: panel-dsi-cm: fix remove()
drm/omap: panel-dsi-cm: do not power on/off twice
drm/omap: dsi: return proper error code from dsi_update_all()
drm/omap: dsi: support panel un/re-binding
ARM: dts: omap4-droid4: add panel compatible
drm/panel: Move OMAP's DSI command mode panel driver
.../bindings/display/panel/panel-dsi-cm.txt | 4 +-
arch/arm/boot/dts/omap3-n950.dts | 3 +-
arch/arm/boot/dts/omap3.dtsi | 3 +
arch/arm/boot/dts/omap4-droid4-xt894.dts | 5 +-
arch/arm/boot/dts/omap4-sdp.dts | 6 +-
arch/arm/boot/dts/omap4.dtsi | 6 +
arch/arm/boot/dts/omap5.dtsi | 6 +
drivers/gpu/drm/omapdrm/displays/Kconfig | 6 -
drivers/gpu/drm/omapdrm/displays/Makefile | 1 -
.../gpu/drm/omapdrm/displays/panel-dsi-cm.c | 1387 -----------------
drivers/gpu/drm/omapdrm/dss/Kconfig | 1 +
drivers/gpu/drm/omapdrm/dss/base.c | 2 +-
drivers/gpu/drm/omapdrm/dss/dsi.c | 1019 ++++++++----
.../gpu/drm/omapdrm/dss/omapdss-boot-init.c | 1 -
drivers/gpu/drm/omapdrm/dss/omapdss.h | 81 +-
drivers/gpu/drm/omapdrm/omap_crtc.c | 37 +-
drivers/gpu/drm/omapdrm/omap_crtc.h | 1 -
drivers/gpu/drm/omapdrm/omap_encoder.c | 20 +-
drivers/gpu/drm/omapdrm/omap_fb.c | 21 +-
drivers/gpu/drm/panel/Kconfig | 9 +
drivers/gpu/drm/panel/Makefile | 1 +
drivers/gpu/drm/panel/panel-dsi-cm.c | 646 ++++++++
include/drm/drm_mipi_dsi.h | 2 +
23 files changed, 1385 insertions(+), 1883 deletions(-)
delete mode 100644 drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c
create mode 100644 drivers/gpu/drm/panel/panel-dsi-cm.c
base-commit: 17cc51390c141662748dbbc2fe98f3ed10f2e13e
--
2.24.0
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
next reply other threads:[~2019-11-17 2:39 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-11-17 2:39 Sebastian Reichel [this message]
2019-11-17 2:39 ` [RFCv1 01/42] omap/drm: drop unused dsi.configure_pins Sebastian Reichel
2019-11-17 2:39 ` [RFCv1 02/42] drm/omap: dsi: use MIPI_DSI_FMT_* instead of OMAP_DSS_DSI_FMT_* Sebastian Reichel
2019-11-17 2:39 ` [RFCv1 03/42] drm/omap: constify write buffers Sebastian Reichel
2019-11-17 2:39 ` [RFCv1 04/42] drm/omap: dsi: add generic transfer function Sebastian Reichel
2019-11-17 2:39 ` [RFCv1 05/42] drm/omap: panel-dsi-cm: convert to transfer API Sebastian Reichel
2019-11-17 2:39 ` [RFCv1 06/42] drm/omap: dsi: unexport specific data transfer functions Sebastian Reichel
2019-11-17 2:39 ` [RFCv1 07/42] drm/omap: dsi: drop virtual channel logic Sebastian Reichel
2019-11-17 2:39 ` [RFCv1 08/42] drm/omap: dsi: simplify write function Sebastian Reichel
2019-11-17 2:39 ` [RFCv1 09/42] drm/omap: dsi: simplify read functions Sebastian Reichel
2019-11-17 2:39 ` [RFCv1 10/42] drm/omap: dsi: switch dsi_vc_send_long/short to mipi_dsi_msg Sebastian Reichel
2019-11-17 2:39 ` [RFCv1 11/42] ARM: dts: omap: add channel to DSI panels Sebastian Reichel
2019-11-18 13:05 ` Tomi Valkeinen
2019-11-18 14:33 ` Sebastian Reichel
2019-11-18 14:37 ` H. Nikolaus Schaller
2019-11-18 15:03 ` Sebastian Reichel
2019-11-18 22:52 ` Tony Lindgren
2019-11-19 21:23 ` Sebastian Reichel
2019-11-17 2:39 ` [RFCv1 12/42] drm/omap: dsi: introduce mipi_dsi_host Sebastian Reichel
2019-11-17 2:39 ` [RFCv1 13/42] drm/omap: panel-dsi-cm: use DSI helpers Sebastian Reichel
2019-11-17 2:40 ` [RFCv1 14/42] drm/omap: dsi: request VC via mipi_dsi_attach Sebastian Reichel
2019-11-17 2:40 ` [RFCv1 15/42] drm/omap: panel-dsi-cm: drop hardcoded VC Sebastian Reichel
2019-11-17 2:40 ` [RFCv1 16/42] drm/omap: panel-dsi-cm: use common MIPI DCS 1.3 defines Sebastian Reichel
2019-11-17 2:40 ` [RFCv1 17/42] drm/omap: dsi: drop unused memory_read() Sebastian Reichel
2019-11-17 2:40 ` [RFCv1 18/42] drm/omap: dsi: drop unused get_te() Sebastian Reichel
2019-11-17 2:40 ` [RFCv1 19/42] drm/omap: dsi: drop unused enable_te() Sebastian Reichel
2019-11-17 2:40 ` [RFCv1 20/42] drm/omap: dsi: drop useless sync() Sebastian Reichel
2019-11-17 2:40 ` [RFCv1 21/42] drm/omap: dsi: use pixel-format and mode from attach Sebastian Reichel
2019-11-17 2:40 ` [RFCv1 22/42] drm/omap: panel-dsi-cm: use bulk regulator API Sebastian Reichel
2019-11-17 2:40 ` [RFCv1 23/42] drm/omap: dsi: lp/hs switching support for transfer() Sebastian Reichel
2019-11-17 2:40 ` [RFCv1 24/42] drm/omap: dsi: move TE GPIO handling into core Sebastian Reichel
2019-11-17 2:40 ` [RFCv1 25/42] drm/omap: dsi: drop custom enable_te() API Sebastian Reichel
2019-11-17 2:40 ` [RFCv1 26/42] drm/omap: dsi: do bus locking in host driver Sebastian Reichel
2019-11-17 2:40 ` [RFCv1 27/42] drm/omap: dsi: untangle ulps ops from enable/disable Sebastian Reichel
2019-11-17 2:40 ` [RFCv1 28/42] drm/dsi: add MIPI_DSI_MODE_ULPS_IDLE Sebastian Reichel
2019-11-17 2:40 ` [RFCv1 29/42] drm/omap: dsi: do ULPS in host driver Sebastian Reichel
2019-11-17 2:40 ` [RFCv1 30/42] drm/omap: dsi: move panel refresh function to host Sebastian Reichel
2019-11-17 2:40 ` [RFCv1 31/42] drm/omap: dsi: Reverse direction of the DSS device enable/disable operations Sebastian Reichel
2019-11-17 2:40 ` [RFCv1 32/42] drm/omap: dsi: convert to drm_panel Sebastian Reichel
2019-11-17 19:23 ` H. Nikolaus Schaller
2019-11-18 14:45 ` Sebastian Reichel
2019-11-18 14:51 ` H. Nikolaus Schaller
2019-11-19 9:42 ` H. Nikolaus Schaller
2019-11-19 21:21 ` Sebastian Reichel
2019-11-17 2:40 ` [RFCv1 33/42] drm/omap: dsi: use atomic helper for dirtyfb Sebastian Reichel
2019-11-18 23:05 ` Tony Lindgren
2019-11-19 5:42 ` Tomi Valkeinen
2019-11-19 14:32 ` Tony Lindgren
2019-11-19 14:53 ` Tomi Valkeinen
2019-11-19 15:06 ` Tony Lindgren
2019-11-19 15:55 ` Tomi Valkeinen
2019-11-19 18:46 ` Andreas Kemnade
2019-11-19 21:15 ` Sebastian Reichel
2019-11-20 3:48 ` Tony Lindgren
2019-11-17 2:40 ` [RFCv1 34/42] drm/omap: dsi: implement check timings Sebastian Reichel
2019-11-17 2:40 ` [RFCv1 35/42] drm/omap: panel-dsi-cm: use DEVICE_ATTR_RO Sebastian Reichel
2019-11-17 2:40 ` [RFCv1 36/42] drm/omap: panel-dsi-cm: support unbinding Sebastian Reichel
2019-11-17 2:40 ` [RFCv1 37/42] drm/omap: panel-dsi-cm: fix remove() Sebastian Reichel
2019-11-17 2:40 ` [RFCv1 38/42] drm/omap: panel-dsi-cm: do not power on/off twice Sebastian Reichel
2019-11-17 2:40 ` [RFCv1 39/42] drm/omap: dsi: return proper error code from dsi_update_all() Sebastian Reichel
2019-11-17 2:40 ` [RFCv1 40/42] drm/omap: dsi: support panel un/re-binding Sebastian Reichel
2019-11-17 2:40 ` [RFCv1 41/42] ARM: dts: omap4-droid4: add panel compatible Sebastian Reichel
2019-11-17 2:40 ` [RFCv1 42/42] drm/panel: Move OMAP's DSI command mode panel driver Sebastian Reichel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20191117024028.2233-1-sebastian.reichel@collabora.com \
--to=sebastian.reichel@collabora.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=hns@goldelico.com \
--cc=kernel@collabora.com \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-omap@vger.kernel.org \
--cc=merlijn@wizzup.org \
--cc=sre@kernel.org \
--cc=tomi.valkeinen@ti.com \
--cc=tony@atomide.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.