Contents of /trunk/nvidia/1.0.6629/NVIDIA_kernel-1.0-6629-1182399.patch
Parent Directory | Revision Log
Revision 153 -
(show annotations)
(download)
Tue May 8 20:52:56 2007 UTC (17 years, 4 months ago) by niro
File size: 2608 byte(s)
Tue May 8 20:52:56 2007 UTC (17 years, 4 months ago) by niro
File size: 2608 byte(s)
-import
1 | 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 | * |