Magellan Linux

Annotation of /trunk/nvidia/1.0.6629/NVIDIA_kernel-1.0-6629-1182399.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 153 - (hide annotations) (download)
Tue May 8 20:52:56 2007 UTC (17 years ago) by niro
File size: 2608 byte(s)
-import

1 niro 153 diff -ru usr/src/nv/nv-linux.h usr/src/nv.1182399/nv-linux.h
2     --- usr/src/nv/nv-linux.h 2004-11-03 22:53:00.000000000 +0100
3     +++ usr/src/nv.1182399/nv-linux.h 2004-12-21 18:58:41.000000000 +0100
4     @@ -155,6 +155,10 @@
5     #endif
6     #endif /* defined(NVCPU_X86) */
7    
8     +#ifndef get_cpu
9     +#define get_cpu() smp_processor_id()
10     +#define put_cpu()
11     +#endif
12    
13     #if !defined (list_for_each)
14     #define list_for_each(pos, head) \
15     diff -ru usr/src/nv/nv.c usr/src/nv.1182399/nv.c
16     --- usr/src/nv/nv.c 2004-11-03 22:53:00.000000000 +0100
17     +++ usr/src/nv.1182399/nv.c 2004-12-21 18:58:55.000000000 +0100
18     @@ -2769,21 +2769,13 @@
19     }
20    
21    
22     -/* avoid compiler warnings on UP kernels,
23     - * when spinlock macros are defined away
24     - */
25     -#define NO_COMPILER_WARNINGS(nvl) \
26     - if (nvl == NULL) return
27     -
28     -
29     static void nv_lock_init_locks
30     (
31     nv_state_t *nv
32     )
33     {
34     - nv_linux_state_t *nvl = NV_GET_NVL_FROM_NV_STATE(nv);
35     -
36     - NO_COMPILER_WARNINGS(nvl);
37     + nv_linux_state_t *nvl;
38     + nvl = NV_GET_NVL_FROM_NV_STATE(nv);
39    
40     spin_lock_init(&nvl->rm_lock);
41    
42     @@ -2799,28 +2791,33 @@
43     nv_state_t *nv
44     )
45     {
46     - nv_linux_state_t *nvl = NV_GET_NVL_FROM_NV_STATE(nv);
47     - NO_COMPILER_WARNINGS(nvl);
48     + nv_linux_state_t *nvl;
49     + int cpu;
50     +
51     + nvl = NV_GET_NVL_FROM_NV_STATE(nv);
52     + cpu = get_cpu();
53    
54     - if (nvl->rm_lock_cpu == smp_processor_id())
55     + if (nvl->rm_lock_cpu == cpu)
56     {
57     nvl->rm_lock_count++;
58     + put_cpu();
59     return;
60     }
61    
62     + put_cpu();
63     spin_unlock_wait(&nvl->rm_lock);
64     spin_lock_irq(&nvl->rm_lock);
65    
66     - nvl->rm_lock_cpu = smp_processor_id();
67     - nvl->rm_lock_count = 1;
68     + nvl->rm_lock_cpu = smp_processor_id();
69     + nvl->rm_lock_count = 1;
70     }
71    
72     void NV_API_CALL nv_unlock_rm(
73     nv_state_t *nv
74     )
75     {
76     - nv_linux_state_t *nvl = NV_GET_NVL_FROM_NV_STATE(nv);
77     - NO_COMPILER_WARNINGS(nvl);
78     + nv_linux_state_t *nvl;
79     + nvl = NV_GET_NVL_FROM_NV_STATE(nv);
80    
81     if (--nvl->rm_lock_count)
82     return;
83     diff -ru usr/src/nv/os-interface.c usr/src/nv.1182399/os-interface.c
84     --- usr/src/nv/os-interface.c 2004-11-03 22:53:00.000000000 +0100
85     +++ usr/src/nv.1182399/os-interface.c 2004-12-21 18:58:47.000000000 +0100
86     @@ -732,10 +732,17 @@
87     //
88     inline void NV_API_CALL out_string(const char *str)
89     {
90     +#if DEBUG
91     static int was_newline = 0;
92    
93     - if (was_newline) printk("%d: %s", smp_processor_id(), str);
94     - else printk("%s", str);
95     + if (NV_NUM_CPUS() > 1 && was_newline)
96     + {
97     + printk("%d: %s", get_cpu(), str);
98     + put_cpu();
99     + }
100     + else
101     +#endif
102     + printk("%s", str);
103    
104     #if DEBUG
105     if (NV_NUM_CPUS() > 1)

Properties

Name Value
svn:executable *