Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e2246599 authored by Tushar Nimkar's avatar Tushar Nimkar Committed by Gerrit - the friendly Code Review server
Browse files

drivers: qcom: rpmh_master_stats: export API to get apss_master_stats info



This change provides a API to get apss_master_stats info to other driver.
In this way stats information can be reuse instead of maintaining again.

Change-Id: Iea7d905cc71ac46b6b0d73617e94a89e15a1fec0
Signed-off-by: default avatarTushar Nimkar <tnimkar@codeaurora.org>
parent 48a235fb
Loading
Loading
Loading
Loading
+8 −9
Original line number Diff line number Diff line
@@ -76,14 +76,6 @@ static const struct msm_rpmh_master_data rpmh_masters[] = {
	{"DISPLAY", DISPLAY, PID_DISPLAY},
};

struct msm_rpmh_master_stats {
	uint32_t version_id;
	uint32_t counts;
	uint64_t last_entered;
	uint64_t last_exited;
	uint64_t accumulated_duration;
};

struct msm_rpmh_profile_unit {
	uint64_t value;
	uint64_t valid;
@@ -206,6 +198,12 @@ void msm_rpmh_master_stats_update(void)
}
EXPORT_SYMBOL(msm_rpmh_master_stats_update);

struct msm_rpmh_master_stats *msm_rpmh_get_apss_data(void)
{
	return &apss_master_stats;
}
EXPORT_SYMBOL(msm_rpmh_get_apss_data);

static int msm_rpmh_master_stats_probe(struct platform_device *pdev)
{
	struct rpmh_master_stats_prv_data *prvdata = NULL;
@@ -240,9 +238,10 @@ static int msm_rpmh_master_stats_probe(struct platform_device *pdev)
	if (!rpmh_unit_base) {
		pr_err("Failed to get rpmh_unit_base or rpm based target\n");
		rpmh_unit_base = NULL;
	} else {
		apss_master_stats.version_id = 0x1;
	}

	apss_master_stats.version_id = 0x1;
	platform_set_drvdata(pdev, prvdata);
	return ret;

+13 −2
Original line number Diff line number Diff line
/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * Copyright (c) 2018-2020, The Linux Foundation. All rights reserved.
 * Copyright (c) 2018-2021, The Linux Foundation. All rights reserved.
 */

#ifndef __QCOM_RPM_STATS_LOG_H__
#define __QCOM_RPM_STATS_LOG_H__

struct msm_rpmh_master_stats {
	uint32_t version_id;
	uint32_t counts;
	uint64_t last_entered;
	uint64_t last_exited;
	uint64_t accumulated_duration;
};
#if IS_ENABLED(CONFIG_QTI_RPM_STATS_LOG)

void msm_rpmh_master_stats_update(void);

struct msm_rpmh_master_stats *msm_rpmh_get_apss_data(void);
#else

static inline void msm_rpmh_master_stats_update(void) {}
static inline struct msm_rpmh_master_stats *msm_rpmh_get_apss_data(void)
{
	return NULL;
}

#endif