Recent commits renamed other reset helpers to use the state_init
suffix when they only initialize properties rather than allocate or
update the object state itself.

drm_atomic_helper_connector_tv_margins_reset() falls in the same
category: it initializes the TV margin properties from the kernel
command line without allocating any state. It also reads the
connector state through connector->state, coupling it to the reset
path.

Rename it to drm_atomic_helper_connector_tv_margins_state_init() and
pass the connector state explicitly as a parameter. This decouples
it from the reset hook and prepares for the conversion to
atomic_create_state where connector->state is not yet assigned.

Signed-off-by: Maxime Ripard <[email protected]>
---
Cc: "Maíra Canal" <[email protected]>
Cc: Dave Stevenson <[email protected]>
Cc: Raspberry Pi Kernel Maintenance <[email protected]>
Cc: Ruben Wauters <[email protected]>
---
 drivers/gpu/drm/drm_atomic_state_helper.c | 14 ++++++++------
 drivers/gpu/drm/gud/gud_connector.c       |  3 ++-
 drivers/gpu/drm/vc4/vc4_hdmi.c            |  3 ++-
 include/drm/drm_atomic_state_helper.h     |  3 ++-
 4 files changed, 14 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/drm_atomic_state_helper.c 
b/drivers/gpu/drm/drm_atomic_state_helper.c
index 406157a3660f..6238066fd5d6 100644
--- a/drivers/gpu/drm/drm_atomic_state_helper.c
+++ b/drivers/gpu/drm/drm_atomic_state_helper.c
@@ -480,26 +480,27 @@ drm_atomic_helper_connector_create_state(struct 
drm_connector *connector)
        return state;
 }
 EXPORT_SYMBOL(drm_atomic_helper_connector_create_state);
 
 /**
- * drm_atomic_helper_connector_tv_margins_reset - Resets TV connector 
properties
+ * drm_atomic_helper_connector_tv_margins_state_init - Initializes TV 
connector properties
+ * @state: the DRM State object
  * @connector: DRM connector
  *
- * Resets the TV-related properties attached to a connector.
+ * Initializes the TV-related properties attached to a connector.
  */
-void drm_atomic_helper_connector_tv_margins_reset(struct drm_connector 
*connector)
+void drm_atomic_helper_connector_tv_margins_state_init(struct 
drm_connector_state *state,
+                                                      struct drm_connector 
*connector)
 {
        struct drm_cmdline_mode *cmdline = &connector->cmdline_mode;
-       struct drm_connector_state *state = connector->state;
 
        state->tv.margins.left = cmdline->tv_margins.left;
        state->tv.margins.right = cmdline->tv_margins.right;
        state->tv.margins.top = cmdline->tv_margins.top;
        state->tv.margins.bottom = cmdline->tv_margins.bottom;
 }
-EXPORT_SYMBOL(drm_atomic_helper_connector_tv_margins_reset);
+EXPORT_SYMBOL(drm_atomic_helper_connector_tv_margins_state_init);
 
 /**
  * drm_atomic_helper_connector_tv_reset - Resets Analog TV connector properties
  * @connector: DRM connector
  *
@@ -568,11 +569,12 @@ void drm_atomic_helper_connector_tv_reset(struct 
drm_connector *connector)
        if (prop)
                if (!drm_object_property_get_default_value(&connector->base,
                                                           prop, &val))
                        state->tv.hue = val;
 
-       drm_atomic_helper_connector_tv_margins_reset(connector);
+       drm_atomic_helper_connector_tv_margins_state_init(connector->state,
+                                                         connector);
 }
 EXPORT_SYMBOL(drm_atomic_helper_connector_tv_reset);
 
 /**
  * drm_atomic_helper_connector_tv_check - Validate an analog TV connector state
diff --git a/drivers/gpu/drm/gud/gud_connector.c 
b/drivers/gpu/drm/gud/gud_connector.c
index 8141c3a1e30a..a57f2565d33e 100644
--- a/drivers/gpu/drm/gud/gud_connector.c
+++ b/drivers/gpu/drm/gud/gud_connector.c
@@ -352,11 +352,12 @@ static void gud_connector_reset(struct drm_connector 
*connector)
        struct gud_connector *gconn = to_gud_connector(connector);
 
        drm_atomic_helper_connector_reset(connector);
        connector->state->tv = gconn->initial_tv_state;
        /* Set margins from command line */
-       drm_atomic_helper_connector_tv_margins_reset(connector);
+       drm_atomic_helper_connector_tv_margins_state_init(connector->state,
+                                                         connector);
        if (gconn->initial_brightness >= 0)
                connector->state->tv.brightness = gconn->initial_brightness;
 }
 
 static const struct drm_connector_funcs gud_connector_funcs = {
diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c
index 3a90dbb61f4e..cf84eff847d1 100644
--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
@@ -507,11 +507,12 @@ static int vc4_hdmi_connector_atomic_check(struct 
drm_connector *connector,
 
 static void vc4_hdmi_connector_reset(struct drm_connector *connector)
 {
        drm_atomic_helper_connector_reset(connector);
        __drm_atomic_helper_connector_hdmi_state_init(connector, 
connector->state);
-       drm_atomic_helper_connector_tv_margins_reset(connector);
+       drm_atomic_helper_connector_tv_margins_state_init(connector->state,
+                                                         connector);
 }
 
 static const struct drm_connector_funcs vc4_hdmi_connector_funcs = {
        .debugfs_init = drm_hdmi_connector_debugfs_init,
        .force = drm_atomic_helper_connector_hdmi_force,
diff --git a/include/drm/drm_atomic_state_helper.h 
b/include/drm/drm_atomic_state_helper.h
index 4706eeab52c1..4dac741af22c 100644
--- a/include/drm/drm_atomic_state_helper.h
+++ b/include/drm/drm_atomic_state_helper.h
@@ -72,11 +72,12 @@ void drm_atomic_helper_connector_reset(struct drm_connector 
*connector);
 struct drm_connector_state *
 drm_atomic_helper_connector_create_state(struct drm_connector *connector);
 void drm_atomic_helper_connector_tv_reset(struct drm_connector *connector);
 int drm_atomic_helper_connector_tv_check(struct drm_connector *connector,
                                         struct drm_atomic_commit *state);
-void drm_atomic_helper_connector_tv_margins_reset(struct drm_connector 
*connector);
+void drm_atomic_helper_connector_tv_margins_state_init(struct 
drm_connector_state *state,
+                                                      struct drm_connector 
*connector);
 void
 __drm_atomic_helper_connector_duplicate_state(struct drm_connector *connector,
                                           struct drm_connector_state *state);
 struct drm_connector_state *
 drm_atomic_helper_connector_duplicate_state(struct drm_connector *connector);

-- 
2.55.0

Reply via email to