public inbox for linux-ia64@vger.kernel.org
 help / color / mirror / Atom feed
From: Jean-Francois Neyroud <Jean-Francois.Neyroud@bull.net>
To: linux-ia64@vger.kernel.org
Subject: Re: [PATCH][RFC] Vector sharing
Date: Tue, 20 Apr 2004 12:25:00 +0000	[thread overview]
Message-ID: <4085169C.1090800@bull.net> (raw)
In-Reply-To: <MDEEKOKJPMPMKGHIFAMAOENCDMAA.kaneshige.kenji@jp.fujitsu.com>

[-- Attachment #1: Type: text/plain, Size: 641 bytes --]



Kenji Kaneshige wrote:

>Hi,
>
>I'm trying to make a patch that allows device vectors to be shared by
>multiple interrupt sources. This patch enables ia64 linux to boot on
>the machine that has single vector number space and many device
>interrupt sources (more than 184).
>
>I
>
Hi Kenji,

An other or complementary way is to attach a vector only for interrupt
lines witch are used, PCI slots have 4 interrupt lines but only 1 or
sometime 2 are used by adapters.

Find hereafter a patch tested on IA64 platform.

Jean-Francois.

-- 
Jean-Francois Neyroud 
Bull SA                                               http://www-frec.bull.com 



[-- Attachment #2: Bull_irq_dynamic.patch --]
[-- Type: text/plain, Size: 1098 bytes --]

--- linux-2.6.3_ref/drivers/acpi/pci_irq.c	Wed Feb 18 04:57:46 2004
+++ linux-2.6.3/drivers/acpi/pci_irq.c	Fri Feb 27 14:06:37 2004
@@ -264,8 +264,15 @@
 		}
 	}
 	else if (!entry->irq) {
-		ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Invalid static routing entry (IRQ 0)\n"));
-		return_VALUE(0);
+		int irq;
+	    
+		irq = iosapic_register_intr(entry->link.index, IOSAPIC_POL_LOW, IOSAPIC_LEVEL);
+		if (irq < 0) {
+
+			ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Invalid static routing entry (IRQ 0)\n"));
+			return_VALUE(0);
+		}
+		entry->irq = irq;
 	}
 
 	ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Found IRQ %d\n", entry->irq));
--- linux-2.6.3_ref/arch/ia64/kernel/iosapic.c	Fri Feb 27 13:57:06 2004
+++ linux-2.6.3/arch/ia64/kernel/iosapic.c	Fri Feb 27 14:03:20 2004
@@ -706,8 +706,8 @@
 			if (pcat_compat && (gsi < 16))
 				vector = isa_irq_to_vector(gsi);
 			else
-				/* new GSI; allocate a vector for it */
-				vector = ia64_alloc_vector();
+				/* new GSI; don't allocate a vector for it */
+				continue;
 
 			register_intr(gsi, vector, IOSAPIC_LOWEST_PRIORITY, IOSAPIC_POL_LOW,
 				      IOSAPIC_LEVEL);

  reply	other threads:[~2004-04-20 12:25 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-04-19  9:31 [PATCH][RFC] Vector sharing Kenji Kaneshige
2004-04-20 12:25 ` Jean-Francois Neyroud [this message]
2004-04-20 14:46 ` Bjorn Helgaas
2004-04-21  1:15 ` Kenji Kaneshige
2004-04-21  1:37 ` Kenji Kaneshige
2004-04-22  2:37 ` Kenji Kaneshige
2004-04-23  7:09 ` Kenji Kaneshige

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4085169C.1090800@bull.net \
    --to=jean-francois.neyroud@bull.net \
    --cc=linux-ia64@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox