Quote:
Originally Posted by fgh
[*]There are no maxtransfer issues on SCSI equipment
|
IDE-like max transfer problem is impossible (you don't get last read/write position back from SCSI commands so drivers' can't misuse it). Technically some scsi driver may have bugs causing similar issues.
AFAIK no one has ever reported any problems.
Quote:
[*]It might affect any IDE device using scsi.device (CF, SD, SSD or HDD)
|
Yes.
Quote:
[*]It makes no sense to use 0xFE00 over 0x1FE00
|
Yes. Even 0x20000 should still work because problem only happens if more than 256 sectors needs to be transferred (256*512 = 0x20000)
Mask was designed for DMA controllers to prevent DMA transfers to unsupported memory. For example 24-bit controller (like A590/A2091 DMAC) can't DMA to 32-bit RAM or some have LONG transfer alignment requirement (like original rev 1 DMAC). NOTE!!: "24-bit" in this context means controller have 24 bit address lines. Not that memory has 24-bit data bits
Controllers do following test: if ((transfer start address & mask) == transfer start address) then { do the DMA normally } else { use PIO or DMA to supported ram (worst case chip ram), then use CPU to copy it to final address }
It does not make any sense to change mask when using non-DMA (like Amiga IDE) controllers. I am not sure if they simply ignore the mask.