1 diff -ur dahdi-linux-3.1.0/drivers/dahdi/voicebus/voicebus.c dahdi-linux-3.1.0-5.18/drivers/dahdi/voicebus/voicebus.c
2 --- dahdi-linux-3.1.0/drivers/dahdi/voicebus/voicebus.c 2019-10-03 16:48:09.000000000 +0200
3 +++ dahdi-linux-3.1.0-5.18/drivers/dahdi/voicebus/voicebus.c 2022-05-25 16:18:38.185204828 +0200
8 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0)
9 + dl->desc = dma_alloc_coherent(&vb->pdev->dev,
10 + (sizeof(*d) + dl->padding) * DRING_SIZE, &dl->desc_dma, GFP_ATOMIC);
12 dl->desc = pci_alloc_consistent(vb->pdev,
13 (sizeof(*d) + dl->padding) * DRING_SIZE, &dl->desc_dma);
22 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0)
23 + dl->desc = dma_alloc_coherent(&vb->pdev->dev,
24 + (sizeof(*d) + dl->padding) *
25 + DRING_SIZE, &dl->desc_dma, GFP_ATOMIC);
27 dl->desc = pci_alloc_consistent(vb->pdev,
28 (sizeof(*d) + dl->padding) *
29 DRING_SIZE, &dl->desc_dma);
37 vb_cleanup_descriptors(vb, dl);
38 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0)
41 + (sizeof(struct voicebus_descriptor)+dl->padding)*DRING_SIZE,
42 + dl->desc, dl->desc_dma);
46 (sizeof(struct voicebus_descriptor)+dl->padding)*DRING_SIZE,
47 dl->desc, dl->desc_dma);
49 while (!list_empty(&vb->free_rx)) {
50 vbb = list_entry(vb->free_rx.next, struct vbb, entry);
51 list_del(&vbb->entry);
52 @@ -1783,7 +1801,11 @@
53 /* ----------------------------------------------------------------
54 Configure the hardware / kernel module interfaces.
55 ---------------------------------------------------------------- */
56 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0)
57 + if (dma_set_mask(&vb->pdev->dev, DMA_BIT_MASK(32))) {
59 if (pci_set_dma_mask(vb->pdev, DMA_BIT_MASK(32))) {
61 dev_err(&vb->pdev->dev, "No suitable DMA available.\n");
64 @@ -1826,7 +1848,11 @@
65 /* ----------------------------------------------------------------
66 Configure the hardware interface.
67 ---------------------------------------------------------------- */
68 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0)
69 + if (dma_set_mask(&vb->pdev->dev, DMA_BIT_MASK(32))) {
71 if (pci_set_dma_mask(vb->pdev, DMA_BIT_MASK(32))) {
73 dev_warn(&vb->pdev->dev, "No suitable DMA available.\n");
76 diff -ur dahdi-linux-3.1.0/drivers/dahdi/wct4xxp/base.c dahdi-linux-3.1.0-5.18/drivers/dahdi/wct4xxp/base.c
77 --- dahdi-linux-3.1.0/drivers/dahdi/wct4xxp/base.c 2019-10-03 16:48:09.000000000 +0200
78 +++ dahdi-linux-3.1.0-5.18/drivers/dahdi/wct4xxp/base.c 2022-05-25 16:07:49.747890034 +0200
79 @@ -3849,8 +3849,13 @@
82 /* 32 channels, Double-buffer, Read/Write, 4 spans */
83 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0)
84 + alloc = dma_alloc_coherent(&wc->dev->dev, numbufs * T4_BASE_SIZE(wc) * 2,
85 + &writedma, GFP_ATOMIC);
87 alloc = pci_alloc_consistent(wc->dev, numbufs * T4_BASE_SIZE(wc) * 2,
92 dev_notice(&wc->dev->dev, "wct%dxxp: Unable to allocate "
93 @@ -3928,8 +3933,13 @@
95 spin_unlock_irqrestore(&wc->reglock, flags);
97 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0)
98 + dma_free_coherent(&wc->dev->dev, T4_BASE_SIZE(wc) * oldbufs * 2,
101 pci_free_consistent(wc->dev, T4_BASE_SIZE(wc) * oldbufs * 2,
105 dev_info(&wc->dev->dev, "Increased latency to %d\n", newlatency);
107 @@ -5122,8 +5132,13 @@
109 pci_iounmap(wc->dev, wc->membase);
110 pci_release_regions(wc->dev);
111 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0)
112 + dma_free_coherent(&wc->dev->dev, T4_BASE_SIZE(wc) * wc->numbufs * 2,
113 + wc->writechunk, wc->writedma);
115 pci_free_consistent(wc->dev, T4_BASE_SIZE(wc) * wc->numbufs * 2,
116 wc->writechunk, wc->writedma);
118 pci_set_drvdata(wc->dev, NULL);
121 @@ -5302,8 +5317,13 @@
122 pci_release_regions(wc->dev);
124 /* Immediately free resources */
125 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0)
126 + dma_free_coherent(&wc->dev->dev, T4_BASE_SIZE(wc) * wc->numbufs * 2,
127 + wc->writechunk, wc->writedma);
129 pci_free_consistent(wc->dev, T4_BASE_SIZE(wc) * wc->numbufs * 2,
130 wc->writechunk, wc->writedma);
133 order_index[wc->order]--;
135 diff -ur dahdi-linux-3.1.0/drivers/dahdi/wctc4xxp/base.c dahdi-linux-3.1.0-5.18/drivers/dahdi/wctc4xxp/base.c
136 --- dahdi-linux-3.1.0/drivers/dahdi/wctc4xxp/base.c 2019-10-03 16:48:09.000000000 +0200
137 +++ dahdi-linux-3.1.0-5.18/drivers/dahdi/wctc4xxp/base.c 2022-05-25 16:17:03.706798317 +0200
142 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0)
143 + dr->desc = dma_alloc_coherent(&pdev->dev,
144 + (sizeof(*d)+dr->padding)*dr->size, &dr->desc_dma, GFP_ATOMIC);
146 dr->desc = pci_alloc_consistent(pdev,
147 (sizeof(*d)+dr->padding)*dr->size, &dr->desc_dma);
154 d->des1 &= cpu_to_le32(~(BUFFER1_SIZE_MASK));
155 d->des1 |= cpu_to_le32(len & BUFFER1_SIZE_MASK);
156 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0)
157 + d->buffer1 = cpu_to_le32(dma_map_single(&dr->pdev->dev, c->data,
158 + SFRAME_SIZE, dr->direction));
160 d->buffer1 = cpu_to_le32(pci_map_single(dr->pdev, c->data,
161 SFRAME_SIZE, dr->direction));
164 SET_OWNED(d); /* That's it until the hardware is done with it. */
165 dr->pending[dr->tail] = c;
167 spin_lock_irqsave(&dr->lock, flags);
168 d = wctc4xxp_descriptor(dr, head);
169 if (d->buffer1 && !OWNED(d)) {
170 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0)
171 + dma_unmap_single(&dr->pdev->dev, le32_to_cpu(d->buffer1),
172 + SFRAME_SIZE, dr->direction);
174 pci_unmap_single(dr->pdev, le32_to_cpu(d->buffer1),
175 SFRAME_SIZE, dr->direction);
177 c = dr->pending[head];
179 dr->head = (++head) & (dr->size-1);
180 @@ -1575,8 +1590,13 @@
181 for (i = 0; i < dr->size; ++i) {
182 d = wctc4xxp_descriptor(dr, i);
184 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0)
185 + dma_unmap_single(&dr->pdev->dev, d->buffer1,
186 + SFRAME_SIZE, dr->direction);
188 pci_unmap_single(dr->pdev, d->buffer1,
189 SFRAME_SIZE, dr->direction);
192 /* Commands will also be sitting on the waiting for
193 * response list, so we want to make sure to delete
194 @@ -1589,8 +1609,13 @@
198 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0)
199 + dma_free_coherent(&dr->pdev->dev, (sizeof(*d)+dr->padding) * dr->size,
200 + dr->desc, dr->desc_dma);
202 pci_free_consistent(dr->pdev, (sizeof(*d)+dr->padding) * dr->size,
203 dr->desc, dr->desc_dma);
208 @@ -3940,7 +3965,11 @@
209 INIT_WORK(&wc->deferred_work, deferred_work_func);
210 init_waitqueue_head(&wc->waitq);
212 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0)
213 + if (dma_set_mask(&wc->pdev->dev, DMA_BIT_MASK(32))) {
215 if (pci_set_dma_mask(wc->pdev, DMA_BIT_MASK(32))) {
217 release_mem_region(pci_resource_start(wc->pdev, 1),
218 pci_resource_len(wc->pdev, 1));