From: Boris Brezillon <boris.brezillon@collabora.com> To: dri-devel@lists.freedesktop.org Cc: Lucas Stach <l.stach@pengutronix.de>, Chris Healy <cphealy@gmail.com>, Andrey Smirnov <andrew.smirnov@gmail.com>, Nikita Yushchenko <nikita.yoush@cogentembedded.com>, kernel@collabora.com, Daniel Vetter <daniel@ffwll.ch>, Thierry Reding <thierry.reding@gmail.com>, Sam Ravnborg <sam@ravnborg.org>, Philipp Zabel <p.zabel@pengutronix.de>, Andrzej Hajda <a.hajda@samsung.com>, Neil Armstrong <narmstrong@baylibre.com>, Laurent Pinchart <Laurent.pinchart@ideasonboard.com>, Jonas Karlman <jonas@kwiboo.se>, Jernej Skrabec <jernej.skrabec@siol.net>, Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>, devicetree@vger.kernel.org, Boris Brezillon <boris.brezillon@collabora.com> Subject: [PATCH v7 00/12] drm: Add support for bus-format negotiation Date: Wed, 22 Jan 2020 12:16:48 +0100 [thread overview] Message-ID: <20200122111700.1924960-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. 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
WARNING: multiple messages have this Message-ID (diff)
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>, kernel@collabora.com, Sam Ravnborg <sam@ravnborg.org>, Chris Healy <cphealy@gmail.com> Subject: [PATCH v7 00/12] drm: Add support for bus-format negotiation Date: Wed, 22 Jan 2020 12:16:48 +0100 [thread overview] Message-ID: <20200122111700.1924960-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. 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 _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
next reply other threads:[~2020-01-22 11:17 UTC|newest] Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-01-22 11:16 Boris Brezillon [this message] 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-22 11:16 ` Boris Brezillon 2020-01-23 7:37 ` 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 ` 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 ` Boris Brezillon 2020-01-22 11:16 ` [PATCH v7 04/12] drm/bridge: analogix: " Boris Brezillon 2020-01-22 11:16 ` 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 ` 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 11:16 ` Boris Brezillon 2020-01-22 23:44 ` Jonas Karlman 2020-01-22 23:44 ` Jonas Karlman 2020-01-23 7:39 ` Boris Brezillon 2020-01-23 7:39 ` Boris Brezillon 2020-01-23 7:52 ` Jonas Karlman 2020-01-23 7:52 ` Jonas Karlman 2020-01-23 8:07 ` Boris Brezillon 2020-01-23 8:07 ` Boris Brezillon 2020-01-23 8:50 ` Neil Armstrong 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 ` 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 ` 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 ` 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 ` 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:16 ` Boris Brezillon 2020-01-22 11:17 ` [PATCH v7 12/12] ARM: dts: imx: imx51-zii-rdu1: Fix the display pipeline definition Boris Brezillon 2020-01-22 11:17 ` Boris Brezillon
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=20200122111700.1924960-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=daniel@ffwll.ch \ --cc=devicetree@vger.kernel.org \ --cc=dri-devel@lists.freedesktop.org \ --cc=jernej.skrabec@siol.net \ --cc=jonas@kwiboo.se \ --cc=kernel@collabora.com \ --cc=l.stach@pengutronix.de \ --cc=mark.rutland@arm.com \ --cc=narmstrong@baylibre.com \ --cc=nikita.yoush@cogentembedded.com \ --cc=p.zabel@pengutronix.de \ --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: linkBe 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.