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

Re: DMA disabled after lost interrupt (on ibook)



Sebastien NOEL wrote:
> On Mon, 08 Aug 2005 11:09:05 +0200 , Benjamin Herrenschmidt wrote:
> 
> 
>>Can you try tweaking the driver in drivers/ide/ppc/pmac.c, and put this
>>code in #if 0 :
>>
>>	/* Get cable type from device-tree */
>>	if (pmif->kind == controller_kl_ata4 || pmif->kind == controller_un_ata6
>>	    || pmif->kind == controller_k2_ata6
>>	    || pmif->kind == controller_sh_ata6) {
>>		char* cable = get_property(np, "cable-type", NULL);
>>		if (cable && !strncmp(cable, "80-", 3))
>>			pmif->cable_80 = 1;
>>	}
>>	/* G5's seem to have incorrect cable type in device-tree. Let's assume
>>	 * they have a 80 conductor cable, this seem to be always the case unless
>>	 * the user mucked around
>>	 */
>>	if (device_is_compatible(np, "K2-UATA") ||
>>	    device_is_compatible(np, "shasta-ata"))
>>		pmif->cable_80 = 1;
>>
>>(That is make sure cable_80 is never set to 1)
>>
>>That will have the effect of slowing down your interface to U/DMA2. Let me know if
>>that helps.
>>
>>Ben.
>>
> 
> 
> It seems to help,  no more 'lost interrupt' message since 4 days :)
> 
> Thank you for this hack^W beautiful workaround ;)
> 

For me, this did not work, as I reported recently on this list, see
http://lists.debian.org/debian-powerpc/2005/08/msg00113.html.
Grep'ping through my kern.log* files, I found

Jul  7 21:28:12 garfield kernel: hda: dma_intr: status=0xd0 { Busy }
Jul 20 19:48:24 garfield kernel: hda: dma_intr: status=0xd0 { Busy }
Aug  3 21:51:56 garfield kernel: hda: dma_intr: status=0xd0 { Busy }
Aug 10 22:23:31 garfield kernel: hda: dma_intr: status=0xd0 { Busy }

The last one happened even though using the tweak proposed by Ben.

My logs date back from Jun 10. Since then, my ibook was up on 27 days
and the 'lost interrupt' happened 4 times. So maybe you should still
continue to watch this?

BTW: Another thing that I realized today was that my ibook seems to
report a strange "revision" in /proc/cpuinfo. It says:

processor       : 0
cpu             : 7455, altivec supported
clock           : 707MHz
revision        : 0.3 (pvr 8001 0303)
bogomips        : 710.65
machine         : PowerBook6,3
motherboard     : PowerBook6,3 MacRISC3 Power Macintosh
detected as     : 287 (iBook G4)
pmac flags      : 0000001b
L2 cache        : 256K unified
memory          : 640MB
pmac-generation : NewWorld

I expected (from what I have seen on
http://seb.france.free.fr/linux/ibookG4/iBookG4-howto-9.html )
to have revision "3.3" instead of "0.3". Since you also have
the 933 MHz ibook, what is your revision?

Vivenzio



Reply to: