return true;
}
+void intel_ddi_set_pipe_settings(struct drm_crtc *crtc)
+{
+ struct drm_i915_private *dev_priv = crtc->dev->dev_private;
+ struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
+ struct intel_encoder *intel_encoder = intel_ddi_get_crtc_encoder(crtc);
+ enum pipe pipe = intel_crtc->pipe;
+ int type = intel_encoder->type;
+ uint32_t temp;
+
+ if (type == INTEL_OUTPUT_DISPLAYPORT || type == INTEL_OUTPUT_EDP) {
+
+ temp = PIPE_MSA_SYNC_CLK;
+ switch (intel_crtc->bpp) {
+ case 18:
+ temp |= PIPE_MSA_6_BPC;
+ break;
+ case 24:
+ temp |= PIPE_MSA_8_BPC;
+ break;
+ case 30:
+ temp |= PIPE_MSA_10_BPC;
+ break;
+ case 36:
+ temp |= PIPE_MSA_12_BPC;
+ break;
+ default:
+ temp |= PIPE_MSA_8_BPC;
+ WARN(1, "%d bpp unsupported by pipe DDI function\n",
+ intel_crtc->bpp);
+ }
+ I915_WRITE(PIPE_MSA_MISC(pipe), temp);
+ }
+}
+
void intel_ddi_enable_pipe_func(struct drm_crtc *crtc)
{
struct intel_crtc *intel_crtc = to_intel_crtc(crtc);