1 --- NVIDIA-Linux-x86_64-390.151-no-compat32/kernel/nvidia-uvm/uvm8_gpu.c~ 2022-04-20 19:57:58.000000000 +0200
2 +++ NVIDIA-Linux-x86_64-390.151-no-compat32/kernel/nvidia-uvm/uvm8_gpu.c 2022-05-26 11:20:33.644914149 +0200
5 NV_STATUS uvm_gpu_map_cpu_pages(uvm_gpu_t *gpu, struct page *page, size_t size, NvU64 *dma_addr_out)
7 +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 18, 0)
8 NvU64 dma_addr = pci_map_page(gpu->pci_dev, page, 0, size, PCI_DMA_BIDIRECTIONAL);
10 + NvU64 dma_addr = dma_map_page(&gpu->pci_dev->dev, page, 0, size, DMA_BIDIRECTIONAL);
13 UVM_ASSERT(PAGE_ALIGNED(size));
15 @@ -2222,7 +2226,11 @@
16 return NV_ERR_OPERATING_SYSTEM;
18 if (dma_addr < gpu->dma_addressable_start || dma_addr + size - 1 > gpu->dma_addressable_limit) {
19 +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 18, 0)
20 pci_unmap_page(gpu->pci_dev, dma_addr, size, PCI_DMA_BIDIRECTIONAL);
22 + dma_unmap_page(&gpu->pci_dev->dev, dma_addr, size, DMA_BIDIRECTIONAL);
24 UVM_ERR_PRINT_RL("PCI mapped range [0x%llx, 0x%llx) not in the addressable range [0x%llx, 0x%llx), GPU %s\n",
26 dma_addr + (NvU64)size,
27 @@ -2256,7 +2264,11 @@
29 dma_address = nv_expand_nvlink_addr(dma_address);
30 dma_address += gpu->dma_addressable_start;
31 +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 18, 0)
32 pci_unmap_page(gpu->pci_dev, dma_address, size, PCI_DMA_BIDIRECTIONAL);
34 + dma_unmap_page(&gpu->pci_dev->dev, dma_address, size, DMA_BIDIRECTIONAL);
36 atomic64_sub(size, &gpu->mapped_cpu_pages_size);