1. 13 12月, 2018 4 次提交
  2. 23 10月, 2018 1 次提交
  3. 04 9月, 2018 2 次提交
  4. 16 8月, 2018 1 次提交
  5. 13 8月, 2018 2 次提交
  6. 09 8月, 2018 1 次提交
  7. 24 7月, 2018 1 次提交
  8. 08 6月, 2018 2 次提交
  9. 17 5月, 2018 1 次提交
  10. 11 5月, 2018 1 次提交
    • O
      drm/i915/icl: Introduce initial Icelake Workarounds · cc38cae7
      Oscar Mateo 提交于
      Inherit workarounds from previous platforms that are still valid for
      Icelake.
      
      v2: GEN7_ROW_CHICKEN2 is masked
      v3:
        - Since it has been fixed already in upstream, removed the TODO
          comment about WA_SET_BIT for WaInPlaceDecompressionHang.
        - Squashed with this patch:
            drm/i915/icl: add icelake_init_clock_gating()
          from Paulo Zanoni <paulo.r.zanoni@intel.com>
        - Squashed with this patch:
            drm/i915/icl: WaForceEnableNonCoherent
          from Oscar Mateo <oscar.mateo@intel.com>
        - WaPushConstantDereferenceHoldDisable is now Wa_1604370585 and
          applies to B0 as well.
        - WaPipeControlBefore3DStateSamplePattern WABB was being applied
          to ICL incorrectly.
      v4:
        - Wrap the commit message
        - s/dev_priv/p to please checkpatch
      v5: Rebased on top of the WA refactoring
      v6: Rebased on top of further whitelist registers refactoring (Michel)
      v7: Added WaRsForcewakeAddDelayForAck
      v8: s/ICL_HDC_CHICKEN0/ICL_HDC_MODE (Mika)
      v9:
        - C, not lisp (Chris)
        - WaIncreaseDefaultTLBEntries is the same for GEN > 9_LP (Tvrtko)
      Signed-off-by: NOscar Mateo <oscar.mateo@intel.com>
      Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
      Cc: Tomasz Lis <tomasz.lis@intel.com>
      Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
      Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
      Reviewed-by: NMika Kuoppala <mika.kuoppala@linux.intel.com>
      Signed-off-by: NMika Kuoppala <mika.kuoppala@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/1525814984-20039-2-git-send-email-oscar.mateo@intel.com
      cc38cae7
  11. 06 4月, 2018 1 次提交
  12. 30 3月, 2018 2 次提交
  13. 23 3月, 2018 1 次提交
    • C
      drm/i915: Flush pending interrupt following a GPU reset · 0f36a85c
      Chris Wilson 提交于
      After resetting the GPU (or subset of engines), call synchronize_irq()
      to flush any pending irq before proceeding with the cleanup. For a
      device level reset, we disable the interupts around the reset, but when
      resetting just one engine, we have to avoid such global disabling. This
      leaves us open to an interrupt arriving for the engine as we try to
      reset it. We already do try to flush the IIR following the reset, but we
      have to ensure that the in-flight interrupt does not land after we start
      cleaning up after the reset; enter synchronize_irq().
      
      As it current stands, we very rarely, but fatally, see sequences such as:
      
          2.... 57964564us : execlists_reset_prepare: rcs0
          2.... 57964613us : execlists_reset: rcs0 seqno=424
          0d.h1 57964615us : gen8_cs_irq_handler: rcs0 CS active=1
          2d..1 57964617us : __i915_request_unsubmit: rcs0 fence 29:1056 <- global_seqno 1060
          2.... 57964703us : execlists_reset_finish: rcs0
          0..s. 57964705us : execlists_submission_tasklet: rcs0 awake?=1, active=0, irq-posted?=1
      
      v2: Move the sync into the execlists reset handler so that we coordinate
      the flush with disabling the interrupt handling and canceling the
      pending interrupt.
      v3: Just use synchronize_hardirq() to avoid the might_sleep(), we do not
      yet have threaded-irq to worry about.
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
      Cc: Michel Thierry <michel.thierry@intel.com>
      Cc: Michał Winiarski <michal.winiarski@intel.com>
      Cc: Jeff McGee <jeff.mcgee@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20180322073533.5313-4-chris@chris-wilson.co.ukReviewed-by: NJeff McGee <jeff.mcgee@intel.com>
      0f36a85c
  14. 20 3月, 2018 1 次提交
    • O
      drm/i915/icl: Check for fused-off VDBOX and VEBOX instances · 26376a7e
      Oscar Mateo 提交于
      In Gen11, the Video Decode engines (aka VDBOX, aka VCS, aka BSD) and the
      Video Enhancement engines (aka VEBOX, aka VECS) could be fused off. Also,
      each VDBOX and VEBOX has its own power well, which only exist if the
      related engine exists in the HW.
      
      Unfortunately, we have a Catch-22 situation going on: we need the blitter
      forcewake to read the register with the fuse info, but we cannot initialize
      the forcewake domains without knowin about the engines present in the HW.
      We workaround this problem by allowing the initialization of all forcewake
      domains and then pruning the fused off ones, as per the fuse information.
      
      Bspec: 20680
      
      v2: We were shifting incorrectly for vebox disable (Vinay)
      
      v3: Assert mmio is ready and warn if we have attempted to initialize
          forcewake for fused-off engines (Paulo)
      
      v4:
        - Use INTEL_GEN in new code (Tvrtko)
        - Shorter local variable (Tvrtko, Michal)
        - Keep "if (!...) continue" style (Tvrtko)
        - No unnecessary BUG_ON (Tvrtko)
        - WARN_ON and cleanup if wrong mask (Tvrtko, Michal)
        - Use I915_READ_FW (Michal)
        - Use I915_MAX_VCS/VECS macros (Michal)
      
      v5: Rebased by Rodrigo fixing conflicts on top of:
          "drm/i915: Simplify intel_engines_init"
      
      v6: Fix v5. Remove info->num_rings. (by Oscar)
      
      v7: Rebase (Rodrigo).
      
      v8:
        - s/intel_device_info_fused_off_engines/
          intel_device_info_init_mmio (Chris)
        - Make vdbox_disable & vebox_disable local variables (Chris)
      
      v9:
        - Move function declaration to intel_device_info.h (Michal)
        - Missing indent in bit fields definitions (Michal)
        - When RC6 is enabled by BIOS, the fuse register cannot be read until
          the blitter powerwell is awake. Shuffle where the fuse is read, prune
          the forcewake domains after the fact and change the commit message
          accordingly (Vinay, Sagar, Chris).
      
      v10:
        - Improved commit message (Sagar)
        - New line in header file (Sagar)
        - Specify the message in fw_domain_reset applies to ICL+ (Sagar)
      
      Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
      Cc: Vinay Belgaumkar <vinay.belgaumkar@intel.com>
      Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
      Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
      Cc: Sagar Arun Kamble <sagar.a.kamble@intel.com>
      Signed-off-by: NRodrigo Vivi <rodrigo.vivi@intel.com>
      Signed-off-by: NOscar Mateo <oscar.mateo@intel.com>
      Reviewed-by: NSagar Arun Kamble <sagar.a.kamble@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20180316121456.11577-1-mika.kuoppala@linux.intel.com
      [Mika: soothe checkpatch on commit msg]
      Signed-off-by: NMika Kuoppala <mika.kuoppala@linux.intel.com>
      26376a7e
  15. 07 3月, 2018 1 次提交
  16. 10 2月, 2018 1 次提交
  17. 08 2月, 2018 2 次提交
  18. 01 2月, 2018 1 次提交
  19. 09 1月, 2018 1 次提交
  20. 03 1月, 2018 1 次提交
  21. 01 12月, 2017 1 次提交
  22. 21 11月, 2017 2 次提交
  23. 15 11月, 2017 2 次提交
  24. 14 11月, 2017 1 次提交
  25. 10 11月, 2017 1 次提交
    • H
      drm/i915: Acquire PUNIT->PMIC bus for intel_uncore_forcewake_reset() · a5266db4
      Hans de Goede 提交于
      intel_uncore_forcewake_reset() does forcewake puts and gets as such
      we need to make sure that no-one tries to access the PUNIT->PMIC bus
      (on systems where this bus is shared) while it runs, otherwise bad
      things happen.
      
      Normally this is taken care of by the i915_pmic_bus_access_notifier()
      which does an intel_uncore_forcewake_get(FORCEWAKE_ALL) when some other
      driver tries to access the PMIC bus, so that later forcewake gets are
      no-ops (for the duration of the bus access).
      
      But intel_uncore_forcewake_reset gets called in 3 cases:
      1) Before registering the pmic_bus_access_notifier
      2) After unregistering the pmic_bus_access_notifier
      3) To reset forcewake state on a GPU reset
      
      In all 3 cases the i915_pmic_bus_access_notifier() protection is
      insufficient.
      
      This commit fixes this race by calling iosf_mbi_punit_acquire() before
      calling intel_uncore_forcewake_reset(). In the case where it is called
      directly after unregistering the pmic_bus_access_notifier, we need to
      hold the punit-lock over both calls to avoid a race where
      intel_uncore_fw_release_timer() may execute between the 2 calls.
      Reviewed-by: NImre Deak <imre.deak@intel.com>
      Acked-by: NIngo Molnar <mingo@kernel.org>
      Signed-off-by: NHans de Goede <hdegoede@redhat.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20171019111620.26761-3-hdegoede@redhat.com
      a5266db4
  26. 02 11月, 2017 3 次提交
  27. 27 10月, 2017 1 次提交
  28. 14 10月, 2017 1 次提交