From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.forwardemail.net (smtp.forwardemail.net [121.127.44.73]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CF19635898 for ; Thu, 18 Jun 2026 01:14:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=121.127.44.73 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781745245; cv=none; b=snAafHZYs6zSrrNg78ubdPxDyE5RXYSPMXGQlXEtDVxugpLhdhS5RZ4LbtpeuOgbYKVJwGjP2JMlH6YzanmPnWq/wu3DaNISNisYS1VRFshtMPXKZONrhDxcKE27xzgH93KgjgEpX3vl10KAtQ6hAR1YOl5v7XyNLY4LP7Qp8cs= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781745245; c=relaxed/simple; bh=HUfcNg5OMhaAcM5bWMySjW1OmdKwHeBe+svn3HPAQ8Y=; h=Mime-Version:Content-Type:Date:Message-Id:Cc:Subject:From:To: References:In-Reply-To; b=LiplycTtdQ0cFtOgNXZKEO+VgwzAWmHhZuF5BhSyvOhtLcSy9WaOcg+1AmgUVSqQ7vADY+WWtRlJhMdv+cJvNo3hjbrJu6lTFic5rI2Fse7Yvm0YD9ttYYM76rYttew3nEAbaukuKMeoArinxFAqpey1rf7tyhwltc5m07MNd54= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ubuntu.com; spf=pass smtp.mailfrom=fe-bounces.ubuntu.com; dkim=pass (2048-bit key) header.d=ubuntu.com header.i=@ubuntu.com header.b=nZcNIjiL; arc=none smtp.client-ip=121.127.44.73 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ubuntu.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fe-bounces.ubuntu.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ubuntu.com header.i=@ubuntu.com header.b="nZcNIjiL" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ubuntu.com; h=In-Reply-To: References: To: From: Subject: Cc: Message-Id: Date: Content-Type: Content-Transfer-Encoding: Mime-Version; q=dns/txt; s=fe-953a8a3ca9; t=1781745237; bh=eBmTxVYzn/IEiGT8WtuKfobyevttU4FdpI0lnGII/fM=; b=nZcNIjiLsvSYbd8xv8b3T+sdP2j0qUnh11kCob/Ezo9UJA7sgHMo7n+nitAfaX+WYP8PXQaqq A3gptqC7LpvaHNg6qfa3U5DhYK73TbLQxzU32ntKWk6GYclmnZ+Bb6qQlrbeg5pLzISbblpaXNF chCcJX488SEJHrmqjf9sKgL71M6tDtxN+CBQea2GcyRcsca1meaglP7DqRJEHt5AnBTB6HxkQOS kqit1sSypT47A5UowlJjJvK3TQBapXJCcHHMw9YEz/KNWfW6VRcig1dJLo2zTl0A9RACtR2sGH9 FJ0ogIvXf8CewKCbge/7O7ousBOH98tAVM8AEhuYHbjA== X-Forward-Email-ID: 6a334650e2ba51f45781c4bf X-Forward-Email-Sender: rfc822; jpeisach@ubuntu.com, smtp.forwardemail.net, 121.127.44.73 X-Forward-Email-Version: 2.8.30 X-Forward-Email-Website: https://forwardemail.net X-Complaints-To: abuse@forwardemail.net X-Report-Abuse: abuse@forwardemail.net X-Report-Abuse-To: abuse@forwardemail.net Precedence: bulk X-Mailing-List: asahi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8; format=Flowed Date: Wed, 17 Jun 2026 21:13:50 -0400 Message-Id: Cc: "Laurent Pinchart" , "Jonas Karlman" , "Jernej Skrabec" , "Luca Ceresoli" , , "Sasha Finkelstein" , "Janne Grunau" , Subject: Re: [PATCH 01/37] drm/adp: mipi: Switch to atomic bridge callbacks From: "Joshua Peisach" To: "Maxime Ripard" , "Andrzej Hajda" , "Neil Armstrong" , "Robert Foss" , "Maarten Lankhorst" , "Thomas Zimmermann" , "David Airlie" , "Simona Vetter" X-Mailer: aerc 0.21.0 References: <20260617-drm-all-atomic-bridges-v1-0-b63e6316166b@kernel.org> <20260617-drm-all-atomic-bridges-v1-1-b63e6316166b@kernel.org> In-Reply-To: <20260617-drm-all-atomic-bridges-v1-1-b63e6316166b@kernel.org> On Wed Jun 17, 2026 at 6:14 AM EDT, Maxime Ripard wrote: > The mipi 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 =3D { > ..., > }; > > @ has_create_state depends on is_bridge @ > identifier funcs, f; > @@ > > struct drm_bridge_funcs funcs =3D { > ..., > .atomic_create_state =3D f, > ..., > }; > > @ update_struct depends on (is_bridge && !has_create_state) @ > identifier is_bridge.funcs; > identifier f; > @@ > > struct drm_bridge_funcs funcs =3D { > + .atomic_create_state =3D drm_atomic_helper_bridge_create_state, > + .atomic_destroy_state =3D drm_atomic_helper_bridge_destroy_state, > + .atomic_duplicate_state =3D 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 =3D { > ..., > - .pre_enable =3D f, > + .atomic_pre_enable =3D 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 =3D { > ..., > - .enable =3D f, > + .atomic_enable =3D 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 =3D { > ..., > - .disable =3D f, > + .atomic_disable =3D 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 =3D { > ..., > - .post_disable =3D f, > + .atomic_post_disable =3D 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 > > --- > To: Sasha Finkelstein > Cc: Janne Grunau > Cc: dri-devel@lists.freedesktop.org > Cc: asahi@lists.linux.dev > --- > drivers/gpu/drm/adp/adp-mipi.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/gpu/drm/adp/adp-mipi.c b/drivers/gpu/drm/adp/adp-mip= i.c > index cba7d32150a9..232bb9539423 100644 > --- a/drivers/gpu/drm/adp/adp-mipi.c > +++ b/drivers/gpu/drm/adp/adp-mipi.c > @@ -3,10 +3,11 @@ > #include > #include > #include > #include > =20 > +#include > #include > #include > =20 > #define DSI_GEN_HDR 0x6c > #define DSI_GEN_PLD_DATA 0x70 > @@ -220,10 +221,13 @@ static int adp_dsi_bridge_attach(struct drm_bridge = *bridge, > =20 > return drm_bridge_attach(encoder, adp->next_bridge, bridge, flags); > } > =20 > static const struct drm_bridge_funcs adp_dsi_bridge_funcs =3D { > + .atomic_create_state =3D drm_atomic_helper_bridge_create_state, > + .atomic_destroy_state =3D drm_atomic_helper_bridge_destroy_state, > + .atomic_duplicate_state =3D drm_atomic_helper_bridge_duplicate_state, > .attach =3D adp_dsi_bridge_attach, > }; > =20 > static int adp_mipi_probe(struct platform_device *pdev) > { I have no objections, nor do I really think there would be any, but I wanted to point out, thank you for not CCing *everyone* on the entire patchset but just the cover letter and the patch I'm interested in :) Happily, Reviewed-by: Joshua Peisach