>-----Original Message----- >From: [EMAIL PROTECTED] >[mailto:[EMAIL PROTECTED] On >Behalf Of Mike Frysinger >Sent: Wednesday, January 16, 2008 5:26 PM >To: [EMAIL PROTECTED] >Cc: [email protected] >Subject: Re: [Linux-kernel-commits] >[4105]trunk/arch/blackfin/kernel/reboot.c: [#2424] Add proper >SWSystem Reset delay sequence > >On Jan 16, 2008 2:21 AM, <[EMAIL PROTECTED]> wrote: >> trunk/arch/blackfin/kernel/reboot.c >> >> /* initiate system soft reset with magic 0x7 */ >> bfin_write_SWRST(0x7); >> - bfin_read_SWRST(); >> - asm("ssync;"); >> + for (cntr = 0; cntr < SWRST_DELAY; cntr++) asm("NOP;"); >> /* clear system soft reset */ >> bfin_write_SWRST(0); >> - bfin_read_SWRST(); >> - asm("ssync;"); >> + for (cntr = 0; cntr < SWRST_DELAY; cntr++) asm("NOP;"); > >i think the delay is only needed after the start with 0x7 and >not after the clear with 0x0. it'd probably be cleaner to write it as: >asm("LSETUP(.Lfoo,.Lfoo) LC0 = %0\n.Lfoo: NOP;\n" : : "a" >(SWRST_DELAY) : "LC0", "LT0", "LB0"); >-mike
Can Blackfin toolchain generate this cleaner hardware loop code from Michael's original C for loop code? Because toolchain will consider hardware loop anomaly. I just guess, -:)) -Bryan Wu _______________________________________________ Linux-kernel-commits mailing list [email protected] http://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits
