diff options
author | Mike Tipton <quic_mdtipton@quicinc.com> | 2023-08-07 16:29:14 +0200 |
---|---|---|
committer | Georgi Djakov <djakov@kernel.org> | 2023-08-22 20:04:50 +0200 |
commit | 770c69f037c18cfaa37c3d6c6ef8bd257635513f (patch) | |
tree | 488802bd957b41301c9a4b192f518bba2d382aca /drivers/interconnect/core.c | |
parent | interconnect: Reintroduce icc_get() (diff) | |
download | linux-770c69f037c18cfaa37c3d6c6ef8bd257635513f.tar.xz linux-770c69f037c18cfaa37c3d6c6ef8bd257635513f.zip |
interconnect: Add debugfs test client
It's often useful during test, debug, and development to issue path
votes from shell. Add a debugfs client for this purpose.
Example usage:
cd /sys/kernel/debug/interconnect/test-client/
# Configure node endpoints for the path from CPU to DDR on
# qcom/sm8550.
echo chm_apps > src_node
echo ebi > dst_node
# Get path between src_node and dst_node. This is only
# necessary after updating the node endpoints.
echo 1 > get
# Set desired BW to 1GBps avg and 2GBps peak.
echo 1000000 > avg_bw
echo 2000000 > peak_bw
# Vote for avg_bw and peak_bw on the latest path from "get".
# Voting for multiple paths is possible by repeating this
# process for different nodes endpoints.
echo 1 > commit
Allowing userspace to directly enable and set bus rates can be dangerous
So, following in the footsteps of the regmap [0] and clk [1] frameworks,
keep these userspace controls compile-time disabled without Kconfig
options to enable them. Enabling this will require code changes to
define INTERCONNECT_ALLOW_WRITE_DEBUGFS.
[0] commit 09c6ecd39410 ("regmap: Add support for writing to regmap registers via debugfs")
[1] commit 37215da5553e ("clk: Add support for setting clk_rate via debugfs")
Signed-off-by: Mike Tipton <quic_mdtipton@quicinc.com>
Link: https://lore.kernel.org/r/20230807142914.12480-4-quic_mdtipton@quicinc.com
Signed-off-by: Georgi Djakov <djakov@kernel.org>
Diffstat (limited to 'drivers/interconnect/core.c')
-rw-r--r-- | drivers/interconnect/core.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/interconnect/core.c b/drivers/interconnect/core.c index fc1461dfc61b..9e12bb5e523d 100644 --- a/drivers/interconnect/core.c +++ b/drivers/interconnect/core.c @@ -1116,6 +1116,9 @@ static int __init icc_init(void) icc_debugfs_dir, NULL, &icc_summary_fops); debugfs_create_file("interconnect_graph", 0444, icc_debugfs_dir, NULL, &icc_graph_fops); + + icc_debugfs_client_init(icc_debugfs_dir); + return 0; } |