summarylogtreecommitdiffstats
path: root/01-blackmagic-dma.patch
diff options
context:
space:
mode:
Diffstat (limited to '01-blackmagic-dma.patch')
-rw-r--r--01-blackmagic-dma.patch118
1 files changed, 0 insertions, 118 deletions
diff --git a/01-blackmagic-dma.patch b/01-blackmagic-dma.patch
deleted file mode 100644
index 7f762071eaec..000000000000
--- a/01-blackmagic-dma.patch
+++ /dev/null
@@ -1,118 +0,0 @@
-diff --git a/blackmagic_core.c b/blackmagic_core.c
-index 0400061..19706f2 100644
---- a/blackmagic-12.3a10/blackmagic_core.c
-+++ b/blackmagic-12.3a10/blackmagic_core.c
-@@ -485,11 +485,19 @@ bool dl_pci_start(void* pci_dev)
- #define BMD_DMA_32_MASK DMA_32BIT_MASK
- #endif
-
-+#if KERNEL_VERSION_OR_LATER(5, 18, 0)
-+ if (dma_set_mask(&pdev->dev, BMD_DMA_64_MASK) < 0)
-+ {
-+ if (dma_set_mask(&pdev->dev, BMD_DMA_32_MASK) < 0)
-+ goto fail;
-+ }
-+#else
- if (pci_set_dma_mask(pdev, BMD_DMA_64_MASK) < 0)
- {
- if (pci_set_dma_mask(pdev, BMD_DMA_32_MASK) < 0)
- goto fail;
- }
-+#endif
-
- return true;
-
-diff --git a/blackmagic_dma.c b/blackmagic_dma.c
-index f44235c..7a8bddf 100644
---- a/blackmagic-12.3a10/blackmagic_dma.c
-+++ b/blackmagic-12.3a10/blackmagic_dma.c
-@@ -53,6 +53,7 @@
- #include <asm/uaccess.h>
-
- #include "blackmagic_lib.h"
-+#include "blackmagic_version.h"
-
- struct dl_dma_entry
- {
-@@ -81,13 +82,23 @@ static inline int bmd_to_linux_direction(int direction)
- {
- switch (direction)
- {
-+ #if KERNEL_VERSION_OR_LATER(5, 18, 0)
-+ case DL_DMA_TO_DEVICE: return DMA_TO_DEVICE;
-+ case DL_DMA_FROM_DEVICE: return DMA_FROM_DEVICE;
-+ case DL_DMA_BIDIRECTIONAL: return DMA_BIDIRECTIONAL;
-+ #else
- case DL_DMA_TO_DEVICE: return PCI_DMA_TODEVICE;
- case DL_DMA_FROM_DEVICE: return PCI_DMA_FROMDEVICE;
- case DL_DMA_BIDIRECTIONAL: return PCI_DMA_BIDIRECTIONAL;
-+ #endif
- default:
- break;
- }
-+#if KERNEL_VERSION_OR_LATER(5, 18, 0)
-+ return DMA_NONE;
-+#else
- return PCI_DMA_NONE;
-+#endif
- }
-
- static unsigned long dl_dma_get_num_pages(void *address, unsigned long size)
-@@ -136,7 +147,11 @@ dl_dma_map_user_buffer(void* page_array, unsigned long num_pages, int direction,
-
- for (i = 0; i < num_pages; i++)
- {
-+ #if KERNEL_VERSION_OR_LATER(5, 18, 0)
-+ e->dma_addr = dma_map_page(pdev, pages[i], 0, PAGE_SIZE, direction);
-+ #else
- e->dma_addr = pci_map_page(pdev, pages[i], 0, PAGE_SIZE, direction);
-+ #endif
- e = next_entry(e);
- }
-
-@@ -171,14 +186,22 @@ dl_dma_map_kernel_buffer(void *address, unsigned long size, int direction, int i
- {
- page = vmalloc_to_page((void*)(unsigned long)start_addr + offset);
- offset += PAGE_SIZE;
-+ #if KERNEL_VERSION_OR_LATER(5, 18, 0)
-+ e->dma_addr = dma_map_page(pdev, page, 0, PAGE_SIZE, direction);
-+ #else
- e->dma_addr = pci_map_page(pdev, page, 0, PAGE_SIZE, direction);
-+ #endif
- e = next_entry(e);
- }
- sl->num_pages = num_pages;
- }
- else
- {
-+ #if KERNEL_VERSION_OR_LATER(5, 18, 0)
-+ e->dma_addr = dma_map_single(pdev, address, size, direction);
-+ #else
- e->dma_addr = pci_map_single(pdev, address, size, direction);
-+ #endif
- sl->dma_is_single = 1;
- sl->size = size;
- }
-@@ -226,12 +249,21 @@ void dl_dma_unmap_kernel_buffer(struct dl_dma_list* sl, int direction)
- {
- for (i = 0; i < sl->num_pages; i++)
- {
-+ #if KERNEL_VERSION_OR_LATER(5, 18, 0)
-+ dma_unmap_page(&sl->pdev->dev, e->dma_addr, PAGE_SIZE, direction);
-+ #else
- pci_unmap_page(sl->pdev, e->dma_addr, PAGE_SIZE, direction);
-+ #endif
- e = next_entry(e);
- }
- }
-- else
-+ else {
-+ #if KERNEL_VERSION_OR_LATER(5, 18, 0)
-+ dma_unmap_single(&sl->pdev->dev, e->dma_addr, sl->size, direction);
-+ #else
- pci_unmap_single(sl->pdev, e->dma_addr, sl->size, direction);
-+ #endif
-+ }
-
- destroy_dl_dma_entry(sl);
- }