drm/i915: Simplify intel_ddi_get_encoder_port()
We no longer have any need to look up the intel_digital_port based on the passed in intel_encoder, but we still want to look up the port. Let's just move that logic into intel_ddi_get_encoder_port() and drop the dig_port stuff. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: http://patchwork.freedesktop.org/patch/msgid/1468328376-6380-9-git-send-email-ville.syrjala@linux.intel.com
This commit is contained in:
parent
1edaaa2f25
commit
5a5d24dca4
|
@ -301,44 +301,24 @@ static const struct bxt_ddi_buf_trans bxt_ddi_translations_hdmi[] = {
|
||||||
{ 154, 0x9A, 1, 128, true }, /* 9: 1200 0 */
|
{ 154, 0x9A, 1, 128, true }, /* 9: 1200 0 */
|
||||||
};
|
};
|
||||||
|
|
||||||
static void ddi_get_encoder_port(struct intel_encoder *intel_encoder,
|
enum port intel_ddi_get_encoder_port(struct intel_encoder *encoder)
|
||||||
struct intel_digital_port **dig_port,
|
|
||||||
enum port *port)
|
|
||||||
{
|
{
|
||||||
struct drm_encoder *encoder = &intel_encoder->base;
|
switch (encoder->type) {
|
||||||
|
|
||||||
switch (intel_encoder->type) {
|
|
||||||
case INTEL_OUTPUT_DP_MST:
|
case INTEL_OUTPUT_DP_MST:
|
||||||
*dig_port = enc_to_mst(encoder)->primary;
|
return enc_to_mst(&encoder->base)->primary->port;
|
||||||
*port = (*dig_port)->port;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
WARN(1, "Invalid DDI encoder type %d\n", intel_encoder->type);
|
|
||||||
/* fallthrough and treat as unknown */
|
|
||||||
case INTEL_OUTPUT_DP:
|
case INTEL_OUTPUT_DP:
|
||||||
case INTEL_OUTPUT_EDP:
|
case INTEL_OUTPUT_EDP:
|
||||||
case INTEL_OUTPUT_HDMI:
|
case INTEL_OUTPUT_HDMI:
|
||||||
case INTEL_OUTPUT_UNKNOWN:
|
case INTEL_OUTPUT_UNKNOWN:
|
||||||
*dig_port = enc_to_dig_port(encoder);
|
return enc_to_dig_port(&encoder->base)->port;
|
||||||
*port = (*dig_port)->port;
|
|
||||||
break;
|
|
||||||
case INTEL_OUTPUT_ANALOG:
|
case INTEL_OUTPUT_ANALOG:
|
||||||
*dig_port = NULL;
|
return PORT_E;
|
||||||
*port = PORT_E;
|
default:
|
||||||
break;
|
MISSING_CASE(encoder->type);
|
||||||
|
return PORT_A;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
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 const struct ddi_buf_trans *
|
static const struct ddi_buf_trans *
|
||||||
skl_get_buf_trans_dp(struct drm_i915_private *dev_priv, int *n_entries)
|
skl_get_buf_trans_dp(struct drm_i915_private *dev_priv, int *n_entries)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue