summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/lima/lima_gp.c
diff options
context:
space:
mode:
authorQiang Yu <yuq825@gmail.com>2020-04-21 21:35:48 +0800
committerQiang Yu <yuq825@gmail.com>2020-04-24 20:51:10 +0800
commit3446d7e9883d70882568b0f7b6549835d51a8bc7 (patch)
treebac87841e0e25d9ce56d4f8b5330d25f708c7f46 /drivers/gpu/drm/lima/lima_gp.c
parent9f5072a191a141dcc919125986ea22bf05d598a7 (diff)
drm/lima: add resume/suspend callback for each ip
For called when PM do resume/suspend. Tested-by: Bhushan Shah <bshah@kde.org> Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com> Signed-off-by: Qiang Yu <yuq825@gmail.com> Link: https://patchwork.freedesktop.org/patch/msgid/20200421133551.31481-8-yuq825@gmail.com
Diffstat (limited to 'drivers/gpu/drm/lima/lima_gp.c')
-rw-r--r--drivers/gpu/drm/lima/lima_gp.c21
1 files changed, 18 insertions, 3 deletions
diff --git a/drivers/gpu/drm/lima/lima_gp.c b/drivers/gpu/drm/lima/lima_gp.c
index d8841c870d90..8dd501b7a3d0 100644
--- a/drivers/gpu/drm/lima/lima_gp.c
+++ b/drivers/gpu/drm/lima/lima_gp.c
@@ -274,6 +274,23 @@ static void lima_gp_print_version(struct lima_ip *ip)
static struct kmem_cache *lima_gp_task_slab;
static int lima_gp_task_slab_refcnt;
+static int lima_gp_hw_init(struct lima_ip *ip)
+{
+ ip->data.async_reset = false;
+ lima_gp_soft_reset_async(ip);
+ return lima_gp_soft_reset_async_wait(ip);
+}
+
+int lima_gp_resume(struct lima_ip *ip)
+{
+ return lima_gp_hw_init(ip);
+}
+
+void lima_gp_suspend(struct lima_ip *ip)
+{
+
+}
+
int lima_gp_init(struct lima_ip *ip)
{
struct lima_device *dev = ip->dev;
@@ -281,9 +298,7 @@ int lima_gp_init(struct lima_ip *ip)
lima_gp_print_version(ip);
- ip->data.async_reset = false;
- lima_gp_soft_reset_async(ip);
- err = lima_gp_soft_reset_async_wait(ip);
+ err = lima_gp_hw_init(ip);
if (err)
return err;