drm/i915/perf: Refactor oa object to better manage resources
authorUmesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
Tue, 6 Aug 2019 23:30:02 +0000 (16:30 -0700)
committerChris Wilson <chris@chris-wilson.co.uk>
Wed, 7 Aug 2019 19:34:39 +0000 (20:34 +0100)
commita37f08a882b01a6e86a07512a082b14d20ee0773
tree08d24532e55f5d905a3e61cc9ff23aaeadc368c1
parent26f00514d944db8761d62ebf6f94766a81b97480
drm/i915/perf: Refactor oa object to better manage resources

The oa object manages the oa buffer and must be allocated when the user
intends to read performance counter snapshots. This can be achieved by
making the oa object part of the stream object which is allocated when a
stream is opened by the user.

Attributes in the oa object that are gen-specific are moved to the perf
object so that they can be initialized on driver load.

The split provides a better separation of the objects used in perf
implementation of i915 driver so that resources are allocated and
initialized only when needed.

v2: Fix checkpatch warnings
v3: Addressed Lionel's review comment
v4: Rebase
v5: Fix rebase/merge issue with ratelimit_state_init

Signed-off-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Link: https://patchwork.freedesktop.org/patch/msgid/20190806233002.984-1-umesh.nerlige.ramappa@intel.com
18 files changed:
drivers/gpu/drm/i915/gt/intel_sseu.c
drivers/gpu/drm/i915/gvt/scheduler.c
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/i915_perf.c
drivers/gpu/drm/i915/oa/i915_oa_bdw.c
drivers/gpu/drm/i915/oa/i915_oa_bxt.c
drivers/gpu/drm/i915/oa/i915_oa_cflgt2.c
drivers/gpu/drm/i915/oa/i915_oa_cflgt3.c
drivers/gpu/drm/i915/oa/i915_oa_chv.c
drivers/gpu/drm/i915/oa/i915_oa_cnl.c
drivers/gpu/drm/i915/oa/i915_oa_glk.c
drivers/gpu/drm/i915/oa/i915_oa_hsw.c
drivers/gpu/drm/i915/oa/i915_oa_icl.c
drivers/gpu/drm/i915/oa/i915_oa_kblgt2.c
drivers/gpu/drm/i915/oa/i915_oa_kblgt3.c
drivers/gpu/drm/i915/oa/i915_oa_sklgt2.c
drivers/gpu/drm/i915/oa/i915_oa_sklgt3.c
drivers/gpu/drm/i915/oa/i915_oa_sklgt4.c