summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/sun4i/sun4i_rgb.c
diff options
context:
space:
mode:
authorChen-Yu Tsai <wens@csie.org>2017-02-23 16:05:39 +0800
committerMaxime Ripard <maxime.ripard@free-electrons.com>2017-03-07 22:18:23 +0100
commita5154a4d01d7958788366894ceeddd9e1aab5b13 (patch)
tree323ec7be8f871d7658ad91c569f2a2378b61fbaa /drivers/gpu/drm/sun4i/sun4i_rgb.c
parentdcd215801b0279f0a021516526cf7c0b67d5302e (diff)
downloadop-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.c3
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,
OpenPOWER on IntegriCloud