Re: 2.6.18 m68k mac

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

 





On Sat, 13 Jan 2007, Finn Thain wrote:

On Fri, 12 Jan 2007, Michael Schmitz wrote:

And it would appear that IDE used to be polled from the VIA1 IRQ 
handler (I guess the F108 chip is another of Apple's mysteries...)

I think we found out the interrupt source for IDE? That polling would 
then be leftover crud and should be killed.

Yeah, the polling code is #if 0. Which is fine by me.

I'm guessing that possibly the interrupt is not being ack'd correctly 
(perhaps the act of testing it clears it)... or maybe slot F doesn't get 
latched like the others (perhaps because it is effectively cascaded 3 
deep). I need to do more experimentation.

I've finally fixed it! (I started on these irq patches in 2005...)

There's nothing wrong with the IDE driver. But nubus is another story 
altogether... basically, the fix is,

1. Don't exit the nubus interrupt handler until there's no irq flagged.

2. On VIA2-based macs, don't attempt to disable nubus slots by making the 
   IRQ lines outputs and then driving them high (!)

3. Since there's no slot irq mask on these macs, don't attempt to disable 
   nubus slots individually -- just mask the VIA2 CA1 interrupt. That way 
   no nubus interrupts go missing.

4. When using the A/UX irq scheme, install sonic irq handlers on BOTH slot 
   9 and auto vector 3 -- otherwise, the 1-in-100000 slot 9 interrupt 
   kills us.

Here's the diff's (comments welcome):

http://www.telegraphics.com.au/~fthain/patches/quilt/irq-prep
http://www.telegraphics.com.au/~fthain/patches/quilt/irq-plan-c
http://www.telegraphics.com.au/~fthain/patches/quilt/macsonic-via-alt-mapping

This also fixes the same bug on my Q650 -- onboard sonic (with A/UX irq 
scheme) and a nubus card as well (ethernet NIC instead of IDE) :-)

-f
-
To unsubscribe from this list: send the line "unsubscribe linux-m68k" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Video for Linux]     [Yosemite News]     [Linux S/390]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux