]> git.pld-linux.org Git - packages/xorg-driver-video-nvidia-legacy-304xx.git/blame - linux-4.12.patch
- rel 5
[packages/xorg-driver-video-nvidia-legacy-304xx.git] / linux-4.12.patch
CommitLineData
105dfaf5
JR
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.035069 seconds and 4 git commands to generate.