On Fri, Jun 29, 2012 at 04:03:36PM -0300, Paulo Zanoni wrote: > From: Shobhit Kumar <shobhit.kumar at intel.com> > > Useful for Haswell, it has a lot of DP registers that have one > instance per port. > > Changes from Paulo: > - Completely change the commit message > - Rename "ddi_port" to "port" > > Signed-off-by: Shobhit Kumar <shobhit.kumar at intel.com> > Signed-off-by: Paulo Zanoni <paulo.r.zanoni at intel.com> > --- > drivers/gpu/drm/i915/intel_dp.c | 10 +++++++--- > drivers/gpu/drm/i915/intel_drv.h | 1 + > 2 files changed, 8 insertions(+), 3 deletions(-) > > I believe "port" is better than "ddi_port" since the "port" variable can be > used in the previous gens too... > > diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c > index be5c47e..a5aee26 100644 > --- a/drivers/gpu/drm/i915/intel_dp.c > +++ b/drivers/gpu/drm/i915/intel_dp.c > @@ -2477,12 +2477,16 @@ intel_dp_init(struct drm_device *dev, int output_reg) > > connector->polled = DRM_CONNECTOR_POLL_HPD; > > - if (output_reg == DP_B || output_reg == PCH_DP_B) > + if (output_reg == DP_B || output_reg == PCH_DP_B) { > intel_encoder->clone_mask = (1 << INTEL_DP_B_CLONE_BIT); > - else if (output_reg == DP_C || output_reg == PCH_DP_C) > + intel_dp->port = PORT_B; > + } else if (output_reg == DP_C || output_reg == PCH_DP_C) { > intel_encoder->clone_mask = (1 << INTEL_DP_C_CLONE_BIT); > - else if (output_reg == DP_D || output_reg == PCH_DP_D) > + intel_dp->port = PORT_C; > + } else if (output_reg == DP_D || output_reg == PCH_DP_D) { > intel_encoder->clone_mask = (1 << INTEL_DP_D_CLONE_BIT); > + intel_dp->port = PORT_D; > + } Imo we should pass in the port id into intel_dp_init, like I've done for intel_hdmi.c. That way we0d avoid this rather ugly loop. Also, this patch will conflict a bit with the cloning simplification from my modeset rework branch (patch 19). Can I volunteer you to review patches 19+20 from that series first, and then rebase this on top of these other patches? -Daniel > > if (is_edp(intel_dp)) { > intel_encoder->clone_mask = (1 << INTEL_EDP_CLONE_BIT); > diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h > index 48a0fcb..1145403 100644 > --- a/drivers/gpu/drm/i915/intel_drv.h > +++ b/drivers/gpu/drm/i915/intel_drv.h > @@ -316,6 +316,7 @@ struct intel_dp { > uint8_t link_configuration[DP_LINK_CONFIGURATION_SIZE]; > bool has_audio; > enum hdmi_force_audio force_audio; > + int port; > uint32_t color_range; > int dpms_mode; > uint8_t link_bw; > -- > 1.7.10.2 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx at lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Daniel Vetter Mail: daniel at ffwll.ch Mobile: +41 (0)79 365 57 48