diff options
Diffstat (limited to 'target/linux/brcm2708/patches-4.19/950-0585-drm-v3d-HACK-gut-runtime-pm-for-now.patch')
-rw-r--r-- | target/linux/brcm2708/patches-4.19/950-0585-drm-v3d-HACK-gut-runtime-pm-for-now.patch | 172 |
1 files changed, 0 insertions, 172 deletions
diff --git a/target/linux/brcm2708/patches-4.19/950-0585-drm-v3d-HACK-gut-runtime-pm-for-now.patch b/target/linux/brcm2708/patches-4.19/950-0585-drm-v3d-HACK-gut-runtime-pm-for-now.patch deleted file mode 100644 index 1b4dcd038d..0000000000 --- a/target/linux/brcm2708/patches-4.19/950-0585-drm-v3d-HACK-gut-runtime-pm-for-now.patch +++ /dev/null @@ -1,172 +0,0 @@ -From f9ed79254b9bc0063bd65ebc1ef0b5b789e81e17 Mon Sep 17 00:00:00 2001 -From: Eric Anholt <eric@anholt.net> -Date: Mon, 14 Jan 2019 15:13:17 -0800 -Subject: [PATCH 585/725] drm/v3d: HACK: gut runtime pm for now. - -Something is still unstable -- on starting a new glxgears from an idle -X11, I get an MMU violation in high addresses. The CTS also failed -quite quickly. With this, CTS progresses for an hour before OOMing -(allocating some big buffers when my board only has 600MB available to -Linux) - -Signed-off-by: Eric Anholt <eric@anholt.net> ---- - drivers/gpu/drm/v3d/v3d_debugfs.c | 16 +--------------- - drivers/gpu/drm/v3d/v3d_drv.c | 7 ------- - drivers/gpu/drm/v3d/v3d_gem.c | 20 -------------------- - 3 files changed, 1 insertion(+), 42 deletions(-) - ---- a/drivers/gpu/drm/v3d/v3d_debugfs.c -+++ b/drivers/gpu/drm/v3d/v3d_debugfs.c -@@ -4,7 +4,6 @@ - #include <linux/circ_buf.h> - #include <linux/ctype.h> - #include <linux/debugfs.h> --#include <linux/pm_runtime.h> - #include <linux/seq_file.h> - #include <drm/drmP.h> - -@@ -100,11 +99,8 @@ static int v3d_v3d_debugfs_ident(struct - struct drm_device *dev = node->minor->dev; - struct v3d_dev *v3d = to_v3d_dev(dev); - u32 ident0, ident1, ident2, ident3, cores; -- int ret, core; -+ int core; - -- ret = pm_runtime_get_sync(v3d->dev); -- if (ret < 0) -- return ret; - - ident0 = V3D_READ(V3D_HUB_IDENT0); - ident1 = V3D_READ(V3D_HUB_IDENT1); -@@ -157,9 +153,6 @@ static int v3d_v3d_debugfs_ident(struct - (misccfg & V3D_MISCCFG_OVRTMUOUT) != 0); - } - -- pm_runtime_mark_last_busy(v3d->dev); -- pm_runtime_put_autosuspend(v3d->dev); -- - return 0; - } - -@@ -187,11 +180,6 @@ static int v3d_measure_clock(struct seq_ - uint32_t cycles; - int core = 0; - int measure_ms = 1000; -- int ret; -- -- ret = pm_runtime_get_sync(v3d->dev); -- if (ret < 0) -- return ret; - - if (v3d->ver >= 40) { - V3D_CORE_WRITE(core, V3D_V4_PCTR_0_SRC_0_3, -@@ -215,8 +203,6 @@ static int v3d_measure_clock(struct seq_ - cycles / (measure_ms * 1000), - (cycles / (measure_ms * 100)) % 10); - -- pm_runtime_mark_last_busy(v3d->dev); -- pm_runtime_put_autosuspend(v3d->dev); - - return 0; - } ---- a/drivers/gpu/drm/v3d/v3d_drv.c -+++ b/drivers/gpu/drm/v3d/v3d_drv.c -@@ -75,7 +75,6 @@ static int v3d_get_param_ioctl(struct dr - { - struct v3d_dev *v3d = to_v3d_dev(dev); - struct drm_v3d_get_param *args = data; -- int ret; - static const u32 reg_map[] = { - [DRM_V3D_PARAM_V3D_UIFCFG] = V3D_HUB_UIFCFG, - [DRM_V3D_PARAM_V3D_HUB_IDENT1] = V3D_HUB_IDENT1, -@@ -101,15 +100,12 @@ static int v3d_get_param_ioctl(struct dr - if (args->value != 0) - return -EINVAL; - -- ret = pm_runtime_get_sync(v3d->dev); - if (args->param >= DRM_V3D_PARAM_V3D_CORE0_IDENT0 && - args->param <= DRM_V3D_PARAM_V3D_CORE0_IDENT2) { - args->value = V3D_CORE_READ(0, offset); - } else { - args->value = V3D_READ(offset); - } -- pm_runtime_mark_last_busy(v3d->dev); -- pm_runtime_put_autosuspend(v3d->dev); - return 0; - } - -@@ -311,9 +307,6 @@ static int v3d_platform_drm_probe(struct - goto dev_free; - } - -- pm_runtime_use_autosuspend(dev); -- pm_runtime_set_autosuspend_delay(dev, 50); -- pm_runtime_enable(dev); - - ret = drm_dev_init(&v3d->drm, &v3d_drm_driver, dev); - if (ret) ---- a/drivers/gpu/drm/v3d/v3d_gem.c -+++ b/drivers/gpu/drm/v3d/v3d_gem.c -@@ -375,7 +375,6 @@ v3d_exec_cleanup(struct kref *ref) - { - struct v3d_exec_info *exec = container_of(ref, struct v3d_exec_info, - refcount); -- struct v3d_dev *v3d = exec->v3d; - unsigned int i; - struct v3d_bo *bo, *save; - -@@ -396,9 +395,6 @@ v3d_exec_cleanup(struct kref *ref) - drm_gem_object_put_unlocked(&bo->base); - } - -- pm_runtime_mark_last_busy(v3d->dev); -- pm_runtime_put_autosuspend(v3d->dev); -- - kfree(exec); - } - -@@ -412,7 +408,6 @@ v3d_tfu_job_cleanup(struct kref *ref) - { - struct v3d_tfu_job *job = container_of(ref, struct v3d_tfu_job, - refcount); -- struct v3d_dev *v3d = job->v3d; - unsigned int i; - - dma_fence_put(job->in_fence); -@@ -423,9 +418,6 @@ v3d_tfu_job_cleanup(struct kref *ref) - drm_gem_object_put_unlocked(&job->bo[i]->base); - } - -- pm_runtime_mark_last_busy(v3d->dev); -- pm_runtime_put_autosuspend(v3d->dev); -- - kfree(job); - } - -@@ -519,12 +511,6 @@ v3d_submit_cl_ioctl(struct drm_device *d - if (!exec) - return -ENOMEM; - -- ret = pm_runtime_get_sync(v3d->dev); -- if (ret < 0) { -- kfree(exec); -- return ret; -- } -- - kref_init(&exec->refcount); - - ret = drm_syncobj_find_fence(file_priv, args->in_sync_bcl, -@@ -643,12 +629,6 @@ v3d_submit_tfu_ioctl(struct drm_device * - if (!job) - return -ENOMEM; - -- ret = pm_runtime_get_sync(v3d->dev); -- if (ret < 0) { -- kfree(job); -- return ret; -- } -- - kref_init(&job->refcount); - - ret = drm_syncobj_find_fence(file_priv, args->in_sync, |