]> git.pld-linux.org Git - packages/dahdi-linux.git/blob - kernel-5.18.patch
- fix building kernel modules for 5.18
[packages/dahdi-linux.git] / kernel-5.18.patch
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)
This page took 0.05958 seconds and 3 git commands to generate.