1. 02 8月, 2016 1 次提交
  2. 21 7月, 2016 1 次提交
  3. 20 7月, 2016 2 次提交
  4. 01 7月, 2016 1 次提交
  5. 18 6月, 2016 1 次提交
    • Z
      drm/i915: Make addressing mode bits in context descriptor configurable · c01fc532
      Zhi Wang 提交于
      Currently the addressing mode bit in context descriptor is statically
      generated from the configuration of system-wide PPGTT usage model.
      
      GVT-g will load the PPGTT shadow page table by itself and probably one
      guest is using a different addressing mode with i915 host. The addressing
      mode bits of a LRC context should be configurable under this case.
      
      v10:
      
      - Fix the identation. (Joonas)
      
      v9:
      - Rename the data member in struct i915_gem_context. (Chris)
      
      v8:
      - Rename the data member in struct i915_gem_context. (Chris)
      
      v7:
      - Move context addressing mode bit into i915_reg.h. (Joonas/Chris)
      - Add prefix "INTEL_" for related definitions. (Joonas)
      
      v6:
      - Directly save the addressing mode bits inside i915_gem_context. (Chris)
      - Move the LRC context addressing mode bits into intel_lrc.h. (Chris)
      
      v5:
      - Change USES_FULL_48BIT(dev) to USES_FULL_48BIT(dev_priv) (Tvrtko)
      
      Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> (v9)
      Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
      Signed-off-by: NZhi Wang <zhi.a.wang@intel.com>
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Link: http://patchwork.freedesktop.org/patch/msgid/1466078825-6662-7-git-send-email-zhi.a.wang@intel.com
      c01fc532
  6. 14 6月, 2016 2 次提交
    • A
      drm/i915/bxt: Add WaDisablePooledEuLoadBalancingFix · 780f0aeb
      arun.siluvery@linux.intel.com 提交于
      This is a WA affecting pooled eu which is a bxt specific feature.
      Reviewed-by: NMika Kuoppala <mika.kuoppala@intel.com>
      Cc: Winiarski, Michal <michal.winiarski@intel.com>
      Cc: Zou, Nanhai <nanhai.zou@intel.com>
      Cc: Yang, Rong R <rong.r.yang@intel.com>
      Cc: Jeff McGee <jeff.mcgee@intel.com>
      Signed-off-by: NArun Siluvery <arun.siluvery@linux.intel.com>
      Signed-off-by: NTvrtko Ursulin <tvrtko.ursulin@intel.com>
      780f0aeb
    • A
      drm/i915:bxt: Enable Pooled EU support · 33e141ed
      arun.siluvery@linux.intel.com 提交于
      This mode allows to assign EUs to pools which can process work collectively.
      The command to enable this mode should be issued as part of context initialization.
      
      The pooled mode is global, once enabled it has to stay the same across all
      contexts until HW reset hence this is sent in auxiliary golden context batch.
      Thanks to Mika for the preliminary review and comments.
      
      v2: explain why this is enabled in golden context, use feature flag while
      enabling the support (Chris)
      
      v3: Include only kernel support as userspace support is not available yet.
      
      User space clients need to know when the pooled EU feature is present
      and enabled on the hardware so that they can adapt work submissions.
      Create a new device info flag for this purpose.
      
      Set has_pooled_eu to true in the Broxton static device info - Broxton
      supports the feature in hardware and the driver will enable it by
      default.
      
      We need to add getparam ioctls to enable userspace to query availability of
      this feature and to retrieve min. no of eus in a pool but we will expose
      them once userspace support is available. Opensource users for this feature
      are mesa, libva and beignet.
      
      Beignet team is currently working on adding userspace support.
      
      Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> (v2)
      Cc: Winiarski, Michal <michal.winiarski@intel.com>
      Cc: Zou, Nanhai <nanhai.zou@intel.com>
      Cc: Yang, Rong R <rong.r.yang@intel.com>
      Cc: Mika Kuoppala <mika.kuoppala@intel.com>
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Cc: Armin Reese <armin.c.reese@intel.com>
      Cc: Tim Gore <tim.gore@intel.com>
      Signed-off-by: NJeff McGee <jeff.mcgee@intel.com>
      Signed-off-by: NArun Siluvery <arun.siluvery@linux.intel.com>
      Reviewed-by: NMichał Winiarski <michal.winiarski@intel.com>
      Signed-off-by: NTvrtko Ursulin <tvrtko.ursulin@intel.com>
      33e141ed
  7. 13 6月, 2016 3 次提交
  8. 08 6月, 2016 11 次提交
  9. 06 6月, 2016 2 次提交
  10. 04 6月, 2016 1 次提交
  11. 01 6月, 2016 1 次提交
  12. 20 5月, 2016 1 次提交
  13. 14 5月, 2016 1 次提交
  14. 04 5月, 2016 1 次提交
  15. 03 5月, 2016 2 次提交
  16. 28 4月, 2016 2 次提交
  17. 27 4月, 2016 1 次提交
    • V
      drm/i915: Make RPS EI/thresholds multiple of 25 on SNB-BDW · 4ea39590
      Ville Syrjälä 提交于
      Somehow my SNB GT1 (Dell XPS 8300) gets very unhappy around
      GPU hangs if the RPS EI/thresholds aren't suitably aligned.
      It seems like scheduling/timer interupts stop working somehow
      and things get stuck eg. in usleep_range().
      
      I bisected the problem down to
      commit 8a586437 ("drm/i915/skl: Restructured the gen6_set_rps_thresholds function")
      I observed that before all the values were at least multiples of 25,
      but afterwards they are not. And rounding things up to the next multiple
      of 25 does seem to help, so lets' do that. I also tried roundup(..., 5)
      but that wasn't sufficient. Also I have no idea if we might need this sort of
      thing on gen9+ as well.
      
      These are the original EI/thresholds:
       LOW_POWER
        GEN6_RP_UP_EI          12500
        GEN6_RP_UP_THRESHOLD   11800
        GEN6_RP_DOWN_EI        25000
        GEN6_RP_DOWN_THRESHOLD 21250
       BETWEEN
        GEN6_RP_UP_EI          10250
        GEN6_RP_UP_THRESHOLD    9225
        GEN6_RP_DOWN_EI        25000
        GEN6_RP_DOWN_THRESHOLD 18750
       HIGH_POWER
        GEN6_RP_UP_EI           8000
        GEN6_RP_UP_THRESHOLD    6800
        GEN6_RP_DOWN_EI        25000
        GEN6_RP_DOWN_THRESHOLD 15000
      
      These are after 8a586437:
       LOW_POWER
        GEN6_RP_UP_EI          12500
        GEN6_RP_UP_THRESHOLD   11875
        GEN6_RP_DOWN_EI        25000
        GEN6_RP_DOWN_THRESHOLD 21250
       BETWEEN
        GEN6_RP_UP_EI          10156
        GEN6_RP_UP_THRESHOLD    9140
        GEN6_RP_DOWN_EI        25000
        GEN6_RP_DOWN_THRESHOLD 18750
       HIGH_POWER
        GEN6_RP_UP_EI           7812
        GEN6_RP_UP_THRESHOLD    6640
        GEN6_RP_DOWN_EI        25000
        GEN6_RP_DOWN_THRESHOLD 15000
      
      And these are what we have after this patch:
       LOW_POWER
        GEN6_RP_UP_EI          12500
        GEN6_RP_UP_THRESHOLD   11875
        GEN6_RP_DOWN_EI        25000
        GEN6_RP_DOWN_THRESHOLD 21250
       BETWEEN
        GEN6_RP_UP_EI          10175
        GEN6_RP_UP_THRESHOLD    9150
        GEN6_RP_DOWN_EI        25000
        GEN6_RP_DOWN_THRESHOLD 18750
       HIGH_POWER
        GEN6_RP_UP_EI           7825
        GEN6_RP_UP_THRESHOLD    6650
        GEN6_RP_DOWN_EI        25000
        GEN6_RP_DOWN_THRESHOLD 15000
      
      Cc: stable@vger.kernel.org
      Cc: Akash Goel <akash.goel@intel.com>
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Testcase: igt/kms_pipe_crc_basic/hang-read-crc-pipe-B
      Fixes: 8a586437 ("drm/i915/skl: Restructured the gen6_set_rps_thresholds function")
      Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/1461159836-9108-1-git-send-email-ville.syrjala@linux.intel.comAcked-by: NChris Wilson <chris@chris-wilson.co.uk>
      Reviewed-by: NPatrik Jakobsson <patrik.jakobsson@linux.intel.com>
      (cherry picked from commit 8a292d01)
      Signed-off-by: NJani Nikula <jani.nikula@intel.com>
      4ea39590
  18. 25 4月, 2016 1 次提交
  19. 24 4月, 2016 1 次提交
  20. 23 4月, 2016 1 次提交
    • V
      drm/i915: Make RPS EI/thresholds multiple of 25 on SNB-BDW · 8a292d01
      Ville Syrjälä 提交于
      Somehow my SNB GT1 (Dell XPS 8300) gets very unhappy around
      GPU hangs if the RPS EI/thresholds aren't suitably aligned.
      It seems like scheduling/timer interupts stop working somehow
      and things get stuck eg. in usleep_range().
      
      I bisected the problem down to
      commit 8a586437 ("drm/i915/skl: Restructured the gen6_set_rps_thresholds function")
      I observed that before all the values were at least multiples of 25,
      but afterwards they are not. And rounding things up to the next multiple
      of 25 does seem to help, so lets' do that. I also tried roundup(..., 5)
      but that wasn't sufficient. Also I have no idea if we might need this sort of
      thing on gen9+ as well.
      
      These are the original EI/thresholds:
       LOW_POWER
        GEN6_RP_UP_EI          12500
        GEN6_RP_UP_THRESHOLD   11800
        GEN6_RP_DOWN_EI        25000
        GEN6_RP_DOWN_THRESHOLD 21250
       BETWEEN
        GEN6_RP_UP_EI          10250
        GEN6_RP_UP_THRESHOLD    9225
        GEN6_RP_DOWN_EI        25000
        GEN6_RP_DOWN_THRESHOLD 18750
       HIGH_POWER
        GEN6_RP_UP_EI           8000
        GEN6_RP_UP_THRESHOLD    6800
        GEN6_RP_DOWN_EI        25000
        GEN6_RP_DOWN_THRESHOLD 15000
      
      These are after 8a586437:
       LOW_POWER
        GEN6_RP_UP_EI          12500
        GEN6_RP_UP_THRESHOLD   11875
        GEN6_RP_DOWN_EI        25000
        GEN6_RP_DOWN_THRESHOLD 21250
       BETWEEN
        GEN6_RP_UP_EI          10156
        GEN6_RP_UP_THRESHOLD    9140
        GEN6_RP_DOWN_EI        25000
        GEN6_RP_DOWN_THRESHOLD 18750
       HIGH_POWER
        GEN6_RP_UP_EI           7812
        GEN6_RP_UP_THRESHOLD    6640
        GEN6_RP_DOWN_EI        25000
        GEN6_RP_DOWN_THRESHOLD 15000
      
      And these are what we have after this patch:
       LOW_POWER
        GEN6_RP_UP_EI          12500
        GEN6_RP_UP_THRESHOLD   11875
        GEN6_RP_DOWN_EI        25000
        GEN6_RP_DOWN_THRESHOLD 21250
       BETWEEN
        GEN6_RP_UP_EI          10175
        GEN6_RP_UP_THRESHOLD    9150
        GEN6_RP_DOWN_EI        25000
        GEN6_RP_DOWN_THRESHOLD 18750
       HIGH_POWER
        GEN6_RP_UP_EI           7825
        GEN6_RP_UP_THRESHOLD    6650
        GEN6_RP_DOWN_EI        25000
        GEN6_RP_DOWN_THRESHOLD 15000
      
      Cc: stable@vger.kernel.org
      Cc: Akash Goel <akash.goel@intel.com>
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Testcase: igt/kms_pipe_crc_basic/hang-read-crc-pipe-B
      Fixes: 8a586437 ("drm/i915/skl: Restructured the gen6_set_rps_thresholds function")
      Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/1461159836-9108-1-git-send-email-ville.syrjala@linux.intel.comAcked-by: NChris Wilson <chris@chris-wilson.co.uk>
      Reviewed-by: NPatrik Jakobsson <patrik.jakobsson@linux.intel.com>
      8a292d01
  21. 20 4月, 2016 1 次提交
  22. 19 4月, 2016 1 次提交
    • J
      drm/i915: Clean up PCI config register handling · e10fa551
      Joonas Lahtinen 提交于
      Do not use magic numbers, do not prefix stuff with "PCI_", do not
      declare registers in implementation files. Also move the PCI
      registers under correct comment in i915_reg.h.
      
      v2:
      - Consistently use BSM (not BDSM or other variants from PRM) (Chris)
      - Also include register address to help identify the register (Chris)
      v3:
      - Refer to register value as *_val instead of *_reg (Chris)
      v4:
      - Make style checker happy
      
      Cc: Jani Nikula <jani.nikula@intel.com>
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Reviewed-by: NChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: NJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
      e10fa551
  23. 15 4月, 2016 1 次提交