linux_dsm_epyc7002/drivers/gpu/drm/i915
Lionel Landwerlin 4f6ccc74a8 drm/i915: add support for perf configuration queries
Listing configurations at the moment is supported only through sysfs.
This might cause issues for applications wanting to list
configurations from a container where sysfs isn't available.

This change adds a way to query the number of configurations and their
content through the i915 query uAPI.

v2: Fix sparse warnings (Lionel)
    Add support to query configuration using uuid (Lionel)

v3: Fix some inconsistency in uapi header (Lionel)
    Fix unlocking when not locked issue (Lionel)
    Add debug messages (Lionel)

v4: Fix missing unlock (Dan)

v5: Drop lock when copying config content to userspace (Chris)

v6: Drop lock when copying config list to userspace (Chris)
    Fix deadlock when calling i915_perf_get_oa_config() under
    perf.metrics_lock (Lionel)
    Add i915_oa_config_get() (Chris)

Link: https://gitlab.freedesktop.org/mesa/mesa/merge_requests/932
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/20191014201404.22468-2-chris@chris-wilson.co.uk
2019-10-14 21:30:26 +01:00
..
display drm/i915/ehl: Port C's hotplug interrupt is associated with TC1 bits 2019-10-14 09:16:27 -07:00
gem drm/i915/selftests: fix null pointer dereference on pointer data 2019-10-09 11:16:14 +01:00
gt drm/i915/execlists: Assert tasklet is locked for process_csb() 2019-10-14 21:10:59 +01:00
gvt drm/i915: Move context management under GEM 2019-10-04 15:39:34 +01:00
oa
selftests drm/i915/selftests: Fixup naked 64b divide 2019-10-14 09:26:07 +01:00
i915_active_types.h drm/i915: Coordinate i915_active with its own mutex 2019-10-04 15:39:12 +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_buddy.c drm/i915/buddy: add missing call to i915_global_register 2019-09-09 10:58:20 +01:00
i915_buddy.h
i915_cmd_parser.c
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
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_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: Assert tasklet is locked for process_csb() 2019-10-14 21:10:59 +01:00
i915_getparam.c drm/i915/perf: introduce a versioning of the i915-perf uapi 2019-10-14 21:30:25 +01:00
i915_globals.c
i915_globals.h
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/ehl: Port C's hotplug interrupt is associated with TC1 bits 2019-10-14 09:16:27 -07: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
i915_memcpy.h
i915_mm.c
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
i915_pci.c drm/i915/display: abstract all vgaarb access to intel_vga.[ch] 2019-10-02 13:31:54 +03:00
i915_perf_types.h drm/i915/perf: implement active wait for noa configurations 2019-10-12 09:08:33 +01:00
i915_perf.c drm/i915: add support for perf configuration queries 2019-10-14 21:30:26 +01:00
i915_perf.h drm/i915/perf: introduce a versioning of the i915-perf uapi 2019-10-14 21:30:25 +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
i915_query.c drm/i915: add support for perf configuration queries 2019-10-14 21:30:26 +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/execlists: Tweak virtual unsubmission 2019-10-14 12:51:17 +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_types.h drm/i915: Note the addition of timeslicing to the pretend scheduler 2019-10-11 09:36: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_selftest.h
i915_suspend.c drm/i915: Drop struct_mutex from suspend state save/restore 2019-10-04 15:39:41 +01:00
i915_suspend.h
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_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_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
i915_trace_points.c
i915_trace.h drm/i915: Move context management under GEM 2019-10-04 15:39:34 +01:00
i915_user_extensions.c
i915_user_extensions.h
i915_utils.c
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
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
intel_gvt.h
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
intel_sideband.c
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
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