summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--0004-drm-Remove-PageReserved-manipulation-from-drm_pci_al.patch (renamed from 0005-drm-Remove-PageReserved-manipulation-from-drm_pci_al.patch)0
-rw-r--r--0004-drm-i915-Wean-off-drm_pci_alloc-drm_pci_free.patch260
-rw-r--r--0005-drm_915_Serialise_i915_active_acquire_with__active_retire.patch (renamed from 0007-drm_915_Serialise_i915_active_acquire_with__active_retire.patch)0
-rw-r--r--0006-drm-i915-execlists-Always-force-a-context-reload-whe.patch145
-rw-r--r--0006-drm_i915_gem_Take_runtime-pm_wakeref_prior_to_unbinding.patch (renamed from 0008-drm_i915_gem_Take_runtime-pm_wakeref_prior_to_unbinding.patch)0
-rw-r--r--0007-drm-915-gem-Avoid-parking-the-vma-as-we-unbind.patch (renamed from 0009-drm-915-gem-Avoid-parking-the-vma-as-we-unbind.patch)0
-rw-r--r--0008-drm-i915-gem-Try-to-flush-pending-unbind-events.patch (renamed from 0010-drm-i915-gem-Try-to-flush-pending-unbind-events.patch)0
-rw-r--r--0009-drm-i915-gem-Reinitialise-the-local-list-before-repeating.patch (renamed from 0011-drm-i915-gem-Reinitialise-the-local-list-before-repeating.patch)0
-rw-r--r--0010-drm-i915-Add-a-simple-is-bound-check-before-unbinding.patch (renamed from 0012-drm-i915-Add-a-simple-is-bound-check-before-unbinding.patch)0
-rw-r--r--0011-drm-i915-Introduce-a-vma.kref.patch (renamed from 0013-drm-i915-Introduce-a-vma.kref.patch)0
-rw-r--r--PKGBUILD44
-rw-r--r--config2
12 files changed, 20 insertions, 431 deletions
diff --git a/0005-drm-Remove-PageReserved-manipulation-from-drm_pci_al.patch b/0004-drm-Remove-PageReserved-manipulation-from-drm_pci_al.patch
index 15688c8..15688c8 100644
--- a/0005-drm-Remove-PageReserved-manipulation-from-drm_pci_al.patch
+++ b/0004-drm-Remove-PageReserved-manipulation-from-drm_pci_al.patch
diff --git a/0004-drm-i915-Wean-off-drm_pci_alloc-drm_pci_free.patch b/0004-drm-i915-Wean-off-drm_pci_alloc-drm_pci_free.patch
deleted file mode 100644
index c5c6f16..0000000
--- a/0004-drm-i915-Wean-off-drm_pci_alloc-drm_pci_free.patch
+++ /dev/null
@@ -1,260 +0,0 @@
-From 7af5e53f87d728579cba99568717a6af3625184b Mon Sep 17 00:00:00 2001
-From: Chris Wilson <chris@chris-wilson.co.uk>
-Date: Sun, 2 Feb 2020 15:39:34 +0000
-Subject: drm/i915: Wean off drm_pci_alloc/drm_pci_free
-
-drm_pci_alloc and drm_pci_free are just very thin wrappers around
-dma_alloc_coherent, with a note that we should be removing them.
-Furthermore since
-
-commit de09d31dd38a50fdce106c15abd68432eebbd014
-Author: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
-Date: Fri Jan 15 16:51:42 2016 -0800
-
- page-flags: define PG_reserved behavior on compound pages
-
- As far as I can see there's no users of PG_reserved on compound pages.
- Let's use PF_NO_COMPOUND here.
-
-drm_pci_alloc has been declared broken since it mixes GFP_COMP and
-SetPageReserved. Avoid this conflict by weaning ourselves off using the
-abstraction and using the dma functions directly.
-
-Reported-by: Taketo Kabe
-Closes: https://gitlab.freedesktop.org/drm/intel/issues/1027
-Fixes: de09d31dd38a ("page-flags: define PG_reserved behavior on compound pages")
-Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-Cc: <stable@vger.kernel.org> # v4.5+
-Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-Link: https://patchwork.freedesktop.org/patch/msgid/20200202153934.3899472-1-chris@chris-wilson.co.uk
----
- drivers/gpu/drm/i915/display/intel_display.c | 2 +-
- drivers/gpu/drm/i915/gem/i915_gem_object_types.h | 3 -
- drivers/gpu/drm/i915/gem/i915_gem_phys.c | 98 ++++++++++++------------
- drivers/gpu/drm/i915/i915_gem.c | 8 +-
- 4 files changed, 55 insertions(+), 56 deletions(-)
-
-diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
-index 301897791627..b670239a293b 100644
---- a/drivers/gpu/drm/i915/display/intel_display.c
-+++ b/drivers/gpu/drm/i915/display/intel_display.c
-@@ -10731,7 +10731,7 @@ static u32 intel_cursor_base(const struct intel_plane_state *plane_state)
- u32 base;
-
- if (INTEL_INFO(dev_priv)->display.cursor_needs_physical)
-- base = obj->phys_handle->busaddr;
-+ base = sg_dma_address(obj->mm.pages->sgl);
- else
- base = intel_plane_ggtt_offset(plane_state);
-
-diff --git a/drivers/gpu/drm/i915/gem/i915_gem_object_types.h b/drivers/gpu/drm/i915/gem/i915_gem_object_types.h
-index e3f3944fbd90..1078a76d6d84 100644
---- a/drivers/gpu/drm/i915/gem/i915_gem_object_types.h
-+++ b/drivers/gpu/drm/i915/gem/i915_gem_object_types.h
-@@ -260,9 +260,6 @@ struct drm_i915_gem_object {
-
- void *gvt_info;
- };
--
-- /** for phys allocated objects */
-- struct drm_dma_handle *phys_handle;
- };
-
- static inline struct drm_i915_gem_object *
-diff --git a/drivers/gpu/drm/i915/gem/i915_gem_phys.c b/drivers/gpu/drm/i915/gem/i915_gem_phys.c
-index 8043ff63d73f..5e2e0109c9ba 100644
---- a/drivers/gpu/drm/i915/gem/i915_gem_phys.c
-+++ b/drivers/gpu/drm/i915/gem/i915_gem_phys.c
-@@ -22,88 +22,87 @@
- static int i915_gem_object_get_pages_phys(struct drm_i915_gem_object *obj)
- {
- struct address_space *mapping = obj->base.filp->f_mapping;
-- struct drm_dma_handle *phys;
-- struct sg_table *st;
- struct scatterlist *sg;
-- char *vaddr;
-+ struct sg_table *st;
-+ dma_addr_t dma;
-+ void *vaddr;
-+ void *dst;
- int i;
-- int err;
-
- if (WARN_ON(i915_gem_object_needs_bit17_swizzle(obj)))
- return -EINVAL;
-
-- /* Always aligning to the object size, allows a single allocation
-+ /*
-+ * Always aligning to the object size, allows a single allocation
- * to handle all possible callers, and given typical object sizes,
- * the alignment of the buddy allocation will naturally match.
- */
-- phys = drm_pci_alloc(obj->base.dev,
-- roundup_pow_of_two(obj->base.size),
-- roundup_pow_of_two(obj->base.size));
-- if (!phys)
-+ vaddr = dma_alloc_coherent(&obj->base.dev->pdev->dev,
-+ roundup_pow_of_two(obj->base.size),
-+ &dma, GFP_KERNEL);
-+ if (!vaddr)
- return -ENOMEM;
-
-- vaddr = phys->vaddr;
-+ st = kmalloc(sizeof(*st), GFP_KERNEL);
-+ if (!st)
-+ goto err_pci;
-+
-+ if (sg_alloc_table(st, 1, GFP_KERNEL))
-+ goto err_st;
-+
-+ sg = st->sgl;
-+ sg->offset = 0;
-+ sg->length = obj->base.size;
-+
-+ sg_assign_page(sg, (struct page *)vaddr);
-+ sg_dma_address(sg) = dma;
-+ sg_dma_len(sg) = obj->base.size;
-+
-+ dst = vaddr;
- for (i = 0; i < obj->base.size / PAGE_SIZE; i++) {
- struct page *page;
-- char *src;
-+ void *src;
-
- page = shmem_read_mapping_page(mapping, i);
-- if (IS_ERR(page)) {
-- err = PTR_ERR(page);
-- goto err_phys;
-- }
-+ if (IS_ERR(page))
-+ goto err_st;
-
- src = kmap_atomic(page);
-- memcpy(vaddr, src, PAGE_SIZE);
-- drm_clflush_virt_range(vaddr, PAGE_SIZE);
-+ memcpy(dst, src, PAGE_SIZE);
-+ drm_clflush_virt_range(dst, PAGE_SIZE);
- kunmap_atomic(src);
-
- put_page(page);
-- vaddr += PAGE_SIZE;
-+ dst += PAGE_SIZE;
- }
-
- intel_gt_chipset_flush(&to_i915(obj->base.dev)->gt);
-
-- st = kmalloc(sizeof(*st), GFP_KERNEL);
-- if (!st) {
-- err = -ENOMEM;
-- goto err_phys;
-- }
--
-- if (sg_alloc_table(st, 1, GFP_KERNEL)) {
-- kfree(st);
-- err = -ENOMEM;
-- goto err_phys;
-- }
--
-- sg = st->sgl;
-- sg->offset = 0;
-- sg->length = obj->base.size;
--
-- sg_dma_address(sg) = phys->busaddr;
-- sg_dma_len(sg) = obj->base.size;
--
-- obj->phys_handle = phys;
--
- __i915_gem_object_set_pages(obj, st, sg->length);
-
- return 0;
-
--err_phys:
-- drm_pci_free(obj->base.dev, phys);
--
-- return err;
-+err_st:
-+ kfree(st);
-+err_pci:
-+ dma_free_coherent(&obj->base.dev->pdev->dev,
-+ roundup_pow_of_two(obj->base.size),
-+ vaddr, dma);
-+ return -ENOMEM;
- }
-
- static void
- i915_gem_object_put_pages_phys(struct drm_i915_gem_object *obj,
- struct sg_table *pages)
- {
-+ dma_addr_t dma = sg_dma_address(pages->sgl);
-+ void *vaddr = sg_page(pages->sgl);
-+
- __i915_gem_object_release_shmem(obj, pages, false);
-
- if (obj->mm.dirty) {
- struct address_space *mapping = obj->base.filp->f_mapping;
-- char *vaddr = obj->phys_handle->vaddr;
-+ void *src = vaddr;
- int i;
-
- for (i = 0; i < obj->base.size / PAGE_SIZE; i++) {
-@@ -115,15 +114,16 @@ i915_gem_object_put_pages_phys(struct drm_i915_gem_object *obj,
- continue;
-
- dst = kmap_atomic(page);
-- drm_clflush_virt_range(vaddr, PAGE_SIZE);
-- memcpy(dst, vaddr, PAGE_SIZE);
-+ drm_clflush_virt_range(src, PAGE_SIZE);
-+ memcpy(dst, src, PAGE_SIZE);
- kunmap_atomic(dst);
-
- set_page_dirty(page);
- if (obj->mm.madv == I915_MADV_WILLNEED)
- mark_page_accessed(page);
- put_page(page);
-- vaddr += PAGE_SIZE;
-+
-+ src += PAGE_SIZE;
- }
- obj->mm.dirty = false;
- }
-@@ -131,7 +131,9 @@ i915_gem_object_put_pages_phys(struct drm_i915_gem_object *obj,
- sg_free_table(pages);
- kfree(pages);
-
-- drm_pci_free(obj->base.dev, obj->phys_handle);
-+ dma_free_coherent(&obj->base.dev->pdev->dev,
-+ roundup_pow_of_two(obj->base.size),
-+ vaddr, dma);
- }
-
- static void phys_release(struct drm_i915_gem_object *obj)
-diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
-index 905890e3ac24..3f07948ea4da 100644
---- a/drivers/gpu/drm/i915/i915_gem.c
-+++ b/drivers/gpu/drm/i915/i915_gem.c
-@@ -154,7 +154,7 @@ i915_gem_phys_pwrite(struct drm_i915_gem_object *obj,
- struct drm_i915_gem_pwrite *args,
- struct drm_file *file)
- {
-- void *vaddr = obj->phys_handle->vaddr + args->offset;
-+ void *vaddr = sg_page(obj->mm.pages->sgl) + args->offset;
- char __user *user_data = u64_to_user_ptr(args->data_ptr);
-
- /*
-@@ -800,10 +800,10 @@ i915_gem_pwrite_ioctl(struct drm_device *dev, void *data,
- ret = i915_gem_gtt_pwrite_fast(obj, args);
-
- if (ret == -EFAULT || ret == -ENOSPC) {
-- if (obj->phys_handle)
-- ret = i915_gem_phys_pwrite(obj, args, file);
-- else
-+ if (i915_gem_object_has_struct_page(obj))
- ret = i915_gem_shmem_pwrite(obj, args);
-+ else
-+ ret = i915_gem_phys_pwrite(obj, args, file);
- }
-
- i915_gem_object_unpin_pages(obj);
---
-cgit v1.2.2-1-gc45e
-
diff --git a/0007-drm_915_Serialise_i915_active_acquire_with__active_retire.patch b/0005-drm_915_Serialise_i915_active_acquire_with__active_retire.patch
index 937adac..937adac 100644
--- a/0007-drm_915_Serialise_i915_active_acquire_with__active_retire.patch
+++ b/0005-drm_915_Serialise_i915_active_acquire_with__active_retire.patch
diff --git a/0006-drm-i915-execlists-Always-force-a-context-reload-whe.patch b/0006-drm-i915-execlists-Always-force-a-context-reload-whe.patch
deleted file mode 100644
index b6214d2..0000000
--- a/0006-drm-i915-execlists-Always-force-a-context-reload-whe.patch
+++ /dev/null
@@ -1,145 +0,0 @@
-From 6ffd5925e2659e589d48b8dcaf06e0b3cc0f4d52 Mon Sep 17 00:00:00 2001
-From: Chris Wilson <chris@chris-wilson.co.uk>
-Date: Fri, 7 Feb 2020 21:14:52 +0000
-Subject: drm/i915/execlists: Always force a context reload when rewinding
- RING_TAIL
-
-If we rewind the RING_TAIL on a context, due to a preemption event, we
-must force the context restore for the RING_TAIL update to be properly
-handled. Rather than note which preemption events may cause us to rewind
-the tail, compare the new request's tail with the previously submitted
-RING_TAIL, as it turns out that timeslicing was causing unexpected
-rewinds.
-
- <idle>-0 0d.s2 1280851190us : __execlists_submission_tasklet: 0000:00:02.0 rcs0: expired last=130:4698, prio=3, hint=3
- <idle>-0 0d.s2 1280851192us : __i915_request_unsubmit: 0000:00:02.0 rcs0: fence 66:119966, current 119964
- <idle>-0 0d.s2 1280851195us : __i915_request_unsubmit: 0000:00:02.0 rcs0: fence 130:4698, current 4695
- <idle>-0 0d.s2 1280851198us : __i915_request_unsubmit: 0000:00:02.0 rcs0: fence 130:4696, current 4695
-^---- Note we unwind 2 requests from the same context
-
- <idle>-0 0d.s2 1280851208us : __i915_request_submit: 0000:00:02.0 rcs0: fence 130:4696, current 4695
- <idle>-0 0d.s2 1280851213us : __i915_request_submit: 0000:00:02.0 rcs0: fence 134:1508, current 1506
-^---- But to apply the new timeslice, we have to replay the first request
- before the new client can start -- the unexpected RING_TAIL rewind
-
- <idle>-0 0d.s2 1280851219us : trace_ports: 0000:00:02.0 rcs0: submit { 130:4696*, 134:1508 }
- synmark2-5425 2..s. 1280851239us : process_csb: 0000:00:02.0 rcs0: cs-irq head=5, tail=0
- synmark2-5425 2..s. 1280851240us : process_csb: 0000:00:02.0 rcs0: csb[0]: status=0x00008002:0x00000000
-^---- Preemption event for the ELSP update; note the lite-restore
-
- synmark2-5425 2..s. 1280851243us : trace_ports: 0000:00:02.0 rcs0: preempted { 130:4698, 66:119966 }
- synmark2-5425 2..s. 1280851246us : trace_ports: 0000:00:02.0 rcs0: promote { 130:4696*, 134:1508 }
- synmark2-5425 2.... 1280851462us : __i915_request_commit: 0000:00:02.0 rcs0: fence 130:4700, current 4695
- synmark2-5425 2.... 1280852111us : __i915_request_commit: 0000:00:02.0 rcs0: fence 130:4702, current 4695
- synmark2-5425 2.Ns1 1280852296us : process_csb: 0000:00:02.0 rcs0: cs-irq head=0, tail=2
- synmark2-5425 2.Ns1 1280852297us : process_csb: 0000:00:02.0 rcs0: csb[1]: status=0x00000814:0x00000000
- synmark2-5425 2.Ns1 1280852299us : trace_ports: 0000:00:02.0 rcs0: completed { 130:4696!, 134:1508 }
- synmark2-5425 2.Ns1 1280852301us : process_csb: 0000:00:02.0 rcs0: csb[2]: status=0x00000818:0x00000040
- synmark2-5425 2.Ns1 1280852302us : trace_ports: 0000:00:02.0 rcs0: completed { 134:1508, 0:0 }
- synmark2-5425 2.Ns1 1280852313us : process_csb: process_csb:2336 GEM_BUG_ON(!i915_request_completed(*execlists->active) && !reset_in_progress(execlists))
-
-Fixes: 8ee36e048c98 ("drm/i915/execlists: Minimalistic timeslicing")
-Referenecs: 82c69bf58650 ("drm/i915/gt: Detect if we miss WaIdleLiteRestore")
-Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
-Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
-Cc: <stable@vger.kernel.org> # v5.4+
-Link: https://patchwork.freedesktop.org/patch/msgid/20200207211452.2860634-1-chris@chris-wilson.co.uk
----
- drivers/gpu/drm/i915/gt/intel_lrc.c | 18 ++++++++----------
- drivers/gpu/drm/i915/gt/intel_ring.c | 1 +
- drivers/gpu/drm/i915/gt/intel_ring.h | 8 ++++++++
- drivers/gpu/drm/i915/gt/intel_ring_types.h | 1 +
- 4 files changed, 18 insertions(+), 10 deletions(-)
-
-diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c b/drivers/gpu/drm/i915/gt/intel_lrc.c
-index d925a1035c9d..1b4784bfa7e5 100644
---- a/drivers/gpu/drm/i915/gt/intel_lrc.c
-+++ b/drivers/gpu/drm/i915/gt/intel_lrc.c
-@@ -1157,7 +1157,7 @@ static u64 execlists_update_context(struct i915_request *rq)
- {
- struct intel_context *ce = rq->hw_context;
- u64 desc = ce->lrc_desc;
-- u32 tail;
-+ u32 tail, prev;
-
- /*
- * WaIdleLiteRestore:bdw,skl
-@@ -1170,9 +1170,15 @@ static u64 execlists_update_context(struct i915_request *rq)
- * subsequent resubmissions (for lite restore). Should that fail us,
- * and we try and submit the same tail again, force the context
- * reload.
-+ *
-+ * If we need to return to a preempted context, we need to skip the
-+ * lite-restore and force it to reload the RING_TAIL. Otherwise, the
-+ * HW has a tendency to ignore us rewinding the TAIL to the end of
-+ * an earlier request.
- */
- tail = intel_ring_set_tail(rq->ring, rq->tail);
-- if (unlikely(ce->lrc_reg_state[CTX_RING_TAIL] == tail))
-+ prev = ce->lrc_reg_state[CTX_RING_TAIL];
-+ if (unlikely(intel_ring_direction(rq->ring, tail, prev) <= 0))
- desc |= CTX_DESC_FORCE_RESTORE;
- ce->lrc_reg_state[CTX_RING_TAIL] = tail;
- rq->tail = rq->wa_tail;
-@@ -1651,14 +1657,6 @@ static void execlists_dequeue(struct intel_engine_cs *engine)
- */
- __unwind_incomplete_requests(engine);
-
-- /*
-- * If we need to return to the preempted context, we
-- * need to skip the lite-restore and force it to
-- * reload the RING_TAIL. Otherwise, the HW has a
-- * tendency to ignore us rewinding the TAIL to the
-- * end of an earlier request.
-- */
-- last->hw_context->lrc_desc |= CTX_DESC_FORCE_RESTORE;
- last = NULL;
- } else if (need_timeslice(engine, last) &&
- timer_expired(&engine->execlists.timer)) {
-diff --git a/drivers/gpu/drm/i915/gt/intel_ring.c b/drivers/gpu/drm/i915/gt/intel_ring.c
-index 374b28f13ca0..6ff803f397c4 100644
---- a/drivers/gpu/drm/i915/gt/intel_ring.c
-+++ b/drivers/gpu/drm/i915/gt/intel_ring.c
-@@ -145,6 +145,7 @@ intel_engine_create_ring(struct intel_engine_cs *engine, int size)
-
- kref_init(&ring->ref);
- ring->size = size;
-+ ring->wrap = BITS_PER_TYPE(ring->size) - ilog2(size);
-
- /*
- * Workaround an erratum on the i830 which causes a hang if
-diff --git a/drivers/gpu/drm/i915/gt/intel_ring.h b/drivers/gpu/drm/i915/gt/intel_ring.h
-index ea2839d9e044..5bdce24994aa 100644
---- a/drivers/gpu/drm/i915/gt/intel_ring.h
-+++ b/drivers/gpu/drm/i915/gt/intel_ring.h
-@@ -56,6 +56,14 @@ static inline u32 intel_ring_wrap(const struct intel_ring *ring, u32 pos)
- return pos & (ring->size - 1);
- }
-
-+static inline int intel_ring_direction(const struct intel_ring *ring,
-+ u32 next, u32 prev)
-+{
-+ typecheck(typeof(ring->size), next);
-+ typecheck(typeof(ring->size), prev);
-+ return (next - prev) << ring->wrap;
-+}
-+
- static inline bool
- intel_ring_offset_valid(const struct intel_ring *ring,
- unsigned int pos)
-diff --git a/drivers/gpu/drm/i915/gt/intel_ring_types.h b/drivers/gpu/drm/i915/gt/intel_ring_types.h
-index d9f17f38e0cc..3cd7fec7fd8d 100644
---- a/drivers/gpu/drm/i915/gt/intel_ring_types.h
-+++ b/drivers/gpu/drm/i915/gt/intel_ring_types.h
-@@ -45,6 +45,7 @@ struct intel_ring {
-
- u32 space;
- u32 size;
-+ u32 wrap;
- u32 effective_size;
- };
-
---
-cgit v1.2.2-1-gc45e
-
diff --git a/0008-drm_i915_gem_Take_runtime-pm_wakeref_prior_to_unbinding.patch b/0006-drm_i915_gem_Take_runtime-pm_wakeref_prior_to_unbinding.patch
index 3afe243..3afe243 100644
--- a/0008-drm_i915_gem_Take_runtime-pm_wakeref_prior_to_unbinding.patch
+++ b/0006-drm_i915_gem_Take_runtime-pm_wakeref_prior_to_unbinding.patch
diff --git a/0009-drm-915-gem-Avoid-parking-the-vma-as-we-unbind.patch b/0007-drm-915-gem-Avoid-parking-the-vma-as-we-unbind.patch
index 9887e67..9887e67 100644
--- a/0009-drm-915-gem-Avoid-parking-the-vma-as-we-unbind.patch
+++ b/0007-drm-915-gem-Avoid-parking-the-vma-as-we-unbind.patch
diff --git a/0010-drm-i915-gem-Try-to-flush-pending-unbind-events.patch b/0008-drm-i915-gem-Try-to-flush-pending-unbind-events.patch
index 52196eb..52196eb 100644
--- a/0010-drm-i915-gem-Try-to-flush-pending-unbind-events.patch
+++ b/0008-drm-i915-gem-Try-to-flush-pending-unbind-events.patch
diff --git a/0011-drm-i915-gem-Reinitialise-the-local-list-before-repeating.patch b/0009-drm-i915-gem-Reinitialise-the-local-list-before-repeating.patch
index 2719884..2719884 100644
--- a/0011-drm-i915-gem-Reinitialise-the-local-list-before-repeating.patch
+++ b/0009-drm-i915-gem-Reinitialise-the-local-list-before-repeating.patch
diff --git a/0012-drm-i915-Add-a-simple-is-bound-check-before-unbinding.patch b/0010-drm-i915-Add-a-simple-is-bound-check-before-unbinding.patch
index 9db4525..9db4525 100644
--- a/0012-drm-i915-Add-a-simple-is-bound-check-before-unbinding.patch
+++ b/0010-drm-i915-Add-a-simple-is-bound-check-before-unbinding.patch
diff --git a/0013-drm-i915-Introduce-a-vma.kref.patch b/0011-drm-i915-Introduce-a-vma.kref.patch
index 2ad022b..2ad022b 100644
--- a/0013-drm-i915-Introduce-a-vma.kref.patch
+++ b/0011-drm-i915-Introduce-a-vma.kref.patch
diff --git a/PKGBUILD b/PKGBUILD
index 8d06fed..86825d6 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -19,7 +19,7 @@
pkgbase=linux-ck
_supver=5
_majver=5
-_minver=6
+_minver=7
_gccpatchver='20191217'
_gccpatchger='9.1'
_gccpatchker='5.5'
@@ -46,16 +46,14 @@ source=(
0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch
0002-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch
0003-iwlwifi-mvm-Do-not-require-PHY_SKU-NVM-section-for-3.patch
- 0004-drm-i915-Wean-off-drm_pci_alloc-drm_pci_free.patch
- 0005-drm-Remove-PageReserved-manipulation-from-drm_pci_al.patch
- 0006-drm-i915-execlists-Always-force-a-context-reload-whe.patch
- 0007-drm_915_Serialise_i915_active_acquire_with__active_retire.patch
- 0008-drm_i915_gem_Take_runtime-pm_wakeref_prior_to_unbinding.patch
- 0009-drm-915-gem-Avoid-parking-the-vma-as-we-unbind.patch
- 0010-drm-i915-gem-Try-to-flush-pending-unbind-events.patch
- 0011-drm-i915-gem-Reinitialise-the-local-list-before-repeating.patch
- 0012-drm-i915-Add-a-simple-is-bound-check-before-unbinding.patch
- 0013-drm-i915-Introduce-a-vma.kref.patch
+ 0004-drm-Remove-PageReserved-manipulation-from-drm_pci_al.patch
+ 0005-drm_915_Serialise_i915_active_acquire_with__active_retire.patch
+ 0006-drm_i915_gem_Take_runtime-pm_wakeref_prior_to_unbinding.patch
+ 0007-drm-915-gem-Avoid-parking-the-vma-as-we-unbind.patch
+ 0008-drm-i915-gem-Try-to-flush-pending-unbind-events.patch
+ 0009-drm-i915-gem-Reinitialise-the-local-list-before-repeating.patch
+ 0010-drm-i915-Add-a-simple-is-bound-check-before-unbinding.patch
+ 0011-drm-i915-Introduce-a-vma.kref.patch
linux-ck-patch-${_supver}.${_majver}-${_ckpatchversion}.xz::http://ck.kolivas.org/patches/${_supver}.0/${_supver}.${_majver}/${_supver}.${_majver}-${_ckpatchversion}/patch-${_supver}.${_majver}-${_ckpatchversion}.xz
graysky_bdver2-hotfix.patch
kernel_gcc_patch-${_gccpatchver}.tar.gz::https://github.com/graysky2/kernel_gcc_patch/archive/${_gccpatchver}.tar.gz
@@ -68,14 +66,12 @@ validpgpkeys=(
'647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman
)
# https://www.kernel.org/pub/linux/kernel/v5.x/sha256sums.asc
-b2sums=('5af861196e6365c4ca00f658d8128455f0eb00cfd98ca7f7b37dcf5c962dd332f2a12b29a4bd0d13463c09573ccb97993129736dd2464bc03305583974546ab1'
+b2sums=('25a0c09a2a8b2ff8762dcf29dc326339537a49996b232c1568de036475a3afb62406fcf85c4357a8fa32088fdb7f868c46ff13a6fa3c2c554b8717c7fbe57712'
'SKIP'
'ab1fb19c67d4c107f75767581c33d9c1458b4d9fdb88f4adb41d30a36f5a2f95f1c48ef079eb87e1e6e8ce2f98b293195cb2c0f2a8ec975aa817453289158c6e'
'2e822cf7d4ff8b7458e22d3ce110fd8534e17a9aac2feace41c591f70697e1fab7bd9ce307c60a6361fbe525d10dab74c8b76fcb5276cd27f6e945f8fdfcc25c'
'1ae8107eb3d56db5b61fa07a35181232cc0be6c66f10b313a2f6b473bdbb33a42d8be3660413eef5321e08a775cda47260775174f74b803f3e66cdb890b9c6f3'
- '6018d823c70f6129b8b52c77f9308e90a83de575f2206a056d562469f227e7651815ff4ed9be484409ea2a109eb6743fb0c71067f237d714934bd02ea132973e'
'd8027cd96a447ea0987a67f3e65d157bb3d396069a944b140610f74c663677fe45e171e96a92dfd5eda8f71a5c715fd8114ee0e60b7620bc401a2a548bcf83cc'
- '2d8579a1d27a0a40866b4f7f5c63ad5e402d919e21d09faf4cec14f3b19b8fc42b6fc3cb8d26dce3100a9e63ca21ab01519a0e804f34c35e4bda154fbe725602'
'df41200d86f1fd493861d4b4a091ec5f853ce7668ec9712f57e574ce2c1a94c7054ec8abcdf947086e5f98b0cdde73523521552536c91373dacdd10c4ecf4c1a'
'f4d5f82c5deb981f475fd18a408e23b5f170e23c7a49c3563171e55abd78c07c475a7a9c67850c4a3665ce3447cd7b5fb3171e47af8cd8077822f2a6679cfd9b'
'70d02b7fc8b26c783eaabafb9bef5d3895c0031642dc8b71d8737762722695221340315576433d1544b79b37446212ce5e3d0936f695af307b3344a717274ba8'
@@ -88,7 +84,7 @@ b2sums=('5af861196e6365c4ca00f658d8128455f0eb00cfd98ca7f7b37dcf5c962dd332f2a12b2
'd76bd0bf237ea2bb7999fd3715cb664d89148cb0ade8057d57cdb40bc0a7954336e50ee077312e5e192398b0f35f055786deb98af9130d57e60f2ea040fbb66f'
'2e58bb89b247b1678355368956e67c1de51fcde97a227b2162f6771e30f17fa5520faafe7be4b6816a542e7ae10d05f64c6b6354f352c12746d4b8da632936dd'
'fde132f3705d908e6f2147c78a2193289916d72304ca5efa2229d79fc3e57a857314ce94e71425caef2f7f7b6cf87f05ef86335dc8bd4be78e7035afe608005a'
- 'ed087b05d12bf5fcec63914e19e70f0caed5892645c0a35819f1b12a48b4e78236ebf060de4ed03eb20210182510d1e95385cdfcde6fe72d1c55db59c3f8968e')
+ '45f839ec4a1eb901e348d63c52f2c9b80c430d4a1885dff86ffb81eec2e10a7c8863e5b361e37d09e05aa2b20154978026306b3340f36c74c77daa7f2273c342')
#export KBUILD_BUILD_HOST=arc4linux
export KBUILD_BUILD_USER=$pkgbase
@@ -109,16 +105,14 @@ prepare() {
patch -p1 -i ../0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch
patch -p1 -i ../0002-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch
patch -p1 -i ../0003-iwlwifi-mvm-Do-not-require-PHY_SKU-NVM-section-for-3.patch
- patch -p1 -i ../0004-drm-i915-Wean-off-drm_pci_alloc-drm_pci_free.patch
- patch -p1 -i ../0005-drm-Remove-PageReserved-manipulation-from-drm_pci_al.patch
- patch -p1 -i ../0006-drm-i915-execlists-Always-force-a-context-reload-whe.patch
- patch -p1 -i ../0007-drm_915_Serialise_i915_active_acquire_with__active_retire.patch
- patch -p1 -i ../0008-drm_i915_gem_Take_runtime-pm_wakeref_prior_to_unbinding.patch
- patch -p1 -i ../0009-drm-915-gem-Avoid-parking-the-vma-as-we-unbind.patch
- patch -p1 -i ../0010-drm-i915-gem-Try-to-flush-pending-unbind-events.patch
- patch -p1 -i ../0011-drm-i915-gem-Reinitialise-the-local-list-before-repeating.patch
- patch -p1 -i ../0012-drm-i915-Add-a-simple-is-bound-check-before-unbinding.patch
- patch -p1 -i ../0013-drm-i915-Introduce-a-vma.kref.patch
+ patch -p1 -i ../0004-drm-Remove-PageReserved-manipulation-from-drm_pci_al.patch
+ patch -p1 -i ../0005-drm_915_Serialise_i915_active_acquire_with__active_retire.patch
+ patch -p1 -i ../0006-drm_i915_gem_Take_runtime-pm_wakeref_prior_to_unbinding.patch
+ patch -p1 -i ../0007-drm-915-gem-Avoid-parking-the-vma-as-we-unbind.patch
+ patch -p1 -i ../0008-drm-i915-gem-Try-to-flush-pending-unbind-events.patch
+ patch -p1 -i ../0009-drm-i915-gem-Reinitialise-the-local-list-before-repeating.patch
+ patch -p1 -i ../0010-drm-i915-Add-a-simple-is-bound-check-before-unbinding.patch
+ patch -p1 -i ../0011-drm-i915-Introduce-a-vma.kref.patch
# fix naming schema in EXTRAVERSION of ck patch set
diff --git a/config b/config
index cda9f02..76b39c5 100644
--- a/config
+++ b/config
@@ -6844,7 +6844,7 @@ CONFIG_SND_SOC_INTEL_HASWELL=m
CONFIG_SND_SST_ATOM_HIFI2_PLATFORM=m
CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_PCI=m
CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_ACPI=m
-# CONFIG_SND_SOC_INTEL_SKYLAKE is not set
+CONFIG_SND_SOC_INTEL_SKYLAKE=m
CONFIG_SND_SOC_INTEL_SKL=m
CONFIG_SND_SOC_INTEL_APL=m
CONFIG_SND_SOC_INTEL_KBL=m