From d9d090e52082635a24aeaefdc6bfe61ab97f38bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= Date: Tue, 7 Feb 2017 22:30:59 +0100 Subject: brcm2708: remove linux 4.4 support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Álvaro Fernández Rojas --- ...c4-Drop-struct_mutex-around-CL-validation.patch | 63 ---------------------- 1 file changed, 63 deletions(-) delete mode 100644 target/linux/brcm2708/patches-4.4/0095-drm-vc4-Drop-struct_mutex-around-CL-validation.patch (limited to 'target/linux/brcm2708/patches-4.4/0095-drm-vc4-Drop-struct_mutex-around-CL-validation.patch') diff --git a/target/linux/brcm2708/patches-4.4/0095-drm-vc4-Drop-struct_mutex-around-CL-validation.patch b/target/linux/brcm2708/patches-4.4/0095-drm-vc4-Drop-struct_mutex-around-CL-validation.patch deleted file mode 100644 index d09d8a1b1c..0000000000 --- a/target/linux/brcm2708/patches-4.4/0095-drm-vc4-Drop-struct_mutex-around-CL-validation.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 42dd8243cc7c8870c01f245dab252391375384ef Mon Sep 17 00:00:00 2001 -From: Eric Anholt -Date: Mon, 19 Oct 2015 08:44:35 -0700 -Subject: [PATCH] drm/vc4: Drop struct_mutex around CL validation. - -We were using it so that we could make sure that shader validation -state didn't change while we were validating, but now shader -validation state is immutable. The bcl/rcl generation doesn't do any -other BO dereferencing, and seems to have no other global state -dependency not covered by job_lock / bo_lock. - -Fixes a lock order reversal between mmap_sem and struct_mutex. - -Signed-off-by: Eric Anholt ---- - drivers/gpu/drm/vc4/vc4_gem.c | 12 ++++-------- - 1 file changed, 4 insertions(+), 8 deletions(-) - ---- a/drivers/gpu/drm/vc4/vc4_gem.c -+++ b/drivers/gpu/drm/vc4/vc4_gem.c -@@ -244,13 +244,15 @@ static void - vc4_queue_submit(struct drm_device *dev, struct vc4_exec_info *exec) - { - struct vc4_dev *vc4 = to_vc4_dev(dev); -- uint64_t seqno = ++vc4->emit_seqno; -+ uint64_t seqno; - unsigned long irqflags; - -+ spin_lock_irqsave(&vc4->job_lock, irqflags); -+ -+ seqno = ++vc4->emit_seqno; - exec->seqno = seqno; - vc4_update_bo_seqnos(exec, seqno); - -- spin_lock_irqsave(&vc4->job_lock, irqflags); - list_add_tail(&exec->head, &vc4->job_list); - - /* If no job was executing, kick ours off. Otherwise, it'll -@@ -608,8 +610,6 @@ vc4_submit_cl_ioctl(struct drm_device *d - exec->args = args; - INIT_LIST_HEAD(&exec->unref_list); - -- mutex_lock(&dev->struct_mutex); -- - ret = vc4_cl_lookup_bos(dev, file_priv, exec); - if (ret) - goto fail; -@@ -636,15 +636,11 @@ vc4_submit_cl_ioctl(struct drm_device *d - /* Return the seqno for our job. */ - args->seqno = vc4->emit_seqno; - -- mutex_unlock(&dev->struct_mutex); -- - return 0; - - fail: - vc4_complete_exec(exec); - -- mutex_unlock(&dev->struct_mutex); -- - return ret; - } - -- cgit v1.2.3