aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_dp_mst.c
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2017-07-04 11:18:22 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2017-07-06 04:00:33 -0400
commit666b7cdc69b03cb55266a14aa5874af0d27bfb0f (patch)
treee1b42493b22c6c2b8c1682e48cc718cefa2421b3 /drivers/gpu/drm/i915/intel_dp_mst.c
parentaf2405af07d168e2905f2ac9494d3a804a549f0f (diff)
drm/i915: Drop FBDEV #ifdev in mst code
Since commit a03fdcb1863297481a4b817c2a759cafcbdfa0ae Author: Archit Taneja <architt@codeaurora.org> Date: Wed Aug 5 12:28:57 2015 +0530 drm: Add top level Kconfig option for DRM fbdev emulation this is properly handled using dummy functions. This essentially undoes commit 7296c849bf2eca2bd7d34a4686a53e3089150ac1 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Tue Jul 22 20:10:28 2014 +1000 drm/i915: fix build without fbde v2: We also need to drop the #ifdef from headers. Seems like a small price to pay for slightly cleaner code. Cc: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/20170704151833.17304-3-daniel.vetter@ffwll.ch
Diffstat (limited to 'drivers/gpu/drm/i915/intel_dp_mst.c')
-rw-r--r--drivers/gpu/drm/i915/intel_dp_mst.c38
1 files changed, 10 insertions, 28 deletions
diff --git a/drivers/gpu/drm/i915/intel_dp_mst.c b/drivers/gpu/drm/i915/intel_dp_mst.c
index 9aa959284497..e4ea968b1d6b 100644
--- a/drivers/gpu/drm/i915/intel_dp_mst.c
+++ b/drivers/gpu/drm/i915/intel_dp_mst.c
@@ -443,28 +443,6 @@ static bool intel_dp_mst_get_hw_state(struct intel_connector *connector)
443 return false; 443 return false;
444} 444}
445 445
446static void intel_connector_add_to_fbdev(struct intel_connector *connector)
447{
448#ifdef CONFIG_DRM_FBDEV_EMULATION
449 struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
450
451 if (dev_priv->fbdev)
452 drm_fb_helper_add_one_connector(&dev_priv->fbdev->helper,
453 &connector->base);
454#endif
455}
456
457static void intel_connector_remove_from_fbdev(struct intel_connector *connector)
458{
459#ifdef CONFIG_DRM_FBDEV_EMULATION
460 struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
461
462 if (dev_priv->fbdev)
463 drm_fb_helper_remove_one_connector(&dev_priv->fbdev->helper,
464 &connector->base);
465#endif
466}
467
468static struct drm_connector *intel_dp_add_mst_connector(struct drm_dp_mst_topology_mgr *mgr, struct drm_dp_mst_port *port, const char *pathprop) 446static struct drm_connector *intel_dp_add_mst_connector(struct drm_dp_mst_topology_mgr *mgr, struct drm_dp_mst_port *port, const char *pathprop)
469{ 447{
470 struct intel_dp *intel_dp = container_of(mgr, struct intel_dp, mst_mgr); 448 struct intel_dp *intel_dp = container_of(mgr, struct intel_dp, mst_mgr);
@@ -500,28 +478,32 @@ static struct drm_connector *intel_dp_add_mst_connector(struct drm_dp_mst_topolo
500 478
501static void intel_dp_register_mst_connector(struct drm_connector *connector) 479static void intel_dp_register_mst_connector(struct drm_connector *connector)
502{ 480{
503 struct intel_connector *intel_connector = to_intel_connector(connector); 481 struct drm_i915_private *dev_priv = to_i915(connector->dev);
504 482
505 intel_connector_add_to_fbdev(intel_connector); 483 if (dev_priv->fbdev)
484 drm_fb_helper_add_one_connector(&dev_priv->fbdev->helper,
485 connector);
506 486
507 drm_connector_register(&intel_connector->base); 487 drm_connector_register(connector);
508} 488}
509 489
510static void intel_dp_destroy_mst_connector(struct drm_dp_mst_topology_mgr *mgr, 490static void intel_dp_destroy_mst_connector(struct drm_dp_mst_topology_mgr *mgr,
511 struct drm_connector *connector) 491 struct drm_connector *connector)
512{ 492{
513 struct intel_connector *intel_connector = to_intel_connector(connector); 493 struct intel_connector *intel_connector = to_intel_connector(connector);
494 struct drm_i915_private *dev_priv = to_i915(connector->dev);
514 495
515 drm_connector_unregister(connector); 496 drm_connector_unregister(connector);
516 497
517 /* need to nuke the connector */ 498 if (dev_priv->fbdev)
518 intel_connector_remove_from_fbdev(intel_connector); 499 drm_fb_helper_remove_one_connector(&dev_priv->fbdev->helper,
500 connector);
519 /* prevent race with the check in ->detect */ 501 /* prevent race with the check in ->detect */
520 drm_modeset_lock(&connector->dev->mode_config.connection_mutex, NULL); 502 drm_modeset_lock(&connector->dev->mode_config.connection_mutex, NULL);
521 intel_connector->mst_port = NULL; 503 intel_connector->mst_port = NULL;
522 drm_modeset_unlock(&connector->dev->mode_config.connection_mutex); 504 drm_modeset_unlock(&connector->dev->mode_config.connection_mutex);
523 505
524 drm_connector_unreference(&intel_connector->base); 506 drm_connector_unreference(connector);
525 DRM_DEBUG_KMS("\n"); 507 DRM_DEBUG_KMS("\n");
526} 508}
527 509