• Tvrtko Ursulin's avatar
    drm/i915/pmu: Deprecate I915_PMU_LAST and optimize state tracking · 348fb0cb
    Tvrtko Ursulin authored
    Adding any kinds of "last" abi markers is usually a mistake which I
    repeated when implementing the PMU because it felt convenient at the time.
    
    This patch marks I915_PMU_LAST as deprecated and stops the internal
    implementation using it for sizing the event status bitmask and array.
    
    New way of sizing the fields is a bit less elegant, but it omits reserving
    slots for tracking events we are not interested in, and as such saves some
    runtime space. Adding sampling events is likely to be a special event and
    the new plumbing needed will be easily detected in testing. Existing
    asserts against the bitfield and array sizes are keeping the code safe.
    
    First event which gets the new treatment in this new scheme are the
    interrupts - which neither needs any tracking in i915 pmu nor needs
    waking up the GPU to read it.
    
    v2:
     * Streamline helper names. (Chris)
    
    v3:
     * Comment which events need tracking. (Chris)
    Signed-off-by: default avatarTvrtko Ursulin <tvrtko.ursulin@intel.com>
    Cc: Chris Wilson <chris@chris-wilson.co.uk>
    Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
    Link: https://patchwork.freedesktop.org/patch/msgid/20201201131757.206367-1-tvrtko.ursulin@linux.intel.com
    348fb0cb
i915_drm.h 77 KB