msm_mmrm: Add support of new low voltage corners in mmrm driver

Add support of low priority voltage corners lowsvs and
svs in mmrm driver.
This logic maintains a list of clients which are to be
proritize to be throtlled to low power in order to satisfy
high priority client's power requiretment.

Change-Id: Ia7f912e41bbcff057c0732cc7c2b16e327c59fd8
Signed-off-by: Mahesh Kumar Sharma <smahesh@codeaurora.org>
This commit is contained in:
Mahesh Kumar Sharma
2021-07-06 14:34:12 -07:00
parent 3b8eae3aa1
commit af00e1b7ca
11 changed files with 123 additions and 50 deletions

View File

@@ -1,12 +1,13 @@
/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2020, The Linux Foundation. All rights reserved.
* Copyright (c) 2020-2021, The Linux Foundation. All rights reserved.
*/
#ifndef _MMRM_RESOURCES_H_
#define _MMRM_RESOURCES_H_
#include <linux/platform_device.h>
#define MMRM_MAX_THROTTLE_CLIENTS 5
struct corner_info {
const char *name;
@@ -36,6 +37,8 @@ struct mmrm_clk_platform_resources {
struct platform_device *pdev;
u32 threshold;
u32 scheme;
u32 clsid_threshold_clients[MMRM_MAX_THROTTLE_CLIENTS];
u16 throttle_clients_data_length;
struct voltage_corner_set corner_set;
struct nom_clk_src_set nom_clk_set;
};