Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
41d0ff7d
Commit
41d0ff7d
authored
Jun 21, 2004
by
Len Brown
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[ACPI] re-factor previous mpparse IRQ override fix (Linus Torvalds)
Reflect that only the dstirq depends on the dstapic.
parent
98469742
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
30 additions
and
16 deletions
+30
-16
arch/i386/kernel/mpparse.c
arch/i386/kernel/mpparse.c
+17
-9
arch/x86_64/kernel/mpparse.c
arch/x86_64/kernel/mpparse.c
+13
-7
No files found.
arch/i386/kernel/mpparse.c
View file @
41d0ff7d
...
@@ -1000,15 +1000,23 @@ void __init mp_config_acpi_legacy_irqs (void)
...
@@ -1000,15 +1000,23 @@ void __init mp_config_acpi_legacy_irqs (void)
for
(
i
=
0
;
i
<
16
;
i
++
)
{
for
(
i
=
0
;
i
<
16
;
i
++
)
{
int
idx
;
int
idx
;
for
(
idx
=
0
;
idx
<
mp_irq_entries
;
idx
++
)
for
(
idx
=
0
;
idx
<
mp_irq_entries
;
idx
++
)
{
if
(
mp_irqs
[
idx
].
mpc_srcbus
==
MP_ISA_BUS
&&
struct
mpc_config_intsrc
*
irq
=
mp_irqs
+
idx
;
(
mp_irqs
[
idx
].
mpc_dstapic
==
intsrc
.
mpc_dstapic
)
&&
(
mp_irqs
[
idx
].
mpc_srcbusirq
==
i
||
/* Do we already have a mapping for this ISA IRQ? */
mp_irqs
[
idx
].
mpc_dstirq
==
i
))
if
(
irq
->
mpc_srcbus
==
MP_ISA_BUS
&&
irq
->
mpc_srcbusirq
==
i
)
break
;
break
;
if
(
idx
!=
mp_irq_entries
)
/* Do we already have a mapping for this IOAPIC pin */
continue
;
/* IRQ already used */
if
((
irq
->
mpc_dstapic
==
intsrc
.
mpc_dstapic
)
&&
(
irq
->
mpc_dstirq
==
i
))
break
;
}
if
(
idx
!=
mp_irq_entries
)
{
printk
(
KERN_DEBUG
"ACPI: IRQ%d used by override.
\n
"
,
i
);
continue
;
/* IRQ already used */
}
intsrc
.
mpc_irqtype
=
mp_INT
;
intsrc
.
mpc_irqtype
=
mp_INT
;
intsrc
.
mpc_srcbusirq
=
i
;
/* Identity mapped */
intsrc
.
mpc_srcbusirq
=
i
;
/* Identity mapped */
...
...
arch/x86_64/kernel/mpparse.c
View file @
41d0ff7d
...
@@ -859,16 +859,22 @@ void __init mp_config_acpi_legacy_irqs (void)
...
@@ -859,16 +859,22 @@ void __init mp_config_acpi_legacy_irqs (void)
for
(
i
=
0
;
i
<
16
;
i
++
)
{
for
(
i
=
0
;
i
<
16
;
i
++
)
{
int
idx
;
int
idx
;
for
(
idx
=
0
;
idx
<
mp_irq_entries
;
idx
++
)
for
(
idx
=
0
;
idx
<
mp_irq_entries
;
idx
++
)
{
if
(
mp_irqs
[
idx
].
mpc_srcbus
==
MP_ISA_BUS
&&
struct
mpc_config_intsrc
*
irq
=
mp_irqs
+
idx
;
(
mp_irqs
[
idx
].
mpc_dstapic
==
intsrc
.
mpc_dstapic
)
&&
(
mp_irqs
[
idx
].
mpc_srcbusirq
==
i
||
/* Do we already have a mapping for this ISA IRQ? */
mp_irqs
[
idx
].
mpc_dstirq
==
i
))
if
(
irq
->
mpc_srcbus
==
MP_ISA_BUS
&&
irq
->
mpc_srcbusirq
==
i
)
break
;
break
;
/* Do we already have a mapping for this IOAPIC pin */
if
((
irq
->
mpc_dstapic
==
intsrc
.
mpc_dstapic
)
&&
(
irq
->
mpc_dstirq
==
i
))
break
;
}
if
(
idx
!=
mp_irq_entries
)
{
if
(
idx
!=
mp_irq_entries
)
{
printk
(
KERN_DEBUG
"ACPI: IRQ%d used by override.
\n
"
,
i
);
printk
(
KERN_DEBUG
"ACPI: IRQ%d used by override.
\n
"
,
i
);
continue
;
/* IRQ already used */
continue
;
/* IRQ already used */
}
}
intsrc
.
mpc_irqtype
=
mp_INT
;
intsrc
.
mpc_irqtype
=
mp_INT
;
...
...
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