Rev 6283 | Rev 6320 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 6283 | Rev 6296 | ||
---|---|---|---|
Line 12... | Line 12... | ||
12 | #include "getopt.h" |
12 | #include "getopt.h" |
Line 13... | Line 13... | ||
13 | 13 | ||
14 | #include "bitmap.h" |
14 | #include "bitmap.h" |
Line 15... | Line 15... | ||
15 | #include "i915_kos32.h" |
15 | #include "i915_kos32.h" |
Line 16... | Line 16... | ||
16 | 16 | ||
17 | #define DRV_NAME "i915 v4.4.2-dbg2" |
17 | #define DRV_NAME "i915 v4.4.3" |
18 | 18 | ||
Line 58... | Line 58... | ||
58 | { |
58 | { |
59 | asm volatile ("int $0x40"::"a"(-1)); |
59 | asm volatile ("int $0x40"::"a"(-1)); |
60 | }; |
60 | }; |
Line 61... | Line 61... | ||
61 | 61 | ||
62 | dev_priv = main_device->dev_private; |
- | |
Line 63... | Line 62... | ||
63 | cwq = dev_priv->wq; |
62 | dev_priv = main_device->dev_private; |
64 | 63 | ||
65 | asm volatile("int $0x40":"=a"(tmp):"a"(66),"b"(1),"c"(1)); |
64 | asm volatile("int $0x40":"=a"(tmp):"a"(66),"b"(1),"c"(1)); |
Line 90... | Line 89... | ||
90 | dpms ^= 1; |
89 | dpms ^= 1; |
91 | } |
90 | } |
92 | else if(key.code == 0xC6) |
91 | else if(key.code == 0xC6) |
93 | dpms_lock = 0; |
92 | dpms_lock = 0; |
94 | }; |
93 | }; |
- | 94 | cwq = dev_priv->wq; |
|
Line 95... | Line 95... | ||
95 | 95 | ||
96 | spin_lock_irqsave(&cwq->lock, irqflags); |
- | |
97 | 96 | spin_lock_irqsave(&cwq->lock, irqflags); |
|
98 | while (!list_empty(&cwq->worklist)) |
97 | while (!list_empty(&cwq->worklist)) |
99 | { |
98 | { |
100 | struct work_struct *work = list_entry(cwq->worklist.next, |
99 | struct work_struct *work = list_entry(cwq->worklist.next, |
101 | struct work_struct, entry); |
100 | struct work_struct, entry); |
Line 104... | Line 103... | ||
104 | 103 | ||
105 | spin_unlock_irqrestore(&cwq->lock, irqflags); |
104 | spin_unlock_irqrestore(&cwq->lock, irqflags); |
106 | f(work); |
105 | f(work); |
107 | spin_lock_irqsave(&cwq->lock, irqflags); |
106 | spin_lock_irqsave(&cwq->lock, irqflags); |
- | 107 | } |
|
- | 108 | spin_unlock_irqrestore(&cwq->lock, irqflags); |
|
- | 109 | ||
Line -... | Line 110... | ||
- | 110 | cwq = dev_priv->hotplug.dp_wq; |
|
- | 111 | ||
- | 112 | spin_lock_irqsave(&cwq->lock, irqflags); |
|
- | 113 | while (!list_empty(&cwq->worklist)) |
|
- | 114 | { |
|
- | 115 | struct work_struct *work = list_entry(cwq->worklist.next, |
|
- | 116 | struct work_struct, entry); |
|
- | 117 | work_func_t f = work->func; |
|
- | 118 | list_del_init(cwq->worklist.next); |
|
- | 119 | ||
- | 120 | spin_unlock_irqrestore(&cwq->lock, irqflags); |
|
- | 121 | f(work); |
|
108 | } |
122 | spin_lock_irqsave(&cwq->lock, irqflags); |
Line 109... | Line 123... | ||
109 | 123 | } |
|
110 | spin_unlock_irqrestore(&cwq->lock, irqflags); |
124 | spin_unlock_irqrestore(&cwq->lock, irqflags); |