1. 14 1月, 2012 1 次提交
  2. 21 10月, 2011 1 次提交
  3. 06 10月, 2011 1 次提交
    • K
      drm/i915: Correct eDP panel power sequencing delay computations · f01eca2e
      Keith Packard 提交于
      Store the panel power sequencing delays in the dp private structure,
      rather than the global device structure. Who knows, maybe we'll get
      more than one eDP device in the future.
      
      From the eDP spec, we need the following numbers:
      
       T1 + T3	Power on to Aux Channel operation (panel_power_up_delay)
      
      		This marks how long it takes the panel to boot up and
      		get ready to receive aux channel communications.
      
       T8		Video signal to backlight on (backlight_on_delay)
      
      		Once a valid video signal is being sent to the device,
      		it can take a while before the panel is actuall
      		showing useful data. This delay allows the panel
      		to get something reasonable up before the backlight
      		is turned on.
      
       T9		Backlight off to video off (backlight_off_delay)
      
      		Turning the backlight off can take a moment, so
      		this delay makes sure there is still valid video
      		data on the screen.
      
       T10		Video off to power off (panel_power_down_delay)
      
      		Presumably this delay allows the panel to perform
      		an orderly shutdown of the display.
      
       T11 + T12	Power off to power on (panel_power_cycle_delay)
      
      		So, once you turn the panel off, you have to wait a
      		while before you can turn it back on. This delay is
      		usually the longest in the entire sequence.
      
      Neither the VBIOS source code nor the hardware documentation has a
      clear mapping between the delay values they provide and those required
      by the eDP spec. The VBIOS code actually uses two different labels for
      the delay values in the five words of the relevant VBT table.
      
      **** MORE LATER ***
      
      Look at both the current hardware register settings and the VBT
      specified panel power sequencing timings. Use the maximum of the two
      delays, to make sure things work reliably. If there is no VBT data,
      then those values will be initialized to zero, so we'll just use the
      values as programmed in the hardware. Note that the BIOS just fetches
      delays from the VBT table to place in the hardware registers, so we
      should get the same values from both places, except for rounding.
      
      VBT doesn't provide any values for T1 or T2, so we'll always just use
      the hardware value for that.
      
      The panel power up delay is thus T1 + T2 + T3, which should be
      sufficient in all cases.
      
      The panel power down delay is T1 + T2 + T12, using T1+T2 as a proxy
      for T11, which isn't available anywhere.
      
      For the backlight delays, the eDP spec says T6 + T8 is the delay from the
      end of link training to backlight on and T9 is the delay from
      backlight off until video off. The hardware provides a 'backlight on'
      delay, which I'm taking to be T6 + T8 while the VBT provides something
      called 'T7', which I'm assuming is s
      
      On the macbook air I'm testing with, this yields a power-up delay of
      over 200ms and a power-down delay of over 600ms. It all works now, but
      we're frobbing these power controls several times during mode setting,
      making the whole process take an awfully long time.
      Signed-off-by: NKeith Packard <keithp@keithp.com>
      f01eca2e
  4. 28 9月, 2011 2 次提交
  5. 20 9月, 2011 1 次提交
  6. 22 2月, 2011 1 次提交
  7. 19 1月, 2011 1 次提交
    • C
      drm/i915: Disable SSC for outputs other than LVDS or DP · 633f2ea2
      Chris Wilson 提交于
      For CRT and SDVO/HDMI, we need to use a normal, non-SSC, clock and so we
      must clear any enabling bits left-over from earlier outputs. And also
      seems to correct the LVDS panel on the Lenovo U160.
      
      However, at one point, it did cause an "ERROR failed to disable
      trancoder". So prolonged testing on top of Jesse's refactored and
      error-checking CRTC logic is desired.
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      633f2ea2
  8. 19 10月, 2010 1 次提交
  9. 28 9月, 2010 1 次提交
  10. 16 1月, 2010 1 次提交
  11. 01 12月, 2009 1 次提交
    • Z
      drm/i915: parse child device from VBT · 6363ee6f
      Zhao Yakui 提交于
      On some laptops there is no HDMI/DP. But the xrandr still reports
      several disconnected HDMI/display ports. In such case the user will be
      confused.
       >DVI1 disconnected (normal left inverted right x axis y axis)
       >DP1 disconnected (normal left inverted right x axis y axis)
       >DVI2 disconnected (normal left inverted right x axis y axis)
       >DP2 disconnected (normal left inverted right x axis y axis)
       >DP3 disconnected (normal left inverted right x axis y axis)
      
      This patch set is to use the child device parsed in VBT to decide whether
      the HDMI/DP/LVDS/TV should be initialized.
      
      Parse the child device from VBT.
      
      The device class type is also added for LFP, TV, HDMI, DP output.
      
      https://bugs.freedesktop.org/show_bug.cgi?id=22785Signed-off-by: NZhao Yakui <yakui.zhao@intel.com>
      Reviewed-by: NAdam Jackson <ajax@redhat.com>
      Signed-off-by: NEric Anholt <eric@anholt.net>
      6363ee6f
  12. 30 7月, 2009 1 次提交
  13. 05 6月, 2009 1 次提交
  14. 23 5月, 2009 1 次提交
  15. 28 3月, 2009 1 次提交
  16. 29 12月, 2008 1 次提交
    • J
      DRM: i915: add mode setting support · 79e53945
      Jesse Barnes 提交于
      This commit adds i915 driver support for the DRM mode setting APIs.
      Currently, VGA, LVDS, SDVO DVI & VGA, TV and DVO LVDS outputs are
      supported.  HDMI, DisplayPort and additional SDVO output support will
      follow.
      
      Support for the mode setting code is controlled by the new 'modeset'
      module option.  A new config option, CONFIG_DRM_I915_KMS controls the
      default behavior, and whether a PCI ID list is built into the module for
      use by user level module utilities.
      
      Note that if mode setting is enabled, user level drivers that access
      display registers directly or that don't use the kernel graphics memory
      manager will likely corrupt kernel graphics memory, disrupt output
      configuration (possibly leading to hangs and/or blank displays), and
      prevent panic/oops messages from appearing.  So use caution when
      enabling this code; be sure your user level code supports the new
      interfaces.
      
      A new SysRq key, 'g', provides emergency support for switching back to
      the kernel's framebuffer console; which is useful for testing.
      
      Co-authors: Dave Airlie <airlied@linux.ie>, Hong Liu <hong.liu@intel.com>
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      Signed-off-by: NEric Anholt <eric@anholt.net>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      79e53945