* [PATCH] drm/vc4: hdmi: Simplify the connector state retrieval
@ 2022-01-27 11:14 Maxime Ripard
2022-01-27 11:25 ` Thomas Zimmermann
2022-02-02 9:55 ` (subset) " Maxime Ripard
0 siblings, 2 replies; 3+ messages in thread
From: Maxime Ripard @ 2022-01-27 11:14 UTC (permalink / raw)
To: Daniel Vetter, David Airlie, Maarten Lankhorst,
Thomas Zimmermann, Maxime Ripard
Cc: Tim Gover, Dom Cobley, Phil Elwell, dri-devel, Dave Stevenson
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 <maxime@cerno.tech>
---
drivers/gpu/drm/vc4/vc4_hdmi.c | 21 +++------------------
1 file changed, 3 insertions(+), 18 deletions(-)
diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c
index 2c83252819e9..efffe21d2e73 100644
--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
@@ -1002,30 +1002,15 @@ static void vc4_hdmi_recenter_fifo(struct vc4_hdmi *vc4_hdmi)
"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;
--
2.34.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] drm/vc4: hdmi: Simplify the connector state retrieval
2022-01-27 11:14 [PATCH] drm/vc4: hdmi: Simplify the connector state retrieval Maxime Ripard
@ 2022-01-27 11:25 ` Thomas Zimmermann
2022-02-02 9:55 ` (subset) " Maxime Ripard
1 sibling, 0 replies; 3+ messages in thread
From: Thomas Zimmermann @ 2022-01-27 11:25 UTC (permalink / raw)
To: Maxime Ripard, Daniel Vetter, David Airlie, Maarten Lankhorst
Cc: Tim Gover, Dom Cobley, Phil Elwell, dri-devel, Dave Stevenson
[-- Attachment #1.1: Type: text/plain, Size: 2329 bytes --]
Am 27.01.22 um 12:14 schrieb Maxime Ripard:
> 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 <maxime@cerno.tech>
Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
> ---
> drivers/gpu/drm/vc4/vc4_hdmi.c | 21 +++------------------
> 1 file changed, 3 insertions(+), 18 deletions(-)
>
> diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c
> index 2c83252819e9..efffe21d2e73 100644
> --- a/drivers/gpu/drm/vc4/vc4_hdmi.c
> +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
> @@ -1002,30 +1002,15 @@ static void vc4_hdmi_recenter_fifo(struct vc4_hdmi *vc4_hdmi)
> "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;
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Ivo Totev
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 840 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: (subset) [PATCH] drm/vc4: hdmi: Simplify the connector state retrieval
2022-01-27 11:14 [PATCH] drm/vc4: hdmi: Simplify the connector state retrieval Maxime Ripard
2022-01-27 11:25 ` Thomas Zimmermann
@ 2022-02-02 9:55 ` Maxime Ripard
1 sibling, 0 replies; 3+ messages in thread
From: Maxime Ripard @ 2022-02-02 9:55 UTC (permalink / raw)
To: Maarten Lankhorst, Thomas Zimmermann, Maxime Ripard,
David Airlie, Daniel Vetter
Cc: Phil Elwell, Tim Gover, Dom Cobley, dri-devel, Dave Stevenson
On Thu, 27 Jan 2022 12:14:04 +0100, Maxime Ripard wrote:
> 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.
>
>
Applied to drm/drm-misc (drm-misc-next).
Thanks!
Maxime
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2022-02-02 9:56 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-27 11:14 [PATCH] drm/vc4: hdmi: Simplify the connector state retrieval Maxime Ripard
2022-01-27 11:25 ` Thomas Zimmermann
2022-02-02 9:55 ` (subset) " Maxime Ripard
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.