Re: [RFC 1/2] irq: record edge-level setting

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On Mon, 24 Apr 2006, Stephen Hemminger wrote:
> 
> Maybe that's why it never was done in the past, too much work and historical
> baggage.

It's messy. That whole ELCR register was mis-designed: you can change the 
edge/level detection with it, but since it _also_ changes the polarity of 
the signal, you can't actually do so from a sw angle, and it has to match 
the hardware. So you can't say "I want to treat this interrupt as level 
triggered", and just set the bit ;^/

To make matters worse, I wouldn't be in the least surprised if the ELCR 
register is totally ignored by many south-bridges for the internally 
generated interrupts (ie devices that are embedded in the SB), since the 
register really doesn't matter for them.

And it doesn't help that Intel mis-designed the edge-detection logic on 
the IO-APIC. On the old i8259, if you masked an interrupt and unmasked it, 
an active interrupt would always be seen as an edge, because the 
edge-detection was done _after_ masking. On the IO-APIC crap, the masking 
is done after edge-detection, so if you mask the APIC hardware level, and 
an edge happens, you'll never ever learn of it ever again.

I'm sure other system architectures have similar problems, but it's 
irritating.

			Linus
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux