Loading drivers/platform/msm/ipa/ipa_v3/ipa_pm.c +10 −7 Original line number Diff line number Diff line /* Copyright (c) 2017-2018, The Linux Foundation. All rights reserved. /* Copyright (c) 2017-2018, 2020 The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -1220,14 +1220,15 @@ int ipa_pm_set_perf_profile(u32 hdl, int throughput) return -EINVAL; } mutex_lock(&ipa_pm_ctx->client_mutex); if (hdl >= IPA_PM_MAX_CLIENTS || ipa_pm_ctx->clients[hdl] == NULL || throughput < 0) { IPA_PM_ERR("Invalid Params\n"); mutex_unlock(&ipa_pm_ctx->client_mutex); return -EINVAL; } client = ipa_pm_ctx->clients[hdl]; mutex_lock(&ipa_pm_ctx->client_mutex); if (client->group == IPA_PM_GROUP_DEFAULT) IPA_PM_DBG_LOW("Old throughput: %d\n", client->throughput); else Loading @@ -1246,6 +1247,7 @@ int ipa_pm_set_perf_profile(u32 hdl, int throughput) client->group, ipa_pm_ctx->group_tput[client->group]); mutex_unlock(&ipa_pm_ctx->client_mutex); if (ipa_pm_ctx->clients[hdl]) { spin_lock_irqsave(&client->state_lock, flags); if (IPA_PM_STATE_ACTIVE(client->state) || (client->group != IPA_PM_GROUP_DEFAULT)) { Loading @@ -1254,6 +1256,7 @@ int ipa_pm_set_perf_profile(u32 hdl, int throughput) return 0; } spin_unlock_irqrestore(&client->state_lock, flags); } return 0; } Loading Loading
drivers/platform/msm/ipa/ipa_v3/ipa_pm.c +10 −7 Original line number Diff line number Diff line /* Copyright (c) 2017-2018, The Linux Foundation. All rights reserved. /* Copyright (c) 2017-2018, 2020 The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -1220,14 +1220,15 @@ int ipa_pm_set_perf_profile(u32 hdl, int throughput) return -EINVAL; } mutex_lock(&ipa_pm_ctx->client_mutex); if (hdl >= IPA_PM_MAX_CLIENTS || ipa_pm_ctx->clients[hdl] == NULL || throughput < 0) { IPA_PM_ERR("Invalid Params\n"); mutex_unlock(&ipa_pm_ctx->client_mutex); return -EINVAL; } client = ipa_pm_ctx->clients[hdl]; mutex_lock(&ipa_pm_ctx->client_mutex); if (client->group == IPA_PM_GROUP_DEFAULT) IPA_PM_DBG_LOW("Old throughput: %d\n", client->throughput); else Loading @@ -1246,6 +1247,7 @@ int ipa_pm_set_perf_profile(u32 hdl, int throughput) client->group, ipa_pm_ctx->group_tput[client->group]); mutex_unlock(&ipa_pm_ctx->client_mutex); if (ipa_pm_ctx->clients[hdl]) { spin_lock_irqsave(&client->state_lock, flags); if (IPA_PM_STATE_ACTIVE(client->state) || (client->group != IPA_PM_GROUP_DEFAULT)) { Loading @@ -1254,6 +1256,7 @@ int ipa_pm_set_perf_profile(u32 hdl, int throughput) return 0; } spin_unlock_irqrestore(&client->state_lock, flags); } return 0; } Loading