1. 27 1月, 2013 4 次提交
  2. 25 1月, 2013 18 次提交
  3. 20 1月, 2013 1 次提交
    • V
      drm/i915: Fix RGB color range property for PCH platforms · 3685a8f3
      Ville Syrjälä 提交于
      The RGB color range select bit on the DP/SDVO/HDMI registers
      disappeared when PCH was introduced, and instead a new PIPECONF bit
      was added that performs the same function.
      
      Add a new INTEL_MODE_LIMITED_COLOR_RANGE private mode flag, and set
      it in the encoder mode_fixup if limited color range is requested.
      Set the the PIPECONF bit 13 based on the flag.
      
      Experimentation showed that simply toggling the bit while the pipe is
      active doesn't work. We need to restart the pipe, which luckily already
      happens.
      
      The DP/SDVO/HDMI bit 8 is marked MBZ in the docs, so avoid setting it,
      although it doesn't seem to do any harm in practice.
      
      TODO:
      - the PIPECONF bit too seems to have disappeared from HSW. Need a
        volunteer to test if it's just a documentation issue or if it's really
        gone. If the bit is gone and no easy replacement is found, then I suppose
        we may need to use the pipe CSC unit to perform the range compression.
      
      v2: Use mode private_flags instead of intel_encoder virtual functions
      v3: Moved the intel_dp color_range handling after bpc check to help
          later patches
      
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=46800Reviewed-by: NPaulo Zanoni <paulo.r.zanoni@intel.com>
      Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      3685a8f3
  4. 18 1月, 2013 1 次提交
  5. 18 12月, 2012 1 次提交
  6. 17 12月, 2012 2 次提交
  7. 14 12月, 2012 1 次提交
  8. 10 12月, 2012 3 次提交
  9. 06 12月, 2012 1 次提交
  10. 29 11月, 2012 1 次提交
  11. 22 11月, 2012 3 次提交
  12. 12 11月, 2012 4 次提交
    • B
      drm/i915: Move the remaining gtt code · 26b1ff35
      Ben Widawsky 提交于
      It's pretty much all consolidated now that we've killed AGP. We can move
      the one outlier, and defines too.
      
      (Kill some unused defines in the process)
      Signed-off-by: NBen Widawsky <ben@bwidawsk.net>
      Reviewed-by: NChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      26b1ff35
    • B
      drm/i915: flush system agent TLBs on SNB · 0f9b91c7
      Ben Widawsky 提交于
      This allows us to map the PTEs WC. I've not done thorough testing or
      performance measurements with this patch, but it should be decent.
      
      This is based on a patch from Jesse with the original commit message
      > I've only lightly tested this so far, but the corruption seems to be
      > gone if I write the GFX_FLSH_CNTL reg after binding an object.  This
      > register should control the TLB for the system agent, which is what CPU
      > mapped objects will go through.
      
      It has been updated for the new AGP-less code by me, and included with
      it is feedback from the original patch.
      
      v2: Updated to reflect paranoia on pte updates/register posting reads.
      Signed-off-by: NBen Widawsky <ben@bwidawsk.net>
      Reviewed-by [v1]: Jesse Barnes <jbarnes@virtuousgeek.org>
      Reviewed-by: NChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      0f9b91c7
    • B
      drm/i915: Calculate correct stolen size for GEN7+ · 03752f5b
      Ben Widawsky 提交于
      This bug existed in the old code, but was easier to fix here in the
      rework. Unfortunately gen7 doesn't have a nice way to figure out the
      size and we must use a lookup table.
      
      As Jesse pointed out, there is some confusion in the docs about these
      definitions. We're picking the one which seems more accurate, but we
      really aren't certain.
      Signed-off-by: NBen Widawsky <ben@bwidawsk.net>
      Reviewed-by: NChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      03752f5b
    • B
      drm/i915: Stop using AGP layer for GEN6+ · e76e9aeb
      Ben Widawsky 提交于
      As a quick hack we make the old intel_gtt structure mutable so we can
      fool a bunch of the existing code which depends on elements in that data
      structure. We can/should try to remove this in a subsequent patch.
      
      This should preserve the old gtt init behavior which upon writing these
      patches seems incorrect. The next patch will fix these things.
      
      The one exception is VLV which doesn't have the preserved flush control
      write behavior. Since we want to do that for all GEN6+ stuff, we'll
      handle that in a later patch. Mainstream VLV support doesn't actually
      exist yet anyway.
      
      v2: Update the comment to remove the "voodoo"
      Check that the last pte written matches what we readback
      
      v3: actually kill cache_level_to_agp_type since most of the flags will
      disappear in an upcoming patch
      
      v4: v3 was actually not what we wanted (Daniel)
      Make the ggtt bind assertions better and stricter (Chris)
      Fix some uncaught errors at gtt init (Chris)
      Some other random stuff that Chris wanted
      
      v5: check for i==0 in gen6_ggtt_bind_object to shut up gcc (Ben)
      Signed-off-by: NBen Widawsky <ben@bwidawsk.net>
      Reviewed-by [v4]: Chris Wilson <chris@chris-wilson.co.uk>
      [danvet: Make the cache_level -> agp_flags conversion for pre-gen6 a
      tad more robust by mapping everything != CACHE_NONE to the cached agp
      flag - we have a 1:1 uncached mapping, but different modes of
      cacheable (at least on later generations). Suggested by Chris Wilson.]
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      e76e9aeb