linux/Documentation/gpu
Lionel Landwerlin f89823c212 drm/i915/perf: Implement I915_PERF_ADD/REMOVE_CONFIG interface
The motivation behind this new interface is expose at runtime the
creation of new OA configs which can be used as part of the i915 perf
open interface. This will enable the kernel to learn new configs which
may be experimental, or otherwise not part of the core set currently
available through the i915 perf interface.

v2: Drop DRM_ERROR for userspace errors (Matthew)
    Add padding to userspace structure (Matthew)
    s/guid/uuid/ (Matthew)

v3: Use u32 instead of int to iterate through registers (Matthew)

v4: Lock access to dynamic config list (Lionel)

v5: by Matthew:
    Fix uninitialized error values
    Fix incorrect unwiding when opening perf stream
    Use kmalloc_array() to store register
    Use uuid_is_valid() to valid config uuids
    Declare ioctls as write only
    Check padding members are set to 0
    by Lionel:
    Return ENOENT rather than EINVAL when trying to remove non
    existing config

v6: by Chris:
    Use ref counts for OA configs
    Store UUID in drm_i915_perf_oa_config rather then using pointer
    Shuffle fields of drm_i915_perf_oa_config to avoid padding

v7: by Chris
    Rename uapi pointers fields to end with '_ptr'

v8: by Andrzej, Marek, Sebastian
    Update register whitelisting
    by Lionel
    Add more register names for documentation
    Allow configuration programming in non-paranoid mode
    Add support for value filter for a couple of registers already
    programmed in other part of the kernel

v9: Documentation fix (Lionel)
    Allow writing WAIT_FOR_RC6_EXIT only on Gen8+ (Andrzej)

v10: Perform read access_ok() on register pointers (Lionel)

Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Signed-off-by: Andrzej Datczuk <andrzej.datczuk@intel.com>
Reviewed-by: Andrzej Datczuk <andrzej.datczuk@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20170803165812.2373-2-lionel.g.landwerlin@intel.com
2017-08-03 18:19:53 +01:00
..
bridge drm: bridge: dw-hdmi: Add Documentation on supported input formats 2017-04-04 17:48:21 +02:00
conf.py doc-rst: build PDF of 80211 and gpu sub-project 2016-10-26 17:25:17 -06:00
drm-internals.rst Merge remote-tracking branch 'airlied/drm-next' into drm-misc-next 2017-06-27 09:18:17 -04:00
drm-kms-helpers.rst drm/bridge: Refactor out the panel wrapper from the lvds-encoder bridge. 2017-06-05 14:00:40 +05:30
drm-kms.rst drm/doc: vblank cleanup 2017-06-20 10:26:01 +02:00
drm-mm.rst drm/syncobj: Fix kerneldoc 2017-07-26 13:22:44 +02:00
drm-uapi.rst drm/doc: Improve ioctl/fops docs a bit more 2017-06-20 10:41:29 +02:00
i915.rst drm/i915/perf: Implement I915_PERF_ADD/REMOVE_CONFIG interface 2017-08-03 18:19:53 +01:00
index.rst drm/tegra: Changes for v4.13-rc1 2017-06-20 11:07:03 +10:00
introduction.rst drm: Document code of conduct 2017-05-05 11:48:17 +10:00
kms-properties.csv drm/doc: remove standard connector props from the csv file 2017-03-29 08:33:25 +02:00
meson.rst drm/meson: Add RST to bring together kerneldoc 2017-04-04 17:49:31 +02:00
pl111.rst drm/pl111: Initial drm/kms driver for pl111 2017-05-08 12:24:06 -07:00
tegra.rst drm/tegra: Add driver documentation 2017-06-15 13:58:56 +02:00
tinydrm.rst drm/tinydrm: Add MIPI DBI support 2017-02-18 18:04:59 +01:00
todo.rst main drm pull for v4.13 2017-07-09 18:48:37 -07:00
vc4.rst drm/vc4: Add a paragraph at the top of vc4 docs introducing what it is. 2017-02-28 12:51:49 -08:00
vga-switcheroo.rst drm/doc: Fix vga_switcheroo xref 2016-08-24 13:11:08 +02:00
vgaarbiter.rst vgaarbiter: rst-ifiy and polish kerneldoc 2016-08-16 18:49:56 +02:00