[PATCH v4 00/11] Enable i915 perf stream for Haswell OA unit
Robert Bragg
robert at sixbynine.org
Thu Aug 18 22:42:30 UTC 2016
I've updated the stream->ops->read() interface to avoid the struct
i915_perf_read_state so it's hopefully a bit clearer to see the state being
passed around:
int (*read)(struct i915_perf_stream *stream,
char __user *buf,
size_t count,
size_t *offset);
The inout offset is the buf offset (aka bytes read) which are still tracked
separate from any error state until we get back to the common code that handles
the final check for whether the error should be squashed if any data was
successfully copied. This avoids some duplication and more fiddly error paths
in the ->read implementations.
The initialization code is now spit into an i915_perf_init() called in
i915_driver_init_early() and an i915_perf_register() called in
i915_driver_register() once we're visible to userspace, after sysfs has been
initialized.
- Robert
Robert Bragg (11):
drm/i915: Add i915 perf infrastructure
drm/i915: rename OACONTROL GEN7_OACONTROL
drm/i915: return EACCES for check_cmd() failures
drm/i915: don't whitelist oacontrol in cmd parser
drm/i915: Add 'render basic' Haswell OA unit config
drm/i915: Enable i915 perf stream for Haswell OA unit
drm/i915: advertise available metrics via sysfs
drm/i915: Add dev.i915.perf_event_paranoid sysctl option
drm/i915: add oa_event_min_timer_exponent sysctl
drm/i915: Add more Haswell OA metric sets
drm/i915: Add a kerneldoc summary for i915_perf.c
drivers/gpu/drm/i915/Makefile | 4 +
drivers/gpu/drm/i915/i915_cmd_parser.c | 40 +-
drivers/gpu/drm/i915/i915_drv.c | 9 +
drivers/gpu/drm/i915/i915_drv.h | 160 +++
drivers/gpu/drm/i915/i915_gem_context.c | 22 +-
drivers/gpu/drm/i915/i915_oa_hsw.c | 659 ++++++++++++
drivers/gpu/drm/i915/i915_oa_hsw.h | 38 +
drivers/gpu/drm/i915/i915_perf.c | 1668 +++++++++++++++++++++++++++++++
drivers/gpu/drm/i915/i915_reg.h | 340 ++++++-
drivers/gpu/drm/i915/intel_ringbuffer.c | 7 +-
include/uapi/drm/i915_drm.h | 133 +++
11 files changed, 3038 insertions(+), 42 deletions(-)
create mode 100644 drivers/gpu/drm/i915/i915_oa_hsw.c
create mode 100644 drivers/gpu/drm/i915/i915_oa_hsw.h
create mode 100644 drivers/gpu/drm/i915/i915_perf.c
--
2.9.2
More information about the dri-devel
mailing list