Subject: Re: floppy DMA

From: Philip Blundell <[email-masked]>
Date: Tue, 09 Feb 1999 22:33:58 +0000

Previously, I wrote:

>It seems to me that the code we use for floppy pseudo-DMA at the moment is 
>unnecessarily complicated.  [...]

Russell, you mentioned that you thought whole-track reads might fall foul of 
this.  By my calculations the maximum buffer size with my code is 0x18004/4 
or 24577 bytes.  If you extrapolate this to an 80-track double sided disk you 
get a capacity of 3840 kilobytes which is (as far as I know) way beyond 
what any drive fitted to Acorn equipment is capable of.  In fact the Acorn 
PRMs give the maximum "actual workable track length" as 12312 bytes.

It does look like there's some support in the floppy driver for whole-cylinder 
transfers, which would indeed come to grief.  I don't know whether this is 
actually ever used on the A5000 or the RiscPC.  I suspect not on the former 
which is actually the machine I'm more interested in.

(For those wondering why I'm interested in this stuff: my original goal was 
actually to make the floppy FIQ code short enough that it would be safe to 
disable FIQs for a couple of instructions from time to time without running 
the risk of disk corruption.  Apparently at the moment this isn't possible 
which could cause problems with the IRQ masks under some circumstances.)

p.

unsubscribe: body of `unsubscribe linux-arm' to [email-masked]

---

From: Russell King - ARM Linux Admin <[email-masked]>
Date: Wed, 10 Feb 1999 00:11:08 +0000 (GMT)

> PRMs give the maximum "actual workable track length" as 12312 bytes.

Careful how you refer to a track and a cylinder.  A cylinder consists of
two tracks on a two headed drive.  The disk controllers are capable of
automatically changing 'sides' of the disk.  Hence, for an 80-cylinder
disk, the maximum capacity that would be supported by this is not 3840KB
but 1920KB.  (as specified in the A5K TRM incidentally).  Since this
format would require a data rate of 500kbps, it is just within the
drive specs.
   _____
  |_____| ------------------------------------------------- ---+---+-
  |   |        Russell King       [email-masked]      --- ---
  | | | |  http://www.arm.linux.org.uk/~rmk/armlinux.html    /  /  |
  | +-+-+                                                     --- -+-
  /   |               THE developer of ARM Linux              |+| /|\
 /  | | |                                                     ---  |
    +-+-+ -------------------------------------------------  /\\\  |
unsubscribe: body of `unsubscribe linux-arm' to [email-masked]