Rev 6660 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 6660 | Rev 6937 | ||
---|---|---|---|
Line 171... | Line 171... | ||
171 | 171 | ||
172 | DRM_DEBUG_KMS("%d\n", intel_dp->active_mst_links); |
172 | DRM_DEBUG_KMS("%d\n", intel_dp->active_mst_links); |
Line 173... | Line 173... | ||
173 | intel_mst->port = found->port; |
173 | intel_mst->port = found->port; |
174 | 174 | ||
Line 175... | Line 175... | ||
175 | if (intel_dp->active_mst_links == 0) { |
175 | if (intel_dp->active_mst_links == 0) { |
Line 176... | Line -... | ||
176 | enum port port = intel_ddi_get_encoder_port(encoder); |
- | |
177 | - | ||
178 | intel_dp_set_link_params(intel_dp, intel_crtc->config); |
- | |
179 | - | ||
180 | /* FIXME: add support for SKL */ |
- | |
181 | if (INTEL_INFO(dev)->gen < 9) |
176 | intel_ddi_clk_select(&intel_dig_port->base, intel_crtc->config); |
Line 182... | Line 177... | ||
182 | I915_WRITE(PORT_CLK_SEL(port), |
177 | |
Line 183... | Line -... | ||
183 | intel_crtc->config->ddi_pll_sel); |
- | |
184 | 178 | intel_dp_set_link_params(intel_dp, intel_crtc->config); |
|
185 | intel_ddi_init_dp_buf_reg(&intel_dig_port->base); |
179 | |
186 | 180 | intel_ddi_init_dp_buf_reg(&intel_dig_port->base); |
|
Line 187... | Line 181... | ||
187 | intel_dp_sink_dpms(intel_dp, DRM_MODE_DPMS_ON); |
181 | |
Line 412... | Line 406... | ||
412 | 406 | ||
413 | static void intel_connector_add_to_fbdev(struct intel_connector *connector) |
407 | static void intel_connector_add_to_fbdev(struct intel_connector *connector) |
414 | { |
408 | { |
415 | #ifdef CONFIG_DRM_FBDEV_EMULATION |
409 | #ifdef CONFIG_DRM_FBDEV_EMULATION |
- | 410 | struct drm_i915_private *dev_priv = to_i915(connector->base.dev); |
|
- | 411 | ||
416 | struct drm_i915_private *dev_priv = to_i915(connector->base.dev); |
412 | if (dev_priv->fbdev) |
- | 413 | drm_fb_helper_add_one_connector(&dev_priv->fbdev->helper, |
|
417 | drm_fb_helper_add_one_connector(&dev_priv->fbdev->helper, &connector->base); |
414 | &connector->base); |
418 | #endif |
415 | #endif |
Line 419... | Line 416... | ||
419 | } |
416 | } |
420 | 417 | ||
421 | static void intel_connector_remove_from_fbdev(struct intel_connector *connector) |
418 | static void intel_connector_remove_from_fbdev(struct intel_connector *connector) |
422 | { |
419 | { |
- | 420 | #ifdef CONFIG_DRM_FBDEV_EMULATION |
|
- | 421 | struct drm_i915_private *dev_priv = to_i915(connector->base.dev); |
|
423 | #ifdef CONFIG_DRM_FBDEV_EMULATION |
422 | |
- | 423 | if (dev_priv->fbdev) |
|
424 | struct drm_i915_private *dev_priv = to_i915(connector->base.dev); |
424 | drm_fb_helper_remove_one_connector(&dev_priv->fbdev->helper, |
425 | drm_fb_helper_remove_one_connector(&dev_priv->fbdev->helper, &connector->base); |
425 | &connector->base); |
Line 426... | Line 426... | ||
426 | #endif |
426 | #endif |
427 | } |
427 | } |
Line 508... | Line 508... | ||
508 | struct drm_device *dev = intel_dig_port->base.base.dev; |
508 | struct drm_device *dev = intel_dig_port->base.base.dev; |
Line 509... | Line 509... | ||
509 | 509 | ||
510 | drm_kms_helper_hotplug_event(dev); |
510 | drm_kms_helper_hotplug_event(dev); |
Line 511... | Line 511... | ||
511 | } |
511 | } |
512 | 512 | ||
513 | static struct drm_dp_mst_topology_cbs mst_cbs = { |
513 | static const struct drm_dp_mst_topology_cbs mst_cbs = { |
514 | .add_connector = intel_dp_add_mst_connector, |
514 | .add_connector = intel_dp_add_mst_connector, |
515 | .register_connector = intel_dp_register_mst_connector, |
515 | .register_connector = intel_dp_register_mst_connector, |
516 | .destroy_connector = intel_dp_destroy_mst_connector, |
516 | .destroy_connector = intel_dp_destroy_mst_connector, |
Line 532... | Line 532... | ||
532 | intel_mst->pipe = pipe; |
532 | intel_mst->pipe = pipe; |
533 | intel_encoder = &intel_mst->base; |
533 | intel_encoder = &intel_mst->base; |
534 | intel_mst->primary = intel_dig_port; |
534 | intel_mst->primary = intel_dig_port; |
Line 535... | Line 535... | ||
535 | 535 | ||
536 | drm_encoder_init(dev, &intel_encoder->base, &intel_dp_mst_enc_funcs, |
536 | drm_encoder_init(dev, &intel_encoder->base, &intel_dp_mst_enc_funcs, |
Line 537... | Line 537... | ||
537 | DRM_MODE_ENCODER_DPMST); |
537 | DRM_MODE_ENCODER_DPMST, NULL); |
538 | 538 | ||
539 | intel_encoder->type = INTEL_OUTPUT_DP_MST; |
539 | intel_encoder->type = INTEL_OUTPUT_DP_MST; |