I'd like to ask some questions about floppy driver. I am owner of Pegasos-II 
PowerPC-based mainboard (http://www.pegasosppc.com) and floppy drive doesn't 
work on my machine. It doesn't read any data, sometimes even causes random 
crashes. Sometimes operation looks like completed ok but wrong data are read 
from/written to disk. Everything points to DMA problem - wrong region is used.
 I tried to turn off DMA by specifying floppy=nodma but then it doesn't work at 
all.
 I investigated the problem and discovered that virtual DMA for PowerPC is not 
implemented at all and hardware DMA is also handled differently. So here is my 
question:

 In include/asm-ppc/floppy.h i see the following:
 --- cut ---
/*
 * The PowerPC has no problems with floppy DMA crossing 64k borders.
 */
#define CROSS_64KB(a,s) (0)
 --- cut ---
 What architectures was this tested on? Only Macintoshes or also something 
else? Does this work on CHRP-based machines? Pegasos is a CHRP-based machine 
and i'd like to know if ISA DMA is restricted in the same way as on x86. If 
yes, i will try to replace this macro with one taken from 
include/asm-i386/floppy.h but i'm afraid of reducing functionality or even 
breaking support for some machines which i don't know about. I guess i should 
use some #ifdef's here but i don't know conditions for them.

 P. S. For information: Pegasos uses Discovery II MV64361 as a northbridge and 
VIA 8231 as southbridge. For full technical specifications see: 
http://www.pegasosppc.com/tech_specs.php

-- 
Best regards,
Pavel Fedin,                                                                    
mailto:[EMAIL PROTECTED]
-
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/

Reply via email to