• Paulo Zanoni's avatar
    drm/i915/icl: implement the tc/legacy HPD {dis,}connect flows · 39d1e234
    Paulo Zanoni authored
    Unlike the other ports, TC ports are not available to use as soon as
    we get a hotplug. The TC PHYs can be shared between multiple
    controllers: display, USB, etc. As a result, handshaking through FIA
    is required around connect and disconnect to cleanly transfer
    ownership with the controller and set the type-C power state.
    
    This patch implements the flow sequences described by our
    specification. We opt to grab ownership of the ports as soon as we get
    the hotplugs in order to simplify the interactions and avoid surprises
    in the user space side. We may consider changing this in the future,
    once we improve our testing capabilities on this area.
    
    v2:
     * This unifies the DP and HDMI patches so we can discuss everything
       at once so people looking at random single patches can actually
       understand the direction.
     * I found out the spec was updated a while ago. There's a small
       difference in the connect flow and the patch was updated for that.
     * Our spec also now gives a good explanation on what is really
       happening. As a result, comments were added.
     * Add some more comments as requested by Rodrigo (Rodrigo).
    v3:
     * Downgrade a DRM_ERROR that shouldn't ever happen but we can't act
       on in case it does (Chris).
    
    BSpec: 21750, 4250.
    Cc: Animesh Manna <animesh.manna@intel.com>
    Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
    Reviewed-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
    Signed-off-by: default avatarPaulo Zanoni <paulo.r.zanoni@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20180801173441.9789-1-paulo.r.zanoni@intel.com
    39d1e234
intel_dp.c 188 KB