Subject: Re: SCSI tape problem
To: None <port-amiga@NetBSD.ORG>
From: Michael L. Hitch <mhitch@msu.oscs.montana.edu>
List: port-amiga
Date: 04/18/1998 20:34:03
> On Fri, Apr 17, 1998 at 09:12:18PM -0600, Michael L. Hitch wrote:
> > The block limits seem rather strange - I'd suspect they are probably
> > garbage. The buffer for the block limits doesn't appear to be cleared
Not so strange: 16777215 is 0xffffff - the maximum unsigned value for
the 3 byte field for the maximum blocksize; 33925 is 0x8485 - the "filler"
I stuffed into an aligned buffer when trying to deal with an unaligned
transfer.
> So it is not possible to correctly transfer odd-sized blocks to unaligned
> buffers doing multi-segment magic... you have to poll them, or bounce buffer
> the WHOLE transfer.
Programmed I/O transfers present a nasty problem: the transfer has to be
done with asynchronous transfer, and if synchronous transfers have been
negotiated, the driver has to re-negotiate for async transfers. The
MI ncr53c9x driver doesn't have any clean way to do this.
The FastLane driver uses an aligned "bounce" buffer in this case, but
I haven't been able to get the partial longword of data at the end of
the transfer into memory when the partial transfer is 1 or 2 bytes. (When
the partial transfer is 3 bytes, it will get written to memory.) The old
FastLane driver didn't have this problem, but I could never figure out
what it was doing that the the new driver doesn't do.
Michael
---
Michael L. Hitch mhitch@montana.edu
Computer Consultant, Information Technology Center
Montana State University, Bozeman, MT USA