mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-08-27 10:34:13 +00:00

The update of the residency values needs to be protected by a lock to avoid multiple entrypoints, for example when multiple userspace clients read the sysfs file. Other in-kernel clients are going to be added to sample these values, making the problem worse. Protect those updates with a raw_spinlock so it can be called by future integration with perf pmu. Suggested-by: Lucas De Marchi <lucas.demarchi@intel.com> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> Cc: Lucas De Marchi <lucas.demarchi@intel.com> Signed-off-by: Vinay Belgaumkar <vinay.belgaumkar@intel.com> Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20250110173308.2412232-2-lucas.demarchi@intel.com Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
23 lines
578 B
C
23 lines
578 B
C
/* SPDX-License-Identifier: MIT */
|
|
/*
|
|
* Copyright © 2023 Intel Corporation
|
|
*/
|
|
|
|
#ifndef _XE_GT_IDLE_H_
|
|
#define _XE_GT_IDLE_H_
|
|
|
|
#include "xe_gt_idle_types.h"
|
|
|
|
struct drm_printer;
|
|
struct xe_gt;
|
|
|
|
int xe_gt_idle_init(struct xe_gt_idle *gtidle);
|
|
void xe_gt_idle_enable_c6(struct xe_gt *gt);
|
|
void xe_gt_idle_disable_c6(struct xe_gt *gt);
|
|
void xe_gt_idle_enable_pg(struct xe_gt *gt);
|
|
void xe_gt_idle_disable_pg(struct xe_gt *gt);
|
|
int xe_gt_idle_pg_print(struct xe_gt *gt, struct drm_printer *p);
|
|
u64 xe_gt_idle_residency_msec(struct xe_gt_idle *gtidle);
|
|
|
|
#endif /* _XE_GT_IDLE_H_ */
|