staging: vc04_services: get rid of vchiq_platform_use_suspend_timer()
authorNicolas Saenz Julienne <nsaenzjulienne@suse.de>
Fri, 31 Jan 2020 10:38:22 +0000 (11:38 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 10 Feb 2020 00:22:59 +0000 (16:22 -0800)
The function always returns 0, delete the function and all code
conditional to it, namely the suspend timer.

Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Link: https://lore.kernel.org/r/20200131103836.14312-7-nsaenzjulienne@suse.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.h

index ca30bfd529195ccd3f3b37cfb3c9d7b4b261b0ba..1ffb2aea947c316e1edcb04226bf70791f48d0dd 100644 (file)
@@ -284,17 +284,6 @@ vchiq_platform_videocore_wanted(struct vchiq_state *state)
 {
        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
 vchiq_platform_handle_timeout(struct vchiq_state *state)
 {
index 4545df573c909c979fb4d6f8525b0ea7e4eb4927..2dfa5793d83ba0302fe8a11308fd97ea8a8678c9 100644 (file)
@@ -48,9 +48,6 @@
 int vchiq_arm_log_level = VCHIQ_LOG_DEFAULT;
 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 */
 static const char *const suspend_state_names[] = {
        "VC_SUSPEND_FORCE_CANCELED",
@@ -79,8 +76,6 @@ static const char *const resume_state_names[] = {
  * requested */
 #define FORCE_SUSPEND_TIMEOUT_MS 200
 
-static void suspend_timer_callback(struct timer_list *t);
-
 struct user_service {
        struct vchiq_service *service;
        void *userdata;
@@ -2384,12 +2379,7 @@ vchiq_arm_init_state(struct vchiq_state *state,
                 * completion while videocore is suspended. */
                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;
-               timer_setup(&arm_state->suspend_timer, suspend_timer_callback,
-                           0);
-
                arm_state->first_connect = 0;
 
        }
@@ -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
 need_resume(struct vchiq_state *state)
 {
@@ -2626,28 +2595,6 @@ out:
        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 */
 int
 vchiq_check_resume(struct vchiq_state *state)
@@ -2702,9 +2649,6 @@ vchiq_use_internal(struct vchiq_state *state, struct vchiq_service *service,
        }
 
        write_lock_bh(&arm_state->susp_res_lock);
-
-       stop_suspend_timer(arm_state);
-
        local_uc = ++arm_state->videocore_use_count;
        local_entity_uc = ++(*entity_uc);
 
@@ -2799,15 +2743,11 @@ vchiq_release_internal(struct vchiq_state *state, struct vchiq_service *service)
        --(*entity_uc);
 
        if (!vchiq_videocore_wanted(state)) {
-               if (vchiq_platform_use_suspend_timer()) {
-                       start_suspend_timer(arm_state);
-               } else {
-                       vchiq_log_info(vchiq_susp_log_level,
-                               "%s %s count %d, state count %d - suspending",
-                               __func__, entity, *entity_uc,
-                               arm_state->videocore_use_count);
-                       vchiq_arm_vcsuspend(state);
-               }
+               vchiq_log_info(vchiq_susp_log_level,
+                       "%s %s count %d, state count %d - suspending",
+                       __func__, entity, *entity_uc,
+                       arm_state->videocore_use_count);
+               vchiq_arm_vcsuspend(state);
        } else
                vchiq_log_trace(vchiq_susp_log_level,
                        "%s %s count %d, state count %d",
@@ -2902,17 +2842,6 @@ vchiq_instance_set_trace(struct vchiq_instance *instance, int trace)
        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
 vchiq_use_service(unsigned int handle)
 {
@@ -3028,8 +2957,6 @@ vchiq_dump_service_use_state(struct vchiq_state *state)
                "--- Overall vchiq instance use count %d", vc_use_count);
 
        kfree(service_data);
-
-       vchiq_dump_platform_use_state(state);
 }
 
 enum vchiq_status
index 35889a65b17f0fcc443407df9b4493e0973787e9..61c50d7d4396a79d933ec81a37f8d19a14b934da 100644 (file)
@@ -54,9 +54,6 @@ struct vchiq_arm_state {
        enum vc_resume_status vc_resume_state;
 
        struct vchiq_state *state;
-       struct timer_list suspend_timer;
-       int suspend_timer_timeout;
-       int suspend_timer_running;
 
        /* Global use count for videocore.
        ** 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);
 extern int
 vchiq_platform_videocore_wanted(struct vchiq_state *state);
 
-extern int
-vchiq_platform_use_suspend_timer(void);
-
 extern void
 vchiq_dump_platform_use_state(struct vchiq_state *state);
 
@@ -166,7 +160,4 @@ extern void
 set_resume_state(struct vchiq_arm_state *arm_state,
                 enum vc_resume_status new_state);
 
-extern void
-start_suspend_timer(struct vchiq_arm_state *arm_state);
-
 #endif /* VCHIQ_ARM_H */