]> git.pld-linux.org Git - packages/xorg-driver-video-nvidia-legacy-304xx.git/blob - linux-4.12.patch
- updated hardware list
[packages/xorg-driver-video-nvidia-legacy-304xx.git] / linux-4.12.patch
1 --- kernel/nv-vtophys.c 2016-12-09 20:30:08.000000000 +0100
2 +++ kernel/nv-vtophys.c 2017-05-10 10:05:28.452722808 +0200
3 @@ -25,6 +25,9 @@ NvU64 nv_get_phys_address(
4  #else
5      struct mm_struct *mm;
6      pgd_t *pgd = NULL;
7 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0)
8 +    p4d_t *p4d = NULL;
9 +#endif
10      pmd_t *pmd = NULL;
11      pte_t *pte = NULL;
12      NvU64 retval;
13 @@ -41,7 +42,11 @@ NvU64 nv_get_phys_address(
14      if (!NV_PGD_PRESENT(pgd))
15          goto failed;
16  
17 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0)
18 +    pmd = NV_PMD_OFFSET(address, p4d);
19 +#else
20      pmd = NV_PMD_OFFSET(address, pgd);
21 +#endif
22      if (!NV_PMD_PRESENT(pmd))
23          goto failed;
24  
25 --- kernel/nv-linux.h   2017-05-10 09:19:05.820789291 +0200
26 +++ kernel/nv-linux.h   2017-05-10 10:05:57.656844602 +0200
27 @@ -1389,11 +1389,16 @@ typedef void irqreturn_t;
28  #define NV_PMD_UNMAP(pmd) pmd_unmap(pmd);
29  #else
30  #if defined(PUD_SHIFT) /* 4-level pgtable */
31 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0)
32 +#define _PGD_P4D p4d
33 +#else
34 +#define _PGD_P4D pgd
35 +#endif
36 -#define NV_PMD_OFFSET(address, pgd)                     \
37 +#define NV_PMD_OFFSET(address, _PGD_P4D)                \
38     ({                                                   \
39          pmd_t *__pmd = NULL;                            \
40          pud_t *__pud;                                   \
41 -        __pud = pud_offset(pgd, address);               \
42 +        __pud = pud_offset(_PGD_P4D, address);          \
43          if ((__pud != NULL) &&                          \
44              !(pud_bad(*__pud) || pud_none(*__pud)))     \
45              __pmd = pmd_offset(__pud, address);         \
This page took 0.041924 seconds and 3 git commands to generate.