1. 31 5月, 2012 3 次提交
    • B
      drm/i915: remap l3 on hw init · b9524a1e
      Ben Widawsky 提交于
      If any l3 rows have been previously remapped, we must remap them after
      GPU reset/resume too.
      
      v2: Just return (no warn) on remapping init if not IVB (Jesse)
      Move the check of schizo userspace to i915_gem_l3_remap (Jesse)
      Signed-off-by: NBen Widawsky <ben@bwidawsk.net>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      b9524a1e
    • B
      drm/i915: Dynamic Parity Detection handling · e3689190
      Ben Widawsky 提交于
      On IVB hardware we are given an interrupt whenever a L3 parity error
      occurs in the L3 cache. The L3 cache is used by internal GPU clients
      only.  This is a very rare occurrence (in fact to test this I need to
      use specially instrumented silicon).
      
      When a row in the L3 cache detects a parity error the HW generates an
      interrupt. The interrupt is masked in GTIMR until we get a chance to
      read some registers and alert userspace via a uevent. With this
      information userspace can use a sysfs interface (follow-up patch) to
      remap those rows.
      
      Way above my level of understanding, but if a given row fails, it is
      statistically more likely to fail again than a row which has not failed.
      Therefore it is desirable for an operating system to maintain a lifelong
      list of failing rows and always remap any bad rows on driver load.
      Hardware limits the number of rows that are remappable per bank/subbank,
      and should more than that many rows detect parity errors, software
      should maintain a list of the most frequent errors, and remap those
      rows.
      
      V2: Drop WARN_ON(IS_GEN6) (Jesse)
      DRM_DEBUG row/bank/subbank on errror (Jesse)
      Comment updates (Jesse)
      Reviewed-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      Signed-off-by: NBen Widawsky <ben@bwidawsk.net>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      e3689190
    • P
      drm/i915: explicitly disable the DIPs we're not using · 0dd87d20
      Paulo Zanoni 提交于
      From this point on, the 'set_infoframe' functions always set the DIP
      registers to a known state, so anything done will always be undone at
      the modeset.
      Signed-off-by: NPaulo Zanoni <paulo.r.zanoni@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      0dd87d20
  2. 22 5月, 2012 2 次提交
  3. 20 5月, 2012 2 次提交
  4. 08 5月, 2012 4 次提交
  5. 06 5月, 2012 2 次提交
  6. 03 5月, 2012 3 次提交
  7. 28 4月, 2012 1 次提交
  8. 18 4月, 2012 2 次提交
    • B
      drm/i915: [GEN7] Use HW scheduler for fixed function shaders · a1e969e0
      Ben Widawsky 提交于
      This originally started as a patch from Bernard as a way of simply
      setting the VS scheduler. After submitting the RFC patch, we decided to
      also modify the DS scheduler. To be most explicit, I've made the patch
      explicitly set all scheduler modes, and included the defines for other
      modes (in case someone feels frisky later).
      
      The rest of the story gets a bit weird. The first version of the patch
      showed an almost unbelievable performance improvement. Since rebasing my
      branch it appears the performance improvement has gone, unfortunately.
      But setting these bits seem to be the right thing to do given that the
      docs describe corruption that can occur with the default settings.
      
      In summary, I am seeing no more perf improvements (or regressions) in my
      limited testing, but we believe this should be set to prevent rendering
      corruption, therefore cc stable.
      
      v1: Clear bit 4 also (Ken + Eugeni)
      Do a full clear + set of the bits we want (Me).
      
      Cc: Bernard Kilarski <bernard.r.kilarski@intel.com>
      Cc: stable <stable@vger.kernel.org>
      Reviewed-by (RFC): Kenneth Graunke <kenneth@whitecape.org>
      Signed-off-by: NBen Widawsky <benjamin.widawsky@intel.com>
      Reviewed-by: NEugeni Dodonov <eugeni.dodonov@intel.com>
      Reviewed-by: NKenneth Graunke <kenneth@whitecape.org>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      a1e969e0
    • C
      drm/i915: Replace open coded MI_BATCH_GTT · 65f56876
      Chris Wilson 提交于
      The (2<<6) virtual memory space selector harks back to gen3 and is
      mandatory given our use of GTT space for batchbuffers. On gen4+, use of
      the GTT became mandatory and bit6 marked reserved. However the code must
      now explicitly set (1<<7), which conveniently is also (2<<6).
      
      To clarify the meaning for future readers, replace the open coded (2<<6)
      with MI_BATCH_GTT.
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      65f56876
  9. 17 4月, 2012 8 次提交
  10. 13 4月, 2012 1 次提交
  11. 11 4月, 2012 1 次提交
  12. 10 4月, 2012 11 次提交