]>
Commit | Line | Data |
---|---|---|
52da1155 JR |
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 | |
4 | @@ -260,8 +260,13 @@ | |
5 | dl->padding = 0; | |
6 | } | |
7 | ||
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); | |
11 | +#else | |
12 | dl->desc = pci_alloc_consistent(vb->pdev, | |
13 | (sizeof(*d) + dl->padding) * DRING_SIZE, &dl->desc_dma); | |
14 | +#endif | |
15 | if (!dl->desc) | |
16 | return -ENOMEM; | |
17 | ||
18 | @@ -311,9 +316,15 @@ | |
19 | dl->padding = 0; | |
20 | } | |
21 | ||
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); | |
26 | +#else | |
27 | dl->desc = pci_alloc_consistent(vb->pdev, | |
28 | (sizeof(*d) + dl->padding) * | |
29 | DRING_SIZE, &dl->desc_dma); | |
30 | +#endif | |
31 | if (!dl->desc) | |
32 | return -ENOMEM; | |
33 | ||
34 | @@ -544,10 +555,17 @@ | |
35 | return; | |
36 | } | |
37 | vb_cleanup_descriptors(vb, dl); | |
38 | +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0) | |
39 | + dma_free_coherent( | |
40 | + &vb->pdev->dev, | |
41 | + (sizeof(struct voicebus_descriptor)+dl->padding)*DRING_SIZE, | |
42 | + dl->desc, dl->desc_dma); | |
43 | +#else | |
44 | pci_free_consistent( | |
45 | vb->pdev, | |
46 | (sizeof(struct voicebus_descriptor)+dl->padding)*DRING_SIZE, | |
47 | dl->desc, dl->desc_dma); | |
48 | +#endif | |
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))) { | |
58 | +#else | |
59 | if (pci_set_dma_mask(vb->pdev, DMA_BIT_MASK(32))) { | |
60 | +#endif | |
61 | dev_err(&vb->pdev->dev, "No suitable DMA available.\n"); | |
62 | goto cleanup; | |
63 | } | |
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))) { | |
70 | +#else | |
71 | if (pci_set_dma_mask(vb->pdev, DMA_BIT_MASK(32))) { | |
72 | +#endif | |
73 | dev_warn(&vb->pdev->dev, "No suitable DMA available.\n"); | |
74 | goto cleanup; | |
75 | } | |
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 @@ | |
80 | dma_addr_t writedma; | |
81 | ||
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); | |
86 | +#else | |
87 | alloc = pci_alloc_consistent(wc->dev, numbufs * T4_BASE_SIZE(wc) * 2, | |
88 | &writedma); | |
89 | +#endif | |
90 | ||
91 | if (!alloc) { | |
92 | dev_notice(&wc->dev->dev, "wct%dxxp: Unable to allocate " | |
93 | @@ -3928,8 +3933,13 @@ | |
94 | ||
95 | spin_unlock_irqrestore(&wc->reglock, flags); | |
96 | ||
97 | +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0) | |
98 | + dma_free_coherent(&wc->dev->dev, T4_BASE_SIZE(wc) * oldbufs * 2, | |
99 | + oldalloc, oldaddr); | |
100 | +#else | |
101 | pci_free_consistent(wc->dev, T4_BASE_SIZE(wc) * oldbufs * 2, | |
102 | oldalloc, oldaddr); | |
103 | +#endif | |
104 | ||
105 | dev_info(&wc->dev->dev, "Increased latency to %d\n", newlatency); | |
106 | ||
107 | @@ -5122,8 +5132,13 @@ | |
108 | * up first */ | |
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); | |
114 | +#else | |
115 | pci_free_consistent(wc->dev, T4_BASE_SIZE(wc) * wc->numbufs * 2, | |
116 | wc->writechunk, wc->writedma); | |
117 | +#endif | |
118 | pci_set_drvdata(wc->dev, NULL); | |
119 | free_wc(wc); | |
120 | return res; | |
121 | @@ -5302,8 +5317,13 @@ | |
122 | pci_release_regions(wc->dev); | |
123 | ||
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); | |
128 | +#else | |
129 | pci_free_consistent(wc->dev, T4_BASE_SIZE(wc) * wc->numbufs * 2, | |
130 | wc->writechunk, wc->writedma); | |
131 | +#endif | |
132 | ||
133 | order_index[wc->order]--; | |
134 | ||
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 | |
138 | @@ -822,8 +822,13 @@ | |
139 | if (!dr->pending) | |
140 | return -ENOMEM; | |
141 | ||
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); | |
145 | +#else | |
146 | dr->desc = pci_alloc_consistent(pdev, | |
147 | (sizeof(*d)+dr->padding)*dr->size, &dr->desc_dma); | |
148 | +#endif | |
149 | if (!dr->desc) { | |
150 | kfree(dr->pending); | |
151 | return -ENOMEM; | |
152 | @@ -873,8 +878,13 @@ | |
153 | } | |
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)); | |
159 | +#else | |
160 | d->buffer1 = cpu_to_le32(pci_map_single(dr->pdev, c->data, | |
161 | SFRAME_SIZE, dr->direction)); | |
162 | +#endif | |
163 | ||
164 | SET_OWNED(d); /* That's it until the hardware is done with it. */ | |
165 | dr->pending[dr->tail] = c; | |
166 | @@ -895,8 +905,13 @@ | |
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); | |
173 | +#else | |
174 | pci_unmap_single(dr->pdev, le32_to_cpu(d->buffer1), | |
175 | SFRAME_SIZE, dr->direction); | |
176 | +#endif | |
177 | c = dr->pending[head]; | |
178 | WARN_ON(!c); | |
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); | |
183 | if (d->buffer1) { | |
184 | +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0) | |
185 | + dma_unmap_single(&dr->pdev->dev, d->buffer1, | |
186 | + SFRAME_SIZE, dr->direction); | |
187 | +#else | |
188 | pci_unmap_single(dr->pdev, d->buffer1, | |
189 | SFRAME_SIZE, dr->direction); | |
190 | +#endif | |
191 | d->buffer1 = 0; | |
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 @@ | |
195 | dr->head = 0; | |
196 | dr->tail = 0; | |
197 | dr->count = 0; | |
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); | |
201 | +#else | |
202 | pci_free_consistent(dr->pdev, (sizeof(*d)+dr->padding) * dr->size, | |
203 | dr->desc, dr->desc_dma); | |
204 | +#endif | |
205 | kfree(dr->pending); | |
206 | } | |
207 | ||
208 | @@ -3940,7 +3965,11 @@ | |
209 | INIT_WORK(&wc->deferred_work, deferred_work_func); | |
210 | init_waitqueue_head(&wc->waitq); | |
211 | ||
212 | +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0) | |
213 | + if (dma_set_mask(&wc->pdev->dev, DMA_BIT_MASK(32))) { | |
214 | +#else | |
215 | if (pci_set_dma_mask(wc->pdev, DMA_BIT_MASK(32))) { | |
216 | +#endif | |
217 | release_mem_region(pci_resource_start(wc->pdev, 1), | |
218 | pci_resource_len(wc->pdev, 1)); | |
219 | if (wc->iobase) |