drm_object_attach_property(&crtc->base, prop, 0);
 }
 
-int exynos_drm_crtc_create(struct exynos_drm_manager *manager)
+int exynos_drm_crtc_create(struct exynos_drm_manager *manager, int pipe)
 {
        struct exynos_drm_crtc *exynos_crtc;
        struct drm_plane *plane;
 
        exynos_crtc->dpms = DRM_MODE_DPMS_OFF;
        exynos_crtc->manager = manager;
-       exynos_crtc->pipe = manager->pipe;
-       plane = exynos_plane_init(manager->drm_dev, 1 << manager->pipe,
+       exynos_crtc->pipe = pipe;
+       plane = exynos_plane_init(manager->drm_dev, 1 << pipe,
                                  DRM_PLANE_TYPE_PRIMARY);
        if (IS_ERR(plane)) {
                ret = PTR_ERR(plane);
        manager->crtc = &exynos_crtc->base;
        crtc = &exynos_crtc->base;
 
-       private->crtc[manager->pipe] = crtc;
+       private->crtc[pipe] = crtc;
 
        ret = drm_crtc_init_with_planes(manager->drm_dev, crtc, plane, NULL,
                                        &exynos_crtc_funcs);
 
 
 #include "exynos_drm_drv.h"
 
-int exynos_drm_crtc_create(struct exynos_drm_manager *manager);
+int exynos_drm_crtc_create(struct exynos_drm_manager *manager, int pipe);
 int exynos_drm_crtc_enable_vblank(struct drm_device *dev, int pipe);
 void exynos_drm_crtc_disable_vblank(struct drm_device *dev, int pipe);
 void exynos_drm_crtc_finish_pageflip(struct drm_device *dev, int pipe);
 
        struct drm_device *drm_dev = data;
 
        fimd_mgr_initialize(&ctx->manager, drm_dev);
-       exynos_drm_crtc_create(&ctx->manager);
+       exynos_drm_crtc_create(&ctx->manager, ctx->pipe);
        if (ctx->display)
                exynos_drm_create_enc_conn(drm_dev, ctx->display);
 
 
 
        vidi_mgr_initialize(&ctx->manager, drm_dev);
 
-       ret = exynos_drm_crtc_create(&ctx->manager);
+       ret = exynos_drm_crtc_create(&ctx->manager, ctx->pipe);
        if (ret) {
                DRM_ERROR("failed to create crtc.\n");
                return ret;