summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorThéo Le Calvar2022-07-14 12:23:08 +0200
committerThéo Le Calvar2022-07-14 12:23:08 +0200
commiteda0dbb1d013f3fd155e28d76d3589aeb39ca301 (patch)
treecd5ebba8fd17ebc3f2ec4948504b125590f9651f
parent907aeaa45b7ca2ecad4aee2191e2fdd11817c1d7 (diff)
downloadaur-eda0dbb1d013f3fd155e28d76d3589aeb39ca301.tar.gz
bump version to 12.4
-rw-r--r--.SRCINFO12
-rw-r--r--01-blackmagic-dma.patch118
-rw-r--r--02-blackmagic-io-dma.patch105
-rw-r--r--PKGBUILD22
4 files changed, 13 insertions, 244 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 89f84bd34fe5..87de0a27875b 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = decklink
pkgdesc = Drivers for Blackmagic Design DeckLink, Intensity or Multibridge video editing cards
- pkgver = 12.3
- pkgrel = 2
+ pkgver = 12.4
+ pkgrel = 1
url = https://www.blackmagicdesign.com/support/family/capture-and-playback
arch = i686
arch = x86_64
@@ -9,12 +9,8 @@ pkgbase = decklink
makedepends = curl
options = !strip
options = staticlibs
- source = decklink-12.3.tar.gz::https://www.blackmagicdesign.com/api/register/us/download/b69591b5747f4522b97925a53b01a712
- source = 01-blackmagic-dma.patch
- source = 02-blackmagic-io-dma.patch
- sha256sums = cbf3f8ff384ddab1fbf481f2b1b3be3dd718f5fa4394ab0ae9736935161fd5b0
- sha256sums = 34f4eec30882f51bc62aa560a03a26b9076a28418b5aea961eec54a735ff49bd
- sha256sums = 95ccbf3327440e70b614fac2371ee956dff89cc809915292c6c5bde8191a51fe
+ source = decklink-12.4.tar.gz::https://www.blackmagicdesign.com/api/register/us/download/bc560d799d5a4ecb87e88c4c0add9ca7
+ sha256sums = abf35b48024d4e587ff76c44600b19702540a475054e0982183c3e1951333776
pkgname = decklink
install = decklink.install
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);
- }
diff --git a/02-blackmagic-io-dma.patch b/02-blackmagic-io-dma.patch
deleted file mode 100644
index 5bf6844b6832..000000000000
--- a/02-blackmagic-io-dma.patch
+++ /dev/null
@@ -1,105 +0,0 @@
-diff --git a/bm_mm.c b/bm_mm.c
-index 64ab876..7b2d6a0 100644
---- a/blackmagic-io-12.3a10/bm_mm.c
-+++ b/blackmagic-io-12.3a10/bm_mm.c
-@@ -54,7 +54,9 @@ struct bm_mmap
- bm_user_mem_t umem; // Must be last member in struct
- };
-
--#if KERNEL_VERSION_OR_LATER(2, 6, 27)
-+#if KERNEL_VERSION_OR_LATER(5, 18, 0)
-+ #define bm_pci_dma_mapping_error(dev, addr) dma_mapping_error(dev, addr)
-+#elif KERNEL_VERSION_OR_LATER(2, 6, 27)
- #define bm_pci_dma_mapping_error(dev, addr) pci_dma_mapping_error(dev, addr)
- #else
- #define bm_pci_dma_mapping_error(dev, addr) pci_dma_mapping_error(addr)
-@@ -223,8 +225,13 @@ bm_dma_list_t* bm_dma_map_user_buffer(bm_pci_device_t* pci, bm_user_mem_t* umem,
-
- for (i = 0; i < umem->length; ++i)
- {
-+ #if KERNEL_VERSION_OR_LATER(5, 18, 0)
-+ dlist->addrs[i] = dma_map_page(&pci->pdev->dev, umem->pages[i], 0, PAGE_SIZE, dir);
-+ if (bm_pci_dma_mapping_error(&pci->pdev->dev, dlist->addrs[i]))
-+ #else
- dlist->addrs[i] = pci_map_page(pci->pdev, umem->pages[i], 0, PAGE_SIZE, dir);
- if (bm_pci_dma_mapping_error(pci->pdev, dlist->addrs[i]))
-+ #endif
- {
- bm_dma_unmap_buffer(pci, dlist, dir);
- return NULL;
-@@ -246,8 +253,13 @@ bm_dma_list_t* bm_dma_map_kernel_buffer(bm_pci_device_t* pci, void* addr, vm_siz
- dlist->contig = 1;
- dlist->length = size;
-
-+#if KERNEL_VERSION_OR_LATER(5, 18, 0)
-+ dlist->addrs[0] = dma_map_single(&pci->pdev->dev, addr, size, dir);
-+ if (bm_pci_dma_mapping_error(&pci->pdev->dev, dlist->addrs[0]))
-+#else
- dlist->addrs[0] = pci_map_single(pci->pdev, addr, size, dir);
- if (bm_pci_dma_mapping_error(pci->pdev, dlist->addrs[0]))
-+#endif
- {
- bm_dma_unmap_buffer(pci, dlist, dir);
- return NULL;
-@@ -275,8 +287,13 @@ bm_dma_list_t* bm_dma_map_kernel_buffer_vmalloc(bm_pci_device_t* pci, void* addr
- for (i = 0; i < n_pages; ++i, offset += PAGE_SIZE)
- {
- struct page* page = vmalloc_to_page((void*)(aligned_addr + offset));
-+ #if KERNEL_VERSION_OR_LATER(5, 18, 0)
-+ dlist->addrs[i] = dma_map_page(&pci->pdev->dev, page, 0, PAGE_SIZE, dir);
-+ if (bm_pci_dma_mapping_error(&pci->pdev->dev, dlist->addrs[i]))
-+ #else
- dlist->addrs[i] = pci_map_page(pci->pdev, page, 0, PAGE_SIZE, dir);
- if (bm_pci_dma_mapping_error(pci->pdev, dlist->addrs[i]))
-+ #endif
- {
- bm_dma_unmap_buffer(pci, dlist, dir);
- return NULL;
-@@ -292,7 +309,11 @@ void bm_dma_unmap_buffer(bm_pci_device_t* pci, bm_dma_list_t* dlist, bm_dma_dire
- size_t i;
- if (dlist->contig)
- {
-+ #if KERNEL_VERSION_OR_LATER(5, 18, 0)
-+ dma_unmap_single(&pci->pdev->dev, dlist->addrs[0], dlist->length, dir);
-+ #else
- pci_unmap_single(pci->pdev, dlist->addrs[0], dlist->length, dir);
-+ #endif
- bm_atomic_sub(&statistics.memory_mapped, dlist->length);
- }
- else
-@@ -301,7 +322,11 @@ void bm_dma_unmap_buffer(bm_pci_device_t* pci, bm_dma_list_t* dlist, bm_dma_dire
- {
- if (dlist->addrs[i])
- {
-+ #if KERNEL_VERSION_OR_LATER(5, 18, 0)
-+ dma_unmap_page(&pci->pdev->dev, dlist->addrs[i], PAGE_SIZE, dir);
-+ #else
- pci_unmap_page(pci->pdev, dlist->addrs[i], PAGE_SIZE, dir);
-+ #endif
- bm_atomic_sub(&statistics.pages_mapped, 1);
- }
- }
-diff --git a/bm_pci.c b/bm_pci.c
-index 7c21e66..7e5be29 100644
---- a/blackmagic-io-12.3a10/bm_pci.c
-+++ b/blackmagic-io-12.3a10/bm_pci.c
-@@ -76,11 +76,19 @@ bool bm_pci_start(bm_pci_device_t* pci)
-
- pci_set_master(pci->pdev);
-
-+#if KERNEL_VERSION_OR_LATER(5, 18, 0)
-+ if (dma_set_mask(&pci->pdev->dev, BM_DMA_64BIT_MASK) < 0)
-+ {
-+ if (dma_set_mask(&pci->pdev->dev, BM_DMA_32BIT_MASK) < 0)
-+ goto bail;
-+ }
-+#else
- if (pci_set_dma_mask(pci->pdev, BM_DMA_64BIT_MASK) < 0)
- {
- if (pci_set_dma_mask(pci->pdev, BM_DMA_32BIT_MASK) < 0)
- goto bail;
- }
-+#endif
-
- if (strcmp(default_irq_type, "msi") == 0)
- pci_enable_msi(pci->pdev);
diff --git a/PKGBUILD b/PKGBUILD
index 69a2e4157db8..66883609f70f 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -2,8 +2,8 @@
pkgbase=decklink
pkgname=(decklink mediaexpress)
_pkgname=decklink
-pkgver=12.3
-pkgrel=2
+pkgver=12.4
+pkgrel=1
pkgdesc="Drivers for Blackmagic Design DeckLink, Intensity or Multibridge video editing cards"
arch=('i686' 'x86_64')
url="https://www.blackmagicdesign.com/support/family/capture-and-playback"
@@ -14,7 +14,7 @@ options=('!strip' 'staticlibs')
[ "$CARCH" = "i686" ] && _arch='i386'
[ "$CARCH" = "x86_64" ] && _arch='x86_64'
-_pkgsrc_url="https://www.blackmagicdesign.com/api/register/us/download/b69591b5747f4522b97925a53b01a712"
+_pkgsrc_url="https://www.blackmagicdesign.com/api/register/us/download/bc560d799d5a4ecb87e88c4c0add9ca7"
_pkgsrc_file=${_pkgname}-${pkgver}.tar.gz
DLAGENTS=("https::/usr/bin/curl \
@@ -30,12 +30,8 @@ DLAGENTS=("https::/usr/bin/curl \
)
source=("${_pkgsrc_file}"::"${_pkgsrc_url}"
- "01-blackmagic-dma.patch"
- "02-blackmagic-io-dma.patch"
)
-sha256sums=('cbf3f8ff384ddab1fbf481f2b1b3be3dd718f5fa4394ab0ae9736935161fd5b0'
- '34f4eec30882f51bc62aa560a03a26b9076a28418b5aea961eec54a735ff49bd'
- '95ccbf3327440e70b614fac2371ee956dff89cc809915292c6c5bde8191a51fe')
+sha256sums=('abf35b48024d4e587ff76c44600b19702540a475054e0982183c3e1951333776')
prepare() {
cd $srcdir/Blackmagic_Desktop_Video_Linux_$pkgver/other/${_arch}
@@ -44,11 +40,11 @@ prepare() {
cd desktopvideo-*/usr/src
- for p in ${srcdir}/*.patch;
- do
- echo "Applying ${p}"
- patch --forward --strip=1 --input="${p}"
- done
+ # for p in ${srcdir}/*.patch;
+ # do
+ # echo "Applying ${p}"
+ # patch --forward --strip=1 --input="${p}"
+ # done
}