summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGowtham Tammana <g-tammana@ti.com>2015-09-19 14:25:47 -0500
committerGowtham Tammana <g-tammana@ti.com>2015-09-19 14:36:09 -0500
commit21457d88843dc64fb08663eac86981dc783a180f (patch)
tree3d5499457f01aa201ff9ed636e267cbd8337954c
parentebd443d92598b34d710217160f52172004403536 (diff)
downloaddra7xx-21457d88843dc64fb08663eac86981dc783a180f.tar.gz
hwcomposer: setcrtc for each display
drm crtc and connector are only connected for the primary display. Making a connection for each drm display. Change-Id: Ib5301a370e5bedda07f3694ce657c78fa7d0201e Signed-off-by: Gowtham Tammana <g-tammana@ti.com>
-rw-r--r--hwcomposer/display.c5
-rw-r--r--hwcomposer/display.h1
2 files changed, 3 insertions, 3 deletions
diff --git a/hwcomposer/display.c b/hwcomposer/display.c
index 8ad4224..63a30c8 100644
--- a/hwcomposer/display.c
+++ b/hwcomposer/display.c
@@ -707,7 +707,6 @@ int update_display(omap_hwc_device_t *ctx, int disp,
uint32_t fb = 0;
kms_display_t *kdisp = &(ctx->displays[disp]->disp_link);
int i;
- static int is_crtc_set = false;
if (!kdisp->con)
return 0;
@@ -773,14 +772,14 @@ int update_display(omap_hwc_device_t *ctx, int disp,
* page flips on subsequent iterations.
* FIXME: Should we move this someplace else?
*/
- if (!is_crtc_set) {
+ if (!kdisp->is_crtc_set) {
ret = drmModeSetCrtc(ctx->drm_fd, kdisp->crtc_id, fb, 0, 0,
&kdisp->con->connector_id, 1, kdisp->mode);
if (ret) {
ALOGE("cannot set CRTC for connector %u (%d): %m\n", kdisp->con->connector_id, ret);
return ret;
}
- is_crtc_set = true;
+ kdisp->is_crtc_set = true;
} else {
ret = drmModePageFlip(ctx->drm_fd, kdisp->crtc_id, fb,
DRM_MODE_PAGE_FLIP_EVENT, ctx);
diff --git a/hwcomposer/display.h b/hwcomposer/display.h
index 04a6771..234f4d5 100644
--- a/hwcomposer/display.h
+++ b/hwcomposer/display.h
@@ -129,6 +129,7 @@ typedef struct kms_display {
drmModeConnectorPtr con;
drmModeEncoderPtr enc;
drmModeCrtcPtr crtc;
+ int is_crtc_set;
int crtc_id;
drmModeModeInfoPtr mode;
drmEventContext evctx;