@@ -99,7 +99,7 @@ static inline port_status_t *get_status(struct port *port)
99
99
static inline dma_addr_t pci_map_single_debug (struct pci_dev * pdev , void * ptr ,
100
100
size_t size , int direction )
101
101
{
102
- dma_addr_t addr = pci_map_single ( pdev , ptr , size , direction );
102
+ dma_addr_t addr = dma_map_single ( & pdev -> dev , ptr , size , direction );
103
103
if (addr + size > 0x100000000LL )
104
104
pr_crit ("%s: pci_map_single() returned memory at 0x%llx!\n" ,
105
105
pci_name (pdev ), (unsigned long long )addr );
@@ -180,8 +180,8 @@ static inline void wanxl_tx_intr(struct port *port)
180
180
dev -> stats .tx_bytes += skb -> len ;
181
181
}
182
182
desc -> stat = PACKET_EMPTY ; /* Free descriptor */
183
- pci_unmap_single ( port -> card -> pdev , desc -> address , skb -> len ,
184
- PCI_DMA_TODEVICE );
183
+ dma_unmap_single ( & port -> card -> pdev -> dev , desc -> address ,
184
+ skb -> len , DMA_TO_DEVICE );
185
185
dev_consume_skb_irq (skb );
186
186
port -> tx_in = (port -> tx_in + 1 ) % TX_BUFFERS ;
187
187
}
@@ -207,9 +207,9 @@ static inline void wanxl_rx_intr(struct card *card)
207
207
if (!skb )
208
208
dev -> stats .rx_dropped ++ ;
209
209
else {
210
- pci_unmap_single ( card -> pdev , desc -> address ,
211
- BUFFER_LENGTH ,
212
- PCI_DMA_FROMDEVICE );
210
+ dma_unmap_single ( & card -> pdev -> dev ,
211
+ desc -> address , BUFFER_LENGTH ,
212
+ DMA_FROM_DEVICE );
213
213
skb_put (skb , desc -> length );
214
214
215
215
#ifdef DEBUG_PKT
@@ -227,9 +227,10 @@ static inline void wanxl_rx_intr(struct card *card)
227
227
if (!skb ) {
228
228
skb = dev_alloc_skb (BUFFER_LENGTH );
229
229
desc -> address = skb ?
230
- pci_map_single (card -> pdev , skb -> data ,
230
+ dma_map_single (& card -> pdev -> dev ,
231
+ skb -> data ,
231
232
BUFFER_LENGTH ,
232
- PCI_DMA_FROMDEVICE ) : 0 ;
233
+ DMA_FROM_DEVICE ) : 0 ;
233
234
card -> rx_skbs [card -> rx_in ] = skb ;
234
235
}
235
236
}
@@ -291,8 +292,8 @@ static netdev_tx_t wanxl_xmit(struct sk_buff *skb, struct net_device *dev)
291
292
#endif
292
293
293
294
port -> tx_skbs [port -> tx_out ] = skb ;
294
- desc -> address = pci_map_single ( port -> card -> pdev , skb -> data , skb -> len ,
295
- PCI_DMA_TODEVICE );
295
+ desc -> address = dma_map_single ( & port -> card -> pdev -> dev , skb -> data ,
296
+ skb -> len , DMA_TO_DEVICE );
296
297
desc -> length = skb -> len ;
297
298
desc -> stat = PACKET_FULL ;
298
299
writel (1 << (DOORBELL_TO_CARD_TX_0 + port -> node ),
@@ -451,9 +452,9 @@ static int wanxl_close(struct net_device *dev)
451
452
452
453
if (desc -> stat != PACKET_EMPTY ) {
453
454
desc -> stat = PACKET_EMPTY ;
454
- pci_unmap_single ( port -> card -> pdev , desc -> address ,
455
- port -> tx_skbs [i ]-> len ,
456
- PCI_DMA_TODEVICE );
455
+ dma_unmap_single ( & port -> card -> pdev -> dev ,
456
+ desc -> address , port -> tx_skbs [i ]-> len ,
457
+ DMA_TO_DEVICE );
457
458
dev_kfree_skb (port -> tx_skbs [i ]);
458
459
}
459
460
}
@@ -524,18 +525,18 @@ static void wanxl_pci_remove_one(struct pci_dev *pdev)
524
525
525
526
for (i = 0 ; i < RX_QUEUE_LENGTH ; i ++ )
526
527
if (card -> rx_skbs [i ]) {
527
- pci_unmap_single ( card -> pdev ,
528
+ dma_unmap_single ( & card -> pdev -> dev ,
528
529
card -> status -> rx_descs [i ].address ,
529
- BUFFER_LENGTH , PCI_DMA_FROMDEVICE );
530
+ BUFFER_LENGTH , DMA_FROM_DEVICE );
530
531
dev_kfree_skb (card -> rx_skbs [i ]);
531
532
}
532
533
533
534
if (card -> plx )
534
535
iounmap (card -> plx );
535
536
536
537
if (card -> status )
537
- pci_free_consistent ( pdev , sizeof (struct card_status ),
538
- card -> status , card -> status_address );
538
+ dma_free_coherent ( & pdev -> dev , sizeof (struct card_status ),
539
+ card -> status , card -> status_address );
539
540
540
541
pci_release_regions (pdev );
541
542
pci_disable_device (pdev );
@@ -579,8 +580,8 @@ static int wanxl_pci_init_one(struct pci_dev *pdev,
579
580
We set both dma_mask and consistent_dma_mask to 28 bits
580
581
and pray pci_alloc_consistent() will use this info. It should
581
582
work on most platforms */
582
- if (pci_set_consistent_dma_mask ( pdev , DMA_BIT_MASK (28 )) ||
583
- pci_set_dma_mask ( pdev , DMA_BIT_MASK (28 ))) {
583
+ if (dma_set_coherent_mask ( & pdev -> dev , DMA_BIT_MASK (28 )) ||
584
+ dma_set_mask ( & pdev -> dev , DMA_BIT_MASK (28 ))) {
584
585
pr_err ("No usable DMA configuration\n" );
585
586
pci_disable_device (pdev );
586
587
return - EIO ;
@@ -608,9 +609,9 @@ static int wanxl_pci_init_one(struct pci_dev *pdev,
608
609
pci_set_drvdata (pdev , card );
609
610
card -> pdev = pdev ;
610
611
611
- card -> status = pci_alloc_consistent ( pdev ,
612
- sizeof (struct card_status ),
613
- & card -> status_address );
612
+ card -> status = dma_alloc_coherent ( & pdev -> dev ,
613
+ sizeof (struct card_status ),
614
+ & card -> status_address , GFP_KERNEL );
614
615
if (card -> status == NULL ) {
615
616
wanxl_pci_remove_one (pdev );
616
617
return - ENOBUFS ;
@@ -625,8 +626,8 @@ static int wanxl_pci_init_one(struct pci_dev *pdev,
625
626
/* FIXME when PCI/DMA subsystems are fixed.
626
627
We set both dma_mask and consistent_dma_mask back to 32 bits
627
628
to indicate the card can do 32-bit DMA addressing */
628
- if (pci_set_consistent_dma_mask ( pdev , DMA_BIT_MASK (32 )) ||
629
- pci_set_dma_mask ( pdev , DMA_BIT_MASK (32 ))) {
629
+ if (dma_set_coherent_mask ( & pdev -> dev , DMA_BIT_MASK (32 )) ||
630
+ dma_set_mask ( & pdev -> dev , DMA_BIT_MASK (32 ))) {
630
631
pr_err ("No usable DMA configuration\n" );
631
632
wanxl_pci_remove_one (pdev );
632
633
return - EIO ;
@@ -699,9 +700,8 @@ static int wanxl_pci_init_one(struct pci_dev *pdev,
699
700
card -> rx_skbs [i ] = skb ;
700
701
if (skb )
701
702
card -> status -> rx_descs [i ].address =
702
- pci_map_single (card -> pdev , skb -> data ,
703
- BUFFER_LENGTH ,
704
- PCI_DMA_FROMDEVICE );
703
+ dma_map_single (& card -> pdev -> dev , skb -> data ,
704
+ BUFFER_LENGTH , DMA_FROM_DEVICE );
705
705
}
706
706
707
707
mem = ioremap (mem_phy , PDM_OFFSET + sizeof (firmware ));
0 commit comments