Subject: Re: Compiled reply.
To: Andreas Wrede <andreas@planix.com>
From: Manuel Bouyer <bouyer@antioche.lip6.fr>
List: port-macppc
Date: 07/20/2000 11:26:33
On Sun, Jul 16, 2000 at 11:51:20AM -0400, Andreas Wrede wrote:
> 
> I compiled a GENERIC kernel with Revision 1.79 of pciide.c, but the
> problem persists:  Netbooting the G4 allows the kernel to access the
> IDE drive, but booting from the IDE drive via ofwboot.elf produces a
> never ending stream of lost interrupts. In both cases the probe lines
> from pciide are the same:
> 
> pciide0 at pci1 dev 1 function 0: CMD Technology PCI0646 (rev. 0x07)
> pciide0: bus-master DMA support present
> pciide0: primary channel configured to native-PCI mode
> pciide0: using irq 26 for native-PCI interrupt
> [...]
> root on wd0a: dumps ins wd0b
> pciide0:0:0: lost interrupt
>         type: ata tc_bcount: 512 tc_skip: 0
> [many more]
> pciide0:0:0: bus-master  DMA error: missing interrupt, status 0x20
> wd0: transfer error, downgrading to PIO mode 4
> wd0(pciide0:0:0): using PIO mode 4
> [...]
> pciide0:0:0: lost interrupt                                                                    
>         type: ata tc_bcount: 512 tc_skip: 0                                                    
> [and so on...]
> 
> Does the driver somehow not recognize that the firmware initialized 
> the 646 in compat mode? 

No. The 0646 can be configured in strange mode but in hardware only (via
power-on status of some pins); the fact that it works sometimes exclude this.
I also checked with Bill that the PCI config space registers are identical in
both case, so the difference is somewhere else; either at the HD level (but
this seems unlikely, at last I can't see anything in the ATA specs that
could explain this) or at the PCI bridge level.

Maybe you could dump the config of ppb0 in both cases and see if there's
something different ? What about grackle0 ?

--
Manuel Bouyer, LIP6, Universite Paris VI.           Manuel.Bouyer@lip6.fr
--