From 0c062d5a2a9ef657dc63eda718bbe64d64b4d601 Mon Sep 17 00:00:00 2001 From: Govindaraj Rajagopal Date: Fri, 4 Jun 2021 23:15:52 +0530 Subject: [PATCH] video: driver: utilize mod_delayed_work functionality mod_delayed_work() is a replacement for cancel_delayed_work() + queue_delayed_work(). It will update only timer value, instead of completely cancelling and queueing a new delayed work. Change-Id: Id07d54e025c5a2e82f29160ae6d249d44f00bb15 Signed-off-by: Govindaraj Rajagopal --- driver/vidc/src/msm_vdec.c | 3 +-- driver/vidc/src/venus_hfi.c | 6 ++---- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/driver/vidc/src/msm_vdec.c b/driver/vidc/src/msm_vdec.c index 47ee38256e..018577440d 100644 --- a/driver/vidc/src/msm_vdec.c +++ b/driver/vidc/src/msm_vdec.c @@ -1437,8 +1437,7 @@ static int schedule_batch_work(struct msm_vidc_inst *inst) return -EINVAL; } core = inst->core; - cancel_delayed_work(&inst->decode_batch.work); - queue_delayed_work(core->batch_workq, &inst->decode_batch.work, + mod_delayed_work(core->batch_workq, &inst->decode_batch.work, msecs_to_jiffies(core->capabilities[DECODE_BATCH_TIMEOUT].value)); return 0; diff --git a/driver/vidc/src/venus_hfi.c b/driver/vidc/src/venus_hfi.c index 226f7a523b..3e603e6447 100644 --- a/driver/vidc/src/venus_hfi.c +++ b/driver/vidc/src/venus_hfi.c @@ -346,10 +346,8 @@ static void __schedule_power_collapse_work(struct msm_vidc_core *core) return; } - cancel_delayed_work(&core->pm_work); - if (!queue_delayed_work(core->pm_workq, - &core->pm_work, msecs_to_jiffies( - core->capabilities[SW_PC_DELAY].value))) { + if (!mod_delayed_work(core->pm_workq, &core->pm_work, + msecs_to_jiffies(core->capabilities[SW_PC_DELAY].value))) { d_vpr_e("power collapse already scheduled\n"); } else { d_vpr_l("power collapse scheduled for %d ms\n",