On Wed, Apr 09, 2014 at 01:28:51PM +0300, ville.syrjala@xxxxxxxxxxxxxxx wrote: > From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > On CHV pipe C can driver only port D, and pipes A and B can drivbe only > ports B and C. Configure the crtc_mask appropriately to reflect that. I'm impressed ;-) But well, hooray for the resurrection of arbitrary pipe limits. I'll crank up fixing the gen2/3 bug in igt_kms a few notches now since suddenly it's relevant again ... Cheers, Daniel > > Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > --- > drivers/gpu/drm/i915/intel_dp.c | 8 +++++++- > drivers/gpu/drm/i915/intel_hdmi.c | 8 +++++++- > 2 files changed, 14 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c > index 21ac845..6ae4d28 100644 > --- a/drivers/gpu/drm/i915/intel_dp.c > +++ b/drivers/gpu/drm/i915/intel_dp.c > @@ -4070,7 +4070,13 @@ intel_dp_init(struct drm_device *dev, int output_reg, enum port port) > intel_dig_port->dp.output_reg = output_reg; > > intel_encoder->type = INTEL_OUTPUT_DISPLAYPORT; > - intel_encoder->crtc_mask = (1 << 0) | (1 << 1) | (1 << 2); > + if (IS_CHERRYVIEW(dev)) { > + if (port == PORT_D) > + intel_encoder->crtc_mask = 1 << 2; > + else > + intel_encoder->crtc_mask = (1 << 0) | (1 << 1); > + } else > + intel_encoder->crtc_mask = (1 << 0) | (1 << 1) | (1 << 2); > intel_encoder->cloneable = 0; > intel_encoder->hot_plug = intel_dp_hot_plug; > > diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c > index 9f868f4..349374b 100644 > --- a/drivers/gpu/drm/i915/intel_hdmi.c > +++ b/drivers/gpu/drm/i915/intel_hdmi.c > @@ -1426,7 +1426,13 @@ void intel_hdmi_init(struct drm_device *dev, int hdmi_reg, enum port port) > } > > intel_encoder->type = INTEL_OUTPUT_HDMI; > - intel_encoder->crtc_mask = (1 << 0) | (1 << 1) | (1 << 2); > + if (IS_CHERRYVIEW(dev)) { > + if (port == PORT_D) > + intel_encoder->crtc_mask = 1 << 2; > + else > + intel_encoder->crtc_mask = (1 << 0) | (1 << 1); > + } else > + intel_encoder->crtc_mask = (1 << 0) | (1 << 1) | (1 << 2); > intel_encoder->cloneable = 1 << INTEL_OUTPUT_ANALOG; > /* > * BSpec is unclear about HDMI+HDMI cloning on g4x, but it seems > -- > 1.8.3.2 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx