123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- From fbd09981ff7ecefd9514325bdbfa2b4df4b4f017 Mon Sep 17 00:00:00 2001
- From: Maxime Ripard <[email protected]>
- Date: Wed, 27 Oct 2021 14:38:50 +0100
- Subject: [PATCH] drm/vc4: hdmi: Simplify the connector state retrieval
- When we have the entire DRM state, retrieving the connector state only
- requires the drm_connector pointer. Fortunately for us, we have
- allocated it as a part of the vc4_hdmi structure, so we can retrieve get
- a pointer by simply accessing our field in that structure.
- Signed-off-by: Maxime Ripard <[email protected]>
- ---
- drivers/gpu/drm/vc4/vc4_hdmi.c | 21 +++------------------
- 1 file changed, 3 insertions(+), 18 deletions(-)
- --- a/drivers/gpu/drm/vc4/vc4_hdmi.c
- +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
- @@ -1012,30 +1012,15 @@ static void vc4_hdmi_recenter_fifo(struc
- "VC4_HDMI_FIFO_CTL_RECENTER_DONE");
- }
-
- -static struct drm_connector_state *
- -vc4_hdmi_encoder_get_connector_state(struct drm_encoder *encoder,
- - struct drm_atomic_state *state)
- -{
- - struct drm_connector_state *conn_state;
- - struct drm_connector *connector;
- - unsigned int i;
- -
- - for_each_new_connector_in_state(state, connector, conn_state, i) {
- - if (conn_state->best_encoder == encoder)
- - return conn_state;
- - }
- -
- - return NULL;
- -}
- -
- static void vc4_hdmi_encoder_pre_crtc_configure(struct drm_encoder *encoder,
- struct drm_atomic_state *state)
- {
- + struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder);
- + struct drm_connector *connector = &vc4_hdmi->connector;
- struct drm_connector_state *conn_state =
- - vc4_hdmi_encoder_get_connector_state(encoder, state);
- + drm_atomic_get_new_connector_state(state, connector);
- struct vc4_hdmi_connector_state *vc4_conn_state =
- conn_state_to_vc4_hdmi_conn_state(conn_state);
- - struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder);
- struct drm_display_mode *mode = &vc4_hdmi->saved_adjusted_mode;
- unsigned long pixel_rate = vc4_conn_state->pixel_rate;
- unsigned long bvb_rate, hsm_rate;
|