drm/i915: fix mask bits setting
authorZhenyu Wang <zhenyuw@linux.intel.com>
Tue, 8 Sep 2009 06:52:25 +0000 (14:52 +0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 8 Sep 2009 17:16:20 +0000 (10:16 -0700)
eDP is exclusive connector too, and add missing crtc_mask
setting for TV.

This fixes

http://bugzilla.kernel.org/show_bug.cgi?id=14139

Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
Reported-and-tested-by: Carlos R. Mafra <crmafra2@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/gpu/drm/i915/intel_dp.c
drivers/gpu/drm/i915/intel_drv.h
drivers/gpu/drm/i915/intel_tv.c

index f2afc4af4bc95499f9512aa7b9e7db6160f7e1bd..2b914d73207681b15fec693677fa2866d437b77f 100644 (file)
@@ -1263,7 +1263,7 @@ intel_dp_init(struct drm_device *dev, int output_reg)
 
        if (IS_eDP(intel_output)) {
                intel_output->crtc_mask = (1 << 1);
-               intel_output->clone_mask = (1 << INTEL_OUTPUT_EDP);
+               intel_output->clone_mask = (1 << INTEL_EDP_CLONE_BIT);
        } else
                intel_output->crtc_mask = (1 << 0) | (1 << 1);
        connector->interlace_allowed = true;
index 25aa6facc12d30655c8de7b2ad66fd76cff99319..26a6227c15fe7c0f20f9f93594ba93254b7b3301 100644 (file)
@@ -74,6 +74,7 @@
 #define INTEL_LVDS_CLONE_BIT 14
 #define INTEL_DVO_TMDS_CLONE_BIT 15
 #define INTEL_DVO_LVDS_CLONE_BIT 16
+#define INTEL_EDP_CLONE_BIT 17
 
 #define INTEL_DVO_CHIP_NONE 0
 #define INTEL_DVO_CHIP_LVDS 1
index 2fbe13a0de8113a4cf9486cd38595ef8fa1ee99c..5b1c9e9fdba04b89044b5131b00477c66b230c41 100644 (file)
@@ -1730,6 +1730,7 @@ intel_tv_init(struct drm_device *dev)
        drm_mode_connector_attach_encoder(&intel_output->base, &intel_output->enc);
        tv_priv = (struct intel_tv_priv *)(intel_output + 1);
        intel_output->type = INTEL_OUTPUT_TVOUT;
+       intel_output->crtc_mask = (1 << 0) | (1 << 1);
        intel_output->clone_mask = (1 << INTEL_TV_CLONE_BIT);
        intel_output->enc.possible_crtcs = ((1 << 0) | (1 << 1));
        intel_output->enc.possible_clones = (1 << INTEL_OUTPUT_TVOUT);