[lkml]   [1999]   [May]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: USE_ELCR_TRIGGER_LEVEL removed in 2.2.6 -> linux broken for HP-XU SMP
From said:
> I bet the final good setting for determining the kind (edge or level
> trigger) of interrupts is the following:

> If the SMP box has no interrupts table in the Bios and the ELCR
> register value is not the one of an empty io port, then rely on it.

> In other words, use the behaviour given by setting
> USE_ELCR_TRIGGER_LEVEL in 2.2.5 if and only if both the Bios
> interrupts table is empty and the ELCR register value is not the one
> of an empty io port.

> Please notice that during the 2.1.x serie, the fact that the Bios
> table was empty has not been used as a way to determine if we should
> rely on ELCR, and it was probably the missing point.

> PS: You must not rely on the kind of bus because my box is ISA+PCI, no
> yet has a valid ELCR register.

I presume you have an MPC default type 5 motherboard.

The MP-1.4 specs are largely silent on what you are supposed to do in this
situation (which is why HP implemented an ELCR I suppose). I'm really loth to
have the general case rely on a value returned from a register that isn't

As I see it, there are two possibilities for handling this:

1) code an exception in the IO-APIC setup that recognises the board from it's
id strings (if it provides them anywhere) and read the ELCR in this special

2) PCI interrupts are by spec defined to be level in this situation, so put a
hook into the PCI code for informing the IO-APIC code when it finally locates
an interrupt. If we find this interrupt on an ISA bus, we set it to level
instead of edge.

I think it's going to turn out that your board won't have an easy
identification string, so 2) is probably the correct way to go. However, I'd
like the PCI people to comment on this before I code it for you to try.


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
Please read the FAQ at

 \ /
  Last update: 2005-03-22 13:51    [W:0.031 / U:2.136 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site