From: Sui Jingfeng <sui.jingfeng@linux.dev>
To: Robert Foss <rfoss@kernel.org>,
Laurent Pinchart <Laurent.pinchart@ideasonboard.com>
Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org,
Sui Jingfeng <sui.jingfeng@linux.dev>
Subject: [PATCH v6 00/10] drm/bridge: Allow using fwnode API to get the next bridge
Date: Mon, 27 May 2024 04:21:05 +0800 [thread overview]
Message-ID: <20240526202115.129049-1-sui.jingfeng@linux.dev> (raw)
Currently, the various display bridge drivers rely on OF infrastructures
to works very well, yet there are platforms and/or devices absence of 'OF'
support. Such as virtual display drivers, USB display apapters and ACPI
based systems etc.
Add fwnode based helpers to fill the niche, this allows part of the display
bridge drivers to work across systems. As the fwnode API has wider coverage
than DT counterpart and the fwnode graphs are compatible with the OF graph,
so the provided helpers can be used on all systems in theory. Assumed that
fwnode graphs are well established on the system.
Tested on TI BeaglePlay board.
v1 -> v2:
* Modify it66121 to switch togather
* Drop the 'side-by-side' implement
* Add drm_bridge_find_next_bridge_by_fwnode() helper
* Add drm_bridge_set_node() helper
v2 -> v3:
* Read kernel-doc and improve function comments (Dmitry)
* Drop the 'port' argument of it66121_read_bus_width() (Dmitry)
* drm-bridge: sii902x get nuked
v3 -> v4:
* drm-bridge: tfp410 get nuked
* Add platform module alias
* Rebase and improve commit message and function comments
v4 -> v5:
* Modify sii9234, ch7033 and ANX7688
* Trivial fixes
v5 -> v6:
* Implement the same thing with no boilerplate introduced
* Add 'struct device *' field to the drm_bridge structure
* Re-implement of_drm_find_bridge() with drm_bridge_find_by_fwnode()
Sui Jingfeng (10):
drm/bridge: Allow using fwnode APIs to get the next bridge
drm/bridge: Set firmware node of drm_bridge instances automatically
drm/bridge: Implement of_drm_find_bridge() on the top of
drm_bridge_find_by_fwnode()
drm/bridge: simple-bridge: Use fwnode APIs to acquire device
properties
drm/bridge: display-connector: Use fwnode APIs to acquire device
properties
drm/bridge: sii902x: Switch to use fwnode APIs to acquire device
properties
drm-bridge: it66121: Use fwnode APIs to acquire device properties
drm/bridge: tfp410: Use fwnode APIs to acquire device properties
drm/bridge: sii9234: Use fwnode APIs to abstract DT dependent API away
drm/bridge: ch7033: Switch to use fwnode based APIs
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c | 3 +-
.../drm/bridge/analogix/analogix-anx6345.c | 4 +-
.../drm/bridge/analogix/analogix-anx78xx.c | 4 +-
drivers/gpu/drm/bridge/analogix/anx7625.c | 3 +-
.../gpu/drm/bridge/cadence/cdns-dsi-core.c | 3 +-
.../drm/bridge/cadence/cdns-mhdp8546-core.c | 3 +-
drivers/gpu/drm/bridge/chipone-icn6211.c | 5 +-
drivers/gpu/drm/bridge/chrontel-ch7033.c | 15 ++--
drivers/gpu/drm/bridge/cros-ec-anx7688.c | 4 +-
drivers/gpu/drm/bridge/display-connector.c | 26 +++---
drivers/gpu/drm/bridge/fsl-ldb.c | 3 +-
drivers/gpu/drm/bridge/imx/imx-ldb-helper.c | 3 +-
drivers/gpu/drm/bridge/imx/imx8mp-hdmi-pvi.c | 3 +-
.../drm/bridge/imx/imx8qxp-pixel-combiner.c | 3 +-
.../gpu/drm/bridge/imx/imx8qxp-pixel-link.c | 3 +-
drivers/gpu/drm/bridge/imx/imx8qxp-pxl2dpi.c | 3 +-
drivers/gpu/drm/bridge/ite-it6505.c | 3 +-
drivers/gpu/drm/bridge/ite-it66121.c | 58 ++++++++-----
drivers/gpu/drm/bridge/lontium-lt8912b.c | 3 +-
drivers/gpu/drm/bridge/lontium-lt9211.c | 3 +-
drivers/gpu/drm/bridge/lontium-lt9611.c | 3 +-
drivers/gpu/drm/bridge/lontium-lt9611uxc.c | 3 +-
drivers/gpu/drm/bridge/lvds-codec.c | 3 +-
.../bridge/megachips-stdpxxxx-ge-b850v3-fw.c | 3 +-
drivers/gpu/drm/bridge/microchip-lvds.c | 3 +-
drivers/gpu/drm/bridge/nwl-dsi.c | 3 +-
drivers/gpu/drm/bridge/nxp-ptn3460.c | 3 +-
drivers/gpu/drm/bridge/panel.c | 3 +-
drivers/gpu/drm/bridge/parade-ps8622.c | 3 +-
drivers/gpu/drm/bridge/parade-ps8640.c | 1 -
drivers/gpu/drm/bridge/samsung-dsim.c | 3 +-
drivers/gpu/drm/bridge/sii902x.c | 46 ++++------
drivers/gpu/drm/bridge/sii9234.c | 8 +-
drivers/gpu/drm/bridge/sil-sii8620.c | 3 +-
drivers/gpu/drm/bridge/simple-bridge.c | 24 +++--
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 3 +-
drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c | 3 +-
drivers/gpu/drm/bridge/tc358762.c | 3 +-
drivers/gpu/drm/bridge/tc358764.c | 3 +-
drivers/gpu/drm/bridge/tc358767.c | 3 +-
drivers/gpu/drm/bridge/tc358768.c | 3 +-
drivers/gpu/drm/bridge/tc358775.c | 3 +-
drivers/gpu/drm/bridge/thc63lvd1024.c | 3 +-
drivers/gpu/drm/bridge/ti-dlpc3433.c | 3 +-
drivers/gpu/drm/bridge/ti-sn65dsi83.c | 3 +-
drivers/gpu/drm/bridge/ti-sn65dsi86.c | 3 +-
drivers/gpu/drm/bridge/ti-tfp410.c | 42 ++++-----
drivers/gpu/drm/bridge/ti-tpd12s015.c | 3 +-
drivers/gpu/drm/drm_bridge.c | 87 +++++++++++++++----
drivers/gpu/drm/exynos/exynos_drm_mic.c | 3 +-
drivers/gpu/drm/i2c/tda998x_drv.c | 5 +-
drivers/gpu/drm/mcde/mcde_dsi.c | 3 +-
drivers/gpu/drm/mediatek/mtk_dsi.c | 3 +-
drivers/gpu/drm/mediatek/mtk_hdmi.c | 3 +-
drivers/gpu/drm/meson/meson_encoder_cvbs.c | 3 +-
drivers/gpu/drm/meson/meson_encoder_dsi.c | 3 +-
drivers/gpu/drm/meson/meson_encoder_hdmi.c | 3 +-
drivers/gpu/drm/omapdrm/dss/dpi.c | 3 +-
drivers/gpu/drm/omapdrm/dss/dsi.c | 3 +-
drivers/gpu/drm/omapdrm/dss/hdmi4.c | 3 +-
drivers/gpu/drm/omapdrm/dss/hdmi5.c | 3 +-
drivers/gpu/drm/omapdrm/dss/sdi.c | 3 +-
drivers/gpu/drm/omapdrm/dss/venc.c | 3 +-
drivers/gpu/drm/renesas/rcar-du/rcar_lvds.c | 3 +-
.../gpu/drm/renesas/rcar-du/rcar_mipi_dsi.c | 3 +-
.../gpu/drm/renesas/rcar-du/rzg2l_mipi_dsi.c | 3 +-
drivers/gpu/drm/sti/sti_dvo.c | 3 +-
drivers/gpu/drm/vc4/vc4_dsi.c | 5 +-
drivers/gpu/drm/xlnx/zynqmp_dpsub.c | 2 +-
include/drm/drm_bridge.h | 21 +++--
70 files changed, 256 insertions(+), 260 deletions(-)
--
2.34.1
next reply other threads:[~2024-05-26 20:21 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-26 20:21 Sui Jingfeng [this message]
2024-05-26 20:21 ` [PATCH v6 01/10] drm/bridge: Allow using fwnode APIs to get the next bridge Sui Jingfeng
2024-05-26 20:21 ` [PATCH v6 02/10] drm/bridge: Set firmware node of drm_bridge instances automatically Sui Jingfeng
2024-05-26 21:19 ` Dmitry Baryshkov
2024-05-27 2:01 ` Sui Jingfeng
2024-05-26 23:33 ` kernel test robot
2024-05-27 2:06 ` Sui Jingfeng
2024-05-26 20:21 ` [PATCH v6 03/10] drm/bridge: Implement of_drm_find_bridge() on the top of drm_bridge_find_by_fwnode() Sui Jingfeng
2024-05-26 20:21 ` [PATCH v6 04/10] drm/bridge: simple-bridge: Use fwnode APIs to acquire device properties Sui Jingfeng
2024-05-26 20:21 ` [PATCH v6 05/10] drm/bridge: display-connector: " Sui Jingfeng
2024-05-26 20:21 ` [PATCH v6 06/10] drm/bridge: sii902x: Switch to use " Sui Jingfeng
2024-05-26 20:21 ` [PATCH v6 07/10] drm-bridge: it66121: Use " Sui Jingfeng
2024-05-26 20:21 ` [PATCH v6 08/10] drm/bridge: tfp410: " Sui Jingfeng
2024-05-26 20:21 ` [PATCH v6 09/10] drm/bridge: sii9234: Use fwnode APIs to abstract DT dependent API away Sui Jingfeng
2024-05-26 20:21 ` [PATCH v6 10/10] drm/bridge: ch7033: Switch to use fwnode based APIs Sui Jingfeng
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=20240526202115.129049-1-sui.jingfeng@linux.dev \
--to=sui.jingfeng@linux.dev \
--cc=Laurent.pinchart@ideasonboard.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=linux-kernel@vger.kernel.org \
--cc=rfoss@kernel.org \
/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.