Message ID | 1365629315-21878-1-git-send-email-daniel.vetter@ffwll.ch (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Wed, Apr 10, 2013 at 11:28:35PM +0200, Daniel Vetter wrote: > dp_init_connector adjusts the encoder type if it is a eDP panel. Use > that to decide whether we should set up a hdmi connector or not. > > To do so reorder the hdmi connector setup sequence in ddi_init a bit. > > Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Does what it says on the tin and works as advertised on my deskop hsw machine with edp on port D. Can someone please review? Thanks, Daniel
On Sat, May 04, 2013 at 11:45:33AM +0200, Daniel Vetter wrote: > On Wed, Apr 10, 2013 at 11:28:35PM +0200, Daniel Vetter wrote: > > dp_init_connector adjusts the encoder type if it is a eDP panel. Use > > that to decide whether we should set up a hdmi connector or not. > > > > To do so reorder the hdmi connector setup sequence in ddi_init a bit. > > > > Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> > > Does what it says on the tin and works as advertised on my deskop hsw > machine with edp on port D. Can someone please review? Looks all right to me. Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
On Mon, May 06, 2013 at 11:31:57AM +0300, Ville Syrjälä wrote: > On Sat, May 04, 2013 at 11:45:33AM +0200, Daniel Vetter wrote: > > On Wed, Apr 10, 2013 at 11:28:35PM +0200, Daniel Vetter wrote: > > > dp_init_connector adjusts the encoder type if it is a eDP panel. Use > > > that to decide whether we should set up a hdmi connector or not. > > > > > > To do so reorder the hdmi connector setup sequence in ddi_init a bit. > > > > > > Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> > > > > Does what it says on the tin and works as advertised on my deskop hsw > > machine with edp on port D. Can someone please review? > > Looks all right to me. > > Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Queued for -next, thanks for the review. -Daniel
diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c index 22524cb..649bb81 100644 --- a/drivers/gpu/drm/i915/intel_ddi.c +++ b/drivers/gpu/drm/i915/intel_ddi.c @@ -1513,16 +1513,6 @@ void intel_ddi_init(struct drm_device *dev, enum port port) return; } - if (port != PORT_A) { - hdmi_connector = kzalloc(sizeof(struct intel_connector), - GFP_KERNEL); - if (!hdmi_connector) { - kfree(dp_connector); - kfree(intel_dig_port); - return; - } - } - intel_encoder = &intel_dig_port->base; encoder = &intel_encoder->base; @@ -1540,8 +1530,6 @@ void intel_ddi_init(struct drm_device *dev, enum port port) intel_dig_port->port = port; intel_dig_port->port_reversal = I915_READ(DDI_BUF_CTL(port)) & DDI_BUF_PORT_REVERSAL; - if (hdmi_connector) - intel_dig_port->hdmi.hdmi_reg = DDI_BUF_CTL(port); intel_dig_port->dp.output_reg = DDI_BUF_CTL(port); intel_encoder->type = INTEL_OUTPUT_UNKNOWN; @@ -1549,7 +1537,16 @@ void intel_ddi_init(struct drm_device *dev, enum port port) intel_encoder->cloneable = false; intel_encoder->hot_plug = intel_ddi_hot_plug; - if (hdmi_connector) - intel_hdmi_init_connector(intel_dig_port, hdmi_connector); intel_dp_init_connector(intel_dig_port, dp_connector); + + if (intel_encoder->type != INTEL_OUTPUT_EDP) { + hdmi_connector = kzalloc(sizeof(struct intel_connector), + GFP_KERNEL); + if (!hdmi_connector) { + return; + } + + intel_dig_port->hdmi.hdmi_reg = DDI_BUF_CTL(port); + intel_hdmi_init_connector(intel_dig_port, hdmi_connector); + } }
dp_init_connector adjusts the encoder type if it is a eDP panel. Use that to decide whether we should set up a hdmi connector or not. To do so reorder the hdmi connector setup sequence in ddi_init a bit. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/i915/intel_ddi.c | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-)