1. 12 4月, 2016 1 次提交
  2. 06 4月, 2016 2 次提交
  3. 29 3月, 2016 4 次提交
  4. 17 3月, 2016 6 次提交
  5. 15 1月, 2016 1 次提交
  6. 12 1月, 2016 4 次提交
  7. 05 1月, 2016 4 次提交
  8. 22 12月, 2015 1 次提交
  9. 17 12月, 2015 3 次提交
  10. 16 12月, 2015 5 次提交
  11. 02 12月, 2015 1 次提交
    • V
      drm/i915: Check VBT for CRT port presence on HSW/BDW · e4abb733
      Ville Syrjälä 提交于
      Unfortunatey there appear to quite a few HSW/BDW machines (eg.
      NUCs, Brix Pro) in the wild with LPT/WPT-H that have no physical
      CRT connector and non-working FDI. FDI training fails every
      single time on these machines. Dunno, maybe they just didn't
      bother wiring it up or something?
      
      Unfortunately all the fuse bits and whatnot are telling us that
      the CRT connector is present. And so what we get from this is tons
      of false positives from the CI systems due to VGA connector forcing.
      
      I've not found any way to detect this purely from hardware, so we
      have to resort to looking at the VBT int_crt_support bit. We used
      to check this bit on all platforms, but that broke all the old
      machines, so the check was then restricted to VLV only in
      commit 84b4e042 ("drm/i915: only apply crt_present check on VLV")
      
      Considering HSW and VLV VBT probably got defined around the same time,
      it should be reasonably safe to assume that the bits is sane for
      HSW/BDW as well. At least I have one copy of some VBT spec here that
      says it's meant for both VLV and HSW, and it knows about the bit
      (lists it being valid from version 155 onwards). Also I have two
      desktop machines with actual CRT ports and both have
      int_crt_support==1 in their VBTs.
      
      Also we already trust VBT >= 155 to tell us various details about
      the DDI ports, so trusting it a bit more seems reasonable.
      
      As far as VLV goes, the added VBT version check should be fine. Even
      if someone has some weird VLV machine with a very old VBT version,
      it just means they'll end up with a shadow CRT connector. IIRC the
      reason for eliminating the shadow CRT connector on VLV was to speed
      up display probing rather than fixing something more serious.
      
      v2: Move the platform checks into the VBT parsing code
          Also check that the VBT version is at least 155
      v3: Improve commit message (Paulo)
      
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Reviewed-by: NPaulo Zanoni <paulo.r.zanoni@intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/1449005493-15487-1-git-send-email-ville.syrjala@linux.intel.com
      e4abb733
  12. 13 10月, 2015 1 次提交
  13. 23 9月, 2015 1 次提交
    • J
      drm/i915/bios: handle MIPI Sequence Block v3+ gracefully · cd67d226
      Jani Nikula 提交于
      The VBT MIPI Sequence Block version 3 has forward incompatible changes:
      
      First, the block size in the header has been specified reserved, and the
      actual size is a separate 32-bit value within the block. The current
      find_section() function to will only look at the size in the block
      header, and, depending on what's in that now reserved size field,
      continue looking for other sections in the wrong place.
      
      Fix this by taking the new block size field into account. This will
      ensure that the lookups for other sections will work properly, as long
      as the new 32-bit size does not go beyond the opregion VBT mailbox size.
      
      Second, the contents of the block have been completely
      changed. Gracefully refuse parsing the yet unknown data version.
      
      Cc: Deepak M <m.deepak@intel.com>
      Cc: stable@vger.kernel.org
      Reviewed-by: NDeepak M <m.deepak@intel.com>
      Signed-off-by: NJani Nikula <jani.nikula@intel.com>
      cd67d226
  14. 04 9月, 2015 1 次提交
  15. 31 8月, 2015 2 次提交
  16. 24 8月, 2015 2 次提交
    • D
      drm/i915: Allow parsing of variable size child device entries from VBT · e2d6cf7f
      David Weinehall 提交于
      VBT version 196 increased the size of common_child_dev_config. The
      parser code assumed that the size of this structure would not change.
      
      The modified code now copies the amount needed based on the VBT version,
      and emits a debug message if the VBT version is unknown (too new); since
      the struct config block won't shrink in newer versions it should be
      harmless to copy the maximum known size in such cases, so that's what we
      do, but emitting the warning is probably sensible anyway.
      
      In the longer run it might make sense to modify the parser code to use a
      version/feature mapping, rather than hardcoding things like this, but
      for now the variants are fairly manageable.
      
      This fixes a regression introduced in
      
      commit 75067dde
      Author: Antti Koskipaa <antti.koskipaa@linux.intel.com>
      Date:   Fri Jul 10 14:10:55 2015 +0300
      
          drm/i915: Per-DDI I_boost override
      
      since that commit changed the child device config size without updating
      the checks and memcpy.
      
      v2: Stricter size checks
      
      v3 by Jani:
      - Keep the checks strict, and warnigns verbose, but keep going anyway.
      - Take care to copy the max amount of child device config we can.
      - Fix the messages.
      Signed-off-by: NDavid Weinehall <david.weinehall@linux.intel.com>
      Reviewed-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NJani Nikula <jani.nikula@intel.com>
      e2d6cf7f
    • J
      drm/i915: fix VBT parsing for SDVO child device mapping · 6cc38aca
      Jani Nikula 提交于
      commit 75067dde
      Author: Antti Koskipaa <antti.koskipaa@linux.intel.com>
      Date:   Fri Jul 10 14:10:55 2015 +0300
      
          drm/i915: Per-DDI I_boost override
      
      increased size of union child_device_config without taking into account
      the size check in parse_sdvo_device_mapping(). Switch the function over
      to using the legacy struct only.
      
      Fixes: 75067dde ("drm/i915: Per-DDI I_boost override")
      Cc: Antti Koskipaa <antti.koskipaa@linux.intel.com>
      Cc: David Weinehall <david.weinehall@linux.intel.com>
      Reviewed-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Tested-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NJani Nikula <jani.nikula@intel.com>
      6cc38aca
  17. 19 8月, 2015 1 次提交
    • J
      Revert "drm/i915: Allow parsing of variable size child device entries from VBT" · bf1a5fd2
      Jani Nikula 提交于
      This reverts
      
      commit 047fe6e6
      Author: David Weinehall <david.weinehall@linux.intel.com>
      Date:   Tue Aug 4 16:55:52 2015 +0300
      
          drm/i915: Allow parsing of variable size child device entries from VBT
      
      That commit is not valid for v4.2, however it will be valid for v4.3. It
      was simply queued too early.
      
      The referenced regressing commit is just fine until the size of struct
      common_child_dev_config changes, and that won't happen until
      v4.3. Indeed, the expected size checks here rely on the increased size
      of the struct, breaking new platforms.
      
      Fixes: 047fe6e6 ("drm/i915: Allow parsing of variable size child device entries from VBT")
      Cc: Daniel Vetter <daniel@ffwll.ch>
      Cc: David Weinehall <david.weinehall@linux.intel.com>
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Reviewed-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NJani Nikula <jani.nikula@intel.com>
      bf1a5fd2