Lines 599-604
Link Here
|
599 |
va = kmalloc(size, GFP_ATOMIC | __GFP_ZERO); |
599 |
va = kmalloc(size, GFP_ATOMIC | __GFP_ZERO); |
600 |
if (va) |
600 |
if (va) |
601 |
*pap = (ulong)__virt_to_phys(va); |
601 |
*pap = (ulong)__virt_to_phys(va); |
|
|
602 |
#elif LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0) |
603 |
va = dma_alloc_coherent(&((struct pci_dev *)osh->pdev)->dev, size, (dma_addr_t*)pap, GFP_ATOMIC); |
602 |
#else |
604 |
#else |
603 |
va = pci_alloc_consistent(osh->pdev, size, (dma_addr_t*)pap); |
605 |
va = pci_alloc_consistent(osh->pdev, size, (dma_addr_t*)pap); |
604 |
#endif |
606 |
#endif |
Lines 612-617
Link Here
|
612 |
|
614 |
|
613 |
#ifdef __ARM_ARCH_7A__ |
615 |
#ifdef __ARM_ARCH_7A__ |
614 |
kfree(va); |
616 |
kfree(va); |
|
|
617 |
#elif LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0) |
618 |
dma_free_coherent(&((struct pci_dev *)osh->pdev)->dev, size, va, (dma_addr_t)pa); |
615 |
#else |
619 |
#else |
616 |
pci_free_consistent(osh->pdev, size, va, (dma_addr_t)pa); |
620 |
pci_free_consistent(osh->pdev, size, va, (dma_addr_t)pa); |
617 |
#endif |
621 |
#endif |
Lines 623-629
Link Here
|
623 |
int dir; |
627 |
int dir; |
624 |
|
628 |
|
625 |
ASSERT((osh && (osh->magic == OS_HANDLE_MAGIC))); |
629 |
ASSERT((osh && (osh->magic == OS_HANDLE_MAGIC))); |
|
|
630 |
#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0) |
631 |
dir = (direction == DMA_TX)? DMA_TO_DEVICE: DMA_FROM_DEVICE; |
632 |
#else |
626 |
dir = (direction == DMA_TX)? PCI_DMA_TODEVICE: PCI_DMA_FROMDEVICE; |
633 |
dir = (direction == DMA_TX)? PCI_DMA_TODEVICE: PCI_DMA_FROMDEVICE; |
|
|
634 |
#endif |
627 |
|
635 |
|
628 |
#if defined(__ARM_ARCH_7A__) && defined(BCMDMASGLISTOSL) |
636 |
#if defined(__ARM_ARCH_7A__) && defined(BCMDMASGLISTOSL) |
629 |
if (dmah != NULL) { |
637 |
if (dmah != NULL) { |
Lines 641-647
Link Here
|
641 |
ASSERT(totsegs + nsegs <= MAX_DMA_SEGS); |
649 |
ASSERT(totsegs + nsegs <= MAX_DMA_SEGS); |
642 |
sg->page_link = 0; |
650 |
sg->page_link = 0; |
643 |
sg_set_buf(sg, PKTDATA(osh, skb), PKTLEN(osh, skb)); |
651 |
sg_set_buf(sg, PKTDATA(osh, skb), PKTLEN(osh, skb)); |
|
|
652 |
#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0) |
653 |
dma_map_single(&((struct pci_dev *)osh->pdev)->dev, PKTDATA(osh, skb), PKTLEN(osh, skb), dir); |
654 |
#else |
644 |
pci_map_single(osh->pdev, PKTDATA(osh, skb), PKTLEN(osh, skb), dir); |
655 |
pci_map_single(osh->pdev, PKTDATA(osh, skb), PKTLEN(osh, skb), dir); |
|
|
656 |
#endif |
645 |
} |
657 |
} |
646 |
totsegs += nsegs; |
658 |
totsegs += nsegs; |
647 |
totlen += PKTLEN(osh, skb); |
659 |
totlen += PKTLEN(osh, skb); |
Lines 656-662
Link Here
|
656 |
} |
668 |
} |
657 |
#endif |
669 |
#endif |
658 |
|
670 |
|
|
|
671 |
#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0) |
672 |
return (dma_map_single(&((struct pci_dev *)osh->pdev)->dev, va, size, dir)); |
673 |
#else |
659 |
return (pci_map_single(osh->pdev, va, size, dir)); |
674 |
return (pci_map_single(osh->pdev, va, size, dir)); |
|
|
675 |
#endif |
660 |
} |
676 |
} |
661 |
|
677 |
|
662 |
void BCMFASTPATH |
678 |
void BCMFASTPATH |
Lines 665-672
Link Here
|
665 |
int dir; |
681 |
int dir; |
666 |
|
682 |
|
667 |
ASSERT((osh && (osh->magic == OS_HANDLE_MAGIC))); |
683 |
ASSERT((osh && (osh->magic == OS_HANDLE_MAGIC))); |
|
|
684 |
#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0) |
685 |
dir = (direction == DMA_TX)? DMA_TO_DEVICE: DMA_FROM_DEVICE; |
686 |
dma_unmap_single(&((struct pci_dev *)osh->pdev)->dev, (uint32)pa, size, dir); |
687 |
#else |
668 |
dir = (direction == DMA_TX)? PCI_DMA_TODEVICE: PCI_DMA_FROMDEVICE; |
688 |
dir = (direction == DMA_TX)? PCI_DMA_TODEVICE: PCI_DMA_FROMDEVICE; |
669 |
pci_unmap_single(osh->pdev, (uint32)pa, size, dir); |
689 |
pci_unmap_single(osh->pdev, (uint32)pa, size, dir); |
|
|
690 |
#endif |
670 |
} |
691 |
} |
671 |
|
692 |
|
672 |
#if defined(BCMDBG_ASSERT) |
693 |
#if defined(BCMDBG_ASSERT) |