1. 10 4月, 2012 15 次提交
  2. 29 3月, 2012 9 次提交
  3. 28 3月, 2012 2 次提交
    • D
      drm/i915/intel_i2c: gmbus disabled and reserved ports are invalid · 2ed06c93
      Daniel Kurtz 提交于
      There is no GMBUS "disabled" port 0, nor "reserved" port 7.
      For the other 6 ports there is a fixed 1:1 mapping between pin pairs and
      gmbus ports, which means every real gmbus port has a gpio pin.
      
      Given these realizations, clean up gmbus initialization.
      
      Tested on Sandybridge (gen 6, PCH == CougarPoint) hardware.
      Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      2ed06c93
    • D
      drm/i915/intel_i2c: assign HDMI port D to pin pair 6 · e4fd17af
      Daniel Kurtz 提交于
      According to i915 documentation [1], "Port D" (DP/HDMI Port D) is
      actually gmbus pin pair 6 (gmbus0.2:0 == 110b GPIOF), not 7 (111b).
      Pin pair 7 is a reserved pair.
      
      [1] Documentation for [DevSNB+] and [DevIBX], as found on
      http://intellinuxgraphics.org:
      
      [DevSNB+]:
      http://intellinuxgraphics.org/documentation/SNB/IHD_OS_Vol3_Part3.pdf
       Section 2.2.2 lists the 6 gmbus ports (gpio pin pairs):
          [ 5: HDMI/DPD, 4: HDMIB, 3: HDMI/DPC, 2: LVDS, 1: SSC, 0: VGA ]
       2.2.2.1 lists the GPIO registers to control these 6 ports.
       2.2.3.1 lists the mapping between 5 of these gmbus ports and the 3
       Pin_Pair_Select bits (of the GMBUS0 register).  This table is missing
       HDMIB (port 101).
      
      [DevIBX]: http://intellinuxgraphics.org/IHD_OS_Vol3_Part3r2.pdf
       Section 2.2.2 lists the same 6 gmbus ports plus two 'reserved' gpio
       ports.
       2.2.2.1 lists 8 GPIO registers... however, it says the size of the
       block is 6x32, which implies that those 2 reserved GPIO registers
       (GPIO_6 & GPIO_7) don't actually exist (or are irrelevant).
       2.2.3.1 lists the mapping between the 6 named gmbus ports and the 3
       Pin_Pair_Select bits (of the GMBUS0 register).  This table has HDMIB.
      
      Note: the "reserved" and "disabled" pairs do not actually map to a
      physical pair of pins, nor GPIO regs and shouldn't be initialized or used.
      Fixing this is left for a later patch.
      
      This bug had not been noticed earlier for two reasons:
       1) Until recently, "gmbus" mode was disabled - all transfers actually
          used "bit-bang" mode on GPIO port 5 (the "HDMI/DPD CTLDATA/CLK"
          pair), at register 0x5024 (defined as GPIOF i915_reg.h).
          Since this is the correct pair of pins for HDMI1, transfers succeed.
      
       2) Even if gmbus mode is re-enabled, the first attempted transaction
          will fail because it tries to use the wrong ("Reserved") pin pair.
          However, the driver immediately falls back again to the bit-bang
          method, which correctly uses GPIOF, so again, transfers succeed.
      
      However, if gmbus mode is re-enabled and the GPIO fall-back mode is
      disabled, then reading an attached monitor's EDID fail.
      Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org>
      Reviewed-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      e4fd17af
  4. 24 3月, 2012 1 次提交
  5. 15 2月, 2012 1 次提交
  6. 12 2月, 2012 1 次提交
  7. 11 2月, 2012 3 次提交
  8. 10 2月, 2012 2 次提交
  9. 09 2月, 2012 1 次提交
    • D
      drm/i915: swizzling support for snb/ivb · f691e2f4
      Daniel Vetter 提交于
      We have to do this manually. Somebody had a Great Idea.
      
      I've measured speed-ups just a few percent above the noise level
      (below 5% for the best case), but no slowdows. Chris Wilson measured
      quite a bit more (10-20% above the usual snb variance) on a more
      recent and better tuned version of sna, but also recorded a few
      slow-downs on benchmarks know for uglier amounts of snb-induced
      variance.
      
      v2: Incorporate Ben Widawsky's preliminary review comments and
      elaborate a bit about the performance impact in the changelog.
      
      v3: Add a comment as to why we don't need to check the 3rd memory
      channel.
      
      v4: Fixup whitespace.
      Acked-by: NChris Wilson <chris@chris-wilson.co.uk>
      Reviewed-by: NBen Widawsky <ben@bwidawsk.net>
      Reviewed-by: NEric Anholt <eric@anholt.net>
      Signed-Off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      f691e2f4
  10. 30 1月, 2012 3 次提交
  11. 29 1月, 2012 1 次提交
  12. 26 1月, 2012 1 次提交