Skip to contentSkip to conversation

entry->irq = entry->link.index (problem 2 of thread [ Re: patch for updating IA64 ACPI

Linux-ia64 Yu, Luming 2 participants 2 messages Jun 23, 2003

lore
Share & tools
lore

Yu, Luming

author
#0 lore raw
Quoted 11 lines
(quoted diff) +2 -0
@@ -248,6 +253,8 @@
 		return_VALUE(0);
 	}
 
+	entry->irq = entry->link.index;
+
 	if (!entry->irq && entry->link.handle) {
 		entry->irq = acpi_pci_link_get_irq(entry->link.handle, entry->link.index);
 		if (!entry->irq) {

I don't quite understand what this is for. Anyone know?

To understand the meaning of entry->link.index, please reference acpi_get_prt which is in arch/ia64/kernel/acpi.c. There is vector[i].irq = entry->link.index , entry is acpi_prt_entry. And you can look into mp_parse_prt which is in arch/i386/kernel/mpparse.c. There is irq = entry->link.index.

Here, "entry->irq = entry->link.index" just make sure that a default initial irq value is assigned according to prt entry.

Thanks,
Luming

_______________________________________________
Linux-IA64 mailing list
[email protected]
http://lists.linuxia64.org/lists/listinfo/linux-ia64

#1 lore raw

Re: [Linux-ia64] entry->irq = entry->link.index (problem 2 of thread [ Re: patch for updating IA64 A

Quoted 9 lines

Review line 258

Quoted 9 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line · Luming
(quoted diff) +2 -0
@@ -248,6 +253,8 @@
 return_VALUE(0);
 }
 
+	entry->irq = entry->link.index;
+
 if (!entry->irq && entry->link.handle) {

entry-> irq = acpi_pci_link_get_irq(entry->link.handle, entry->link.index);

Quoted 3 lines
Quoted 3 lines
(quoted diff) +0 -0
 if (!entry->irq) {
 

I don't quite understand what this is for. Anyone know?

Luming> To understand the meaning of entry->link.index, please Luming> reference acpi_get_prt which is in arch/ia64/kernel/acpi.c. Luming> There is vector[i].irq = entry->link.index , entry is Luming> acpi_prt_entry. And you can look into mp_parse_prt which is
Luming> in arch/i386/kernel/mpparse.c. There is irq Luming> entry->link.index.

Ah, that's where x86 is doing the transformation. Thanks for finding that. I didn't understand how the old code worked on x86.

Can we do the transformation at the same time on both platforms? Obviously there is no mpparse.c but perhaps arch/ia64/kernel/acpi.c could do it. I wonder though if this scheme would work with hotplug devices.

In any case, whatever the solution, we clearly should use the same approach on both platforms.

	--david

_______________________________________________
Linux-IA64 mailing list
[email protected]
http://lists.linuxia64.org/lists/listinfo/linux-ia64