mirror of
git://nv-tegra.nvidia.com/linux-nv-oot.git
synced 2025-12-22 17:25:35 +03:00
Provide the actmon registration interface for host1x clients. The registration process will create the debugfs for the actmon associated with the host1x client, and initialize the actmon registers. Bug 3788919 Signed-off-by: Johnny Liu <johnliu@nvidia.com> Change-Id: I313bf52a5eda1663e26c2579788a873ca4081459 Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2886696 Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
45 lines
1.9 KiB
C
45 lines
1.9 KiB
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
/*
|
|
* Tegra host1x Actmon Register Offsets
|
|
*
|
|
* Copyright (c) 2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
|
*/
|
|
|
|
#ifndef __HOST1X_ACTMON_HARDWARE_H
|
|
#define __HOST1X_ACTMON_HARDWARE_H
|
|
|
|
#define HOST1X_ACTMON_MODULE_OFFSET 0x80
|
|
|
|
#define HOST1X_ACTMON_CTRL_REG 0x0
|
|
#define HOST1X_ACTMON_INTR_ENB_REG 0x4
|
|
#define HOST1X_ACTMON_MODULE_INIT_AVG_REG 0x14
|
|
#define HOST1X_ACTMON_MODULE_CTRL_REG 0x80
|
|
#define HOST1X_ACTMON_MODULE_INTR_ENB_REG 0x84
|
|
#define HOST1X_ACTMON_MODULE_INTR_STATUS_REG 0x88
|
|
#define HOST1X_ACTMON_MODULE_UPPER_WMARK_REG 0x8c
|
|
#define HOST1X_ACTMON_MODULE_LOWER_WMARK_REG 0x90
|
|
#define HOST1X_ACTMON_MODULE_AVG_UPPER_WMARK_REG 0x94
|
|
#define HOST1X_ACTMON_MODULE_AVG_LOWER_WMARK_REG 0x98
|
|
#define HOST1X_ACTMON_MODULE_AVG_COUNT_REG 0xa4
|
|
#define HOST1X_ACTMON_MODULE_COUNT_WEIGHT_REG 0xa8
|
|
|
|
#define HOST1X_ACTMON_CTRL_SOURCE(v) ((v & 0x3) << 8)
|
|
#define HOST1X_ACTMON_CTRL_SAMPLE_TICK(v) ((v & 0x1) << 10)
|
|
#define HOST1X_ACTMON_CTRL_SAMPLE_PERIOD(v) ((v & 0xff) << 0)
|
|
#define HOST1X_ACTMON_MODULE_CTRL_ACTMON_ENB(v) ((v & 0x1) << 31)
|
|
#define HOST1X_ACTMON_MODULE_CTRL_CONSEC_UPPER_NUM(v) ((v & 0x7) << 26)
|
|
#define HOST1X_ACTMON_MODULE_CTRL_CONSEC_LOWER_NUM(v) ((v & 0x7) << 21)
|
|
#define HOST1X_ACTMON_MODULE_CTRL_ENB_PERIODIC(v) ((v & 0x1) << 13)
|
|
#define HOST1X_ACTMON_MODULE_CTRL_K_VAL(v) ((v & 0x7) << 10)
|
|
#define HOST1X_ACTMON_MODULE_INTR_CONSEC_ABOVE_WORK_ENB(v) ((v & 0x1) << 31)
|
|
#define HOST1X_ACTMON_MODULE_INTR_CONSEC_BELOW_WORK_ENB(v) ((v & 0x1) << 30)
|
|
#define HOST1X_ACTMON_MODULE_INTR_AVG_ABOVE_WORK_ENB(v) ((v & 0x1) << 29)
|
|
#define HOST1X_ACTMON_MODULE_INTR_AVG_BELOW_WORK_ENB(v) ((v & 0x1) << 28)
|
|
|
|
#define HOST1X_ACTMON_CTRL_SAMPLE_PERIOD_MASK 0xff
|
|
#define HOST1X_ACTMON_MODULE_CTRL_CONSEC_UPPER_NUM_MASK (0x7 << 26)
|
|
#define HOST1X_ACTMON_MODULE_CTRL_CONSEC_LOWER_NUM_MASK (0x7 << 21)
|
|
#define HOST1X_ACTMON_MODULE_CTRL_K_VAL_MASK (0x7 << 10)
|
|
|
|
#endif
|