Message ID | 20240222-kms-hdmi-connector-state-v7-32-8f4af575fce2@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/connector: Create HDMI Connector infrastructure | expand |
Dne četrtek, 22. februar 2024 ob 19:14:18 CET je Maxime Ripard napisal(a): > The sun4i_hdmi driver still uses the non-atomic variants of the encoder > hooks, so let's convert to their atomic equivalents. > > Acked-by: Sui Jingfeng <sui.jingfeng@linux.dev> > Signed-off-by: Maxime Ripard <mripard@kernel.org> Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com> Best regards, Jernej > --- > drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c | 17 ++++++++++------- > 1 file changed, 10 insertions(+), 7 deletions(-) > > diff --git a/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c b/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c > index 152375f3de2e..799a26215cc2 100644 > --- a/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c > +++ b/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c > @@ -82,7 +82,8 @@ static int sun4i_hdmi_atomic_check(struct drm_encoder *encoder, > return 0; > } > > -static void sun4i_hdmi_disable(struct drm_encoder *encoder) > +static void sun4i_hdmi_disable(struct drm_encoder *encoder, > + struct drm_atomic_state *state) > { > struct sun4i_hdmi *hdmi = drm_encoder_to_sun4i_hdmi(encoder); > u32 val; > @@ -96,7 +97,8 @@ static void sun4i_hdmi_disable(struct drm_encoder *encoder) > clk_disable_unprepare(hdmi->tmds_clk); > } > > -static void sun4i_hdmi_enable(struct drm_encoder *encoder) > +static void sun4i_hdmi_enable(struct drm_encoder *encoder, > + struct drm_atomic_state *state) > { > struct drm_display_mode *mode = &encoder->crtc->state->adjusted_mode; > struct sun4i_hdmi *hdmi = drm_encoder_to_sun4i_hdmi(encoder); > @@ -120,9 +122,10 @@ static void sun4i_hdmi_enable(struct drm_encoder *encoder) > } > > static void sun4i_hdmi_mode_set(struct drm_encoder *encoder, > - struct drm_display_mode *mode, > - struct drm_display_mode *adjusted_mode) > + struct drm_crtc_state *crtc_state, > + struct drm_connector_state *conn_state) > { > + const struct drm_display_mode *mode = &crtc_state->mode; > struct sun4i_hdmi *hdmi = drm_encoder_to_sun4i_hdmi(encoder); > unsigned int x, y; > u32 val; > @@ -201,9 +204,9 @@ static enum drm_mode_status sun4i_hdmi_mode_valid(struct drm_encoder *encoder, > > static const struct drm_encoder_helper_funcs sun4i_hdmi_helper_funcs = { > .atomic_check = sun4i_hdmi_atomic_check, > - .disable = sun4i_hdmi_disable, > - .enable = sun4i_hdmi_enable, > - .mode_set = sun4i_hdmi_mode_set, > + .atomic_disable = sun4i_hdmi_disable, > + .atomic_enable = sun4i_hdmi_enable, > + .atomic_mode_set = sun4i_hdmi_mode_set, > .mode_valid = sun4i_hdmi_mode_valid, > }; > > >
On Thu, 22 Feb 2024 19:14:18 +0100, Maxime Ripard wrote: > The sun4i_hdmi driver still uses the non-atomic variants of the encoder > hooks, so let's convert to their atomic equivalents. > > Applied to drm/drm-misc (drm-misc-next). Thanks! Maxime
diff --git a/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c b/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c index 152375f3de2e..799a26215cc2 100644 --- a/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c +++ b/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c @@ -82,7 +82,8 @@ static int sun4i_hdmi_atomic_check(struct drm_encoder *encoder, return 0; } -static void sun4i_hdmi_disable(struct drm_encoder *encoder) +static void sun4i_hdmi_disable(struct drm_encoder *encoder, + struct drm_atomic_state *state) { struct sun4i_hdmi *hdmi = drm_encoder_to_sun4i_hdmi(encoder); u32 val; @@ -96,7 +97,8 @@ static void sun4i_hdmi_disable(struct drm_encoder *encoder) clk_disable_unprepare(hdmi->tmds_clk); } -static void sun4i_hdmi_enable(struct drm_encoder *encoder) +static void sun4i_hdmi_enable(struct drm_encoder *encoder, + struct drm_atomic_state *state) { struct drm_display_mode *mode = &encoder->crtc->state->adjusted_mode; struct sun4i_hdmi *hdmi = drm_encoder_to_sun4i_hdmi(encoder); @@ -120,9 +122,10 @@ static void sun4i_hdmi_enable(struct drm_encoder *encoder) } static void sun4i_hdmi_mode_set(struct drm_encoder *encoder, - struct drm_display_mode *mode, - struct drm_display_mode *adjusted_mode) + struct drm_crtc_state *crtc_state, + struct drm_connector_state *conn_state) { + const struct drm_display_mode *mode = &crtc_state->mode; struct sun4i_hdmi *hdmi = drm_encoder_to_sun4i_hdmi(encoder); unsigned int x, y; u32 val; @@ -201,9 +204,9 @@ static enum drm_mode_status sun4i_hdmi_mode_valid(struct drm_encoder *encoder, static const struct drm_encoder_helper_funcs sun4i_hdmi_helper_funcs = { .atomic_check = sun4i_hdmi_atomic_check, - .disable = sun4i_hdmi_disable, - .enable = sun4i_hdmi_enable, - .mode_set = sun4i_hdmi_mode_set, + .atomic_disable = sun4i_hdmi_disable, + .atomic_enable = sun4i_hdmi_enable, + .atomic_mode_set = sun4i_hdmi_mode_set, .mode_valid = sun4i_hdmi_mode_valid, };