Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
linux-davinci
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
linux
linux-davinci
Commits
a277055e
Commit
a277055e
authored
15 years ago
by
Thomas Gleixner
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'rt/local-irq' into rt/base
parents
89d8792b
08aaf7b5
No related merge requests found
Changes
13
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
42 additions
and
40 deletions
+42
-40
arch/x86/include/asm/acpi.h
arch/x86/include/asm/acpi.h
+2
-2
drivers/ata/libata-sff.c
drivers/ata/libata-sff.c
+6
-6
drivers/ide/alim15x3.c
drivers/ide/alim15x3.c
+6
-6
drivers/ide/hpt366.c
drivers/ide/hpt366.c
+2
-2
drivers/ide/ide-io-std.c
drivers/ide/ide-io-std.c
+4
-4
drivers/ide/ide-io.c
drivers/ide/ide-io.c
+1
-1
drivers/ide/ide-iops.c
drivers/ide/ide-iops.c
+2
-2
drivers/ide/ide-probe.c
drivers/ide/ide-probe.c
+2
-2
drivers/ide/ide-taskfile.c
drivers/ide/ide-taskfile.c
+3
-3
drivers/infiniband/ulp/ipoib/ipoib_multicast.c
drivers/infiniband/ulp/ipoib/ipoib_multicast.c
+2
-2
drivers/input/gameport/gameport.c
drivers/input/gameport/gameport.c
+5
-4
kernel/res_counter.c
kernel/res_counter.c
+5
-4
kernel/user.c
kernel/user.c
+2
-2
No files found.
arch/x86/include/asm/acpi.h
View file @
a277055e
...
...
@@ -50,8 +50,8 @@
#define ACPI_ASM_MACROS
#define BREAKPOINT3
#define ACPI_DISABLE_IRQS() local_irq_disable()
#define ACPI_ENABLE_IRQS() local_irq_enable()
#define ACPI_DISABLE_IRQS() local_irq_disable
_nort
()
#define ACPI_ENABLE_IRQS() local_irq_enable
_nort
()
#define ACPI_FLUSH_CPU_CACHE() wbinvd()
int
__acpi_acquire_global_lock
(
unsigned
int
*
lock
);
...
...
This diff is collapsed.
Click to expand it.
drivers/ata/libata-sff.c
View file @
a277055e
...
...
@@ -837,9 +837,9 @@ unsigned int ata_sff_data_xfer_noirq(struct ata_device *dev, unsigned char *buf,
unsigned
long
flags
;
unsigned
int
consumed
;
local_irq_save
(
flags
);
local_irq_save
_nort
(
flags
);
consumed
=
ata_sff_data_xfer
(
dev
,
buf
,
buflen
,
rw
);
local_irq_restore
(
flags
);
local_irq_restore
_nort
(
flags
);
return
consumed
;
}
...
...
@@ -878,7 +878,7 @@ static void ata_pio_sector(struct ata_queued_cmd *qc)
unsigned
long
flags
;
/* FIXME: use a bounce buffer */
local_irq_save
(
flags
);
local_irq_save
_nort
(
flags
);
buf
=
kmap_atomic
(
page
,
KM_IRQ0
);
/* do the actual data transfer */
...
...
@@ -886,7 +886,7 @@ static void ata_pio_sector(struct ata_queued_cmd *qc)
do_write
);
kunmap_atomic
(
buf
,
KM_IRQ0
);
local_irq_restore
(
flags
);
local_irq_restore
_nort
(
flags
);
}
else
{
buf
=
page_address
(
page
);
ap
->
ops
->
sff_data_xfer
(
qc
->
dev
,
buf
+
offset
,
qc
->
sect_size
,
...
...
@@ -1016,7 +1016,7 @@ next_sg:
unsigned
long
flags
;
/* FIXME: use bounce buffer */
local_irq_save
(
flags
);
local_irq_save
_nort
(
flags
);
buf
=
kmap_atomic
(
page
,
KM_IRQ0
);
/* do the actual data transfer */
...
...
@@ -1024,7 +1024,7 @@ next_sg:
count
,
rw
);
kunmap_atomic
(
buf
,
KM_IRQ0
);
local_irq_restore
(
flags
);
local_irq_restore
_nort
(
flags
);
}
else
{
buf
=
page_address
(
page
);
consumed
=
ap
->
ops
->
sff_data_xfer
(
dev
,
buf
+
offset
,
...
...
This diff is collapsed.
Click to expand it.
drivers/ide/alim15x3.c
View file @
a277055e
...
...
@@ -90,7 +90,7 @@ static void ali_set_pio_mode(ide_drive_t *drive, const u8 pio)
if
(
r_clc
>=
16
)
r_clc
=
0
;
}
local_irq_save
(
flags
);
local_irq_save
_nort
(
flags
);
/*
* PIO mode => ATA FIFO on, ATAPI FIFO off
...
...
@@ -112,7 +112,7 @@ static void ali_set_pio_mode(ide_drive_t *drive, const u8 pio)
pci_write_config_byte
(
dev
,
port
,
s_clc
);
pci_write_config_byte
(
dev
,
port
+
unit
+
2
,
(
a_clc
<<
4
)
|
r_clc
);
local_irq_restore
(
flags
);
local_irq_restore
_nort
(
flags
);
}
/**
...
...
@@ -223,7 +223,7 @@ static int init_chipset_ali15x3(struct pci_dev *dev)
isa_dev
=
pci_get_device
(
PCI_VENDOR_ID_AL
,
PCI_DEVICE_ID_AL_M1533
,
NULL
);
local_irq_save
(
flags
);
local_irq_save
_nort
(
flags
);
if
(
m5229_revision
<
0xC2
)
{
/*
...
...
@@ -314,7 +314,7 @@ out:
}
pci_dev_put
(
north
);
pci_dev_put
(
isa_dev
);
local_irq_restore
(
flags
);
local_irq_restore
_nort
(
flags
);
return
0
;
}
...
...
@@ -376,7 +376,7 @@ static u8 ali_cable_detect(ide_hwif_t *hwif)
unsigned
long
flags
;
u8
cbl
=
ATA_CBL_PATA40
,
tmpbyte
;
local_irq_save
(
flags
);
local_irq_save
_nort
(
flags
);
if
(
m5229_revision
>=
0xC2
)
{
/*
...
...
@@ -397,7 +397,7 @@ static u8 ali_cable_detect(ide_hwif_t *hwif)
}
}
local_irq_restore
(
flags
);
local_irq_restore
_nort
(
flags
);
return
cbl
;
}
...
...
This diff is collapsed.
Click to expand it.
drivers/ide/hpt366.c
View file @
a277055e
...
...
@@ -1302,7 +1302,7 @@ static int __devinit init_dma_hpt366(ide_hwif_t *hwif,
dma_old
=
inb
(
base
+
2
);
local_irq_save
(
flags
);
local_irq_save
_nort
(
flags
);
dma_new
=
dma_old
;
pci_read_config_byte
(
dev
,
hwif
->
channel
?
0x4b
:
0x43
,
&
masterdma
);
...
...
@@ -1313,7 +1313,7 @@ static int __devinit init_dma_hpt366(ide_hwif_t *hwif,
if
(
dma_new
!=
dma_old
)
outb
(
dma_new
,
base
+
2
);
local_irq_restore
(
flags
);
local_irq_restore
_nort
(
flags
);
printk
(
KERN_INFO
" %s: BM-DMA at 0x%04lx-0x%04lx
\n
"
,
hwif
->
name
,
base
,
base
+
7
);
...
...
This diff is collapsed.
Click to expand it.
drivers/ide/ide-io-std.c
View file @
a277055e
...
...
@@ -174,7 +174,7 @@ void ide_input_data(ide_drive_t *drive, struct ide_cmd *cmd, void *buf,
unsigned
long
uninitialized_var
(
flags
);
if
((
io_32bit
&
2
)
&&
!
mmio
)
{
local_irq_save
(
flags
);
local_irq_save
_nort
(
flags
);
ata_vlb_sync
(
io_ports
->
nsect_addr
);
}
...
...
@@ -185,7 +185,7 @@ void ide_input_data(ide_drive_t *drive, struct ide_cmd *cmd, void *buf,
insl
(
data_addr
,
buf
,
words
);
if
((
io_32bit
&
2
)
&&
!
mmio
)
local_irq_restore
(
flags
);
local_irq_restore
_nort
(
flags
);
if
(((
len
+
1
)
&
3
)
<
2
)
return
;
...
...
@@ -218,7 +218,7 @@ void ide_output_data(ide_drive_t *drive, struct ide_cmd *cmd, void *buf,
unsigned
long
uninitialized_var
(
flags
);
if
((
io_32bit
&
2
)
&&
!
mmio
)
{
local_irq_save
(
flags
);
local_irq_save
_nort
(
flags
);
ata_vlb_sync
(
io_ports
->
nsect_addr
);
}
...
...
@@ -229,7 +229,7 @@ void ide_output_data(ide_drive_t *drive, struct ide_cmd *cmd, void *buf,
outsl
(
data_addr
,
buf
,
words
);
if
((
io_32bit
&
2
)
&&
!
mmio
)
local_irq_restore
(
flags
);
local_irq_restore
_nort
(
flags
);
if
(((
len
+
1
)
&
3
)
<
2
)
return
;
...
...
This diff is collapsed.
Click to expand it.
drivers/ide/ide-io.c
View file @
a277055e
...
...
@@ -667,7 +667,7 @@ void ide_timer_expiry (unsigned long data)
/* disable_irq_nosync ?? */
disable_irq
(
hwif
->
irq
);
/* local CPU only, as if we were handling an interrupt */
local_irq_disable
();
local_irq_disable
_nort
();
if
(
hwif
->
polling
)
{
startstop
=
handler
(
drive
);
}
else
if
(
drive_is_ready
(
drive
))
{
...
...
This diff is collapsed.
Click to expand it.
drivers/ide/ide-iops.c
View file @
a277055e
...
...
@@ -129,12 +129,12 @@ static int __ide_wait_stat(ide_drive_t *drive, u8 good, u8 bad,
if
((
stat
&
ATA_BUSY
)
==
0
)
break
;
local_irq_restore
(
flags
);
local_irq_restore
_nort
(
flags
);
*
rstat
=
stat
;
return
-
EBUSY
;
}
}
local_irq_restore
(
flags
);
local_irq_restore
_nort
(
flags
);
}
/*
* Allow status to settle, then read it again.
...
...
This diff is collapsed.
Click to expand it.
drivers/ide/ide-probe.c
View file @
a277055e
...
...
@@ -196,10 +196,10 @@ static void do_identify(ide_drive_t *drive, u8 cmd, u16 *id)
int
bswap
=
1
;
/* local CPU only; some systems need this */
local_irq_save
(
flags
);
local_irq_save
_nort
(
flags
);
/* read 512 bytes of id info */
hwif
->
tp_ops
->
input_data
(
drive
,
NULL
,
id
,
SECTOR_SIZE
);
local_irq_restore
(
flags
);
local_irq_restore
_nort
(
flags
);
drive
->
dev_flags
|=
IDE_DFLAG_ID_READ
;
#ifdef DEBUG
...
...
This diff is collapsed.
Click to expand it.
drivers/ide/ide-taskfile.c
View file @
a277055e
...
...
@@ -248,7 +248,7 @@ void ide_pio_bytes(ide_drive_t *drive, struct ide_cmd *cmd,
offset
%=
PAGE_SIZE
;
if
(
PageHighMem
(
page
))
local_irq_save
(
flags
);
local_irq_save
_nort
(
flags
);
buf
=
kmap_atomic
(
page
,
KM_BIO_SRC_IRQ
)
+
offset
;
...
...
@@ -269,7 +269,7 @@ void ide_pio_bytes(ide_drive_t *drive, struct ide_cmd *cmd,
kunmap_atomic
(
buf
,
KM_BIO_SRC_IRQ
);
if
(
PageHighMem
(
page
))
local_irq_restore
(
flags
);
local_irq_restore
_nort
(
flags
);
len
-=
nr_bytes
;
}
...
...
@@ -406,7 +406,7 @@ static ide_startstop_t pre_task_out_intr(ide_drive_t *drive,
}
if
((
drive
->
dev_flags
&
IDE_DFLAG_UNMASK
)
==
0
)
local_irq_disable
();
local_irq_disable
_nort
();
ide_set_handler
(
drive
,
&
task_pio_intr
,
WAIT_WORSTCASE
);
...
...
This diff is collapsed.
Click to expand it.
drivers/infiniband/ulp/ipoib/ipoib_multicast.c
View file @
a277055e
...
...
@@ -773,7 +773,7 @@ void ipoib_mcast_restart_task(struct work_struct *work)
ipoib_mcast_stop_thread
(
dev
,
0
);
local_irq_save
(
flags
);
local_irq_save
_nort
(
flags
);
netif_addr_lock
(
dev
);
spin_lock
(
&
priv
->
lock
);
...
...
@@ -852,7 +852,7 @@ void ipoib_mcast_restart_task(struct work_struct *work)
spin_unlock
(
&
priv
->
lock
);
netif_addr_unlock
(
dev
);
local_irq_restore
(
flags
);
local_irq_restore
_nort
(
flags
);
/* We have to cancel outside of the spinlock */
list_for_each_entry_safe
(
mcast
,
tmcast
,
&
remove_list
,
list
)
{
...
...
This diff is collapsed.
Click to expand it.
drivers/input/gameport/gameport.c
View file @
a277055e
...
...
@@ -20,6 +20,7 @@
#include <linux/slab.h>
#include <linux/delay.h>
#include <linux/kthread.h>
#include <linux/interrupt.h>
#include <linux/sched.h>
/* HZ */
#include <linux/mutex.h>
#include <linux/freezer.h>
...
...
@@ -87,12 +88,12 @@ static int gameport_measure_speed(struct gameport *gameport)
tx
=
1
<<
30
;
for
(
i
=
0
;
i
<
50
;
i
++
)
{
local_irq_save
(
flags
);
local_irq_save
_nort
(
flags
);
GET_TIME
(
t1
);
for
(
t
=
0
;
t
<
50
;
t
++
)
gameport_read
(
gameport
);
GET_TIME
(
t2
);
GET_TIME
(
t3
);
local_irq_restore
(
flags
);
local_irq_restore
_nort
(
flags
);
udelay
(
i
*
10
);
if
((
t
=
DELTA
(
t2
,
t1
)
-
DELTA
(
t3
,
t2
))
<
tx
)
tx
=
t
;
}
...
...
@@ -111,11 +112,11 @@ static int gameport_measure_speed(struct gameport *gameport)
tx
=
1
<<
30
;
for
(
i
=
0
;
i
<
50
;
i
++
)
{
local_irq_save
(
flags
);
local_irq_save
_nort
(
flags
);
rdtscl
(
t1
);
for
(
t
=
0
;
t
<
50
;
t
++
)
gameport_read
(
gameport
);
rdtscl
(
t2
);
local_irq_restore
(
flags
);
local_irq_restore
_nort
(
flags
);
udelay
(
i
*
10
);
if
(
t2
-
t1
<
tx
)
tx
=
t2
-
t1
;
}
...
...
This diff is collapsed.
Click to expand it.
kernel/res_counter.c
View file @
a277055e
...
...
@@ -14,6 +14,7 @@
#include <linux/res_counter.h>
#include <linux/uaccess.h>
#include <linux/mm.h>
#include <linux/interrupt.h>
void
res_counter_init
(
struct
res_counter
*
counter
,
struct
res_counter
*
parent
)
{
...
...
@@ -43,7 +44,7 @@ int res_counter_charge(struct res_counter *counter, unsigned long val,
struct
res_counter
*
c
,
*
u
;
*
limit_fail_at
=
NULL
;
local_irq_save
(
flags
);
local_irq_save
_nort
(
flags
);
for
(
c
=
counter
;
c
!=
NULL
;
c
=
c
->
parent
)
{
spin_lock
(
&
c
->
lock
);
ret
=
res_counter_charge_locked
(
c
,
val
);
...
...
@@ -62,7 +63,7 @@ undo:
spin_unlock
(
&
u
->
lock
);
}
done:
local_irq_restore
(
flags
);
local_irq_restore
_nort
(
flags
);
return
ret
;
}
...
...
@@ -79,13 +80,13 @@ void res_counter_uncharge(struct res_counter *counter, unsigned long val)
unsigned
long
flags
;
struct
res_counter
*
c
;
local_irq_save
(
flags
);
local_irq_save
_nort
(
flags
);
for
(
c
=
counter
;
c
!=
NULL
;
c
=
c
->
parent
)
{
spin_lock
(
&
c
->
lock
);
res_counter_uncharge_locked
(
c
,
val
);
spin_unlock
(
&
c
->
lock
);
}
local_irq_restore
(
flags
);
local_irq_restore
_nort
(
flags
);
}
...
...
This diff is collapsed.
Click to expand it.
kernel/user.c
View file @
a277055e
...
...
@@ -416,11 +416,11 @@ void free_uid(struct user_struct *up)
if
(
!
up
)
return
;
local_irq_save
(
flags
);
local_irq_save
_nort
(
flags
);
if
(
atomic_dec_and_lock
(
&
up
->
__count
,
&
uidhash_lock
))
free_user
(
up
,
flags
);
else
local_irq_restore
(
flags
);
local_irq_restore
_nort
(
flags
);
}
struct
user_struct
*
alloc_uid
(
struct
user_namespace
*
ns
,
uid_t
uid
)
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment