[#5464] isram_write() seems to be busted

Document created by Aaronwu Employee on Sep 4, 2013
Version 1Show Document
  • View in full screen mode

[#5464] isram_write() seems to be busted

Submitted By: Mike Frysinger

Open Date

2009-08-26 21:42:53     Close Date

2009-08-27 10:56:53

Priority:

Medium High     Assignee:

Robin Getz

Status:

Closed     Fixed In Release:

N/A

Found In Release:

2010R1     Release:

svn trunk 7234

Category:

N/A     Board:

N/A

Processor:

ALL     Silicon Revision:

Is this bug repeatable?:

Yes     Resolution:

Fixed

Uboot version or rev.:

    Toolchain version or rev.:

trunk

App binary format:

N/A     

Summary: isram_write() seems to be busted

Details:

 

after users complained of broken module loading, i tracked it back to what seems like a busted isram_write() function

 

i added self tests for the isram_{read,write,memcpy} functions CONFIG_BFIN_ISRAM_SELF_TEST and now we see that isram_read() and isram_memcpy() that reads from L1 works OK.  but isram_write() and isram_memcpy() that writes to L1 fails.

 

isram: INFO: running initial dma_memcpy checks

isram: INFO: running isram_read tests

isram: INFO: running isram_write tests

isram: FAIL: isram_write(ffa02df8, 0x706050403020100) != 0x0

isram: FAIL: isram_write(ffa02e00, 0xf0e0d0c0b0a0908) != 0x0

isram: FAIL: isram_write(ffa02e08, 0x1716151413121110) != 0x0

isram: FAIL: isram_write(ffa02e10, 0x1f1e1d1c1b1a1918) != 0x0

isram: FAIL: isram_write(ffa02e18, 0x2726252423222120) != 0x0

isram: FAIL: isram_write(ffa02e20, 0x2f2e2d2c2b2a2928) != 0x0

isram: FAIL: isram_write(ffa02e28, 0x3736353433323130) != 0x0

isram: FAIL: isram_write(ffa02e30, 0x3f3e3d3c3b3a3938) != 0x0

isram: FAIL: isram_write(ffa02e38, 0x4746454443424140) != 0x0

isram: FAIL: isram_write(ffa02e40, 0x4f4e4d4c4b4a4948) != 0x0

isram: FAIL: isram_write(ffa02e48, 0x5756555453525150) != 0x0

isram: FAIL: isram_write(ffa02e50, 0x5f5e5d5c5b5a5958) != 0x0

isram: FAIL: isram_write(ffa02e58, 0x6766656463626160) != 0x0

isram: FAIL: isram_write(ffa02e60, 0x6f6e6d6c6b6a6968) != 0x0

isram: FAIL: isram_write(ffa02e68, 0x7776757473727170) != 0x0

isram: FAIL: isram_write(ffa02e70, 0x7f7e7d7c7b7a7978) != 0x0

isram: FAIL: isram_write(ffa02e78, 0x8786858483828180) != 0x0

isram: FAIL: isram_write(ffa02e80, 0x8f8e8d8c8b8a8988) != 0x0

isram: FAIL: isram_write(ffa02e88, 0x9796959493929190) != 0x0

isram: FAIL: isram_write(ffa02e90, 0x9f9e9d9c9b9a9998) != 0x0

isram: FAIL: isram_write(ffa02e98, 0xa7a6a5a4a3a2a1a0) != 0x0

isram: FAIL: isram_write(ffa02ea0, 0xafaeadacabaaa9a8) != 0x0

isram: FAIL: isram_write(ffa02ea8, 0xb7b6b5b4b3b2b1b0) != 0x0

isram: FAIL: isram_write(ffa02eb0, 0xbfbebdbcbbbab9b8) != 0x0

isram: FAIL: isram_write(ffa02eb8, 0xc7c6c5c4c3c2c1c0) != 0x0

isram: FAIL: isram_write(ffa02ec0, 0xcfcecdcccbcac9c8) != 0x0

isram: FAIL: isram_write(ffa02ec8, 0xd7d6d5d4d3d2d1d0) != 0x0

isram: FAIL: isram_write(ffa02ed0, 0xdfdedddcdbdad9d8) != 0x0

isram: FAIL: isram_write(ffa02ed8, 0xe7e6e5e4e3e2e1e0) != 0x0

isram: FAIL: isram_write(ffa02ee0, 0xefeeedecebeae9e8) != 0x0

isram: FAIL: isram_write(ffa02ee8, 0xf7f6f5f4f3f2f1f0) != 0x0

isram: FAIL: isram_write(ffa02ef0, 0xfffefdfcfbfaf9f8) != 0x0

isram: FAIL: isram_write() did not work properly

isram: INFO: running broad isram_memcpy tests

isram: FAIL: isram_memcpy(ffa02df8 <=> 037b1800, 0x100) failed (data is 0xf)

isram: FAIL: isram_memcpy(ffa02df8 <=> 037b1800, 0x100) failed (data is 0xe)

isram: FAIL: isram_memcpy(ffa02df8 <=> 037b1800, 0x100) failed (data is 0xd)

isram: FAIL: isram_memcpy(ffa02df8 <=> 037b1800, 0x100) failed (data is 0xc)

isram: FAIL: isram_memcpy(ffa02df8 <=> 037b1800, 0x100) failed (data is 0xb)

isram: FAIL: isram_memcpy(ffa02df8 <=> 037b1800, 0x100) failed (data is 0xa)

isram: FAIL: isram_memcpy(ffa02df8 <=> 037b1800, 0x100) failed (data is 0x9)

isram: FAIL: isram_memcpy(ffa02df8 <=> 037b1800, 0x100) failed (data is 0x8)

isram: FAIL: isram_memcpy(ffa02df8 <=> 037b1800, 0x100) failed (data is 0x7)

isram: FAIL: isram_memcpy(ffa02df8 <=> 037b1800, 0x100) failed (data is 0x6)

isram: FAIL: isram_memcpy(ffa02df8 <=> 037b1800, 0x100) failed (data is 0x5)

isram: FAIL: isram_memcpy(ffa02df8 <=> 037b1800, 0x100) failed (data is 0x4)

isram: FAIL: isram_memcpy(ffa02df8 <=> 037b1800, 0x100) failed (data is 0x3)

isram: FAIL: isram_memcpy(ffa02df8 <=> 037b1800, 0x100) failed (data is 0x2)

isram: FAIL: isram_memcpy(ffa02df8 <=> 037b1800, 0x100) failed (data is 0x1)

isram: INFO: running isram_memcpy (read) tests

isram: INFO: running isram_memcpy (write) tests

isram: FAIL: ffa02df8:0000 SDRAM:0001

isram: FAIL: ffa02df8:000000 SDRAM:000102

isram: FAIL: ffa02df8:00000000 SDRAM:00010203

isram: FAIL: ffa02df8:0000000000 SDRAM:0001020304

isram: FAIL: ffa02df8:000000000000 SDRAM:000102030405

isram: FAIL: ffa02df8:00000000000000 SDRAM:00010203040506

isram: FAIL: ffa02df8:0000000000000000 SDRAM:0001020304050607

isram: FAIL: ffa02df8:000000000000000000 SDRAM:000102030405060708

isram: FAIL: ffa02df8:00000000000000000000 SDRAM:00010203040506070809

isram: FAIL: ffa02df8:0000000000000000000000 SDRAM:000102030405060708090a

isram: FAIL: ffa02df8:000000000000000000000000 SDRAM:000102030405060708090a0b

isram: FAIL: ffa02df8:00000000000000000000000000 SDRAM:000102030405060708090a0b0c

isram: FAIL: ffa02df8:0000000000000000000000000000 SDRAM:000102030405060708090a0b0c0d

isram: FAIL: ffa02df8:000000000000000000000000000000 SDRAM:000102030405060708090a0b0c0d0e

isram: FAIL: ffa02df8:00000000000000000000000000000000 SDRAM:000102030405060708090a0b0c0d0e0f

isram: FAIL: ffa02df8:0000000000000000000000000000000000 SDRAM:000102030405060708090a0b0c0d0e0f10

isram: FAIL: ffa02df8:000000000000000000000000000000000000 SDRAM:000102030405060708090a0b0c0d0e0f1011

isram: FAIL: ffa02df8:00000000000000000000000000000000000000 SDRAM:000102030405060708090a0b0c0d0e0f101112

isram: FAIL: ffa02df8:0000000000000000000000000000000000000000 SDRAM:000102030405060708090a0b0c0d0e0f10111213

isram: FAIL: ffa02df8:000000000000000000000000000000000000000000 SDRAM:000102030405060708090a0b0c0d0e0f1011121314

isram: FAIL: ffa02df8:00000000000000000000000000000000000000000000 SDRAM:000102030405060708090a0b0c0d0e0f101112131415

isram: FAIL: skipping remaining series

 

Follow-ups

 

--- Robin Getz                                               2009-08-27 15:40:35

Typo in the write function. Thanks for the test case.

 

Fixed on branch and trunk.

 

-Robin

 

--- Robin Getz                                               2009-08-27 15:41:44

Mark as fixed

 

--- Mike Frysinger                                           2009-08-27 15:57:45

both the tests and the original module work for me, thanks

 

 

 

    Files

    Changes

    Commits

    Dependencies

    Duplicates

    Associations

    Tags

 

File Name     File Type     File Size     Posted By

No Files Were Found

Attachments

    Outcomes