mirror of https://gitee.com/openkylin/linux.git
drm/vc4: Convert timers to use timer_setup()
In preparation for unconditionally passing the struct timer_list pointer to all timer callbacks, switch to using the new timer_setup() and from_timer() to pass the timer pointer explicitly. Cc: Eric Anholt <eric@anholt.net> Cc: David Airlie <airlied@linux.ie> Cc: dri-devel@lists.freedesktop.org Signed-off-by: Kees Cook <keescook@chromium.org> Signed-off-by: Eric Anholt <eric@anholt.net> Link: https://patchwork.freedesktop.org/patch/msgid/20171024151648.GA104538@beast Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
parent
bca237a52c
commit
0078730f5b
|
@ -674,10 +674,9 @@ void vc4_bo_dec_usecnt(struct vc4_bo *bo)
|
||||||
mutex_unlock(&bo->madv_lock);
|
mutex_unlock(&bo->madv_lock);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void vc4_bo_cache_time_timer(unsigned long data)
|
static void vc4_bo_cache_time_timer(struct timer_list *t)
|
||||||
{
|
{
|
||||||
struct drm_device *dev = (struct drm_device *)data;
|
struct vc4_dev *vc4 = from_timer(vc4, t, bo_cache.time_timer);
|
||||||
struct vc4_dev *vc4 = to_vc4_dev(dev);
|
|
||||||
|
|
||||||
schedule_work(&vc4->bo_cache.time_work);
|
schedule_work(&vc4->bo_cache.time_work);
|
||||||
}
|
}
|
||||||
|
@ -1039,9 +1038,7 @@ int vc4_bo_cache_init(struct drm_device *dev)
|
||||||
INIT_LIST_HEAD(&vc4->bo_cache.time_list);
|
INIT_LIST_HEAD(&vc4->bo_cache.time_list);
|
||||||
|
|
||||||
INIT_WORK(&vc4->bo_cache.time_work, vc4_bo_cache_time_work);
|
INIT_WORK(&vc4->bo_cache.time_work, vc4_bo_cache_time_work);
|
||||||
setup_timer(&vc4->bo_cache.time_timer,
|
timer_setup(&vc4->bo_cache.time_timer, vc4_bo_cache_time_timer, 0);
|
||||||
vc4_bo_cache_time_timer,
|
|
||||||
(unsigned long)dev);
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -312,10 +312,10 @@ vc4_reset_work(struct work_struct *work)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
vc4_hangcheck_elapsed(unsigned long data)
|
vc4_hangcheck_elapsed(struct timer_list *t)
|
||||||
{
|
{
|
||||||
struct drm_device *dev = (struct drm_device *)data;
|
struct vc4_dev *vc4 = from_timer(vc4, t, hangcheck.timer);
|
||||||
struct vc4_dev *vc4 = to_vc4_dev(dev);
|
struct drm_device *dev = vc4->dev;
|
||||||
uint32_t ct0ca, ct1ca;
|
uint32_t ct0ca, ct1ca;
|
||||||
unsigned long irqflags;
|
unsigned long irqflags;
|
||||||
struct vc4_exec_info *bin_exec, *render_exec;
|
struct vc4_exec_info *bin_exec, *render_exec;
|
||||||
|
@ -1154,9 +1154,7 @@ vc4_gem_init(struct drm_device *dev)
|
||||||
spin_lock_init(&vc4->job_lock);
|
spin_lock_init(&vc4->job_lock);
|
||||||
|
|
||||||
INIT_WORK(&vc4->hangcheck.reset_work, vc4_reset_work);
|
INIT_WORK(&vc4->hangcheck.reset_work, vc4_reset_work);
|
||||||
setup_timer(&vc4->hangcheck.timer,
|
timer_setup(&vc4->hangcheck.timer, vc4_hangcheck_elapsed, 0);
|
||||||
vc4_hangcheck_elapsed,
|
|
||||||
(unsigned long)dev);
|
|
||||||
|
|
||||||
INIT_WORK(&vc4->job_done_work, vc4_job_done_work);
|
INIT_WORK(&vc4->job_done_work, vc4_job_done_work);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue