On 28 July 2017 at 18:10, Lionel Landwerlin <lionel.g.landwerlin@xxxxxxxxx> wrote: > 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 > > Signed-off-by: Matthew Auld <matthew.auld@xxxxxxxxx> > Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@xxxxxxxxx> > Signed-off-by: Andrzej Datczuk <andrzej.datczuk@xxxxxxxxx> > --- > Documentation/gpu/i915.rst | 4 + > drivers/gpu/drm/i915/i915_drv.c | 2 + > drivers/gpu/drm/i915/i915_drv.h | 47 ++++ > drivers/gpu/drm/i915/i915_perf.c | 468 +++++++++++++++++++++++++++++++++++++-- > drivers/gpu/drm/i915/i915_reg.h | 70 +++++- > include/uapi/drm/i915_drm.h | 20 ++ > 6 files changed, 594 insertions(+), 17 deletions(-) > > diff --git a/Documentation/gpu/i915.rst b/Documentation/gpu/i915.rst > index 9c7ed3e3f1e9..46875c2bcc31 100644 > --- a/Documentation/gpu/i915.rst > +++ b/Documentation/gpu/i915.rst > @@ -417,6 +417,10 @@ integrate with drm/i915 and to handle the `DRM_I915_PERF_OPEN` ioctl. > :functions: i915_perf_open_ioctl > .. kernel-doc:: drivers/gpu/drm/i915/i915_perf.c > :functions: i915_perf_release > +.. kernel-doc:: drivers/gpu/drm/i915/i915_perf.c > + :functions: i915_perf_add_config_ioctl > +.. kernel-doc:: drivers/gpu/drm/i915/i915_perf.c > + :functions: i915_perf_remove_config_ioctl While you're here, fancy fixing the kernel doc for i915_perf_ioctl_locked and gen7_append_oa_reports as a follow up patch? Also I don't think I can r-b this one since it has my s-o-b, so we'll have to rope someone else in to giving it an r-b. _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx