Subversion Repositories Kolibri OS

Rev

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);