diff --git a/drivers/media/pci/intel/ipu-mmu.c b/drivers/media/pci/intel/ipu-mmu.c index a36a6ded84eb..b06c9f8c16de 100644 --- a/drivers/media/pci/intel/ipu-mmu.c +++ b/drivers/media/pci/intel/ipu-mmu.c @@ -7,6 +7,7 @@ #include #include #include +#include #include "ipu.h" #include "ipu-platform.h" diff --git a/drivers/media/pci/intel/ipu-psys.c b/drivers/media/pci/intel/ipu-psys.c index b12ecf3fcc38..b93e47aafb73 100644 --- a/drivers/media/pci/intel/ipu-psys.c +++ b/drivers/media/pci/intel/ipu-psys.c @@ -128,6 +128,22 @@ ipu_psys_lookup_kbuffer_by_kaddr(struct ipu_psys_fh *fh, void *kaddr) return NULL; } +#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 10, 0) +/* Dropped from 6.10, use our own copy for now */ +static int follow_pfn(struct vm_area_struct *vma, unsigned long address, unsigned long *pfn) +{ + spinlock_t *ptl; + pte_t *ptep; + + if (follow_pte(vma, address, &ptep, &ptl)) + return -EINVAL; + + *pfn = pte_pfn(ptep_get(ptep)); + pte_unmap_unlock(ptep, ptl); + return 0; +} +#endif + static int ipu_psys_get_userpages(struct ipu_dma_buf_attach *attach) { struct vm_area_struct *vma; diff --git a/drivers/media/pci/intel/ipu.c b/drivers/media/pci/intel/ipu.c index 33592a6624f3..fc091a11a6b6 100644 --- a/drivers/media/pci/intel/ipu.c +++ b/drivers/media/pci/intel/ipu.c @@ -15,6 +15,7 @@ #include #include #include +#include #include "ipu.h" #include "ipu-buttress.h"