1. 21 10月, 2011 9 次提交
  2. 29 9月, 2011 3 次提交
  3. 28 9月, 2011 2 次提交
  4. 22 9月, 2011 3 次提交
    • K
      drm/i915: FBC off for ironlake and older, otherwise on by default · cd0de039
      Keith Packard 提交于
      Make the default FBC behaviour chipset specific, allowing us to turn
      it on by default for Ironlake and older where it has been seen to
      cause trouble with screen updates.
      Signed-off-by: NKeith Packard <keithp@keithp.com>
      Tested-by: NFrancis Moreau <francis.moro@gmail.com>
      cd0de039
    • W
      drm/i915: pass ELD to HDMI/DP audio driver · e0dac65e
      Wu Fengguang 提交于
      Add ELD support for Intel Eaglelake, IbexPeak/Ironlake,
      SandyBridge/CougarPoint and IvyBridge/PantherPoint chips.
      
      ELD (EDID-Like Data) describes to the HDMI/DP audio driver the audio
      capabilities of the plugged monitor. It's built and passed to audio
      driver in 2 steps:
      
      (1) at get_modes time, parse EDID and save ELD to drm_connector.eld[]
      
      (2) at mode_set time, write drm_connector.eld[] to the Transcoder's hw
          ELD buffer and set the ELD_valid bit to inform HDMI/DP audio driver
      
      This patch is tested OK on G45/HDMI, IbexPeak/HDMI and IvyBridge/HDMI+DP.
      Test scheme: plug in the HDMI/DP monitor, and run
      
              cat /proc/asound/card0/eld*
      
      to check if the monitor name, HDMI/DP type, etc. show up correctly.
      
      Minor imperfection: the GEN5_AUD_CNTL_ST/DIP_Port_Select field always
      reads 0 (reserved). Without knowing the port number, I worked it around
      by setting the ELD_valid bit for ALL the three ports. It's tested to not
      be a problem, because the audio driver will find invalid ELD data and
      hence rightfully abort, even when it sees the ELD_valid indicator.
      
      Thanks to Zhenyu and Pierre-Louis for a lot of valuable help and testing.
      
      CC: Zhao Yakui <yakui.zhao@intel.com>
      CC: Wang Zhenyu <zhenyu.z.wang@intel.com>
      CC: Jeremy Bush <contractfrombelow@gmail.com>
      CC: Christopher White <c.white@pulseforce.com>
      CC: Pierre-Louis Bossart <pierre-louis.bossart@intel.com>
      CC: Paul Menzel <paulepanter@users.sourceforge.net>
      Signed-off-by: NWu Fengguang <fengguang.wu@intel.com>
      Signed-off-by: NKeith Packard <keithp@keithp.com>
      e0dac65e
    • K
      drm/i915: Enable dither whenever display bpc < frame buffer bpc · 578393cd
      Keith Packard 提交于
      We want to enable dithering on any pipe where the frame buffer has
      more color resolution than the output device.
      
      The previous code was incorrectly clamping the frame buffer bpc to the
      display bpc, effectively disabling dithering all of the time as the
      computed frame buffer bpc would never be larger than the display bpc.
      Signed-off-by: NKeith Packard <keithp@keithp.com>
      Reported-by: NOliver Hartkopp <socketcan@hartkopp.net>
      Tested-by: NOliver Hartkopp <socketcan@hartkopp.net>
      578393cd
  5. 20 9月, 2011 2 次提交
  6. 26 8月, 2011 1 次提交
  7. 23 8月, 2011 1 次提交
  8. 10 8月, 2011 1 次提交
  9. 09 8月, 2011 2 次提交
  10. 02 8月, 2011 1 次提交
  11. 30 7月, 2011 3 次提交
  12. 29 7月, 2011 6 次提交
  13. 23 7月, 2011 1 次提交
  14. 22 7月, 2011 1 次提交
  15. 14 7月, 2011 1 次提交
  16. 09 7月, 2011 3 次提交
    • C
      drm/i915: Share the common work of disabling active FBC before updating · 016b9b61
      Chris Wilson 提交于
      Upon review, all path share the same dependencies for updating the
      registers and so we can benefit from sharing the code and checking
      early.
      
      This removes the unsightly intel_wait_for_vblank() from the lowlevel
      functions and upon further analysis the only path that will require a
      wait is if we are performing an instantaneous transition between two
      valid FBC configurations. The page-flip path itself will have disabled
      FBC registers and will have waited for at least one vblank before
      finishing the flip and attempting to re-enable FBC. This wait can be
      accomplished simply by delaying the enable until after we are sure that
      a vblank will have passed, which we are already doing to make sure that
      the display is settled before enabling FBC.
      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>
      016b9b61
    • C
      drm/i915: Perform intel_enable_fbc() from a delayed task · 1630fe75
      Chris Wilson 提交于
      In order to accommodate the requirements of re-enabling FBC after
      page-flipping, but to avoid doing so and incurring the cost of a wait
      for vblank in the middle of a page-flip sequence, we defer the actual
      enablement by 50ms. If any request to disable FBC arrive within that
      interval, the enablement is cancelled and we are saved from blocking on
      the wait.
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Reviewed-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      Signed-off-by: NKeith Packard <keithp@keithp.com>
      1630fe75
    • C
      drm/i915: Disable FBC across page-flipping · 7782de3b
      Chris Wilson 提交于
      Page-flipping updates the scanout address, nukes the FBC compressed
      image and so forces an FBC update so that the displayed image remains
      consistent. However, page-flipping does not update the FBC registers
      themselves, which remain pointing to both the old address and the old
      CPU fence. Future updates to the new front-buffer (scanout) are then
      undetected!
      
      This first approach to demonstrate the issue and highlight the fix,
      simply disables FBC upon page-flip (a recompression will be forced on
      every flip so FBC becomes immaterial) and then re-enables FBC in the
      page-flip finish work function, so that the FBC registers are now
      pointing to the new framebuffer and front-buffer rendering works once
      more.
      
      Ideally, we want to only re-enable FBC after page-flipping is complete,
      as otherwise we are just wasting cycles and power (with needless
      recompression) whilst the page-flipping application is still running.
      
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=33487Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Reviewed-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      Signed-off-by: NKeith Packard <keithp@keithp.com>
      7782de3b