aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/i915/intel_ddi.c47
1 files changed, 24 insertions, 23 deletions
diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
index 28c25cb9eb2c..c23d55c3344c 100644
--- a/drivers/gpu/drm/i915/intel_ddi.c
+++ b/drivers/gpu/drm/i915/intel_ddi.c
@@ -1504,33 +1504,34 @@ void intel_ddi_set_pipe_settings(const struct intel_crtc_state *crtc_state)
1504{ 1504{
1505 struct intel_crtc *crtc = to_intel_crtc(crtc_state->base.crtc); 1505 struct intel_crtc *crtc = to_intel_crtc(crtc_state->base.crtc);
1506 struct drm_i915_private *dev_priv = to_i915(crtc->base.dev); 1506 struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
1507 struct intel_encoder *encoder = intel_ddi_get_crtc_encoder(crtc);
1508 enum transcoder cpu_transcoder = crtc_state->cpu_transcoder; 1507 enum transcoder cpu_transcoder = crtc_state->cpu_transcoder;
1509 int type = encoder->type; 1508 u32 temp;
1510 uint32_t temp;
1511 1509
1512 if (type == INTEL_OUTPUT_DP || type == INTEL_OUTPUT_EDP || type == INTEL_OUTPUT_DP_MST) { 1510 if (!intel_crtc_has_dp_encoder(crtc_state))
1513 WARN_ON(transcoder_is_dsi(cpu_transcoder)); 1511 return;
1514 1512
1515 temp = TRANS_MSA_SYNC_CLK; 1513 WARN_ON(transcoder_is_dsi(cpu_transcoder));
1516 switch (crtc_state->pipe_bpp) { 1514
1517 case 18: 1515 temp = TRANS_MSA_SYNC_CLK;
1518 temp |= TRANS_MSA_6_BPC; 1516 switch (crtc_state->pipe_bpp) {
1519 break; 1517 case 18:
1520 case 24: 1518 temp |= TRANS_MSA_6_BPC;
1521 temp |= TRANS_MSA_8_BPC; 1519 break;
1522 break; 1520 case 24:
1523 case 30: 1521 temp |= TRANS_MSA_8_BPC;
1524 temp |= TRANS_MSA_10_BPC; 1522 break;
1525 break; 1523 case 30:
1526 case 36: 1524 temp |= TRANS_MSA_10_BPC;
1527 temp |= TRANS_MSA_12_BPC; 1525 break;
1528 break; 1526 case 36:
1529 default: 1527 temp |= TRANS_MSA_12_BPC;
1530 BUG(); 1528 break;
1531 } 1529 default:
1532 I915_WRITE(TRANS_MSA_MISC(cpu_transcoder), temp); 1530 MISSING_CASE(crtc_state->pipe_bpp);
1531 break;
1533 } 1532 }
1533
1534 I915_WRITE(TRANS_MSA_MISC(cpu_transcoder), temp);
1534} 1535}
1535 1536
1536void intel_ddi_set_vc_payload_alloc(const struct intel_crtc_state *crtc_state, 1537void intel_ddi_set_vc_payload_alloc(const struct intel_crtc_state *crtc_state,