1. 05 6月, 2011 1 次提交
  2. 18 5月, 2011 1 次提交
    • C
      drm/i915/sdvo: Reorder i2c initialisation before ddc proxy · 56184e3d
      Chris Wilson 提交于
      The ddc proxy depends upon the underlying i2c bus being selected. Under
      certain configurations, the i2c-adapter functionality is queried during
      initialisation and so may trigger an OOPS during boot. Hence, we need to
      reorder the initialisation of the ddc proxy until after we hook up the i2c
      adapter for the SDVO device.
      
      The condition under which it fails is when the i2c_add_adapter calls
      into i2c_detect which will attempt to probe all valid addresses on the
      adapter iff there is a pre-existing i2c_driver with the same class as
      the freshly added i2c_adapter.
      
      So it appears to depend upon having compiled in (or loaded such a
      module before i915.ko) an i2c-driver that likes to futz over the
      i2c_adapters claiming DDC support.
      Reported-by: NMihai Moldovan <ionic@ionic.de>
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Reviewed-by: NKeith Packard <keithp@keithp.com>
      Signed-off-by: NKeith Packard <keithp@keithp.com>
      56184e3d
  3. 23 2月, 2011 1 次提交
  4. 22 2月, 2011 1 次提交
  5. 11 2月, 2011 1 次提交
  6. 10 2月, 2011 1 次提交
  7. 26 1月, 2011 3 次提交
  8. 12 1月, 2011 1 次提交
  9. 23 12月, 2010 1 次提交
  10. 17 12月, 2010 1 次提交
  11. 10 12月, 2010 1 次提交
  12. 25 11月, 2010 1 次提交
  13. 24 11月, 2010 1 次提交
  14. 22 11月, 2010 1 次提交
  15. 22 10月, 2010 2 次提交
  16. 19 10月, 2010 1 次提交
  17. 28 9月, 2010 1 次提交
  18. 24 9月, 2010 2 次提交
  19. 21 9月, 2010 1 次提交
  20. 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
  21. 15 9月, 2010 6 次提交
  22. 14 9月, 2010 1 次提交
  23. 13 9月, 2010 1 次提交
  24. 12 9月, 2010 1 次提交
    • C
      drm/i915/sdvo: Poll command status 5 times without delay on read · b5c616a7
      Chris Wilson 提交于
      The documentation says that an SDVO command takes a maximum of 15us to be
      processed by the device, and that it is sufficient to read the status byte
      3 times (whilst the command is still in the PENDING state) for the driver
      to be confident that sufficient time has elapsed.
      
      We err on the safe side and try 5 times before giving up.
      
      The only question that remains: was the old behaviour derived by
      experiments with real hardware?
      
      A look into the murky history of UMS, implies that the behaviour was
      accidental and the current retry mechanism was solely designed to catch
      the status byte indicating PENDING with no reference to hardware
      behaviour. (commit ac9181c014638dbeb334b40b4029d0ccb2b7a0fc in
      xf86-video-intel)
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      b5c616a7
  25. 10 9月, 2010 2 次提交
  26. 08 9月, 2010 1 次提交
  27. 07 9月, 2010 2 次提交
  28. 22 8月, 2010 1 次提交
  29. 10 8月, 2010 1 次提交
    • C
      drm/i915/sdvo: Only set is_lvds if we have a valid fixed mode. · 8545423a
      Chris Wilson 提交于
      If we have failed to ascertain the fixed mode for the LVDS panel, then
      trust the pixel clock ranges reported for the connection when determing
      valid modes. This makes intel_sdvo_mode_valid() consistent with
      intel_lvds_mode_valid() which is also a no-op is there is no fixed mode
      defined. (Since the mode is both validated by SDVO and LVDS, why are
      checking against an LVDS fixed mode in SDVO...)
      
      By only defining is_lvds to be true when we actually have an LVDS output
      with a fixed mode, we avoid various potential NULL deferences where the
      assumption is made that all LVDS outputs have a fixed mode.
      
      References:
      
        Bug 29449 - [Q35] failure to read EDID/vbios for LVDS, no mode => no output
        https://bugs.freedesktop.org/show_bug.cgi?id=29449
      
      The primary failure in this bug is not finding the EDID and determining
      the correct fixed panel mode. However, this patch should fix the
      secondary issue of not enabling any of the standard modes for the panel
      either.
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: NEric Anholt <eric@anholt.net>
      8545423a