1. Nov 16, 2018
  2. Nov 15, 2018
  3. Nov 14, 2018
  4. Nov 13, 2018
  5. Nov 12, 2018
  6. Nov 10, 2018
  7. Nov 09, 2018
    • Ville Syrjälä's avatar
      drm/i915: Sanitize PCH port transcoder select on IBX · 3aefb67f
      Ville Syrjälä authored
      
      
      IBX has a documented workaround which states that when we disable the
      port we must change its transcoder select to A, otherwise it will
      prevent the other port (DP vs. HDMI/SDVO) from using transcoder A.
      We implement the workaround during encoder disable, but looks like
      some BIOSen leave transcoder B selected even when the port wasn't
      actually enabled by the BIOS. That will trip up our asserts
      that attempt to make sure we never forget this w/a.
      
      Sanitize the transcoder select to A for all disabled PCH
      DP/HDMI/SDVO ports. We assume that the port was never enabled
      by the BIOS on transcoder B, because if it had we'd actually have
      to toggle the port on and back off to properly switch it back to
      transcoder A. That would cause some display flicker if transcoder A
      is already enabled on some other port, so it's better not to do it
      unless absolutely necessary. Since we have no indication that the
      transcoder select is misbehaving on the affected machines we can
      assume the port was never actually enabled by the BIOS.
      
      This cures warning like this during driver load:
      IBX PCH DP C still using transcoder B
      WARNING: CPU: 2 PID: 172 at drivers/gpu/drm/i915/intel_display.c:1279 assert_pch_dp_disabled+0x9e/0xb0 [i915]
      
      v2: Add comments to remind the reader that SDVOB==HDMIB (Chris)
      
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20181108143635.9556-1-ville.syrjala@linux.intel.com
      
      
      Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      3aefb67f