diff options
author | linyuny <linyuny@google.com> | 2023-08-01 03:36:40 +0000 |
---|---|---|
committer | linyuny <linyuny@google.com> | 2023-11-29 22:48:00 +0000 |
commit | 01cb2f53792eeb68b8f28ac2efc60085893d717e (patch) | |
tree | d56898632aa5028ec68744fa15eee0a253ab8abc | |
parent | 1e5415d323a6f485a477f0296b5eb4e6463d4c87 (diff) | |
download | lwis-01cb2f53792eeb68b8f28ac2efc60085893d717e.tar.gz |
Add platform specific part for QOS update based on QOS family
Define QOS update via qos_family_name under platform directory.
Cherry pick from other branch for qos interface cleanup purpose:
https://b.corp.google.com/issues/308976572#comment2
Bug: 308976572
Change-Id: Ib3a926c9701fc14a0bd41bc99e19b54bc04a2fed
Signed-off-by: linyuny <linyuny@google.com>
(cherry picked from I4d912ab3d69c2291218b4c909ae06ae7eb56c8ae)
-rw-r--r-- | lwis_device_dpm.c | 8 | ||||
-rw-r--r-- | lwis_platform.h | 7 | ||||
-rw-r--r-- | platform/anchorage/lwis_platform_anchorage.c | 6 | ||||
-rw-r--r-- | platform/busan/lwis_platform_busan.c | 6 | ||||
-rw-r--r-- | platform/casablanca/lwis_platform_casablanca.c | 6 |
5 files changed, 30 insertions, 3 deletions
diff --git a/lwis_device_dpm.c b/lwis_device_dpm.c index 982949d..cfcdafd 100644 --- a/lwis_device_dpm.c +++ b/lwis_device_dpm.c @@ -59,7 +59,9 @@ static int find_bts_block(struct lwis_device *lwis_dev, struct lwis_device *targ /* * lwis_dpm_update_qos_with_clock_family: update qos requirement for lwis device with - * clock family (will deprecate soon). + * clock family. + * TODO(b/294268791) Function will be merged into platform code + * (lwis_dpm_update_qos_with_clock_family). */ static int lwis_dpm_update_qos_with_clock_family(struct lwis_device *lwis_dev, struct lwis_device *target_dev, @@ -150,8 +152,8 @@ int lwis_dpm_update_qos(struct lwis_device *lwis_dev, struct lwis_qos_setting_v3 // As for qos update, either of qos_family_name or clock_family need set. if (strlen(qos_setting->qos_family_name) > 0) { // (TODO: linyuny) Platform Related stuff will be separated into the following CL. - ret = 0; - } else if (qos_setting->clock_family != -1) { + ret = lwis_platform_dpm_update_qos(lwis_dev, target_dev, qos_setting); + } else if (qos_setting->clock_family != CLOCK_FAMILY_INVALID) { ret = lwis_dpm_update_qos_with_clock_family(lwis_dev, target_dev, qos_setting); } else { dev_err(lwis_dev->dev, "Invalid clock family name and clock family %d\n", diff --git a/lwis_platform.h b/lwis_platform.h index ad4f75b..51e3021 100644 --- a/lwis_platform.h +++ b/lwis_platform.h @@ -57,4 +57,11 @@ int lwis_platform_update_bts(struct lwis_device *lwis_dev, int block, unsigned i */ int lwis_plaform_set_default_irq_affinity(unsigned int irq); +/* + * lwis_platform_dpm_update_qos: handles platform-specific parts of + * updating qos requirements. + */ +int lwis_platform_dpm_update_qos(struct lwis_device *lwis_dev, struct lwis_device *target_dev, + struct lwis_qos_setting_v3 *qos_setting); + #endif /* LWIS_PLATFORM_H_ */ diff --git a/platform/anchorage/lwis_platform_anchorage.c b/platform/anchorage/lwis_platform_anchorage.c index b84c98c..d945369 100644 --- a/platform/anchorage/lwis_platform_anchorage.c +++ b/platform/anchorage/lwis_platform_anchorage.c @@ -277,6 +277,12 @@ int lwis_platform_update_qos(struct lwis_device *lwis_dev, int value, int32_t cl return 0; } +int lwis_platform_dpm_update_qos(struct lwis_device *lwis_dev, struct lwis_device *target_dev, + struct lwis_qos_setting_v3 *qos_setting) +{ + return 0; +} + int lwis_platform_remove_qos(struct lwis_device *lwis_dev) { struct lwis_platform *platform; diff --git a/platform/busan/lwis_platform_busan.c b/platform/busan/lwis_platform_busan.c index 3eb317c..9dae59f 100644 --- a/platform/busan/lwis_platform_busan.c +++ b/platform/busan/lwis_platform_busan.c @@ -263,6 +263,12 @@ int lwis_platform_update_qos(struct lwis_device *lwis_dev, int value, int32_t cl return 0; } +int lwis_platform_dpm_update_qos(struct lwis_device *lwis_dev, struct lwis_device *target_dev, + struct lwis_qos_setting_v3 *qos_setting) +{ + return 0; +} + int lwis_platform_remove_qos(struct lwis_device *lwis_dev) { struct lwis_platform *platform; diff --git a/platform/casablanca/lwis_platform_casablanca.c b/platform/casablanca/lwis_platform_casablanca.c index 661854d..340d431 100644 --- a/platform/casablanca/lwis_platform_casablanca.c +++ b/platform/casablanca/lwis_platform_casablanca.c @@ -247,6 +247,12 @@ int lwis_platform_update_qos(struct lwis_device *lwis_dev, int value, int32_t cl return 0; } +int lwis_platform_dpm_update_qos(struct lwis_device *lwis_dev, struct lwis_device *target_dev, + struct lwis_qos_setting_v3 *qos_setting) +{ + return 0; +} + int lwis_platform_remove_qos(struct lwis_device *lwis_dev) { struct lwis_platform *platform; |