|
Rockbox mail archiveSubject: Re: Assembly optimization taken out (was Re: File system corruption)Re: Assembly optimization taken out (was Re: File system corruption)
From: Linus Nielsen Feltzing <linus_at_haxx.se>
Date: Mon, 16 Feb 2004 13:07:44 +0100 [IDC]Dragon wrote: > The tests have shown that the assembler code doesn't reliably work on his > disk, even with maximum waitstates. As I said before, this is most strange. It > should be impossible to read the data "too fast". But reality has shown > different for some users. I have double-checked the memory configuration for the ATA CS, and I can't find anything wrong. The speed should not matter at all, and there shouldn't be any need for extra wait states, since the CS6 is supposed to wait for the WAIT signal, which is connected to IORDY on the ATA interface. However, it seems like we have to explicitly select the faster PIO mode (3 or 4) with the SET FEATURES command. The ATA spec says that devices supporting PIO mode 3 and 4 shall power up in mode 0, 1 or 2. That *may* mean that the IORDY pin isn't used, since the IORDY isn't mandatory in those modes. I have added some extra info in the Disk Debug screen, so we can see which PIO modes the disk supports, and also the required timings. Based on this info, we should be able to dynamically select which optimizations to use. If we are lucky, all it takes is to set mode 4 with the SET FEATURES command and always use the aggressive optimizations (provided that the HD support mode 4). Linus _______________________________________________ http://cool.haxx.se/mailman/listinfo/rockbox Received on 2004-02-16 Page template was last modified "Tue Sep 7 00:00:02 2021" The Rockbox Crew -- Privacy Policy |