Lines 153-158
Link Here
|
153 |
int nv_kern_mmap(struct file *, struct vm_area_struct *); |
153 |
int nv_kern_mmap(struct file *, struct vm_area_struct *); |
154 |
unsigned int nv_kern_poll(struct file *, poll_table *); |
154 |
unsigned int nv_kern_poll(struct file *, poll_table *); |
155 |
int nv_kern_ioctl(struct inode *, struct file *, unsigned int, unsigned long); |
155 |
int nv_kern_ioctl(struct inode *, struct file *, unsigned int, unsigned long); |
|
|
156 |
long nv_kern_compat_ioctl(struct file *, unsigned int, unsigned long); |
156 |
void nv_kern_isr_bh(unsigned long); |
157 |
void nv_kern_isr_bh(unsigned long); |
157 |
irqreturn_t nv_kern_isr(int, void *, struct pt_regs *); |
158 |
irqreturn_t nv_kern_isr(int, void *, struct pt_regs *); |
158 |
void nv_kern_rc_timer(unsigned long); |
159 |
void nv_kern_rc_timer(unsigned long); |
Lines 209-214
Link Here
|
209 |
.owner = THIS_MODULE, |
210 |
.owner = THIS_MODULE, |
210 |
.poll = nv_kern_poll, |
211 |
.poll = nv_kern_poll, |
211 |
.ioctl = nv_kern_ioctl, |
212 |
.ioctl = nv_kern_ioctl, |
|
|
213 |
#if defined(NVCPU_X86_64) && defined(HAVE_COMPAT_IOCTL) |
214 |
.compat_ioctl = nv_kern_compat_ioctl, |
215 |
#endif |
212 |
.mmap = nv_kern_mmap, |
216 |
.mmap = nv_kern_mmap, |
213 |
.open = nv_kern_open, |
217 |
.open = nv_kern_open, |
214 |
.release = nv_kern_close, |
218 |
.release = nv_kern_close, |
Lines 993-1000
Link Here
|
993 |
inter_module_register("nv_linux_devices", THIS_MODULE, nv_linux_devices); |
997 |
inter_module_register("nv_linux_devices", THIS_MODULE, nv_linux_devices); |
994 |
#endif |
998 |
#endif |
995 |
|
999 |
|
|
|
1000 |
#if defined(NVCPU_X86_64) && defined(CONFIG_IA32_EMULATION) && !defined(HAVE_COMPAT_IOCTL) |
996 |
/* Register ioctl conversions for 32 bit clients */ |
1001 |
/* Register ioctl conversions for 32 bit clients */ |
997 |
rm_register_ioctl_conversions(); |
1002 |
rm_register_ioctl_conversions(); |
|
|
1003 |
#endif |
998 |
|
1004 |
|
999 |
#ifdef NV_SWIOTLB |
1005 |
#ifdef NV_SWIOTLB |
1000 |
// may need a better test than this eventually |
1006 |
// may need a better test than this eventually |
Lines 1154-1161
Link Here
|
1154 |
#endif |
1160 |
#endif |
1155 |
} |
1161 |
} |
1156 |
|
1162 |
|
|
|
1163 |
#if defined(NVCPU_X86_64) && defined(CONFIG_IA32_EMULATION) && !defined(HAVE_COMPAT_IOCTL) |
1157 |
/* Unregister ioctl conversions for 32 bit clients */ |
1164 |
/* Unregister ioctl conversions for 32 bit clients */ |
1158 |
rm_unregister_ioctl_conversions(); |
1165 |
rm_unregister_ioctl_conversions(); |
|
|
1166 |
#endif |
1159 |
|
1167 |
|
1160 |
#if defined(NV_BUILD_NV_PAT_SUPPORT) |
1168 |
#if defined(NV_BUILD_NV_PAT_SUPPORT) |
1161 |
if (nv_pat_enabled) |
1169 |
if (nv_pat_enabled) |
Lines 1930-1935
Link Here
|
1930 |
return status; |
1938 |
return status; |
1931 |
} |
1939 |
} |
1932 |
|
1940 |
|
|
|
1941 |
long nv_kern_compat_ioctl( |
1942 |
struct file *file, |
1943 |
unsigned int cmd, |
1944 |
unsigned long i_arg |
1945 |
) |
1946 |
{ |
1947 |
return nv_kern_ioctl(file->f_dentry->d_inode, file, cmd, i_arg); |
1948 |
} |
1949 |
|
1933 |
/* |
1950 |
/* |
1934 |
* driver receives an interrupt |
1951 |
* driver receives an interrupt |
1935 |
* if someone waiting, then hand it off. |
1952 |
* if someone waiting, then hand it off. |