1. 01 10月, 2013 3 次提交
    • P
      drm/i915: check the DDC and AUX bits of the VBT on DDI machines · 6bf19e7c
      Paulo Zanoni 提交于
      Our code currently assumes that port X will use the DP AUX channel X
      and the DDC pin X. The VBT should tell us how things are mapped, so
      add some WARNs in case we discover our assumptions are wrong (or in
      case the VBT is just wrong, which is also perfectly possible).
      
      Why would someone wire port B to AUX C and DDC D?
      
      v2: Rebase
      v3: Convert WARNs to DRM_DEBUG_KMS
      Signed-off-by: NPaulo Zanoni <paulo.r.zanoni@intel.com>
      Reviewed-by: Rodrigo Vivi <rodrigo.vivi@gmail.com> (v1)
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      6bf19e7c
    • P
      drm/i915: use the HDMI DDI buffer translations from VBT · 6acab15a
      Paulo Zanoni 提交于
      We currently use the recommended values from BSpec, but the VBT
      specifies the correct value to use for the hardware we have, so use
      it. We also fall back to the recommended value in case we can't find
      the VBT.
      
      In addition, this code also provides some infrastructure to parse more
      information about the DDI ports. There's a lot more information we
      could extract and use in the future.
      
      v2: - Move some code to init_vbt_defaults.
      v3: - Rebase
          - Clarify the "DVO Port" matching code
      v4: - Use I915_MAX_PORTS
          - Change the HAS_DDI checks
          - Replace DRM_ERROR with DRM_DEBUG_KMS
      Signed-off-by: NPaulo Zanoni <paulo.r.zanoni@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      6acab15a
    • P
      drm/i915: VBT's child_device_config changes over time · 768f69c9
      Paulo Zanoni 提交于
      We currently treat the child_device_config as a simple struct, but
      this is not correct: new BDB versions change the meaning of some
      offsets, so the struct needs to be adjusted for each version.
      
      Since there are too many changes (today we're in version 170!), making
      a big versioned union would be too complicated, so child_device_config
      is now a union of 3 things: (i) a "raw" byte array that's safe to use
      anywhere; (ii)  an "old" structure that's the one we've been using and
      should be safe to keep in the SDVO and TV code; and (iii) a "common"
      structure that should contain only fields that are common for all the
      known VBT versions.
      Signed-off-by: NPaulo Zanoni <paulo.r.zanoni@intel.com>
      Reviewed-by: NRodrigo Vivi <rodrigo.vivi@gmail.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      768f69c9
  2. 04 9月, 2013 1 次提交
  3. 11 5月, 2013 1 次提交
  4. 18 4月, 2013 1 次提交
  5. 09 4月, 2013 1 次提交
    • B
      drm/i915: Don't touch South Display when PCH_NOP · ab5c608b
      Ben Widawsky 提交于
      Interrupts, clock gating, LVDS, and GMBUS are all within the, "this will
      be bad for CPU" range when we have PCH_NOP.
      
      There is a bit of a hack in init clock gating. We want to do most of the
      clock gating, but the part we skip will hang the system. It could
      probably be abstracted a bit better, but I don't feel it's too
      unsightly.
      
      v2: Use inverse HAS_PCH_NOP check (Jani)
      
      v3: Actually do what I claimed in v2 (spotted by Daniel)
      Merge Ivybridge IRQ handler PCH check to decrease whitespace (Daniel)
      Move LVDS bail into this patch (Ben)
      
      v4: logical rebase conflict resolution with SDEIIR (Ben)
      Signed-off-by: NBen Widawsky <ben@bwidawsk.net>
      
      Brush up patch a bit and resolve conflicts:
      - Adjust PCH_NOP checks due to Egbert's hpd handling rework.
      - Addd a PCH_NOP check in the irq uninstall code.
      - Resolve conflicts with Paulo's SDE irq handling race fix.
      
      v5: Drop the added hunks in the ilk irq handler again, they're bogus.
      OOps.
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      ab5c608b
  6. 23 11月, 2012 1 次提交
    • J
      drm/i915: do not default to 18 bpp for eDP if missing from VBT · 9a30a61f
      Jani Nikula 提交于
      commit 500a8cc4
      Author: Zhenyu Wang <zhenyuw@linux.intel.com>
      Date:   Wed Jan 13 11:19:52 2010 +0800
      
          drm/i915: parse eDP panel color depth from VBT block
      
      originally introduced parsing bpp for eDP from VBT, with a default of 18
      bpp if the eDP BIOS data block is not present. Turns out that default seems
      to break the Macbook Pro with retina display, as noted in
      
      commit 4344b813
      Author: Daniel Vetter <daniel.vetter@ffwll.ch>
      Date:   Fri Aug 10 11:10:20 2012 +0200
      
          drm/i915: ignore eDP bpc settings from vbt
      
      Since we can't ignore bpc settings from VBT completely after all, get rid
      of the default. Do not clamp eDP to 18 bpp by default if the eDP BDB is
      missing from VBT.
      Signed-off-by: NJani Nikula <jani.nikula@intel.com>
      Tested-by: NHenrik Rydberg <rydberg@euromail.se>
      [danvet: paste in the updated commit message from irc.]
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      9a30a61f
  7. 22 11月, 2012 1 次提交
  8. 03 10月, 2012 2 次提交
  9. 27 6月, 2012 1 次提交
  10. 01 4月, 2012 1 次提交
  11. 28 3月, 2012 1 次提交
    • D
      drm/i915/intel_i2c: refactor using intel_gmbus_get_adapter · 3bd7d909
      Daniel Kurtz 提交于
      Instead of letting other modules directly access the ->gmbus array,
      introduce intel_gmbus_get_adapter() for looking up an i2c_adapter
      for a given gmbus port identifier.  This will enable later refactoring
      of the gmbus port list.
      
      Note: Before requesting an adapter for a given gmbus port number, the
      driver must first check its validity using i2c_intel_gmbus_is_port_valid().
      If this check fails, a call to intel_gmbus_get_adapter() will WARN_ON and
      return NULL.  This is relevant for parts of the driver that read a port
      from VBIOS, which might be improperly initialized and contain an invalid
      port.  In these cases, the driver must fall back to using a safer default
      port.
      Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      3bd7d909
  12. 23 3月, 2012 1 次提交
  13. 02 3月, 2012 1 次提交
  14. 27 2月, 2012 1 次提交
  15. 18 1月, 2012 1 次提交
  16. 21 10月, 2011 1 次提交
  17. 28 9月, 2011 2 次提交
  18. 27 9月, 2011 1 次提交
  19. 20 9月, 2011 1 次提交
  20. 14 7月, 2011 1 次提交
    • C
      drm/i915/bios: Avoid temporary allocation whilst searching for downclock · 99834ea4
      Chris Wilson 提交于
      Alan Cox reported a missing check on the kmalloc return value for the
      allocation of a temporary mode used for searching for the LVDS downlock
      frequency. This allocation is roughly 200 bytes, a little too large to
      friviously place on the stack. However, we can simply use the few bytes
      we need stored within the original DVO timing data, skip the translation
      and do the compare directly between the timing data rather than on a
      mode, thus avoiding the need for any temporary allocations.
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Cc: Keith Packard <keithp@keithp.com>
      Signed-off-by: NKeith Packard <keithp@keithp.com>
      99834ea4
  21. 28 4月, 2011 1 次提交
  22. 22 2月, 2011 1 次提交
  23. 01 2月, 2011 1 次提交
  24. 19 1月, 2011 2 次提交
  25. 14 1月, 2011 1 次提交
  26. 30 12月, 2010 1 次提交
  27. 15 12月, 2010 1 次提交
  28. 22 10月, 2010 1 次提交
  29. 19 10月, 2010 1 次提交
  30. 08 10月, 2010 1 次提交
  31. 30 9月, 2010 1 次提交
    • S
      i915: Added function to initialize VBT settings · 6a04002b
      Simon Que 提交于
      Added a function that sets the LVDS values to default settings.  This
      will be called by intel_init_bios before checking for the VBT (video BIOS
      table). The default values are thus loaded regardless of whether a VBT
      is found.
      
      The default settings in each parse function have been moved to the new
      function. This consolidates all the default settings into one place.
      
      The default dither bit value has been changed from 0 to 1.  We can
      assume that display devices will want dithering enabled.
      Signed-off-by: NSimon Que <sque@chromium.org>
      Acked-by: NOlof Johansson <olof@lixom.net>
      [ickle: fixup for -next]
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      6a04002b
  32. 28 9月, 2010 1 次提交
  33. 24 9月, 2010 1 次提交
  34. 22 9月, 2010 1 次提交
  35. 18 9月, 2010 1 次提交
    • C
      drm/i915: use GMBUS to manage i2c links · f899fc64
      Chris Wilson 提交于
      Use the GMBUS interface rather than direct bit banging to grab the EDID
      over DDC (and for other forms of auxiliary communication with external
      display controllers). The hope is that this method will be much faster
      and more reliable than bit banging for fetching EDIDs from buggy monitors
      or through switches, though we still preserve the bit banging as a
      fallback in case GMBUS fails.
      
      Based on an original patch by Jesse Barnes.
      
      Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      f899fc64