On Fri, Apr 17, 2015 at 07:31:21PM +0300, Imre Deak wrote: > In the next patch we'll need to get at both the encoder's intel_digital_port > object - which maybe NULL for a CRT - and it's port, so factor out this > functionality. > > No functional change. > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90067 > Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> -- Damien > --- > drivers/gpu/drm/i915/intel_ddi.c | 28 +++++++++++++++++++--------- > 1 file changed, 19 insertions(+), 9 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c > index 455d44b..903d395 100644 > --- a/drivers/gpu/drm/i915/intel_ddi.c > +++ b/drivers/gpu/drm/i915/intel_ddi.c > @@ -210,29 +210,39 @@ static const struct bxt_ddi_buf_trans bxt_ddi_translations_hdmi[] = { > { 154, 0x9A, 1, 128, true }, /* 9: 1200 0 */ > }; > > -enum port intel_ddi_get_encoder_port(struct intel_encoder *intel_encoder) > +static void ddi_get_encoder_port(struct intel_encoder *intel_encoder, > + struct intel_digital_port **dig_port, > + enum port *port) > { > struct drm_encoder *encoder = &intel_encoder->base; > int type = intel_encoder->type; > > if (type == INTEL_OUTPUT_DP_MST) { > - struct intel_digital_port *intel_dig_port = enc_to_mst(encoder)->primary; > - return intel_dig_port->port; > + *dig_port = enc_to_mst(encoder)->primary; > + *port = (*dig_port)->port; > } else if (type == INTEL_OUTPUT_DISPLAYPORT || type == INTEL_OUTPUT_EDP || > type == INTEL_OUTPUT_HDMI || type == INTEL_OUTPUT_UNKNOWN) { > - struct intel_digital_port *intel_dig_port = > - enc_to_dig_port(encoder); > - return intel_dig_port->port; > - > + *dig_port = enc_to_dig_port(encoder); > + *port = (*dig_port)->port; > } else if (type == INTEL_OUTPUT_ANALOG) { > - return PORT_E; > - > + *dig_port = NULL; > + *port = PORT_E; > } else { > DRM_ERROR("Invalid DDI encoder type %d\n", type); > BUG(); > } > } > > +enum port intel_ddi_get_encoder_port(struct intel_encoder *intel_encoder) > +{ > + struct intel_digital_port *dig_port; > + enum port port; > + > + ddi_get_encoder_port(intel_encoder, &dig_port, &port); > + > + return port; > +} > + > static bool > intel_dig_port_supports_hdmi(const struct intel_digital_port *intel_dig_port) > { > -- > 2.1.0 > _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx