From: Ian Ray <ian.ray@gehealthcare.com>
To: Maxime Ripard <mripard@kernel.org>
Cc: Andrzej Hajda <andrzej.hajda@intel.com>,
Neil Armstrong <neil.armstrong@linaro.org>,
Robert Foss <rfoss@kernel.org>,
Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
Thomas Zimmermann <tzimmermann@suse.de>,
David Airlie <airlied@gmail.com>, Simona Vetter <simona@ffwll.ch>,
Laurent Pinchart <Laurent.pinchart@ideasonboard.com>,
Jonas Karlman <jonas@kwiboo.se>,
Jernej Skrabec <jernej.skrabec@gmail.com>,
Luca Ceresoli <luca.ceresoli@bootlin.com>,
dri-devel@lists.freedesktop.org,
Peter Senna Tschudin <peter.senna@gmail.com>,
Ian Ray <ian.ray@ge.com>,
Martyn Welch <martyn.welch@collabora.co.uk>
Subject: Re: [PATCH 12/37] drm/bridge: megachips-stdpxxxx-ge-b850v3-fw: Switch to atomic bridge callbacks
Date: Wed, 1 Jul 2026 09:02:09 +0300 [thread overview]
Message-ID: <akStYWMEyZdN2Gx5@zeus> (raw)
In-Reply-To: <20260617-drm-all-atomic-bridges-v1-12-b63e6316166b@kernel.org>
On Wed, Jun 17, 2026 at 12:14:37PM +0200, Maxime Ripard wrote:
> The megachips-stdpxxxx-ge-b850v3-fw bridge still uses the deprecated non-atomic bridge
> callbacks.
>
> Switch to their atomic counterparts, adding the bridge state
> handlers if not already present.
>
> Generated by the following Coccinelle script:
>
> @ is_bridge @
> identifier funcs;
> @@
>
> struct drm_bridge_funcs funcs = {
> ...,
> };
>
> @ has_create_state depends on is_bridge @
> identifier funcs, f;
> @@
>
> struct drm_bridge_funcs funcs = {
> ...,
> .atomic_create_state = f,
> ...,
> };
>
> @ update_struct depends on (is_bridge && !has_create_state) @
> identifier is_bridge.funcs;
> identifier f;
> @@
>
> struct drm_bridge_funcs funcs = {
> + .atomic_create_state = drm_atomic_helper_bridge_create_state,
> + .atomic_destroy_state = drm_atomic_helper_bridge_destroy_state,
> + .atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state,
> ...,
> };
>
> @ update_pre_enable_struct depends on (is_bridge && !has_create_state) @
> identifier is_bridge.funcs;
> identifier f;
> @@
>
> struct drm_bridge_funcs funcs = {
> ...,
> - .pre_enable = f,
> + .atomic_pre_enable = f,
> ...,
> };
>
> @ update_pre_enable_impl depends on update_pre_enable_struct @
> identifier update_pre_enable_struct.f;
> identifier b;
> @@
>
> -void f(struct drm_bridge *b)
> +void f(struct drm_bridge *b, struct drm_atomic_commit *commit)
> {
> ...
> }
>
> @ update_enable_struct depends on (is_bridge && !has_create_state) @
> identifier is_bridge.funcs;
> identifier f;
> @@
>
> struct drm_bridge_funcs funcs = {
> ...,
> - .enable = f,
> + .atomic_enable = f,
> ...,
> };
>
> @ update_enable_impl depends on update_enable_struct @
> identifier update_enable_struct.f;
> identifier b;
> @@
>
> -void f(struct drm_bridge *b)
> +void f(struct drm_bridge *b, struct drm_atomic_commit *commit)
> {
> ...
> }
>
> @ update_disable_struct depends on (is_bridge && !has_create_state) @
> identifier is_bridge.funcs;
> identifier f;
> @@
>
> struct drm_bridge_funcs funcs = {
> ...,
> - .disable = f,
> + .atomic_disable = f,
> ...,
> };
>
> @ update_disable_impl depends on update_disable_struct @
> identifier update_disable_struct.f;
> identifier b;
> @@
>
> -void f(struct drm_bridge *b)
> +void f(struct drm_bridge *b, struct drm_atomic_commit *commit)
> {
> ...
> }
>
> @ update_post_disable_struct depends on (is_bridge && !has_create_state) @
> identifier is_bridge.funcs;
> identifier f;
> @@
>
> struct drm_bridge_funcs funcs = {
> ...,
> - .post_disable = f,
> + .atomic_post_disable = f,
> ...,
> };
>
> @ update_post_disable_impl depends on update_post_disable_struct @
> identifier update_post_disable_struct.f;
> identifier b;
> @@
>
> -void f(struct drm_bridge *b)
> +void f(struct drm_bridge *b, struct drm_atomic_commit *commit)
> {
> ...
> }
>
> Signed-off-by: Maxime Ripard <mripard@kernel.org>
Reviewed-by: Ian Ray <ian.ray@gehealthcare.com>
>
> ---
> To: Peter Senna Tschudin <peter.senna@gmail.com>
> To: Ian Ray <ian.ray@ge.com>
> To: Martyn Welch <martyn.welch@collabora.co.uk>
> ---
> drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c b/drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c
> index 2d02cc69f237..25ff0a0acc93 100644
> --- a/drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c
> +++ b/drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c
> @@ -212,10 +212,13 @@ static int ge_b850v3_lvds_attach(struct drm_bridge *bridge,
>
> return ge_b850v3_lvds_create_connector(bridge);
> }
>
> static const struct drm_bridge_funcs ge_b850v3_lvds_funcs = {
> + .atomic_create_state = drm_atomic_helper_bridge_create_state,
> + .atomic_destroy_state = drm_atomic_helper_bridge_destroy_state,
> + .atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state,
> .attach = ge_b850v3_lvds_attach,
> .detect = ge_b850v3_lvds_bridge_detect,
> .edid_read = ge_b850v3_lvds_edid_read,
> };
>
>
> --
> 2.54.0
>
next prev parent reply other threads:[~2026-07-01 7:03 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-17 10:14 [PATCH 00/37] drm/bridge: Convert all bridges to atomic Maxime Ripard
2026-06-17 10:14 ` [PATCH 01/37] drm/adp: mipi: Switch to atomic bridge callbacks Maxime Ripard
2026-06-18 1:13 ` Joshua Peisach
2026-06-17 10:14 ` [PATCH 02/37] drm/bridge: analogix-anx6345: " Maxime Ripard
2026-06-25 8:08 ` Thomas Zimmermann
2026-06-26 13:30 ` Maxime Ripard
2026-06-17 10:14 ` [PATCH 03/37] drm/bridge: analogix-anx78xx: " Maxime Ripard
2026-06-17 10:14 ` [PATCH 04/37] drm/bridge: aux-bridge: " Maxime Ripard
2026-06-17 10:14 ` [PATCH 05/37] drm/bridge: aux-hpd-bridge: " Maxime Ripard
2026-06-17 10:14 ` [PATCH 06/37] drm/bridge: chrontel-ch7033: " Maxime Ripard
2026-06-25 7:55 ` Thomas Zimmermann
2026-06-26 8:13 ` Maxime Ripard
2026-06-17 10:14 ` [PATCH 07/37] drm/bridge: cros-ec-anx7688: " Maxime Ripard
2026-06-17 10:14 ` [PATCH 08/37] drm/bridge: lontium-lt8713sx: " Maxime Ripard
2026-06-17 10:14 ` [PATCH 09/37] drm/bridge: lontium-lt8912b: " Maxime Ripard
2026-06-22 11:34 ` Francesco Dolcini
2026-06-17 10:14 ` [PATCH 10/37] drm/bridge: lontium-lt9611uxc: " Maxime Ripard
2026-06-17 10:14 ` [PATCH 11/37] drm/bridge: lvds-codec: " Maxime Ripard
2026-06-22 11:31 ` Laurent Pinchart
2026-06-17 10:14 ` [PATCH 12/37] drm/bridge: megachips-stdpxxxx-ge-b850v3-fw: " Maxime Ripard
2026-07-01 6:02 ` Ian Ray [this message]
2026-06-17 10:14 ` [PATCH 13/37] drm/bridge: microchip-lvds: " Maxime Ripard
2026-06-22 9:00 ` Manikandan.M
2026-06-25 7:59 ` Thomas Zimmermann
2026-06-17 10:14 ` [PATCH 14/37] drm/bridge: nxp-ptn3460: " Maxime Ripard
2026-06-17 10:14 ` [PATCH 15/37] drm/bridge: of-display-mode-bridge: " Maxime Ripard
2026-06-22 11:33 ` Laurent Pinchart
2026-06-17 10:14 ` [PATCH 16/37] drm/bridge: parade-ps8622: " Maxime Ripard
2026-06-17 10:14 ` [PATCH 17/37] drm/bridge: sii9234: " Maxime Ripard
2026-06-17 10:14 ` [PATCH 18/37] drm/bridge: sil-sii8620: " Maxime Ripard
2026-06-17 10:14 ` [PATCH 19/37] drm/bridge: simple-bridge: " Maxime Ripard
2026-06-22 11:34 ` Laurent Pinchart
2026-06-17 10:14 ` [PATCH 20/37] drm/bridge: tc358764: " Maxime Ripard
2026-06-17 10:14 ` [PATCH 21/37] drm/bridge: tda998x: " Maxime Ripard
2026-06-17 10:14 ` [PATCH 22/37] drm/bridge: ti-tfp410: " Maxime Ripard
2026-06-22 11:38 ` Laurent Pinchart
2026-06-17 10:14 ` [PATCH 23/37] drm/bridge: ti-tpd12s015: " Maxime Ripard
2026-06-17 10:14 ` [PATCH 24/37] drm/bridge: thc63lvd1024: " Maxime Ripard
2026-06-17 10:14 ` [PATCH 25/37] drm/bridge: waveshare-dsi: " Maxime Ripard
2026-06-17 10:14 ` [PATCH 26/37] drm/exynos: mic: " Maxime Ripard
2026-06-17 10:14 ` [PATCH 27/37] drm/mcde: dsi: " Maxime Ripard
2026-06-17 11:58 ` Linus Walleij
2026-06-17 10:14 ` [PATCH 28/37] drm/mediatek: dpi: " Maxime Ripard
2026-06-17 10:14 ` [PATCH 29/37] drm/msm: dsi: " Maxime Ripard
2026-06-17 10:14 ` [PATCH 30/37] drm/omap: dpi: " Maxime Ripard
2026-06-17 10:14 ` [PATCH 31/37] drm/omap: dsi: " Maxime Ripard
2026-06-17 10:14 ` [PATCH 32/37] drm/omap: sdi: " Maxime Ripard
2026-06-17 10:14 ` [PATCH 33/37] drm/omap: venc: " Maxime Ripard
2026-06-17 10:14 ` [PATCH 34/37] drm/sti: dvo: " Maxime Ripard
2026-06-17 10:15 ` [PATCH 35/37] drm/sti: hda: " Maxime Ripard
2026-06-17 10:15 ` [PATCH 36/37] drm/sti: hdmi: " Maxime Ripard
2026-06-17 10:15 ` [PATCH 37/37] drm/bridge: Remove legacy bridge callback support Maxime Ripard
2026-06-22 11:43 ` Laurent Pinchart
2026-06-24 12:18 ` [PATCH 00/37] drm/bridge: Convert all bridges to atomic Luca Ceresoli
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=akStYWMEyZdN2Gx5@zeus \
--to=ian.ray@gehealthcare.com \
--cc=Laurent.pinchart@ideasonboard.com \
--cc=airlied@gmail.com \
--cc=andrzej.hajda@intel.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=ian.ray@ge.com \
--cc=jernej.skrabec@gmail.com \
--cc=jonas@kwiboo.se \
--cc=luca.ceresoli@bootlin.com \
--cc=maarten.lankhorst@linux.intel.com \
--cc=martyn.welch@collabora.co.uk \
--cc=mripard@kernel.org \
--cc=neil.armstrong@linaro.org \
--cc=peter.senna@gmail.com \
--cc=rfoss@kernel.org \
--cc=simona@ffwll.ch \
--cc=tzimmermann@suse.de \
/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