[PATCH v5] mtd: nand: tango: import driver for tango chips

Marc Gonzalez marc_gonzalez at sigmadesigns.com
Mon Sep 19 08:57:17 PDT 2016


On 19/09/2016 15:12, Marc Gonzalez wrote:

> Tests done to validate this driver:
>   mtd_stresstest dev=1 count=500000

# time modprobe mtd_stresstest dev=1 count=500000
[ 5872.077247] 
[ 5872.078768] =================================================
[ 5872.084628] mtd_stresstest: MTD device: 1
[ 5872.088707] mtd_stresstest: MTD device size 536870912, eraseblock size 131072, page size 2048, count of eraseblocks 4096, pages per eraseblock 64, OOB size 64
[ 5872.104813] mtd_test: scanning for bad eraseblocks
[ 5872.113166] mtd_test: scanned 4096 eraseblocks, 0 are bad
[ 5872.118624] mtd_stresstest: doing operations
[ 5872.122941] mtd_stresstest: 0 operations done
[ 5883.636505] mtd_stresstest: 1024 operations done
[ 5894.626418] mtd_stresstest: 2048 operations done
[ 5904.911443] mtd_stresstest: 3072 operations done
...
[10740.794754] mtd_stresstest: 499712 operations done
[10743.412941] mtd_stresstest: finished, 500000 operations done
[10743.418765] =================================================

real    81m11.354s
user    0m0.000s
sys     51m46.666s


>   mtd_nandbiterrs dev=1

# modprobe mtd_nandbiterrs dev=1
[11713.669415] 
[11713.670936] ==================================================
[11713.677186] mtd_nandbiterrs: MTD device: 1
[11713.681442] mtd_nandbiterrs: MTD device size 536870912, eraseblock=131072, page=2048, oob=64
[11713.690045] mtd_nandbiterrs: Device uses 1 subpages of 2048 bytes
[11713.696249] mtd_nandbiterrs: Using page=0, offset=0, eraseblock=0
[11713.703241] mtd_nandbiterrs: incremental biterrors test
[11713.708608] mtd_nandbiterrs: write_page
[11713.712783] mtd_nandbiterrs: rewrite page
[11713.717164] mtd_nandbiterrs: read_page
[11713.721166] mtd_nandbiterrs: verify_page
[11713.725180] mtd_nandbiterrs: Successfully corrected 0 bit errors per subpage
[11713.732360] mtd_nandbiterrs: Inserted biterror @ 0/5
[11713.737403] mtd_nandbiterrs: rewrite page
[11713.741760] mtd_nandbiterrs: read_page
[11713.745749] mtd_nandbiterrs: verify_page
[11713.749805] mtd_nandbiterrs: Successfully corrected 1 bit errors per subpage
[11713.756947] mtd_nandbiterrs: Inserted biterror @ 0/2
[11713.761990] mtd_nandbiterrs: rewrite page
[11713.766340] mtd_nandbiterrs: read_page
[11713.770331] mtd_nandbiterrs: verify_page
[11713.774382] mtd_nandbiterrs: Successfully corrected 2 bit errors per subpage
[11713.781524] mtd_nandbiterrs: Inserted biterror @ 0/0
[11713.786565] mtd_nandbiterrs: rewrite page
[11713.790917] mtd_nandbiterrs: read_page
[11713.794881] mtd_nandbiterrs: verify_page
[11713.798887] mtd_nandbiterrs: Successfully corrected 3 bit errors per subpage
[11713.805985] mtd_nandbiterrs: Inserted biterror @ 1/7
[11713.810985] mtd_nandbiterrs: rewrite page
[11713.815299] mtd_nandbiterrs: read_page
[11713.819240] mtd_nandbiterrs: verify_page
[11713.823253] mtd_nandbiterrs: Successfully corrected 4 bit errors per subpage
[11713.830351] mtd_nandbiterrs: Inserted biterror @ 1/5
[11713.835350] mtd_nandbiterrs: rewrite page
[11713.839654] mtd_nandbiterrs: read_page
[11713.843601] mtd_nandbiterrs: verify_page
[11713.847608] mtd_nandbiterrs: Successfully corrected 5 bit errors per subpage
[11713.854705] mtd_nandbiterrs: Inserted biterror @ 1/2
[11713.859700] mtd_nandbiterrs: rewrite page
[11713.864018] mtd_nandbiterrs: read_page
[11713.867961] mtd_nandbiterrs: verify_page
[11713.871972] mtd_nandbiterrs: Successfully corrected 6 bit errors per subpage
[11713.879071] mtd_nandbiterrs: Inserted biterror @ 1/0
[11713.884069] mtd_nandbiterrs: rewrite page
[11713.888375] mtd_nandbiterrs: read_page
[11713.892321] mtd_nandbiterrs: verify_page
[11713.896327] mtd_nandbiterrs: Successfully corrected 7 bit errors per subpage
[11713.903424] mtd_nandbiterrs: Inserted biterror @ 2/6
[11713.908421] mtd_nandbiterrs: rewrite page
[11713.912731] mtd_nandbiterrs: read_page
[11713.916671] mtd_nandbiterrs: verify_page
[11713.920681] mtd_nandbiterrs: Successfully corrected 8 bit errors per subpage
[11713.927788] mtd_nandbiterrs: Inserted biterror @ 2/5
[11713.932787] mtd_nandbiterrs: rewrite page
[11713.937092] mtd_nandbiterrs: read_page
[11713.941038] mtd_nandbiterrs: verify_page
[11713.945046] mtd_nandbiterrs: Successfully corrected 9 bit errors per subpage
[11713.952143] mtd_nandbiterrs: Inserted biterror @ 2/2
[11713.957138] mtd_nandbiterrs: rewrite page
[11713.961448] mtd_nandbiterrs: read_page
[11713.965388] mtd_nandbiterrs: verify_page
[11713.969402] mtd_nandbiterrs: Successfully corrected 10 bit errors per subpage
[11713.976584] mtd_nandbiterrs: Inserted biterror @ 2/0
[11713.981582] mtd_nandbiterrs: rewrite page
[11713.985886] mtd_nandbiterrs: read_page
[11713.989832] mtd_nandbiterrs: verify_page
[11713.993837] mtd_nandbiterrs: Successfully corrected 11 bit errors per subpage
[11714.001022] mtd_nandbiterrs: Inserted biterror @ 3/7
[11714.006017] mtd_nandbiterrs: rewrite page
[11714.010352] mtd_nandbiterrs: read_page
[11714.014351] mtd_nandbiterrs: verify_page
[11714.018371] mtd_nandbiterrs: Successfully corrected 12 bit errors per subpage
[11714.025554] mtd_nandbiterrs: Inserted biterror @ 3/6
[11714.030557] mtd_nandbiterrs: rewrite page
[11714.034867] mtd_nandbiterrs: read_page
[11714.038817] mtd_nandbiterrs: verify_page
[11714.042827] mtd_nandbiterrs: Successfully corrected 13 bit errors per subpage
[11714.050012] mtd_nandbiterrs: Inserted biterror @ 3/5
[11714.055009] mtd_nandbiterrs: rewrite page
[11714.059361] mtd_nandbiterrs: read_page
[11714.063301] mtd_nandbiterrs: verify_page
[11714.067312] mtd_nandbiterrs: Successfully corrected 14 bit errors per subpage
[11714.074496] mtd_nandbiterrs: Inserted biterror @ 3/2
[11714.079495] mtd_nandbiterrs: rewrite page
[11714.083801] mtd_nandbiterrs: read_page
[11714.093403] mtd_nandbiterrs: error: read failed at 0x0
[11714.098578] mtd_nandbiterrs: After 15 biterrors per subpage, read reported error -74
[11714.106779] mtd_nandbiterrs: finished successfully.
[11714.111691] ==================================================


