Commit be7fbad6 authored by Nicolas Saenz Julienne's avatar Nicolas Saenz Julienne Committed by Greg Kroah-Hartman

staging: vc04_services: get rid of vchiq_platform_use_suspend_timer()

The function always returns 0, delete the function and all code
conditional to it, namely the suspend timer.
Signed-off-by: default avatarNicolas Saenz Julienne <nsaenzjulienne@suse.de>
Link: https://lore.kernel.org/r/20200131103836.14312-7-nsaenzjulienne@suse.deSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent dcbcbfa4
...@@ -284,17 +284,6 @@ vchiq_platform_videocore_wanted(struct vchiq_state *state) ...@@ -284,17 +284,6 @@ vchiq_platform_videocore_wanted(struct vchiq_state *state)
{ {
return 1; // autosuspend not supported - videocore always wanted return 1; // autosuspend not supported - videocore always wanted
} }
int
vchiq_platform_use_suspend_timer(void)
{
return 0;
}
void
vchiq_dump_platform_use_state(struct vchiq_state *state)
{
vchiq_log_info(vchiq_arm_log_level, "Suspend timer not in use");
}
void void
vchiq_platform_handle_timeout(struct vchiq_state *state) vchiq_platform_handle_timeout(struct vchiq_state *state)
{ {
......
...@@ -48,9 +48,6 @@ ...@@ -48,9 +48,6 @@
int vchiq_arm_log_level = VCHIQ_LOG_DEFAULT; int vchiq_arm_log_level = VCHIQ_LOG_DEFAULT;
int vchiq_susp_log_level = VCHIQ_LOG_ERROR; int vchiq_susp_log_level = VCHIQ_LOG_ERROR;
#define SUSPEND_TIMER_TIMEOUT_MS 100
#define SUSPEND_RETRY_TIMER_TIMEOUT_MS 1000
#define VC_SUSPEND_NUM_OFFSET 3 /* number of values before idle which are -ve */ #define VC_SUSPEND_NUM_OFFSET 3 /* number of values before idle which are -ve */
static const char *const suspend_state_names[] = { static const char *const suspend_state_names[] = {
"VC_SUSPEND_FORCE_CANCELED", "VC_SUSPEND_FORCE_CANCELED",
...@@ -79,8 +76,6 @@ static const char *const resume_state_names[] = { ...@@ -79,8 +76,6 @@ static const char *const resume_state_names[] = {
* requested */ * requested */
#define FORCE_SUSPEND_TIMEOUT_MS 200 #define FORCE_SUSPEND_TIMEOUT_MS 200
static void suspend_timer_callback(struct timer_list *t);
struct user_service { struct user_service {
struct vchiq_service *service; struct vchiq_service *service;
void *userdata; void *userdata;
...@@ -2384,12 +2379,7 @@ vchiq_arm_init_state(struct vchiq_state *state, ...@@ -2384,12 +2379,7 @@ vchiq_arm_init_state(struct vchiq_state *state,
* completion while videocore is suspended. */ * completion while videocore is suspended. */
set_resume_state(arm_state, VC_RESUME_RESUMED); set_resume_state(arm_state, VC_RESUME_RESUMED);
arm_state->suspend_timer_timeout = SUSPEND_TIMER_TIMEOUT_MS;
arm_state->suspend_timer_running = 0;
arm_state->state = state; arm_state->state = state;
timer_setup(&arm_state->suspend_timer, suspend_timer_callback,
0);
arm_state->first_connect = 0; arm_state->first_connect = 0;
} }
...@@ -2517,27 +2507,6 @@ set_resume_state(struct vchiq_arm_state *arm_state, ...@@ -2517,27 +2507,6 @@ set_resume_state(struct vchiq_arm_state *arm_state,
} }
} }
/* should be called with the write lock held */
inline void
start_suspend_timer(struct vchiq_arm_state *arm_state)
{
del_timer(&arm_state->suspend_timer);
arm_state->suspend_timer.expires = jiffies +
msecs_to_jiffies(arm_state->suspend_timer_timeout);
add_timer(&arm_state->suspend_timer);
arm_state->suspend_timer_running = 1;
}
/* should be called with the write lock held */
static inline void
stop_suspend_timer(struct vchiq_arm_state *arm_state)
{
if (arm_state->suspend_timer_running) {
del_timer(&arm_state->suspend_timer);
arm_state->suspend_timer_running = 0;
}
}
static inline int static inline int
need_resume(struct vchiq_state *state) need_resume(struct vchiq_state *state)
{ {
...@@ -2626,28 +2595,6 @@ vchiq_platform_check_suspend(struct vchiq_state *state) ...@@ -2626,28 +2595,6 @@ vchiq_platform_check_suspend(struct vchiq_state *state)
return; return;
} }
void
vchiq_check_suspend(struct vchiq_state *state)
{
struct vchiq_arm_state *arm_state = vchiq_platform_get_arm_state(state);
if (!arm_state)
goto out;
vchiq_log_trace(vchiq_susp_log_level, "%s", __func__);
write_lock_bh(&arm_state->susp_res_lock);
if (arm_state->vc_suspend_state != VC_SUSPEND_SUSPENDED &&
arm_state->first_connect &&
!vchiq_videocore_wanted(state)) {
vchiq_arm_vcsuspend(state);
}
write_unlock_bh(&arm_state->susp_res_lock);
out:
vchiq_log_trace(vchiq_susp_log_level, "%s exit", __func__);
}
/* This function should be called with the write lock held */ /* This function should be called with the write lock held */
int int
vchiq_check_resume(struct vchiq_state *state) vchiq_check_resume(struct vchiq_state *state)
...@@ -2702,9 +2649,6 @@ vchiq_use_internal(struct vchiq_state *state, struct vchiq_service *service, ...@@ -2702,9 +2649,6 @@ vchiq_use_internal(struct vchiq_state *state, struct vchiq_service *service,
} }
write_lock_bh(&arm_state->susp_res_lock); write_lock_bh(&arm_state->susp_res_lock);
stop_suspend_timer(arm_state);
local_uc = ++arm_state->videocore_use_count; local_uc = ++arm_state->videocore_use_count;
local_entity_uc = ++(*entity_uc); local_entity_uc = ++(*entity_uc);
...@@ -2799,15 +2743,11 @@ vchiq_release_internal(struct vchiq_state *state, struct vchiq_service *service) ...@@ -2799,15 +2743,11 @@ vchiq_release_internal(struct vchiq_state *state, struct vchiq_service *service)
--(*entity_uc); --(*entity_uc);
if (!vchiq_videocore_wanted(state)) { if (!vchiq_videocore_wanted(state)) {
if (vchiq_platform_use_suspend_timer()) {
start_suspend_timer(arm_state);
} else {
vchiq_log_info(vchiq_susp_log_level, vchiq_log_info(vchiq_susp_log_level,
"%s %s count %d, state count %d - suspending", "%s %s count %d, state count %d - suspending",
__func__, entity, *entity_uc, __func__, entity, *entity_uc,
arm_state->videocore_use_count); arm_state->videocore_use_count);
vchiq_arm_vcsuspend(state); vchiq_arm_vcsuspend(state);
}
} else } else
vchiq_log_trace(vchiq_susp_log_level, vchiq_log_trace(vchiq_susp_log_level,
"%s %s count %d, state count %d", "%s %s count %d, state count %d",
...@@ -2902,17 +2842,6 @@ vchiq_instance_set_trace(struct vchiq_instance *instance, int trace) ...@@ -2902,17 +2842,6 @@ vchiq_instance_set_trace(struct vchiq_instance *instance, int trace)
instance->trace = (trace != 0); instance->trace = (trace != 0);
} }
static void suspend_timer_callback(struct timer_list *t)
{
struct vchiq_arm_state *arm_state =
from_timer(arm_state, t, suspend_timer);
struct vchiq_state *state = arm_state->state;
vchiq_log_info(vchiq_susp_log_level,
"%s - suspend timer expired - check suspend", __func__);
vchiq_check_suspend(state);
}
enum vchiq_status enum vchiq_status
vchiq_use_service(unsigned int handle) vchiq_use_service(unsigned int handle)
{ {
...@@ -3028,8 +2957,6 @@ vchiq_dump_service_use_state(struct vchiq_state *state) ...@@ -3028,8 +2957,6 @@ vchiq_dump_service_use_state(struct vchiq_state *state)
"--- Overall vchiq instance use count %d", vc_use_count); "--- Overall vchiq instance use count %d", vc_use_count);
kfree(service_data); kfree(service_data);
vchiq_dump_platform_use_state(state);
} }
enum vchiq_status enum vchiq_status
......
...@@ -54,9 +54,6 @@ struct vchiq_arm_state { ...@@ -54,9 +54,6 @@ struct vchiq_arm_state {
enum vc_resume_status vc_resume_state; enum vc_resume_status vc_resume_state;
struct vchiq_state *state; struct vchiq_state *state;
struct timer_list suspend_timer;
int suspend_timer_timeout;
int suspend_timer_running;
/* Global use count for videocore. /* Global use count for videocore.
** This is equal to the sum of the use counts for all services. When ** This is equal to the sum of the use counts for all services. When
...@@ -121,9 +118,6 @@ vchiq_platform_suspend(struct vchiq_state *state); ...@@ -121,9 +118,6 @@ vchiq_platform_suspend(struct vchiq_state *state);
extern int extern int
vchiq_platform_videocore_wanted(struct vchiq_state *state); vchiq_platform_videocore_wanted(struct vchiq_state *state);
extern int
vchiq_platform_use_suspend_timer(void);
extern void extern void
vchiq_dump_platform_use_state(struct vchiq_state *state); vchiq_dump_platform_use_state(struct vchiq_state *state);
...@@ -166,7 +160,4 @@ extern void ...@@ -166,7 +160,4 @@ extern void
set_resume_state(struct vchiq_arm_state *arm_state, set_resume_state(struct vchiq_arm_state *arm_state,
enum vc_resume_status new_state); enum vc_resume_status new_state);
extern void
start_suspend_timer(struct vchiq_arm_state *arm_state);
#endif /* VCHIQ_ARM_H */ #endif /* VCHIQ_ARM_H */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment