drm/sun4i: tcon: Don't rely on encoders to enable the TCON
authorMaxime Ripard <maxime.ripard@free-electrons.com>
Tue, 17 Oct 2017 09:06:12 +0000 (11:06 +0200)
committerMaxime Ripard <maxime.ripard@free-electrons.com>
Tue, 17 Oct 2017 17:49:13 +0000 (19:49 +0200)
commit45e88f994add84d8cd3864d36064ea1ed1b08cdf
tree07b6fabc682b762f4ac5ecb5473cc39209f24a3b
parent961c645cf00c8be82b05ad10068179a86fdbc181
drm/sun4i: tcon: Don't rely on encoders to enable the TCON

So far, we've required all the TCON-connected encoders to call the TCON
enable and disable functions.

This was made this way because in the RGB/LVDS case, the TCON is the CRTC
and the encoder. However, in all the other cases (HDMI, TV, DSI, etc.), we
have another encoder down the road that needs to be programmed.

We also needed to know which channel the encoder is connected to, which is
encoder-specific.

The CRTC's enable and disable callbacks can work just fine for our use
case, and we can get the channel to use just by looking at the type of
encoder, since that is fixed. Implement those callbacks, which will
remove some of the encoder boilerplate.

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/90b4396e19b3eca61b2ebfdae0672074b88ad74d.1508231063.git-series.maxime.ripard@free-electrons.com
drivers/gpu/drm/sun4i/sun4i_crtc.c
drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c
drivers/gpu/drm/sun4i/sun4i_rgb.c
drivers/gpu/drm/sun4i/sun4i_tcon.c
drivers/gpu/drm/sun4i/sun4i_tcon.h
drivers/gpu/drm/sun4i/sun4i_tv.c