1. 02 8月, 2022 1 次提交
  2. 21 7月, 2022 1 次提交
  3. 20 7月, 2022 1 次提交
  4. 01 7月, 2022 1 次提交
  5. 29 6月, 2022 1 次提交
  6. 08 6月, 2022 1 次提交
  7. 06 5月, 2022 1 次提交
  8. 28 4月, 2022 1 次提交
  9. 15 4月, 2022 1 次提交
    • J
      drm/i915/guc: Update to GuC version 70.1.1 · 2584b354
      John Harrison 提交于
      The latest GuC firmware drops the context descriptor pool in favour of
      passing all creation data in the create H2G. It also greatly simplifies
      the work queue and removes the process descriptor used for multi-LRC
      submission. So, remove all mention of LRC and process descriptors and
      update the registration code accordingly.
      
      Unfortunately, the new API also removes the ability to set default
      values for the scheduling policies at context registration time.
      Instead, a follow up H2G must be sent. The individual scheduling
      policy update H2G commands are also dropped in favour of a single KLV
      based H2G. So, change the update wrappers accordingly and call this
      during context registration..
      
      Of course, this second H2G per registration might fail due to being
      backed up. The registration code has a complicated state machine to
      cope with the actual registration call failing. However, if that works
      then there is no support for unwinding if a further call should fail.
      Unwinding would require sending a H2G to de-register - but that can't
      be done because the CTB is already backed up.
      
      So instead, add a new flag to say whether the context has a pending
      policy update. This is set if the policy H2G fails at registration
      time. The submission code checks for this flag and retries the policy
      update if set. If that call fails, the submission path early exists
      with a retry error. This is something that is already supported for
      other reasons.
      Signed-off-by: NJohn Harrison <John.C.Harrison@Intel.com>
      Reviewed-by: NDaniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
      Signed-off-by: NMatt Roper <matthew.d.roper@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20220412225955.1802543-2-John.C.Harrison@Intel.com
      2584b354
  10. 04 3月, 2022 1 次提交
  11. 14 2月, 2022 1 次提交
  12. 02 2月, 2022 1 次提交
    • M
      drm/i915: Only include i915_reg.h from .c files · ce2fce25
      Matt Roper 提交于
      Several of our i915 header files, have been including i915_reg.h.  This
      means that any change to i915_reg.h will trigger a full rebuild of
      pretty much every file of the driver, even those that don't have any
      kind of register access.  Let's delete the i915_reg.h include from all
      headers and add an explicit include from the .c files that truly
      need the register definitions; those that need a definition of
      i915_reg_t for a function definition can get it from i915_reg_defs.h
      instead.
      
      We also remove two non-register #define's (VLV_DISPLAY_BASE and
      GEN12_SFC_DONE_MAX) into i915_reg_defs.h to allow us to drop the
      i915_reg.h include from a couple of headers.
      
      There's probably a lot more header dependency optimization possible, but
      the changes here roughly cut the number of files compiled after 'touch
      i915_reg.h' in half --- a good first step.
      
      Cc: Jani Nikula <jani.nikula@intel.com>
      Signed-off-by: NMatt Roper <matthew.d.roper@intel.com>
      Reviewed-by: NLucas De Marchi <lucas.demarchi@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20220127234334.4016964-7-matthew.d.roper@intel.com
      ce2fce25
  13. 12 1月, 2022 1 次提交
    • J
      drm/i915/guc: Update to GuC version 69.0.3 · 77b6f79d
      John Harrison 提交于
      Update to the latest GuC release.
      
      The latest GuC firmware introduces a number of interface changes:
      
      GuC may return NO_RESPONSE_RETRY message for requests sent over CTB.
      Add support for this reply and try resending the request again as a
      new CTB message.
      
      A KLV (key-length-value) mechanism is now used for passing
      configuration data such as CTB management.
      
      With the new KLV scheme, the old CTB management actions are no longer
      used and are removed.
      
      Register capture on hang is now supported by GuC. Full i915 support
      for this will be added by a later patch. A minimum support of
      providing capture memory and register lists is required though, so add
      that in.
      
      The device id of the current platform needs to be provided at init time.
      
      The 'poll CS' w/a (Wa_22012773006) was blanket enabled by previous
      versions of GuC. It must now be explicitly requested by the KMD. So,
      add in the code to turn it on when relevant.
      
      The GuC log entry format has changed. This requires adding a new field
      to the log header structure to mark the wrap point at the end of the
      buffer (as the buffer size is no longer a multiple of the log entry
      size).
      
      New CTB notification messages are now sent for some things that were
      previously only sent via MMIO notifications.
      
      Of these, the crash dump notification was not really being handled by
      i915. It called the log flush code but that only flushed the regular
      debug log and then only if relay logging was enabled. So just report
      an error message instead.
      
      The 'exception' notification was just being ignored completely. So add
      an error message for that as well.
      
      Note that in either the crash dump or the exception case, the GuC is
      basically dead. The KMD will detect this via the heartbeat and trigger
      both an error log (which will include the crash dump as part of the
      GuC log) and a GT reset. So no other processing is really required.
      Signed-off-by: NJohn Harrison <John.C.Harrison@Intel.com>
      Signed-off-by: NMichal Wajdeczko <michal.wajdeczko@intel.com>
      Reviewed-by: NMatthew Brost <matthew.brost@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20220107000622.292081-3-John.C.Harrison@Intel.com
      77b6f79d
  14. 11 1月, 2022 1 次提交
  15. 14 12月, 2021 3 次提交
  16. 11 12月, 2021 1 次提交
  17. 24 9月, 2021 1 次提交
    • T
      drm/i915: Reduce the number of objects subject to memcpy recover · a259cc14
      Thomas Hellström 提交于
      We really only need memcpy restore for objects that affect the
      operability of the migrate context. That is, primarily the page-table
      objects of the migrate VM.
      
      Add an object flag, I915_BO_ALLOC_PM_EARLY for objects that need early
      restores using memcpy and a way to assign LMEM page-table object flags
      to be used by the vms.
      
      Restore objects without this flag with the gpu blitter and only objects
      carrying the flag using TTM memcpy.
      
      Initially mark the migrate, gt, gtt and vgpu vms to use this flag, and
      defer for a later audit which vms actually need it. Most importantly, user-
      allocated vms with pinned page-table objects can be restored using the
      blitter.
      
      Performance-wise memcpy restore is probably as fast as gpu restore if not
      faster, but using gpu restore will help tackling future restrictions in
      mappable LMEM size.
      
      v4:
      - Don't mark the aliasing ppgtt page table flags for early resume, but
        rather the ggtt page table flags as intended. (Matthew Auld)
      - The check for user buffer objects during early resume is pointless, since
        they are never marked I915_BO_ALLOC_PM_EARLY. (Matthew Auld)
      v5:
      - Mark GuC LMEM objects with I915_BO_ALLOC_PM_EARLY to have them restored
        before we fire up the migrate context.
      
      Cc: Matthew Brost <matthew.brost@intel.com>
      Signed-off-by: NThomas Hellström <thomas.hellstrom@linux.intel.com>
      Reviewed-by: NMatthew Auld <matthew.auld@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20210922062527.865433-8-thomas.hellstrom@linux.intel.com
      a259cc14
  18. 21 9月, 2021 3 次提交
  19. 09 7月, 2021 2 次提交
  20. 19 6月, 2021 1 次提交
  21. 25 3月, 2021 1 次提交
  22. 01 2月, 2021 1 次提交
  23. 20 1月, 2021 1 次提交
  24. 05 1月, 2021 1 次提交
  25. 30 12月, 2020 1 次提交
  26. 29 10月, 2020 1 次提交
  27. 14 10月, 2020 1 次提交
  28. 18 8月, 2020 1 次提交
  29. 23 6月, 2020 1 次提交
    • J
      drm/i915/params: switch to device specific parameters · 8a25c4be
      Jani Nikula 提交于
      Start using device specific parameters instead of module parameters for
      most things. The module parameters become the immutable initial values
      for i915 parameters. The device specific parameters in i915->params
      start life as a copy of i915_modparams. Any later changes are only
      reflected in the debugfs.
      
      The stragglers are:
      
      * i915.force_probe and i915.modeset. Needed before dev_priv is
        available. This is fine because the parameters are read-only and never
        modified.
      
      * i915.verbose_state_checks. Passing dev_priv to I915_STATE_WARN and
        I915_STATE_WARN_ON would result in massive and ugly churn. This is
        handled by not exposing the parameter via debugfs, and leaving the
        parameter writable in sysfs. This may be fixed up in follow-up work.
      
      * i915.inject_probe_failure. Only makes sense in terms of the module,
        not the device. This is handled by not exposing the parameter via
        debugfs.
      
      v2: Fix uc i915 lookup code (Michał Winiarski)
      
      Cc: Juha-Pekka Heikkilä <juha-pekka.heikkila@intel.com>
      Cc: Venkata Sandeep Dhanalakota <venkata.s.dhanalakota@intel.com>
      Cc: Michał Winiarski <michal.winiarski@intel.com>
      Reviewed-by: NRodrigo Vivi <rodrigo.vivi@intel.com>
      Acked-by: NMichał Winiarski <michal.winiarski@intel.com>
      Signed-off-by: NJani Nikula <jani.nikula@intel.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/20200618150402.14022-1-jani.nikula@intel.com
      8a25c4be
  30. 03 6月, 2020 1 次提交
  31. 20 5月, 2020 1 次提交
  32. 08 4月, 2020 2 次提交
  33. 03 4月, 2020 1 次提交
  34. 27 3月, 2020 1 次提交