diff options
Diffstat (limited to 'target/linux/bcm27xx/patches-5.4/950-0310-drm-v3d-Delete-pm_runtime-support.patch')
-rw-r--r-- | target/linux/bcm27xx/patches-5.4/950-0310-drm-v3d-Delete-pm_runtime-support.patch | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/target/linux/bcm27xx/patches-5.4/950-0310-drm-v3d-Delete-pm_runtime-support.patch b/target/linux/bcm27xx/patches-5.4/950-0310-drm-v3d-Delete-pm_runtime-support.patch new file mode 100644 index 0000000000..642be233ad --- /dev/null +++ b/target/linux/bcm27xx/patches-5.4/950-0310-drm-v3d-Delete-pm_runtime-support.patch @@ -0,0 +1,62 @@ +From 4fad98821e9ccd74b9b828d98cbe9df8c7437605 Mon Sep 17 00:00:00 2001 +From: Phil Elwell <phil@raspberrypi.org> +Date: Wed, 18 Sep 2019 17:22:36 +0100 +Subject: [PATCH] drm/v3d: Delete pm_runtime support + +The pm_runtime was blocking changelist submission, so delete it as a +temporary workaround. + +Signed-off-by: Phil Elwell <phil@raspberrypi.org> +--- + drivers/gpu/drm/v3d/v3d_gem.c | 5 ----- + drivers/gpu/drm/v3d/v3d_mmu.c | 11 ----------- + 2 files changed, 16 deletions(-) + +--- a/drivers/gpu/drm/v3d/v3d_gem.c ++++ b/drivers/gpu/drm/v3d/v3d_gem.c +@@ -478,10 +478,6 @@ v3d_job_init(struct v3d_dev *v3d, struct + job->v3d = v3d; + job->free = free; + +- ret = pm_runtime_get_sync(v3d->dev); +- if (ret < 0) +- return ret; +- + xa_init_flags(&job->deps, XA_FLAGS_ALLOC); + + ret = drm_syncobj_find_fence(file_priv, in_sync, 0, 0, &in_fence); +@@ -498,7 +494,6 @@ v3d_job_init(struct v3d_dev *v3d, struct + return 0; + fail: + xa_destroy(&job->deps); +- pm_runtime_put_autosuspend(v3d->dev); + return ret; + } + +--- a/drivers/gpu/drm/v3d/v3d_mmu.c ++++ b/drivers/gpu/drm/v3d/v3d_mmu.c +@@ -36,14 +36,6 @@ static int v3d_mmu_flush_all(struct v3d_ + { + int ret; + +- /* Keep power on the device on until we're done with this +- * call, but skip the flush if the device is off and will be +- * reset when powered back on. +- */ +- ret = pm_runtime_get_if_in_use(v3d->dev); +- if (ret == 0) +- return 0; +- + /* Make sure that another flush isn't already running when we + * start this one. + */ +@@ -71,9 +63,6 @@ static int v3d_mmu_flush_all(struct v3d_ + if (ret) + dev_err(v3d->dev, "MMUC flush wait idle failed\n"); + +- pm_runtime_mark_last_busy(v3d->dev); +- pm_runtime_put_autosuspend(v3d->dev); +- + return ret; + } + |