diff options
author | Chen-Yu Tsai <wens@csie.org> | 2017-02-23 16:05:39 +0800 |
---|---|---|
committer | Maxime Ripard <maxime.ripard@free-electrons.com> | 2017-03-07 22:18:23 +0100 |
commit | a5154a4d01d7958788366894ceeddd9e1aab5b13 (patch) | |
tree | 323ec7be8f871d7658ad91c569f2a2378b61fbaa /drivers/gpu/drm/sun4i/sun4i_rgb.c | |
parent | dcd215801b0279f0a021516526cf7c0b67d5302e (diff) | |
download | op-kernel-dev-a5154a4d01d7958788366894ceeddd9e1aab5b13.zip op-kernel-dev-a5154a4d01d7958788366894ceeddd9e1aab5b13.tar.gz |
drm/sun4i: Drop hardcoded .possible_crtcs values from layers
To support multiple display pipelines, we would have multiple crtcs,
with one or more planes bound to them. Obviously having hardcoded
values for the drm_plane .possible_crtcs field is not going to work.
For primary and cursor planes, the value is set by
drm_crtc_init_with_planes. We just need to set it for overlay planes.
We also fix the value set for the RGB encoder, by referencing the
crtc set in sun4i_drv.
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Diffstat (limited to 'drivers/gpu/drm/sun4i/sun4i_rgb.c')
-rw-r--r-- | drivers/gpu/drm/sun4i/sun4i_rgb.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gpu/drm/sun4i/sun4i_rgb.c b/drivers/gpu/drm/sun4i/sun4i_rgb.c index 757208f..c4865bf 100644 --- a/drivers/gpu/drm/sun4i/sun4i_rgb.c +++ b/drivers/gpu/drm/sun4i/sun4i_rgb.c @@ -17,6 +17,7 @@ #include <drm/drm_crtc_helper.h> #include <drm/drm_panel.h> +#include "sun4i_crtc.h" #include "sun4i_drv.h" #include "sun4i_tcon.h" #include "sun4i_rgb.h" @@ -238,7 +239,7 @@ int sun4i_rgb_init(struct drm_device *drm) } /* The RGB encoder can only work with the TCON channel 0 */ - rgb->encoder.possible_crtcs = BIT(0); + rgb->encoder.possible_crtcs = BIT(drm_crtc_index(&tcon->crtc->crtc)); if (!IS_ERR(tcon->panel)) { drm_connector_helper_add(&rgb->connector, |