dri-devel.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
From: Boris Brezillon <boris.brezillon@collabora.com>
To: dri-devel@lists.freedesktop.org
Cc: Nikita Yushchenko <nikita.yoush@cogentembedded.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Jernej Skrabec <jernej.skrabec@siol.net>,
	Neil Armstrong <narmstrong@baylibre.com>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	Jonas Karlman <jonas@kwiboo.se>, Rob Herring <robh+dt@kernel.org>,
	Andrzej Hajda <a.hajda@samsung.com>,
	devicetree@vger.kernel.org,
	Thierry Reding <thierry.reding@gmail.com>,
	Laurent Pinchart <Laurent.pinchart@ideasonboard.com>,
	Boris Brezillon <boris.brezillon@collabora.com>,
	intel-gfx-trybot@lists.freedesktop.org, kernel@collabora.com,
	Sam Ravnborg <sam@ravnborg.org>, Chris Healy <cphealy@gmail.com>
Subject: [PATCH v10 00/12] drm: Add support for bus-format negotiation
Date: Tue, 28 Jan 2020 14:55:02 +0100	[thread overview]
Message-ID: <20200128135514.108171-1-boris.brezillon@collabora.com> (raw)

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.

No fundamental changes in this v10, just collected R-bs, addressed
Philipp's comments and moved the changelog back to the visible part
of the commit message.

I plan to apply patches 1 to 7 soon, so if there's anything you don't
like in there, please say it now. Still waiting for review on the LVDS
bridge and panel stuff.

This patch series is also available here [1].

Thanks,

Boris

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

Boris Brezillon (12):
  drm/bridge: Add a drm_bridge_state object
  drm/rcar-du: Plug atomic state hooks to the default implementation
  drm/bridge: analogix: Plug atomic state hooks to the default
    implementation
  drm/bridge: Patch atomic hooks to take a drm_bridge_state
  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                  | 116 +++++
 drivers/gpu/drm/drm_atomic_helper.c           |  73 ++-
 drivers/gpu/drm/drm_atomic_state_helper.c     | 103 +++++
 drivers/gpu/drm/drm_bridge.c                  | 437 +++++++++++++++++-
 drivers/gpu/drm/imx/parallel-display.c        | 177 ++++++-
 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                      | 179 ++++++-
 16 files changed, 1258 insertions(+), 81 deletions(-)

-- 
2.24.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

             reply	other threads:[~2020-01-28 13:55 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-28 13:55 Boris Brezillon [this message]
2020-01-28 13:55 ` [PATCH v10 01/12] drm/bridge: Add a drm_bridge_state object Boris Brezillon
2020-01-28 13:55 ` [PATCH v10 02/12] drm/rcar-du: Plug atomic state hooks to the default implementation Boris Brezillon
2020-01-28 13:55 ` [PATCH v10 03/12] drm/bridge: analogix: " Boris Brezillon
2020-01-28 13:55 ` [PATCH v10 04/12] drm/bridge: Patch atomic hooks to take a drm_bridge_state Boris Brezillon
2020-01-28 13:55 ` [PATCH v10 05/12] drm/bridge: Add an ->atomic_check() hook Boris Brezillon
2020-01-28 13:55 ` [PATCH v10 06/12] drm/bridge: Add the necessary bits to support bus format negotiation Boris Brezillon
2020-01-28 13:55 ` [PATCH v10 07/12] drm/imx: pd: Use bus format/flags provided by the bridge when available Boris Brezillon
2020-01-28 13:55 ` [PATCH v10 08/12] drm/bridge: lvds-codec: Implement basic bus format negotiation Boris Brezillon
2020-02-24 23:03   ` Laurent Pinchart
2020-02-25  6:15     ` Sam Ravnborg
2020-02-25  8:44       ` Boris Brezillon
2020-01-28 13:55 ` [PATCH v10 09/12] dt-bindings: display: bridge: lvds-codec: Add new bus-width prop Boris Brezillon
2020-01-31 17:12   ` Sam Ravnborg
2020-01-31 17:23     ` Boris Brezillon
2020-02-24 22:31   ` Laurent Pinchart
2020-02-25  9:13     ` Boris Brezillon
2020-03-09 10:35       ` Boris Brezillon
2020-01-28 13:55 ` [PATCH v10 10/12] drm/bridge: panel: Propage bus format/flags Boris Brezillon
2020-01-31 17:25   ` Boris Brezillon
2020-02-24 22:34     ` Laurent Pinchart
2020-02-25  8:45       ` Boris Brezillon
2020-01-28 13:55 ` [PATCH v10 11/12] drm/panel: simple: Fix the lt089ac29000 bus_format Boris Brezillon
2020-01-28 13:55 ` [PATCH v10 12/12] ARM: dts: imx: imx51-zii-rdu1: Fix the display pipeline definition Boris Brezillon
2020-01-31 15:42 ` [PATCH v10 00/12] drm: Add support for bus-format negotiation Boris Brezillon
2020-01-31 16:51   ` Sam Ravnborg
2020-01-31 18:08   ` Daniel Vetter

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=20200128135514.108171-1-boris.brezillon@collabora.com \
    --to=boris.brezillon@collabora.com \
    --cc=Laurent.pinchart@ideasonboard.com \
    --cc=a.hajda@samsung.com \
    --cc=andrew.smirnov@gmail.com \
    --cc=cphealy@gmail.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-gfx-trybot@lists.freedesktop.org \
    --cc=jernej.skrabec@siol.net \
    --cc=jonas@kwiboo.se \
    --cc=kernel@collabora.com \
    --cc=mark.rutland@arm.com \
    --cc=narmstrong@baylibre.com \
    --cc=nikita.yoush@cogentembedded.com \
    --cc=robh+dt@kernel.org \
    --cc=sam@ravnborg.org \
    --cc=thierry.reding@gmail.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 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).