summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxime Ripard <mripard@kernel.org>2026-06-19 14:25:23 +0200
committerMaxime Ripard <mripard@kernel.org>2026-06-22 11:25:00 +0200
commitf126289a0e98b384060c0f332a5a7cf92f4acc2e (patch)
treede782295ea272e001cad01a1f8cf72fb65874818
parent80b6d00edcf17c8287e19740e1ab264f4a8f02f3 (diff)
drm/bridge: Remove atomic_reset support
There are no remaining users of the atomic_reset hook. Remove it from the core. Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de> Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Tested-by: Luca Ceresoli <luca.ceresoli@bootlin.com> # imx8mp + sn65dsi84 + bridge hotplug Link: https://patch.msgid.link/20260619-drm-no-more-bridge-reset-v3-78-ff399263111b@kernel.org Signed-off-by: Maxime Ripard <mripard@kernel.org>
-rw-r--r--drivers/gpu/drm/drm_atomic_state_helper.c5
-rw-r--r--drivers/gpu/drm/drm_bridge.c8
-rw-r--r--include/drm/drm_bridge.h30
3 files changed, 5 insertions, 38 deletions
diff --git a/drivers/gpu/drm/drm_atomic_state_helper.c b/drivers/gpu/drm/drm_atomic_state_helper.c
index fbdc3d893a0c..d90d1d7c9cf9 100644
--- a/drivers/gpu/drm/drm_atomic_state_helper.c
+++ b/drivers/gpu/drm/drm_atomic_state_helper.c
@@ -894,9 +894,8 @@ EXPORT_SYMBOL(drm_atomic_helper_bridge_destroy_state);
* @state is assumed to be zeroed.
*
* Initializes the bridge state to default values. This is meant to be called
- * by the bridge &drm_bridge_funcs.atomic_create_state or
- * &drm_bridge_funcs.atomic_reset hook for bridges that subclass the bridge
- * state.
+ * by the bridge &drm_bridge_funcs.atomic_create_state hook for bridges that
+ * subclass the bridge state.
*/
void __drm_atomic_helper_bridge_state_init(struct drm_bridge_state *state,
struct drm_bridge *bridge)
diff --git a/drivers/gpu/drm/drm_bridge.c b/drivers/gpu/drm/drm_bridge.c
index 776856e23592..6ead9b75ae3d 100644
--- a/drivers/gpu/drm/drm_bridge.c
+++ b/drivers/gpu/drm/drm_bridge.c
@@ -542,10 +542,7 @@ drm_bridge_atomic_create_priv_state(struct drm_private_obj *obj)
struct drm_bridge *bridge = drm_priv_to_bridge(obj);
struct drm_bridge_state *state;
- if (bridge->funcs->atomic_create_state)
- state = bridge->funcs->atomic_create_state(bridge);
- else
- state = bridge->funcs->atomic_reset(bridge);
+ state = bridge->funcs->atomic_create_state(bridge);
if (IS_ERR(state))
return ERR_CAST(state);
@@ -560,8 +557,7 @@ static const struct drm_private_state_funcs drm_bridge_priv_state_funcs = {
static bool drm_bridge_is_atomic(struct drm_bridge *bridge)
{
- return (bridge->funcs->atomic_create_state ||
- bridge->funcs->atomic_reset);
+ return bridge->funcs->atomic_create_state != NULL;
}
/**
diff --git a/include/drm/drm_bridge.h b/include/drm/drm_bridge.h
index 70e574fbf034..18f3db367dc1 100644
--- a/include/drm/drm_bridge.h
+++ b/include/drm/drm_bridge.h
@@ -504,33 +504,6 @@ struct drm_bridge_funcs {
struct drm_connector_state *conn_state);
/**
- * @atomic_reset:
- *
- * Reset the bridge to a predefined state (or retrieve its current
- * state) and return a &drm_bridge_state object matching this state.
- * This function is called at attach time.
- *
- * The atomic_reset hook is mandatory if the bridge implements any of
- * the atomic hooks, and should be left unassigned otherwise. For
- * bridges that don't subclass &drm_bridge_state, the
- * drm_atomic_helper_bridge_reset() helper function shall be used to
- * implement this hook.
- *
- * Note that the atomic_reset() semantics is not exactly matching the
- * reset() semantics found on other components (connector, plane, ...).
- *
- * 1. The reset operation happens when the bridge is attached, not when
- * drm_mode_config_reset() is called
- * 2. It's meant to be used exclusively on bridges that have been
- * converted to the ATOMIC API
- *
- * RETURNS:
- * A valid drm_bridge_state object in case of success, an ERR_PTR()
- * giving the reason of the failure otherwise.
- */
- struct drm_bridge_state *(*atomic_reset)(struct drm_bridge *bridge);
-
- /**
* @atomic_create_state:
*
* Allocate a pristine, initialized, state for the bridge
@@ -1391,8 +1364,7 @@ drm_bridge_get_current_state(struct drm_bridge *bridge)
* drm_atomic_private_obj_init(), so we need to make sure we're
* working with one before we try to use the lock.
*/
- if (!bridge->funcs ||
- !(bridge->funcs->atomic_reset || bridge->funcs->atomic_create_state))
+ if (!bridge->funcs || !bridge->funcs->atomic_create_state)
return NULL;
drm_modeset_lock_assert_held(&bridge->base.lock);