[Bug 101461] [SKL] Unplugging the HDMI/DP/mDP cable from dock will not automically resize framebuffer

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Mon Jul 31 17:01:07 UTC 2017


https://bugs.freedesktop.org/show_bug.cgi?id=101461

Dhinakaran Pandiyan <dhinakaran.pandiyan at intel.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ethan.hsieh at canonical.com

--- Comment #14 from Dhinakaran Pandiyan <dhinakaran.pandiyan at intel.com> ---
(In reply to Ethan Hsieh from comment #10)
> Created attachment 132079 [details]
> kern.log
> 
> When I unplugged the cable, the status of DP-4 was still "connected".
> That is why the framebuffer is not resized automatically.
> 
> Here is the log:
> [313.665321] [drm:intel_get_hpd_pins [i915]] hotplug event received, stat
> 0x00200000, dig 0x10101012, pins 0x00000020
> [313.665383] [drm:intel_hpd_irq_handler [i915]] digital hpd port B - long
> [313.665436] [drm:intel_hpd_irq_handler [i915]] Received HPD interrupt on
> PIN 5 - cnt: 0 
> [313.665539] [drm:intel_dp_hpd_pulse [i915]] got hpd irq on port B - long
> [313.944743] [drm:intel_dp_destroy_mst_connector [i915]]
> //[313.944745] intel_dp_destroy_mst_connector: connector->name=DP-4
> status=connected
> [313.944848] [drm:intel_dp_destroy_mst_connector [i915]]
> 
> ---
> 
> The framebuffer is resized automatically after applying the following
> workaround.
> drivers/gpu/drm/i915/intel_dp_mst.c
> @@ -474,6 +478,20 @@ static void intel_dp_destroy_mst_connector(struct
> drm_dp_mst_topology_mgr *mgr,
>         struct intel_connector *intel_connector =
> to_intel_connector(connector);
>         struct drm_device *dev = connector->dev;
> +       enum drm_connector_status old_status;
> +
> +       printk(KERN_ERR "%s: connector->name=%s status=%s\n", __func__,
> connector->name, drm_get_connector_status_name(connector->status));
> +
> +       old_status = connector->status;
> +       connector->status = connector->funcs->detect(connector, false);
> +       if (old_status != connector->status)
> +               DRM_DEBUG_KMS("[CONNECTOR:%d:%s] status updated from %s to
> %s\n",
> +                             connector->base.id,
> +                             connector->name,
> +                             drm_get_connector_status_name(old_status),
> +                            
> drm_get_connector_status_name(connector->status));
> 
> Here is the log:
> [43.175787] intel_dp_destroy_mst_connector: connector->name=DP-4
> status=connected
> [43.175798] [drm:intel_dp_destroy_mst_connector [i915]] [CONNECTOR:70:DP-4]
> status updated from connected to disconnected
> [43.175870] [drm:intel_dp_destroy_mst_connector [i915]]
> [43.177675] [drm:drm_helper_probe_single_connector_modes [drm_kms_helper]]
> [CONNECTOR:70:DP-4]
> [43.177679] [drm:drm_helper_probe_single_connector_modes [drm_kms_helper]]
> [CONNECTOR:70:DP-4] disconnected

Hello Ethan,

I did some debugging, this patch does solve one issue I am seeing.  I'll be
happy to review your patch if you send it to intel-gfx.

-DK

-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/intel-gfx-bugs/attachments/20170731/6dc62d24/attachment.html>


More information about the intel-gfx-bugs mailing list