diff options
author | Qiang Yu <yuq825@gmail.com> | 2020-01-16 21:11:56 +0800 |
---|---|---|
committer | Qiang Yu <yuq825@gmail.com> | 2020-01-27 22:01:15 +0800 |
commit | 2081e8dcf1ee7170c67c0891da5487ac7091d2df (patch) | |
tree | 9484b5fd71f566361ec48fdefcae2a7053feff8c /drivers/gpu/drm/lima/lima_sched.h | |
parent | 6aebc51d7aeff5a30d86485f320f0c871b5f23a4 (diff) | |
download | linux-2081e8dcf1ee7170c67c0891da5487ac7091d2df.tar.gz linux-2081e8dcf1ee7170c67c0891da5487ac7091d2df.tar.bz2 linux-2081e8dcf1ee7170c67c0891da5487ac7091d2df.zip |
drm/lima: recover task by enlarging heap buffer
Increase heap buffer backup memory when GP receive PLBU
out of memory interrupt, then resume the task.
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com>
Tested-by: Andreas Baierl <ichgeh@imkreisrum.de>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200116131157.13346-5-yuq825@gmail.com
Diffstat (limited to 'drivers/gpu/drm/lima/lima_sched.h')
-rw-r--r-- | drivers/gpu/drm/lima/lima_sched.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/drm/lima/lima_sched.h b/drivers/gpu/drm/lima/lima_sched.h index 1d814fecbcc0..d64393fb50a9 100644 --- a/drivers/gpu/drm/lima/lima_sched.h +++ b/drivers/gpu/drm/lima/lima_sched.h @@ -20,6 +20,9 @@ struct lima_sched_task { struct lima_bo **bos; int num_bos; + bool recoverable; + struct lima_bo *heap; + /* pipe fence */ struct dma_fence *fence; }; @@ -68,6 +71,9 @@ struct lima_sched_pipe { void (*task_fini)(struct lima_sched_pipe *pipe); void (*task_error)(struct lima_sched_pipe *pipe); void (*task_mmu_error)(struct lima_sched_pipe *pipe); + int (*task_recover)(struct lima_sched_pipe *pipe); + + struct work_struct recover_work; }; int lima_sched_task_init(struct lima_sched_task *task, |