devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v7 00/12] drm: Add support for bus-format negotiation
@ 2020-01-22 11:16 Boris Brezillon
  2020-01-22 11:16 ` [PATCH v7 01/12] drm/bridge: Add a drm_bridge_state object Boris Brezillon
                   ` (11 more replies)
  0 siblings, 12 replies; 19+ messages in thread
From: Boris Brezillon @ 2020-01-22 11:16 UTC (permalink / raw)
  To: dri-devel
  Cc: Lucas Stach, Chris Healy, Andrey Smirnov, Nikita Yushchenko,
	kernel, Daniel Vetter, Thierry Reding, Sam Ravnborg,
	Philipp Zabel, Andrzej Hajda, Neil Armstrong, Laurent Pinchart,
	Jonas Karlman, Jernej Skrabec, Rob Herring, Mark Rutland,
	devicetree, Boris Brezillon

Hello,

This patch series aims at adding support for runtime bus-format
negotiation between all elements of the
'encoder -> bridges -> connector/display' section of the pipeline.

In order to support that, we need drm bridges to fully take part in the
atomic state validation process, which requires adding a
drm_bridge_state and a new drm_bridge_funcs.atomic_check() hook.
Once those basic building blocks are in place, we can add new hooks to
allow bus format negotiation (those are called just before
->atomic_check()). The bus format selection is done at runtime by
testing all possible combinations across the whole bridge chain until
one is reported to work.

v7 has refactored to address the drm -> drm_kms_helper -> drm circular
dep issue we had on v6.

A more detailed changelog is provided in each patch.

This patch series is also available here [1].

Thanks,

Boris

[1]https://github.com/bbrezillon/linux-0day/commits/drm-bridge-busfmt-v7

Boris Brezillon (12):
  drm/bridge: Add a drm_bridge_state object
  drm/bridge: Patch atomic hooks to take a drm_bridge_state
  drm/rcar-du: Plug atomic state hooks to the default implementation
  drm/bridge: analogix: Plug atomic state hooks to the default
    implementation
  drm/bridge: Add an ->atomic_check() hook
  drm/bridge: Add the necessary bits to support bus format negotiation
  drm/imx: pd: Use bus format/flags provided by the bridge when
    available
  drm/bridge: lvds-codec: Implement basic bus format negotiation
  dt-bindings: display: bridge: lvds-codec: Add new bus-width prop
  drm/bridge: panel: Propage bus format/flags
  drm/panel: simple: Fix the lt089ac29000 bus_format
  ARM: dts: imx: imx51-zii-rdu1: Fix the display pipeline definition

 .../bindings/display/bridge/lvds-codec.yaml   |   8 +
 arch/arm/boot/dts/imx51-zii-rdu1.dts          |  24 +-
 .../drm/bridge/analogix/analogix_dp_core.c    |  44 +-
 drivers/gpu/drm/bridge/lvds-codec.c           |  64 ++-
 drivers/gpu/drm/bridge/panel.c                |   4 +
 drivers/gpu/drm/drm_atomic.c                  | 117 +++++
 drivers/gpu/drm/drm_atomic_helper.c           |  73 +++-
 drivers/gpu/drm/drm_atomic_state_helper.c     | 131 ++++++
 drivers/gpu/drm/drm_bridge.c                  | 407 +++++++++++++++++-
 drivers/gpu/drm/imx/parallel-display.c        | 176 ++++++--
 drivers/gpu/drm/panel/panel-simple.c          |   2 +-
 drivers/gpu/drm/rcar-du/rcar_lvds.c           |  11 +-
 include/drm/drm_atomic.h                      |  76 ++++
 include/drm/drm_atomic_helper.h               |   8 +
 include/drm/drm_atomic_state_helper.h         |  13 +
 include/drm/drm_bridge.h                      | 172 +++++++-
 16 files changed, 1249 insertions(+), 81 deletions(-)

-- 
2.24.1


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

end of thread, other threads:[~2020-01-23  8:50 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-01-22 11:16 [PATCH v7 00/12] drm: Add support for bus-format negotiation Boris Brezillon
2020-01-22 11:16 ` [PATCH v7 01/12] drm/bridge: Add a drm_bridge_state object Boris Brezillon
2020-01-23  7:37   ` Boris Brezillon
2020-01-22 11:16 ` [PATCH v7 02/12] drm/bridge: Patch atomic hooks to take a drm_bridge_state Boris Brezillon
2020-01-22 11:16 ` [PATCH v7 03/12] drm/rcar-du: Plug atomic state hooks to the default implementation Boris Brezillon
2020-01-22 11:16 ` [PATCH v7 04/12] drm/bridge: analogix: " Boris Brezillon
2020-01-22 11:16 ` [PATCH v7 05/12] drm/bridge: Add an ->atomic_check() hook Boris Brezillon
2020-01-22 11:16 ` [PATCH v7 06/12] drm/bridge: Add the necessary bits to support bus format negotiation Boris Brezillon
2020-01-22 23:44   ` Jonas Karlman
2020-01-23  7:39     ` Boris Brezillon
2020-01-23  7:52       ` Jonas Karlman
2020-01-23  8:07         ` Boris Brezillon
2020-01-23  8:50         ` Neil Armstrong
2020-01-22 11:16 ` [PATCH v7 07/12] drm/imx: pd: Use bus format/flags provided by the bridge when available Boris Brezillon
2020-01-22 11:16 ` [PATCH v7 08/12] drm/bridge: lvds-codec: Implement basic bus format negotiation Boris Brezillon
2020-01-22 11:16 ` [PATCH v7 09/12] dt-bindings: display: bridge: lvds-codec: Add new bus-width prop Boris Brezillon
2020-01-22 11:16 ` [PATCH v7 10/12] drm/bridge: panel: Propage bus format/flags Boris Brezillon
2020-01-22 11:16 ` [PATCH v7 11/12] drm/panel: simple: Fix the lt089ac29000 bus_format Boris Brezillon
2020-01-22 11:17 ` [PATCH v7 12/12] ARM: dts: imx: imx51-zii-rdu1: Fix the display pipeline definition Boris Brezillon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).