* [PATCH] soc: qcom: stats: Populate all subsystem debugfs files
@ 2023-01-19 3:23 Stephen Boyd
2023-02-06 22:30 ` Bjorn Andersson
0 siblings, 1 reply; 2+ messages in thread
From: Stephen Boyd @ 2023-01-19 3:23 UTC (permalink / raw)
To: Andy Gross, Bjorn Andersson
Cc: linux-kernel, patches, linux-arm-msm, Konrad Dybcio, Matthias Kaehlcke
This driver relies on SMEM to populate items for each subsystem before
the device probes. The items in SMEM that are being looked for are
populated by the subsystems lazily, and therefore may not exist until
the device has booted. For example, if I build this driver into the
kernel on Trogdor Lazor and boot up, I don't see a 'modem' debugfs file
populated, because the modem boots and populates the SMEM item after
this driver probes.
Always populate the files for the subsystems if they're in SMEM, and
make the qcom_subsystem_sleep_stats_show() function return 0 if the SMEM
items still isn't there. This way we can run a simple command like
grep ^ /sys/kernel/debug/qcom_stats/*
and collect the subsystem sleep stats without interspersed errors or
missing details entirely because this driver probed first.
Fixes: 1d7724690344 ("soc: qcom: Add Sleep stats driver")
Cc: Matthias Kaehlcke <mka@chromium.org>
Signed-off-by: Stephen Boyd <swboyd@chromium.org>
---
drivers/soc/qcom/qcom_stats.c | 10 ++--------
1 file changed, 2 insertions(+), 8 deletions(-)
diff --git a/drivers/soc/qcom/qcom_stats.c b/drivers/soc/qcom/qcom_stats.c
index 6228af057120..c207bb96c523 100644
--- a/drivers/soc/qcom/qcom_stats.c
+++ b/drivers/soc/qcom/qcom_stats.c
@@ -92,7 +92,7 @@ static int qcom_subsystem_sleep_stats_show(struct seq_file *s, void *unused)
/* Items are allocated lazily, so lookup pointer each time */
stat = qcom_smem_get(subsystem->pid, subsystem->smem_item, NULL);
if (IS_ERR(stat))
- return -EIO;
+ return 0;
qcom_print_stats(s, stat);
@@ -170,20 +170,14 @@ static void qcom_create_soc_sleep_stat_files(struct dentry *root, void __iomem *
static void qcom_create_subsystem_stat_files(struct dentry *root,
const struct stats_config *config)
{
- const struct sleep_stats *stat;
int i;
if (!config->subsystem_stats_in_smem)
return;
- for (i = 0; i < ARRAY_SIZE(subsystems); i++) {
- stat = qcom_smem_get(subsystems[i].pid, subsystems[i].smem_item, NULL);
- if (IS_ERR(stat))
- continue;
-
+ for (i = 0; i < ARRAY_SIZE(subsystems); i++)
debugfs_create_file(subsystems[i].name, 0400, root, (void *)&subsystems[i],
&qcom_subsystem_sleep_stats_fops);
- }
}
static int qcom_stats_probe(struct platform_device *pdev)
base-commit: 1b929c02afd37871d5afb9d498426f83432e71c2
--
https://chromeos.dev
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH] soc: qcom: stats: Populate all subsystem debugfs files
2023-01-19 3:23 [PATCH] soc: qcom: stats: Populate all subsystem debugfs files Stephen Boyd
@ 2023-02-06 22:30 ` Bjorn Andersson
0 siblings, 0 replies; 2+ messages in thread
From: Bjorn Andersson @ 2023-02-06 22:30 UTC (permalink / raw)
To: Andy Gross, Stephen Boyd
Cc: Konrad Dybcio, linux-arm-msm, patches, Matthias Kaehlcke, linux-kernel
On Wed, 18 Jan 2023 19:23:29 -0800, Stephen Boyd wrote:
> This driver relies on SMEM to populate items for each subsystem before
> the device probes. The items in SMEM that are being looked for are
> populated by the subsystems lazily, and therefore may not exist until
> the device has booted. For example, if I build this driver into the
> kernel on Trogdor Lazor and boot up, I don't see a 'modem' debugfs file
> populated, because the modem boots and populates the SMEM item after
> this driver probes.
>
> [...]
Applied, thanks!
[1/1] soc: qcom: stats: Populate all subsystem debugfs files
commit: acdbf5f9b2c492505145f6e50c65418521a547c4
Best regards,
--
Bjorn Andersson <andersson@kernel.org>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2023-02-06 22:29 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-19 3:23 [PATCH] soc: qcom: stats: Populate all subsystem debugfs files Stephen Boyd
2023-02-06 22:30 ` Bjorn Andersson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®