• Imre Deak's avatar
    drm/i915/ibx, cpt: Don't attempt to register eDP if LVDS was detected · 97a824e1
    Imre Deak authored
    Atm on IBX/CPT we attempt to detect if eDP is present even if LVDS was
    already detected and an encoder for it was registered. This involves
    trying to read out the eDP DPCD, which in turn needs the same power
    sequencer that LVDS uses. Poking at the VDD line at an unexpected time
    may or may not interfere with the LVDS panel, but it's probably safer to
    prevent this. Registering both an LVDS and an eDP connector would also
    present a similar problem accessing the shared PPS at any point later in
    an unexpected way.
    
    We also need this to be able fix PPS initialization before its first use
    in the next patch. For that we want to be sure that PPS is not in use
    by LVDS.
    
    v2:
    - Split out the PPS init fix to a separate patch. (Chris)
    - Add comment about eDP init depending on LVDS init. (Chris)
    - Make the use of the intel_encoder ptr less error prone.
    v3:
    - Use IBX/CPT reference instead of the incorrect ILK, add a WARN about
      this. (Ville)
    v4:
    - Use a helper to get the lvds encoder instead of opencoding the same.
      (Ville)
    
    CC: Ville Syrjälä <ville.syrjala@linux.intel.com>
    CC: Chris Wilson <chris@chris-wilson.co.uk>
    Signed-off-by: default avatarImre Deak <imre.deak@intel.com>
    Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> (v2)
    Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> (v3)
    Link: http://patchwork.freedesktop.org/patch/msgid/1466499109-20240-2-git-send-email-imre.deak@intel.com
    97a824e1
intel_lvds.c 32.3 KB