Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 836165 | Differences between
and this patch

Collapse All | Expand All

(-)a/src/shared/linux_osl.c (+21 lines)
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)

Return to bug 836165