drm/sun4i: tcon: Don't rely on encoders to set the TCON mode
Just like we did for the TCON enable and disable, for historical reasons we used to rely on the encoders calling the TCON mode_set function, while the CRTC has a callback for that. Let's implement it in order to reduce the boilerplate code. Reviewed-by: Chen-Yu Tsai <wens@csie.org> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> Link: https://patchwork.freedesktop.org/patch/msgid/faa3a4d511039af1d116270dfef3a8b60ca3591e.1508231063.git-series.maxime.ripard@free-electrons.com
Tento commit je obsažen v:
@@ -115,11 +115,21 @@ static void sun4i_crtc_atomic_enable(struct drm_crtc *crtc,
|
||||
sun4i_tcon_set_status(scrtc->tcon, encoder, true);
|
||||
}
|
||||
|
||||
static void sun4i_crtc_mode_set_nofb(struct drm_crtc *crtc)
|
||||
{
|
||||
struct drm_display_mode *mode = &crtc->state->adjusted_mode;
|
||||
struct drm_encoder *encoder = sun4i_crtc_get_encoder(crtc);
|
||||
struct sun4i_crtc *scrtc = drm_crtc_to_sun4i_crtc(crtc);
|
||||
|
||||
sun4i_tcon_mode_set(scrtc->tcon, encoder, mode);
|
||||
}
|
||||
|
||||
static const struct drm_crtc_helper_funcs sun4i_crtc_helper_funcs = {
|
||||
.atomic_begin = sun4i_crtc_atomic_begin,
|
||||
.atomic_flush = sun4i_crtc_atomic_flush,
|
||||
.atomic_enable = sun4i_crtc_atomic_enable,
|
||||
.atomic_disable = sun4i_crtc_atomic_disable,
|
||||
.mode_set_nofb = sun4i_crtc_mode_set_nofb,
|
||||
};
|
||||
|
||||
static int sun4i_crtc_enable_vblank(struct drm_crtc *crtc)
|
||||
|
Odkázat v novém úkolu
Zablokovat Uživatele