On Wed, Jan 08, 2003 at 02:15:06PM +0000, Alan Cox wrote:
> On Wed, 2003-01-08 at 11:35, Paul wrote:
> > What I have found is that just after the start of a sector, usually 43 to 45
> > bytes, 6 bytes are skipped and the sequence starts again. This continues
> > until the next sector starts, where the sequence corrects. This appears to
> > happen every 65536 bytes or some multiple of 65536. It may skip three blocks
> > of 65536 and then corrupt on the next block of 65536 bytes.
>
> Ok that I'm afraid bears no resemblance to anything the software side
> does (we write in chunks but we do single PIO block transfers of each
> sector).
After examining the resulting image, Paul has a "clock" line to his
flash device that is a bit noisy. This occasionally causes one
16-bit entity to be clocked into the device twice.
To detect this going wrong, we could (but only as a configurable
option), write 255 16-bit words to the device (remember this is PIO!),
check that DRQ is still active and only then write the last word.
(at which point DRQ should go inactive).
Roger.
-- ** R.E.Wolff@BitWizard.nl ** http://www.BitWizard.nl/ ** +31-15-2600998 ** *-- BitWizard writes Linux device drivers for any device you may have! --* * The Worlds Ecosystem is a stable system. Stable systems may experience * * excursions from the stable situation. We are currently in such an * * excursion: The stable situation does not include humans. *************** - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Wed Jan 15 2003 - 22:00:23 EST