>   ubiattach -m 1 -d 3 && runtests.sh /dev/ubi3

# time ./runtests.sh /dev/ubi3
Running mkvol_basic /dev/ubi3
Running mkvol_bad /dev/ubi3
[ 2319.279975] ubi3 error: ubi_cdev_ioctl [ubi]: bad volume creation request
[ 2319.286844] Volume creation request dump:
[ 2319.291238]  vol_id    -2
[ 2319.294023]  alignment 1
[ 2319.296649]  bytes     509427712
[ 2319.299956]  vol_type  3
[ 2319.302498]  name_len  22
[ 2319.305216]  1st 16 characters of name: mkvol_bad:test_m
[ 2319.310672] ubi3 error: ubi_cdev_ioctl [ubi]: bad volume creation request
[ 2319.317571] Volume creation request dump:
[ 2319.321662]  vol_id    128
[ 2319.324440]  alignment 1
[ 2319.327042]  bytes     509427712
[ 2319.330341]  vol_type  3
[ 2319.332882]  name_len  22
[ 2319.335594]  1st 16 characters of name: mkvol_bad:test_m
[ 2319.341023] ubi3 error: ubi_cdev_ioctl [ubi]: bad volume creation request
[ 2319.347871] Volume creation request dump:
[ 2319.351912]  vol_id    0
[ 2319.354466]  alignment 0
[ 2319.357024]  bytes     509427712
[ 2319.360277]  vol_type  3
[ 2319.362825]  name_len  22
[ 2319.365464]  1st 16 characters of name: mkvol_bad:test_m
[ 2319.370837] ubi3 error: ubi_cdev_ioctl [ubi]: bad volume creation request
[ 2319.377677] Volume creation request dump:
[ 2319.381716]  vol_id    0
[ 2319.384270]  alignment -1
[ 2319.386910]  bytes     509427712
[ 2319.390163]  vol_type  3
[ 2319.392704]  name_len  22
[ 2319.395343]  1st 16 characters of name: mkvol_bad:test_m
[ 2319.400713] ubi3 error: ubi_cdev_ioctl [ubi]: bad volume creation request
[ 2319.407554] Volume creation request dump:
[ 2319.411593]  vol_id    0
[ 2319.414148]  alignment 126977
[ 2319.417139]  bytes     509427712
[ 2319.420393]  vol_type  3
[ 2319.422934]  name_len  22
[ 2319.425573]  1st 16 characters of name: mkvol_bad:test_m
[ 2319.430944] ubi3 error: ubi_cdev_ioctl [ubi]: bad volume creation request
[ 2319.437783] Volume creation request dump:
[ 2319.441822]  vol_id    0
[ 2319.444377]  alignment 2049
[ 2319.447193]  bytes     509427712
[ 2319.450446]  vol_type  3
[ 2319.452987]  name_len  22
[ 2319.455627]  1st 16 characters of name: mkvol_bad:test_m
[ 2319.460997] ubi3 error: ubi_cdev_ioctl [ubi]: bad volume creation request
[ 2319.467843] Volume creation request dump:
[ 2319.471883]  vol_id    0
[ 2319.474438]  alignment 1
[ 2319.476992]  bytes     -1
[ 2319.479620]  vol_type  3
[ 2319.482174]  name_len  22
[ 2319.484811]  1st 16 characters of name: mkvol_bad:test_m
[ 2319.490188] ubi3 error: ubi_cdev_ioctl [ubi]: bad volume creation request
[ 2319.497026] Volume creation request dump:
[ 2319.501066]  vol_id    0
[ 2319.503624]  alignment 1
[ 2319.506164]  bytes     0
[ 2319.508718]  vol_type  3
[ 2319.511273]  name_len  22
[ 2319.513912]  1st 16 characters of name: mkvol_bad:test_m
[ 2319.519288] ubi3 error: ubi_create_volume [ubi]: not enough PEBs, only 4012 available
[ 2319.527183] ubi3 error: ubi_create_volume [ubi]: cannot create volume 0, error -28
[ 2319.534830] ubi3 error: ubi_create_volume [ubi]: not enough PEBs, only 4012 available
[ 2319.542721] ubi3 error: ubi_create_volume [ubi]: cannot create volume 0, error -28
[ 2319.550365] ubi3 error: ubi_cdev_ioctl [ubi]: bad volume creation request
[ 2319.557205] Volume creation request dump:
[ 2319.561244]  vol_id    0
[ 2319.563800]  alignment 1
[ 2319.566345]  bytes     126976
[ 2319.569337]  vol_type  7
[ 2319.571891]  name_len  22
[ 2319.574531]  1st 16 characters of name: mkvol_bad:test_m
[ 2319.688559] ubi3 error: ubi_create_volume [ubi]: volume 0 already exists
[ 2319.695328] ubi3 error: ubi_create_volume [ubi]: cannot create volume 0, error -17
[ 2319.702987] ubi3 error: ubi_create_volume [ubi]: volume "mkvol_bad:test_mkvol()" exists (ID 0)
[ 2319.711676] ubi3 error: ubi_create_volume [ubi]: cannot create volume 1, error -17
[ 2319.936067] ubi3 error: ubi_create_volume [ubi]: volume "mkvol_bad:test_mkvol()" exists (ID 0)
[ 2319.944757] ubi3 error: ubi_create_volume [ubi]: cannot create volume 1, error -17
[ 2347.540770] ubi3 error: ubi_unregister_volume_notifier [ubi]: cannot open device 3, volume 128, error -22
[ 2347.550452] ubi3 error: ubi_unregister_volume_notifier [ubi]: cannot open device 3, volume -1, error -22
[ 2347.560458] ubi3 error: ubi_unregister_volume_notifier [ubi]: cannot open device 3, volume 128, error -22
[ 2347.570244] ubi3 error: ubi_unregister_volume_notifier [ubi]: cannot open device 3, volume 0, error -19
[ 2347.798164] ubi3 error: ubi_unregister_volume_notifier [ubi]: cannot open device 3, volume 0, error -19
Running mkvol_paral /dev/ubi3
Running rsvol /dev/ubi3
Running io_basic /dev/ubi3
Running io_read /dev/ubi3
Running io_update /dev/ubi3
Running io_paral /dev/ubi3
Running volrefcnt /dev/ubi3
SUCCESS

real    40m16.730s
user    11m33.653s
sys     20m57.187s



NB: Richard also suggested running a decent filesystem load using bonnie++




More information about the linux-mtd mailing list