linux_dsm_epyc7002/drivers/gpu/drm/i915
Daniele Ceraolo Spurio 91e55e545a drm/i915/uc: Unify uc_fw status tracking
We currently track fetch and load status separately, but the 2 are
actually sequential in the uc lifetime (fetch must complete before we
can attempt the load!). Unifying the 2 variables we can better follow
the sequential states and improve our trackng of the uC state.

Also, sprinkle some GEM_BUG_ON to make sure we transition correctly
between states.

v2: rename states, add the running state (Michal), drop some logs in
    the fetch path (Michal, Chris)

v3: re-rename states, extend early status check to all helpers (Michal)

Suggested-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Link: https://patchwork.freedesktop.org/patch/msgid/20190725001813.4740-5-daniele.ceraolospurio@intel.com
2019-07-25 07:30:41 +01:00
..
display drm/i915/dsi: remove set but not used variable 'hfront_porch' 2019-07-19 20:20:24 +03:00
gem drm/i915/uc: Sanitize uC when GT is sanitized 2019-07-23 11:38:23 +01:00
gt drm/i915/uc: Unify uc_fw status tracking 2019-07-25 07:30:41 +01:00
gvt drm/i915: Drop extern qualifiers from header function prototypes 2019-07-12 13:04:54 +01:00
oa drm/i915: Drop extern qualifiers from header function prototypes 2019-07-12 13:04:54 +01:00
selftests drm/i915/selftests: Let igt_vma_partial et al breathe 2019-07-23 12:23:43 +01:00
.gitignore
i915_active_types.h drm/i915: Provide an i915_active.acquire callback 2019-06-21 19:47:55 +01:00
i915_active.c drm/i915: Markup potential lock for i915_active 2019-07-03 12:23:56 +01:00
i915_active.h drm/i915: Provide an i915_active.acquire callback 2019-06-21 19:47:55 +01:00
i915_cmd_parser.c
i915_debugfs.c drm/i915/uc: Unify uC platform check 2019-07-25 07:30:41 +01:00
i915_debugfs.h
i915_drv.c drm/i915: Use dev_get_drvdata 2019-07-23 17:55:08 +01:00
i915_drv.h drm/i915/uc: Unify uC platform check 2019-07-25 07:30:41 +01:00
i915_fixed.h drm/i915: make i915_fixed.h self-contained 2019-06-27 10:50:24 +03:00
i915_gem_batch_pool.c drm/i915: Throw away the active object retirement complexity 2019-06-21 19:47:51 +01:00
i915_gem_batch_pool.h
i915_gem_evict.c
i915_gem_fence_reg.c drm/i915: Use intel_uncore_rmw in intel_gt_init_swizzling 2019-06-21 13:48:24 +01:00
i915_gem_fence_reg.h drm/i915: Convert i915_gem_init_swizzling to intel_gt 2019-06-21 13:48:22 +01:00
i915_gem_gtt.c drm/i915: Rely on spinlock protection for GPU error capture 2019-07-23 00:22:20 +01:00
i915_gem_gtt.h drm/i915/gtt: Tidy up ppgtt insertion for gen8 2019-07-16 16:41:57 +01:00
i915_gem.c drm/i915: Squelch nop wait-for-idle trace 2019-07-23 17:20:19 +01:00
i915_gem.h
i915_globals.c
i915_globals.h drm/i915: make i915_globals.h self-contained 2019-06-27 10:50:32 +03:00
i915_gpu_error.c drm/i915/uc: Unify uC platform check 2019-07-25 07:30:41 +01:00
i915_gpu_error.h drm/i915: Rely on spinlock protection for GPU error capture 2019-07-23 00:22:20 +01:00
i915_ioc32.c
i915_irq.c drm/i915/uc: Unify uC platform check 2019-07-25 07:30:41 +01:00
i915_irq.h drm/i915/guc: move guc irq functions to intel_guc parameter 2019-07-13 19:56:01 +01:00
i915_memcpy.c
i915_mm.c
i915_params.c Revert "drm/i915: Update description of i915.enable_guc modparam" 2019-07-19 15:36:21 +01:00
i915_params.h Revert "drm/i915/guc: Turn on GuC/HuC auto mode" 2019-07-19 15:35:58 +01:00
i915_pci.c drm/i915/uc: Unify uC platform check 2019-07-25 07:30:41 +01:00
i915_perf.c drm/i915/oa: Reconfigure contexts on the fly 2019-07-17 07:58:27 +01:00
i915_pmu.c drm/i915: Show support for accurate sw PMU busyness tracking 2019-07-04 15:42:24 +01:00
i915_pmu.h
i915_priolist_types.h drm/i915: add infrastructure to hold off preemption on a request 2019-07-09 21:26:40 +01:00
i915_pvinfo.h drm/i915: make i915_pvinfo.h self-contained 2019-06-27 10:50:35 +03:00
i915_query.c
i915_query.h
i915_reg.h drm/i915/icl: Add Wa_1409178092 2019-07-19 15:35:21 +01:00
i915_request.c drm/i915/gt: Use intel_gt as the primary object for handling resets 2019-07-12 21:06:56 +01:00
i915_request.h drm/i915: add infrastructure to hold off preemption on a request 2019-07-09 21:26:40 +01:00
i915_scatterlist.c
i915_scatterlist.h
i915_scheduler_types.h drm/i915/execlists: Minimalistic timeslicing 2019-06-20 16:52:36 +01:00
i915_scheduler.c drm/i915/execlists: Minimalistic timeslicing 2019-06-20 16:52:36 +01:00
i915_scheduler.h
i915_selftest.h drm/i915/gt: Use intel_gt as the primary object for handling resets 2019-07-12 21:06:56 +01:00
i915_suspend.c drm/i915: move modesetting core code under display/ 2019-06-17 11:48:32 +03:00
i915_sw_fence.c
i915_sw_fence.h
i915_syncmap.c
i915_syncmap.h
i915_sysfs.c drm/i915: update with_intel_runtime_pm to use the rpm structure 2019-06-14 15:58:33 +01:00
i915_trace_points.c
i915_trace.h drm/i915: Copy name string into ring buffer for intel_update/disable_plane tracepoints 2019-07-11 22:53:20 +03:00
i915_user_extensions.c
i915_user_extensions.h
i915_utils.h drm/i915/execlists: Preempt-to-busy 2019-06-20 16:52:36 +01:00
i915_vgpu.c drm/i915/gt: Fixup kerneldoc parameters 2019-06-21 16:04:09 +01:00
i915_vgpu.h drm/i915: make i915_vgpu.h self-contained 2019-06-27 10:50:38 +03:00
i915_vma.c drm/i915: Mark up vma->active as safe for use inside shrinkers 2019-07-03 12:24:08 +01:00
i915_vma.h drm/i915: Move fence register tracking from i915->mm to ggtt 2019-06-13 09:37:39 +01:00
intel_csr.c Linux 5.2-rc5 2019-06-19 12:07:29 +02:00
intel_csr.h
intel_device_info.c drm/i915/tgl: Check if pipe D is fused 2019-07-11 16:31:03 -07:00
intel_device_info.h drm/i915/uc: Unify uC platform check 2019-07-25 07:30:41 +01:00
intel_drv.h drm/i915: Add support for retrying hotplug 2019-07-15 12:13:34 -07:00
intel_gvt.c drm/i915: Propagate "_remove" function name suffix down 2019-07-12 13:05:08 +01:00
intel_gvt.h drm/i915: Propagate "_remove" function name suffix down 2019-07-12 13:05:08 +01:00
intel_pm.c drm/i915/uc: Unify uC platform check 2019-07-25 07:30:41 +01:00
intel_pm.h drm/i915: Convert most of atomic commit to take more intel state 2019-07-01 10:32:14 +02:00
intel_runtime_pm.c drm/i915: Propagate "_release" function name suffix down 2019-07-12 13:05:05 +01:00
intel_runtime_pm.h drm/i915: Propagate "_release" function name suffix down 2019-07-12 13:05:05 +01:00
intel_sideband.c
intel_sideband.h
intel_uncore.c drm/i915: Replace "_load" with "_probe" consequently 2019-07-12 13:05:02 +01:00
intel_uncore.h drm/i915: Explicitly track active fw_domain timers 2019-07-08 17:33:10 +01:00
intel_wakeref.c drm/i915: Local debug BUG_ON for intel_wakeref 2019-06-21 19:48:00 +01:00
intel_wakeref.h drm/i915: Add a wakeref getter for iff the wakeref is already active 2019-06-26 18:01:01 +01:00
intel_wopcm.c drm/i915/uc: Unify uC platform check 2019-07-25 07:30:41 +01:00
intel_wopcm.h drm/i915: Stop using I915_READ/WRITE in intel_wopcm_init_hw 2019-06-21 13:48:32 +01:00
Kconfig
Kconfig.debug drm/i915/gtt: Recursive ppgtt clear for gen8 2019-07-12 19:40:43 +01:00
Kconfig.profile drm/i915: Add a label for config DRM_I915_SPIN_REQUEST 2019-06-12 11:18:55 +01:00
Makefile drm/i915/uc: move GuC and HuC files under gt/uc/ 2019-07-13 19:58:23 +01:00
Makefile.header-test drm/i915/uc: move GuC and HuC files under gt/uc/ 2019-07-13 19:58:23 +01:00