Qi didn't work with my uSD, workaround found

Andy Green andy at openmoko.com
Sat Dec 13 19:56:44 CET 2008


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Somebody in the thread at some point said:
| On Saturday 13 December 2008 19:05:43 Joerg Reisenweber wrote:
|>>                 udelay(100000);
|>>                 udelay(100000);
|>>                 udelay(100000);
|> WTF? anything wrong with a single "udelay(600000);" instead of
1+1+1+3? Maybe
|> even 1,000,000 for all the SD crap to come
|
| udelay is not designed for huge values.
| I think you should try hard to convert this into an msleep()
| Delaying 1 second with udelay is not acceptable.
| 300msec actually is pretty big for udelay, too.
|
| Why can't we use msleep() here? Any spinlocks held?

It would be good advice, but this is in Qi bootloader, not Linux.  There
are no interrupts (not even a vector table) and it's all single threaded.

For that matter, udelay() timing in there is just approximate.

I have plans for delays in Qi that will make it adhere more to wallclock
time as a side-effect, but it'll still be basically the same single
threaded deal.

- -Andy
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org

iEYEARECAAYFAklEBWwACgkQOjLpvpq7dMrzXgCfYF4mmFgI0waSkZquKjAz9XVe
AwcAnjzxJavWYq0Jd3kWQgzshBB+uj5W
=lAxk
-----END PGP SIGNATURE-----



More information about the openmoko-kernel mailing list