From 2e6a0c5745418288748ef54b6fb7b8fe24e639e5 Mon Sep 17 00:00:00 2001 From: Badri Sampath Date: Fri, 14 Oct 2022 13:45:13 -0700 Subject: [PATCH 1/2] msm_perf: Fix to handle sched dependency Fix to handle sched dependency. Change-Id: Ib7946dfaec0b23cd5aba1f389bd047176f3bc3f9 Signed-off-by: Badri Sampath --- drivers/soc/qcom/msm_performance.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/soc/qcom/msm_performance.c b/drivers/soc/qcom/msm_performance.c index 3501b4d446cd..43b85df35b97 100644 --- a/drivers/soc/qcom/msm_performance.c +++ b/drivers/soc/qcom/msm_performance.c @@ -820,15 +820,15 @@ static int msm_perf_core_ctl_notify(struct notifier_block *nb, static unsigned int tld, nrb, i; static unsigned int top_ld[CLUSTER_MAX], curr_cp[CLUSTER_MAX]; static DECLARE_WORK(sysfs_notify_work, nr_notify_userspace); - struct core_ctl_notif_data *d = data; + // struct core_ctl_notif_data *d = data; int cluster = 0; - nrb += d->nr_big; - tld += d->coloc_load_pct; - for (cluster = 0; cluster < CLUSTER_MAX; cluster++) { - top_ld[cluster] += d->ta_util_pct[cluster]; - curr_cp[cluster] += d->cur_cap_pct[cluster]; - } + // nrb += d->nr_big; + // tld += d->coloc_load_pct; + // for (cluster = 0; cluster < CLUSTER_MAX; cluster++) { + // top_ld[cluster] += d->ta_util_pct[cluster]; + // curr_cp[cluster] += d->cur_cap_pct[cluster]; + // } i++; if (i == POLL_INT) { aggr_big_nr = ((nrb%POLL_INT) ? 1 : 0) + nrb/POLL_INT; From d091fef38d6edc8a450d3333a196d2ae9051263f Mon Sep 17 00:00:00 2001 From: Badri Sampath Date: Thu, 13 Oct 2022 15:37:42 -0700 Subject: [PATCH 2/2] defconfig: Enable msm_perf Add gki defconfigs for msm_perf module. Change-Id: I2b4b89a6bff45736720a0c76c8ce880d1c316007 Signed-off-by: Badri Sampath --- arch/arm64/configs/vendor/kalama_GKI.config | 1 + arch/arm64/configs/vendor/pineapple_GKI.config | 1 + drivers/soc/qcom/Kconfig | 8 ++++++++ drivers/soc/qcom/Makefile | 2 ++ 4 files changed, 12 insertions(+) diff --git a/arch/arm64/configs/vendor/kalama_GKI.config b/arch/arm64/configs/vendor/kalama_GKI.config index eb0903c200a7..72f191f12f64 100644 --- a/arch/arm64/configs/vendor/kalama_GKI.config +++ b/arch/arm64/configs/vendor/kalama_GKI.config @@ -40,6 +40,7 @@ CONFIG_MFD_SPMI_PMIC=m CONFIG_MSM_BOOT_STATS=m # CONFIG_MSM_BOOT_TIME_MARKER is not set CONFIG_MSM_HSUSB_PHY=m +CONFIG_MSM_PERFORMANCE=m CONFIG_NOP_USB_XCEIV=m CONFIG_PHY_QCOM_UFS=m CONFIG_PHY_QCOM_UFS_V4=m diff --git a/arch/arm64/configs/vendor/pineapple_GKI.config b/arch/arm64/configs/vendor/pineapple_GKI.config index 43eb383c13c1..7968b09a9727 100644 --- a/arch/arm64/configs/vendor/pineapple_GKI.config +++ b/arch/arm64/configs/vendor/pineapple_GKI.config @@ -58,6 +58,7 @@ CONFIG_MSM_BOOT_STATS=m CONFIG_MSM_CORE_HANG_DETECT=m CONFIG_MSM_GPI_DMA=m # CONFIG_MSM_GPI_DMA_DEBUG is not set +CONFIG_MSM_PERFORMANCE=m CONFIG_MSM_QMP=m # CONFIG_NITRO_ENCLAVES is not set CONFIG_NOP_USB_XCEIV=m diff --git a/drivers/soc/qcom/Kconfig b/drivers/soc/qcom/Kconfig index 9c12ec0cb0fe..8b20924cea45 100644 --- a/drivers/soc/qcom/Kconfig +++ b/drivers/soc/qcom/Kconfig @@ -719,4 +719,12 @@ config QCOM_ICC_BWMON source "drivers/soc/qcom/mem_buf/Kconfig" +config MSM_PERFORMANCE + tristate "msm performance driver to support userspace fmin/fmax request" + help + This driver can restrict max freq or min freq of cpu cluster + when requested by the userspace by changing the cpufreq policy + fmin and fmax. The user space can request the cpu freq change by + writing cpu#:freq values + endmenu diff --git a/drivers/soc/qcom/Makefile b/drivers/soc/qcom/Makefile index 850d5b14df59..a81f7f58b2d1 100644 --- a/drivers/soc/qcom/Makefile +++ b/drivers/soc/qcom/Makefile @@ -63,3 +63,5 @@ obj-$(CONFIG_QCOM_DCVS) += dcvs/ obj-$(CONFIG_QCOM_CPUCP) += qcom_cpucp.o obj-$(CONFIG_QTI_CPUCP_LOG) += cpucp_log.o obj-$(CONFIG_QTI_SYS_PM_VX) += sys_pm_vx.o +obj-$(CONFIG_MSM_PERFORMANCE) += msm_performance.o +