lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20240526202115.129049-1-sui.jingfeng@linux.dev>
Date: Mon, 27 May 2024 04:21:05 +0800
From: Sui Jingfeng <sui.jingfeng@...ux.dev>
To: Robert Foss <rfoss@...nel.org>,
	Laurent Pinchart <Laurent.pinchart@...asonboard.com>
Cc: dri-devel@...ts.freedesktop.org,
	linux-kernel@...r.kernel.org,
	Sui Jingfeng <sui.jingfeng@...ux.dev>
Subject: [PATCH v6 00/10] drm/bridge: Allow using fwnode API to get the next bridge

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


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