mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Paul Mackerras <paulus@samba.org>
To: Olaf Hering <olh@suse.de>
Cc: Olof Johansson <olof@lixom.net>,
	linux-kernel@vger.kernel.org, linuxppc64-dev@ozlabs.org
Subject: Re: console on POWER4 not working with 2.6.15
Date: Thu, 22 Dec 2005 21:49:34 +1100	[thread overview]
Message-ID: <17322.33982.22166.437385@cargo.ozlabs.ibm.com> (raw)
In-Reply-To: <20051221175628.GA29363@suse.de>

Olaf Hering writes:

> I finally managed to find the culprit.
> 
> good: 25635c71e44111a6bd48f342e144e2fc02d0a314
> bad:  f9bd170a87948a9e077149b70fb192c563770fdf
> 
> ...
> powerpc: Merge i8259.c into arch/powerpc/sysdev
> 
> This changes the parameters for i8259_init so that it takes two
> parameters: a physical address for generating an interrupt
> acknowledge cycle, and an interrupt number offset.  i8259_init
> now sets the irq_desc[] for its interrupts; all the callers
> were doing this, and that code is gone now.  This also defines
> a CONFIG_PPC_I8259 symbol to select i8259.o for inclusion, and
> makes the platforms that need it select that symbol.

Try this patch... it fixes things on the p630 at work.

Paul.

diff -urN linux-2.6/arch/powerpc/platforms/pseries/xics.c powerpc-merge/arch/powerpc/platforms/pseries/xics.c
--- linux-2.6/arch/powerpc/platforms/pseries/xics.c	2005-11-14 10:33:54.000000000 +1100
+++ powerpc-merge/arch/powerpc/platforms/pseries/xics.c	2005-12-22 13:17:53.000000000 +1100
@@ -48,11 +48,6 @@
 	.set_affinity = xics_set_affinity
 };
 
-static struct hw_interrupt_type xics_8259_pic = {
-	.typename = " XICS/8259",
-	.ack = xics_mask_and_ack_irq,
-};
-
 /* This is used to map real irq numbers to virtual */
 static struct radix_tree_root irq_map = RADIX_TREE_INIT(GFP_ATOMIC);
 
@@ -367,12 +362,7 @@
 	/* for sanity, this had better be < NR_IRQS - 16 */
 	if (vec == xics_irq_8259_cascade_real) {
 		irq = i8259_irq(regs);
-		if (irq == -1) {
-			/* Spurious cascaded interrupt.  Still must ack xics */
-			xics_end_irq(irq_offset_up(xics_irq_8259_cascade));
-
-			irq = -1;
-		}
+		xics_end_irq(irq_offset_up(xics_irq_8259_cascade));
 	} else if (vec == XICS_IRQ_SPURIOUS) {
 		irq = -1;
 	} else {
@@ -542,6 +532,7 @@
 		xics_irq_8259_cascade_real = *ireg;
 		xics_irq_8259_cascade
 			= virt_irq_create_mapping(xics_irq_8259_cascade_real);
+		i8259_init(0, 0);
 		of_node_put(np);
 	}
 
@@ -565,12 +556,7 @@
 #endif /* CONFIG_SMP */
 	}
 
-	xics_8259_pic.enable = i8259_pic.enable;
-	xics_8259_pic.disable = i8259_pic.disable;
-	xics_8259_pic.end = i8259_pic.end;
-	for (i = 0; i < 16; ++i)
-		get_irq_desc(i)->handler = &xics_8259_pic;
-	for (; i < NR_IRQS; ++i)
+	for (i = irq_offset_value(); i < NR_IRQS; ++i)
 		get_irq_desc(i)->handler = &xics_pic;
 
 	xics_setup_cpu();
@@ -590,7 +576,6 @@
 				no_action, 0, "8259 cascade", NULL))
 			printk(KERN_ERR "xics_setup_i8259: couldn't get 8259 "
 					"cascade\n");
-		i8259_init(0, 0);
 	}
 	return 0;
 }

  reply	other threads:[~2005-12-22 10:49 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-12-20 20:45 Olaf Hering
2005-12-20 21:45 ` Olof Johansson
2005-12-20 22:09   ` Olaf Hering
2005-12-21 10:41     ` Olaf Hering
2005-12-21 14:23   ` Olaf Hering
2005-12-21 23:23     ` Stephen Rothwell
2005-12-21 17:56   ` Olaf Hering
2005-12-22 10:49     ` Paul Mackerras [this message]
2005-12-22 12:04       ` Olaf Hering

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=17322.33982.22166.437385@cargo.ozlabs.ibm.com \
    --to=paulus@samba.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc64-dev@ozlabs.org \
    --cc=olh@suse.de \
    --cc=olof@lixom.net \
    /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

all inboxes | Powered by JetHome®