1. 20 Oct, 2011 1 commit
  2. 12 Oct, 2011 2 commits
  3. 06 Oct, 2011 10 commits
  4. 30 Sep, 2011 7 commits
  5. 28 Sep, 2011 1 commit
  6. 21 Sep, 2011 7 commits
    • Keith Packard's avatar
      drm/i915: FBC off for ironlake and older, otherwise on by default · cd0de039
      Keith Packard authored
      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: default avatarKeith Packard <keithp@keithp.com>
      Tested-by: default avatarFrancis Moreau <francis.moro@gmail.com>
      cd0de039
    • Simon Farnsworth's avatar
      drm/i915: Enable SDVO hotplug interrupts for HDMI and DVI · cc68c81a
      Simon Farnsworth authored
      I was seeing a nasty 5 frame glitch every 10 seconds, caused by the
      poll for connection on DVI attached by SDVO.
      
      As my SDVO DVI supports hotplug detect interrupts, the fix is to
      enable them, and hook them in to the various bits of driver
      infrastructure so that they work reliably.
      
      Note that this is only tested on single-function DVI-D SDVOs, on two
      platforms (965GME and 945GSE), and has not been checked against a
      specification document.
      
      With lots of help from Adam Jackson <ajax@redhat.com> on IRC.
      Signed-off-by: default avatarSimon Farnsworth <simon.farnsworth@onelan.co.uk>
      Reviewed-by: default avatarKeith Packard <keithp@keithp.com>
      Signed-off-by: default avatarKeith Packard <keithp@keithp.com>
      cc68c81a
    • Keith Packard's avatar
      64a742fa
    • Ben Widawsky's avatar
      drm/i915: Dumb down the semaphore logic · c8c99b0f
      Ben Widawsky authored
      While I think the previous code is correct, it was hard to follow and
      hard to debug. Since we already have a ring abstraction, might as well
      use it to handle the semaphore updates and compares.
      
      I don't expect this code to make semaphores better or worse, but you
      never know...
      
      v2:
      Remove magic per Keith's suggestions.
      Ran Daniel's gem_ring_sync_loop test on this.
      
      v3:
      Ignored one of Keith's suggestions.
      
      v4:
      Removed some bloat per Daniel's recommendation.
      
      Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
      Cc: Keith Packard <keithp@keithp.com>
      Signed-off-by: default avatarBen Widawsky <ben@bwidawsk.net>
      Signed-off-by: default avatarKeith Packard <keithp@keithp.com>
      c8c99b0f
    • Wu Fengguang's avatar
      drm/i915: pass ELD to HDMI/DP audio driver · e0dac65e
      Wu Fengguang authored
      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: default avatarWu Fengguang <fengguang.wu@intel.com>
      Signed-off-by: default avatarKeith Packard <keithp@keithp.com>
      e0dac65e
    • Wu Fengguang's avatar
      drm: support routines for HDMI/DP ELD · 76adaa34
      Wu Fengguang authored
      ELD (EDID-Like Data) describes to the HDMI/DP audio driver the audio
      capabilities of the plugged monitor.
      
      This adds drm_edid_to_eld() for converting EDID to ELD. The converted
      ELD will be saved in a new drm_connector.eld[128] data field. This is
      necessary because the graphics driver will need to fixup some of the
      data fields (eg. HDMI/DP connection type, AV sync delay) before writing
      to the hardware ELD buffer. drm_av_sync_delay() will help the graphics
      drivers dynamically compute the AV sync delay for fixing-up the ELD.
      
      ELD selection policy: it's possible for one encoder to be associated
      with multiple connectors (ie. monitors), in which case the first found
      ELD will be returned by drm_select_eld(). This policy may not be
      suitable for all users, but let's start it simple first.
      
      The impact of ELD selection policy: assume there are two monitors, one
      supports stereo playback and the other has 8-channel output; cloned
      display mode is used, so that the two monitors are associated with the
      same internal encoder. If only the stereo playback capability is reported,
      the user won't be able to start 8-channel playback; if the 8-channel ELD
      is reported, then user space applications may send 8-channel samples
      down, however the user may actually be listening to the 2-channel
      monitor and not connecting speakers to the 8-channel monitor.
      
      According to James, many TVs will either refuse the display anything or
      pop-up an OSD warning whenever they receive hdmi audio which they cannot
      handle. Eventually we will require configurability and/or per-monitor
      audio control even when the video is cloned.
      
      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>
      CC: James Cloos <cloos@jhcloos.com>
      CC: Chris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      Signed-off-by: default avatarWu Fengguang <fengguang.wu@intel.com>
      Signed-off-by: default avatarKeith Packard <keithp@keithp.com>
      76adaa34
    • Keith Packard's avatar
      drm/i915: Enable dither whenever display bpc < frame buffer bpc · 578393cd
      Keith Packard authored
      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: default avatarKeith Packard <keithp@keithp.com>
      Reported-by: default avatarOliver Hartkopp <socketcan@hartkopp.net>
      Tested-by: default avatarOliver Hartkopp <socketcan@hartkopp.net>
      578393cd
  7. 20 Sep, 2011 12 commits