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

Commit 2e0d151b authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "soc: qcom: Add support to read apps stats from smem"

parents 557f5fe6 52a14338
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -921,7 +921,6 @@ endif # MSM_PM

config QTI_RPM_STATS_LOG
	tristate "Qualcomm Technologies RPM Stats Driver"
	depends on QCOM_RPMH
	help
	  This option enables a driver which reads RPM messages from a shared
	  memory location. These messages provide statistical information about
+10 −8
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@ enum master_smem_id {
	GPU,
	DISPLAY,
	SLPI_ISLAND = 613,
	APSS = 631,
};

enum master_pid {
@@ -63,6 +64,7 @@ struct msm_rpmh_master_data {
};

static const struct msm_rpmh_master_data rpmh_masters[] = {
	{"APSS", APSS, QCOM_SMEM_HOST_ANY},
	{"MPSS", MPSS, PID_MPSS},
	{"WPSS", MPSS, PID_WPSS},
	{"ADSP", ADSP, PID_ADSP},
@@ -134,8 +136,10 @@ static ssize_t msm_rpmh_master_stats_show(struct kobject *kobj,

	/* First Read APSS master stats */

	if (rpmh_unit_base)
		length = msm_rpmh_master_stats_print_data(buf, PAGE_SIZE,
						&apss_master_stats, "APSS");
							  &apss_master_stats,
							  "APSS");

	/* Read SMEM data written by other masters */

@@ -229,17 +233,14 @@ static int msm_rpmh_master_stats_probe(struct platform_device *pdev)

	rpmh_unit_base = of_iomap(pdev->dev.of_node, 0);
	if (!rpmh_unit_base) {
		pr_err("Failed to get rpmh_unit_base\n");
		ret = -ENOMEM;
		goto fail_iomap;
		pr_err("Failed to get rpmh_unit_base or rpm based target\n");
		rpmh_unit_base = NULL;
	}

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

fail_iomap:
	sysfs_remove_file(prvdata->kobj, &prvdata->ka.attr);
fail_sysfs:
	kobject_put(prvdata->kobj);
	return ret;
@@ -255,6 +256,7 @@ static int msm_rpmh_master_stats_remove(struct platform_device *pdev)
	sysfs_remove_file(prvdata->kobj, &prvdata->ka.attr);
	kobject_put(prvdata->kobj);
	platform_set_drvdata(pdev, NULL);
	if (rpmh_unit_base)
		iounmap(rpmh_unit_base);
	rpmh_unit_base = NULL;