]> git.pld-linux.org Git - packages/X11-driver-nvidia-legacy.git/blob - NVIDIA_kernel-1.0-7174-1296092.diff
- updated for 7182
[packages/X11-driver-nvidia-legacy.git] / NVIDIA_kernel-1.0-7174-1296092.diff
1 diff -ru usr/src/nv/nv-linux.h usr/src/nv.1296092/nv-linux.h
2 --- usr/src/nv/nv-linux.h       2005-03-22 16:19:09.000000000 +0100
3 +++ usr/src/nv.1296092/nv-linux.h       2005-06-14 16:55:30.416687848 +0200
4 @@ -76,7 +76,7 @@
5  #include <asm/page.h>               /* PAGE_OFFSET                      */
6  #include <asm/pgtable.h>            /* pte bit definitions              */
7  
8 -#if defined(NVCPU_X86_64) && defined(KERNEL_2_6)
9 +#if defined(NVCPU_X86_64) && defined(KERNEL_2_6) && !defined(HAVE_COMPAT_IOCTL)
10  #include <linux/syscalls.h>         /* sys_ioctl()                      */
11  #include <linux/ioctl32.h>          /* register_ioctl32_conversion()    */
12  #endif
13 diff -ru usr/src/nv/nv.c usr/src/nv.1296092/nv.c
14 --- usr/src/nv/nv.c     2005-03-22 16:19:09.000000000 +0100
15 +++ usr/src/nv.1296092/nv.c     2005-06-14 16:55:16.745766144 +0200
16 @@ -153,6 +153,7 @@
17  int           nv_kern_mmap(struct file *, struct vm_area_struct *);
18  unsigned int  nv_kern_poll(struct file *, poll_table *);
19  int           nv_kern_ioctl(struct inode *, struct file *, unsigned int, unsigned long);
20 +long          nv_kern_compat_ioctl(struct file *, unsigned int, unsigned long);
21  void          nv_kern_isr_bh(unsigned long);
22  irqreturn_t   nv_kern_isr(int, void *, struct pt_regs *);
23  void          nv_kern_rc_timer(unsigned long);
24 @@ -209,6 +210,9 @@
25      .owner     = THIS_MODULE,
26      .poll      = nv_kern_poll,
27      .ioctl     = nv_kern_ioctl,
28 +#if defined(NVCPU_X86_64) && defined(HAVE_COMPAT_IOCTL)
29 +    .compat_ioctl = nv_kern_compat_ioctl,
30 +#endif
31      .mmap      = nv_kern_mmap,
32      .open      = nv_kern_open,
33      .release   = nv_kern_close,
34 @@ -993,8 +997,10 @@
35      inter_module_register("nv_linux_devices", THIS_MODULE, nv_linux_devices);
36  #endif
37  
38 +#if defined(NVCPU_X86_64) && defined(CONFIG_IA32_EMULATION) && !defined(HAVE_COMPAT_IOCTL)
39      /* Register ioctl conversions for 32 bit clients */
40      rm_register_ioctl_conversions();
41 +#endif
42  
43  #ifdef NV_SWIOTLB
44      // may need a better test than this eventually
45 @@ -1154,8 +1160,10 @@
46  #endif
47      }
48  
49 +#if defined(NVCPU_X86_64) && defined(CONFIG_IA32_EMULATION) && !defined(HAVE_COMPAT_IOCTL)
50      /* Unregister ioctl conversions for 32 bit clients */
51      rm_unregister_ioctl_conversions();
52 +#endif
53  
54  #if defined(NV_BUILD_NV_PAT_SUPPORT)
55      if (nv_pat_enabled)
56 @@ -1930,6 +1938,15 @@
57      return status;
58  }
59  
60 +long nv_kern_compat_ioctl(
61 +    struct file *file,
62 +    unsigned int cmd,
63 +    unsigned long i_arg
64 +)
65 +{
66 +    return nv_kern_ioctl(file->f_dentry->d_inode, file, cmd, i_arg);
67 +}
68 +
69  /*
70   * driver receives an interrupt
71   *    if someone waiting, then hand it off.
72 diff -ru usr/src/nv/os-interface.c usr/src/nv.1296092/os-interface.c
73 --- usr/src/nv/os-interface.c   2005-03-22 16:19:09.000000000 +0100
74 +++ usr/src/nv.1296092/os-interface.c   2005-06-14 16:55:21.366063752 +0200
75 @@ -1227,18 +1227,18 @@
76  
77  void NV_API_CALL os_register_ioctl32_conversion(U032 cmd, U032 size)
78  {
79 -#if defined(NVCPU_X86_64) && defined(CONFIG_IA32_EMULATION)
80 +#if defined(NVCPU_X86_64) && defined(CONFIG_IA32_EMULATION) && !defined(HAVE_COMPAT_IOCTL)
81      unsigned int request = _IOWR(NV_IOCTL_MAGIC, cmd, char[size]);
82      register_ioctl32_conversion(request, (void *)sys_ioctl);
83 -#endif /* NVCPU_X86_64 */
84 +#endif
85  }
86  
87  void NV_API_CALL os_unregister_ioctl32_conversion(U032 cmd, U032 size)
88  {
89 -#if defined(NVCPU_X86_64) && defined(CONFIG_IA32_EMULATION)
90 +#if defined(NVCPU_X86_64) && defined(CONFIG_IA32_EMULATION) && !defined(HAVE_COMPAT_IOCTL)
91      unsigned int request = _IOWR(NV_IOCTL_MAGIC, cmd, char[size]);
92      unregister_ioctl32_conversion(request);
93 -#endif /* NVCPU_X86_64 */
94 +#endif
95  }
96  
97  BOOL NV_API_CALL os_pat_supported(void)
This page took 0.035768 seconds and 3 git commands to generate.