tx = ~0;
for (i = 0; i < 50; i++) {
- local_irq_save(flags);
+ local_irq_save_nort(flags);
t1 = ktime_get_ns();
for (t = 0; t < 50; t++)
gameport_read(gameport);
t2 = ktime_get_ns();
t3 = ktime_get_ns();
- local_irq_restore(flags);
+ local_irq_restore_nort(flags);
udelay(i * 10);
t = (t2 - t1) - (t3 - t2);
if (t < tx)
for(i = 0; i < 50; i++) {
local_irq_save_nort(flags);
- rdtscl(t1);
+ t1 = rdtsc();
for (t = 0; t < 50; t++) gameport_read(gameport);
- rdtscl(t2);
+ t2 = rdtsc();
local_irq_restore_nort(flags);
udelay(i * 10);
if (t2 - t1 < tx) tx = t2 - t1;