OpenCloudOS-Kernel/drivers/gpu/drm/i915
Lionel Landwerlin daed3e4439 drm/i915/perf: implement active wait for noa configurations
NOA configuration take some amount of time to apply. That amount of
time depends on the size of the GT. There is no documented time for
this. For example, past experimentations with powergating
configuration changes seem to indicate a 60~70us delay. We go with
500us as default for now which should be over the required amount of
time (according to HW architects).

v2: Don't forget to save/restore registers used for the wait (Chris)

v3: Name used CS_GPR registers (Chris)
    Fix compile issue due to rebase (Lionel)

v4: Fix save/restore helpers (Umesh)

v5: Move noa_wait from drm_i915_private to i915_perf_stream (Lionel)

v6: Add missing struct declarations in i915_perf.h

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Link: https://patchwork.freedesktop.org/patch/msgid/20191012072308.30312-2-chris@chris-wilson.co.uk
2019-10-12 09:08:33 +01:00
..
display drm/i915: Remove cursor use of properties for coordinates 2019-10-10 16:01:04 +02:00
gem drm/i915/selftests: fix null pointer dereference on pointer data 2019-10-09 11:16:14 +01:00
gt drm/i915/perf: implement active wait for noa configurations 2019-10-12 09:08:33 +01:00
gvt drm/i915: Move context management under GEM 2019-10-04 15:39:34 +01:00
oa drm/i915/perf: Refactor oa object to better manage resources 2019-08-07 20:34:39 +01:00
selftests drm/i915/perf: implement active wait for noa configurations 2019-10-12 09:08:33 +01:00
Kconfig drm/i915: Fix Kconfig indentation 2019-10-08 09:18:19 +03:00
Kconfig.debug drm/i915: Fix Kconfig indentation 2019-10-08 09:18:19 +03:00
Kconfig.profile
Makefile drm/i915: introduce intel_memory_region 2019-10-08 20:49:55 +01:00
i915_active.c drm/i915: Move idle barrier cleanup into engine-pm 2019-10-04 15:39:16 +01:00
i915_active.h drm/i915: Coordinate i915_active with its own mutex 2019-10-04 15:39:12 +01:00
i915_active_types.h drm/i915: Coordinate i915_active with its own mutex 2019-10-04 15:39:12 +01:00
i915_buddy.c drm/i915/buddy: add missing call to i915_global_register 2019-09-09 10:58:20 +01:00
i915_buddy.h drm/i915: buddy allocator 2019-08-10 19:47:40 +01:00
i915_cmd_parser.c drm/i915: extract i915_memcpy.h from i915_drv.h 2019-08-09 12:03:25 +03:00
i915_debugfs.c drm/i915/perf: implement active wait for noa configurations 2019-10-12 09:08:33 +01:00
i915_debugfs.h
i915_drv.c drm/i915: move gmbus setup down to intel_modeset_init() 2019-10-06 11:25:06 +03:00
i915_drv.h drm/i915: Move SAGV block time to dev_priv 2019-10-10 11:00:47 -07:00
i915_fixed.h drm/i915: make i915_fixed.h self-contained 2019-06-27 10:50:24 +03:00
i915_gem.c drm/i915: Drop struct_mutex from around GEM initialisation 2019-10-04 15:39:43 +01:00
i915_gem.h drm/i915/execlists: Leave tell-tales as to why pending[] is bad 2019-10-11 09:43:06 +01:00
i915_gem_evict.c drm/i915: Move request runtime management onto gt 2019-10-04 15:39:26 +01:00
i915_gem_fence_reg.c drm/i915: Pull i915_vma_pin under the vm->mutex 2019-10-04 15:39:02 +01:00
i915_gem_fence_reg.h drm/i915: Track ggtt fence reservations under its own mutex 2019-08-22 08:53:40 +01:00
i915_gem_gtt.c drm/i915: Move context management under GEM 2019-10-04 15:39:34 +01:00
i915_gem_gtt.h drm/i915: Pull i915_vma_pin under the vm->mutex 2019-10-04 15:39:02 +01:00
i915_getparam.c drm/i915: Pass intel_gt to has-reset? 2019-09-27 23:25:14 +01:00
i915_globals.c drm/i915: buddy allocator 2019-08-10 19:47:40 +01:00
i915_globals.h drm/i915: buddy allocator 2019-08-10 19:47:40 +01:00
i915_gpu_error.c drm/i915: Remove logical HW ID 2019-10-04 15:39:30 +01:00
i915_gpu_error.h drm/i915: Remove logical HW ID 2019-10-04 15:39:30 +01:00
i915_ioc32.c
i915_irq.c drm/i915/gt: Prefer local path to runtime powermanagement 2019-10-07 21:44:02 +01:00
i915_irq.h drm/i915: Implement a better i945gm vblank irq vs. C-states workaround 2019-10-04 18:43:49 +03:00
i915_memcpy.c drm/i915: extract i915_memcpy.h from i915_drv.h 2019-08-09 12:03:25 +03:00
i915_memcpy.h drm/i915: extract i915_memcpy.h from i915_drv.h 2019-08-09 12:03:25 +03:00
i915_mm.c drm/i915: Drop expectations of VM_IO from our GGTT mmappings 2019-08-07 12:06:07 +01:00
i915_params.c drm/i915/tgl: Add DC3CO mask to allowed_dc_mask and gen9_dc_mask 2019-10-08 11:05:26 +03: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/display: abstract all vgaarb access to intel_vga.[ch] 2019-10-02 13:31:54 +03:00
i915_perf.c drm/i915/perf: implement active wait for noa configurations 2019-10-12 09:08:33 +01:00
i915_perf.h drm/i915/perf: allow for CS OA configs to be created lazily 2019-10-12 09:08:27 +01:00
i915_perf_types.h drm/i915/perf: implement active wait for noa configurations 2019-10-12 09:08:33 +01:00
i915_pmu.c drm/i915: Extract GT render sleep (rc6) management 2019-09-27 13:01:57 +01:00
i915_pmu.h drm/i915/pmu: Use GT parked for estimating RC6 while asleep 2019-09-12 17:02:50 +01:00
i915_priolist_types.h drm/i915: Push the wakeref->count deferral to the backend 2019-08-13 21:09:49 +01:00
i915_pvinfo.h drm/i915: make i915_pvinfo.h self-contained 2019-06-27 10:50:35 +03:00
i915_query.c drm/i915: Add EU stride runtime parameter 2019-08-23 19:14:22 +01:00
i915_query.h
i915_reg.h drm/i915/perf: implement active wait for noa configurations 2019-10-12 09:08:33 +01:00
i915_request.c drm/i915: Move request runtime management onto gt 2019-10-04 15:39:26 +01:00
i915_request.h drm/i915: Mark up "sentinel" requests 2019-10-12 08:51:17 +01:00
i915_scatterlist.c
i915_scatterlist.h drm/i915: s/for_each_sgt_dma/for_each_sgt_daddr/ 2019-08-29 21:59:16 +01:00
i915_scheduler.c drm/i915: Push the wakeref->count deferral to the backend 2019-08-13 21:09:49 +01:00
i915_scheduler.h
i915_scheduler_types.h drm/i915: Note the addition of timeslicing to the pretend scheduler 2019-10-11 09:36:16 +01:00
i915_selftest.h drm/i915: make i915_selftest.h self-contained 2019-07-30 13:41:35 -07:00
i915_suspend.c drm/i915: Drop struct_mutex from suspend state save/restore 2019-10-04 15:39:41 +01:00
i915_suspend.h drm/i915: extract i915_suspend.h from i915_drv.h 2019-08-09 12:03:05 +03:00
i915_sw_fence.c Merge drm/drm-next into drm-intel-next-queued 2019-08-22 00:10:36 -07:00
i915_sw_fence.h Merge drm/drm-next into drm-intel-next-queued 2019-08-22 00:10:36 -07:00
i915_sw_fence_work.c drm/i915: Generalise the clflush dma-worker 2019-08-22 08:27:44 +01:00
i915_sw_fence_work.h drm/i915: Generalise the clflush dma-worker 2019-08-22 08:27:44 +01:00
i915_switcheroo.c drm/i915: split out i915_switcheroo.[ch] from i915_drv.c 2019-10-06 11:25:00 +03:00
i915_switcheroo.h drm/i915: split out i915_switcheroo.[ch] from i915_drv.c 2019-10-06 11:25:00 +03:00
i915_syncmap.c
i915_syncmap.h
i915_sysfs.c drm/i915: Move context management under GEM 2019-10-04 15:39:34 +01:00
i915_sysfs.h drm/i915: extract i915_sysfs.h from i915_drv.h 2019-08-09 11:52:09 +03:00
i915_trace.h drm/i915: Move context management under GEM 2019-10-04 15:39:34 +01:00
i915_trace_points.c
i915_user_extensions.c
i915_user_extensions.h
i915_utils.c drm/i915: move printing and load error inject to i915_utils.[ch] 2019-08-09 11:51:58 +03:00
i915_utils.h drm/i915/execlists: Lift process_csb() out of the irq-off spinlock 2019-08-16 20:59:02 +01:00
i915_vgpu.c drm/i915: to make vgpu ppgtt notificaiton as atomic operation 2019-08-24 12:12:34 +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: Coordinate i915_active with its own mutex 2019-10-04 15:39:12 +01:00
i915_vma.h drm/i915: Pull i915_vma_pin under the vm->mutex 2019-10-04 15:39:02 +01:00
intel_csr.c drm/i915/dmc: Update ICL DMC version to v1.09 2019-09-27 10:20:39 -07:00
intel_csr.h
intel_device_info.c drm/i915/tgl: s/ss/eu fuse reading support 2019-09-21 08:31:08 +01:00
intel_device_info.h drm/i915/dsb: feature flag added for display state buffer. 2019-09-23 09:37:54 +03:00
intel_gvt.c drm/i915: Add i915 to i915_inject_probe_failure 2019-08-02 21:14:29 +01:00
intel_gvt.h drm/i915: Propagate "_remove" function name suffix down 2019-07-12 13:05:08 +01:00
intel_memory_region.c drm/i915/region: support volatile objects 2019-10-08 20:50:01 +01:00
intel_memory_region.h drm/i915/region: support volatile objects 2019-10-08 20:50:01 +01:00
intel_pch.c drm/i915/cml: Add second PCH ID for CMP 2019-09-18 11:00:40 +01:00
intel_pch.h drm/i915/cml: Add second PCH ID for CMP 2019-09-18 11:00:40 +01:00
intel_pm.c drm/i915/tgl: Read SAGV block time from PCODE 2019-10-10 11:00:47 -07:00
intel_pm.h drm/i915: Extract GT render sleep (rc6) management 2019-09-27 13:01:57 +01:00
intel_runtime_pm.c drm/i915/display: abstract all vgaarb access to intel_vga.[ch] 2019-10-02 13:31:54 +03:00
intel_runtime_pm.h Merge drm/drm-next into drm-intel-next-queued 2019-07-29 08:51:48 -07:00
intel_sideband.c drm/i915: remove unnecessary includes of intel_display_types.h header 2019-08-07 12:43:55 +03:00
intel_sideband.h
intel_uncore.c drm/i915/tgl: Introduce gen12 forcewake ranges 2019-09-13 20:07:36 +01:00
intel_uncore.h drm/i915: Only apply a rmw mmio update if the value changes 2019-09-17 15:25:40 +01:00
intel_wakeref.c drm/i915: Push the wakeref->count deferral to the backend 2019-08-13 21:09:49 +01:00
intel_wakeref.h drm/i915: Push the wakeref->count deferral to the backend 2019-08-13 21:09:49 +01:00
intel_wopcm.c drm/i915/wopcm: Fix SPDX tag location 2019-08-16 16:50:03 +01:00
intel_wopcm.h drm/i915/wopcm: Don't fail on WOPCM partitioning failure 2019-08-02 21:14:32 +01:00