diff mbox series

[v2] drm/bridge: adv7511: Switch to atomic operations

Message ID 20250106121054.96739-1-jesseevg@gmail.com (mailing list archive)
State New
Headers show
Series [v2] drm/bridge: adv7511: Switch to atomic operations | expand

Commit Message

Jesse Van Gavere Jan. 6, 2025, 12:10 p.m. UTC
Use the atomic version of enable/disable.

To support bridges where bus format negotiation is needed such as TIDSS we
need to implement atomic_get_input_bus_fmts, prepare the driver for this by
switching the existing operations to it's atomic variants.

Signed-off-by: Jesse Van Gavere <jesseevg@gmail.com>
---
Changes in v2:
- Reword commit message to make clear this commit is to prepare for adding
  input bus formats to make the driver work with systems like TIDSS which
  expect this capability as suggested by Dmitry
---
 drivers/gpu/drm/bridge/adv7511/adv7511_drv.c | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

Comments

Dmitry Baryshkov Jan. 6, 2025, 5:23 p.m. UTC | #1
On Mon, 6 Jan 2025 at 14:11, Jesse Van Gavere <jesseevg@gmail.com> wrote:
>
> Use the atomic version of enable/disable.
>
> To support bridges where bus format negotiation is needed such as TIDSS we
> need to implement atomic_get_input_bus_fmts, prepare the driver for this by
> switching the existing operations to it's atomic variants.
>
> Signed-off-by: Jesse Van Gavere <jesseevg@gmail.com>
> ---
> Changes in v2:
> - Reword commit message to make clear this commit is to prepare for adding
>   input bus formats to make the driver work with systems like TIDSS which
>   expect this capability as suggested by Dmitry
> ---
>  drivers/gpu/drm/bridge/adv7511/adv7511_drv.c | 14 ++++++++++----
>  1 file changed, 10 insertions(+), 4 deletions(-)


Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
diff mbox series

Patch

diff --git a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
index eb5919b38263..19c14916ded4 100644
--- a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
+++ b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
@@ -910,14 +910,16 @@  static struct adv7511 *bridge_to_adv7511(struct drm_bridge *bridge)
 	return container_of(bridge, struct adv7511, bridge);
 }
 
-static void adv7511_bridge_enable(struct drm_bridge *bridge)
+static void adv7511_bridge_atomic_enable(struct drm_bridge *bridge,
+					 struct drm_bridge_state *bridge_state)
 {
 	struct adv7511 *adv = bridge_to_adv7511(bridge);
 
 	adv7511_power_on(adv);
 }
 
-static void adv7511_bridge_disable(struct drm_bridge *bridge)
+static void adv7511_bridge_atomic_disable(struct drm_bridge *bridge,
+					  struct drm_bridge_state *bridge_state)
 {
 	struct adv7511 *adv = bridge_to_adv7511(bridge);
 
@@ -996,14 +998,18 @@  static void adv7511_bridge_hpd_notify(struct drm_bridge *bridge,
 }
 
 static const struct drm_bridge_funcs adv7511_bridge_funcs = {
-	.enable = adv7511_bridge_enable,
-	.disable = adv7511_bridge_disable,
 	.mode_set = adv7511_bridge_mode_set,
 	.mode_valid = adv7511_bridge_mode_valid,
 	.attach = adv7511_bridge_attach,
 	.detect = adv7511_bridge_detect,
 	.edid_read = adv7511_bridge_edid_read,
 	.hpd_notify = adv7511_bridge_hpd_notify,
+
+	.atomic_enable = adv7511_bridge_atomic_enable,
+	.atomic_disable = adv7511_bridge_atomic_disable,
+	.atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state,
+	.atomic_destroy_state = drm_atomic_helper_bridge_destroy_state,
+	.atomic_reset = drm_atomic_helper_bridge_reset,
 };
 
 /* -----------------------------------------------------------------------------