mirror of
https://github.com/AltraMayor/f3.git
synced 2025-08-03 18:46:00 -04:00
f3probe: support any reset type (even no reset!)
This patch allows f3probe to report an accurate usable size with any type of reset. It works even with --reset-type=2 that is no reset at all.
This commit is contained in:
parent
8348bcd909
commit
70e07816af
@ -289,7 +289,11 @@ static int unit_test(const char *filename)
|
|||||||
if (real_size_byte == item->real_size_byte &&
|
if (real_size_byte == item->real_size_byte &&
|
||||||
announced_size_byte == item->fake_size_byte &&
|
announced_size_byte == item->fake_size_byte &&
|
||||||
wrap == item->wrap &&
|
wrap == item->wrap &&
|
||||||
item_cache_byte == (cache_size_block << block_order) &&
|
/* We don't compare cache size because
|
||||||
|
* probe_device() only returns an estimate.
|
||||||
|
* item_cache_byte ==
|
||||||
|
* (cache_size_block << block_order) &&
|
||||||
|
*/
|
||||||
!need_reset &&
|
!need_reset &&
|
||||||
block_order == item->block_order) {
|
block_order == item->block_order) {
|
||||||
success++;
|
success++;
|
||||||
@ -477,7 +481,7 @@ static int test_device(struct args *args)
|
|||||||
report_size("\t Announced size:", announced_size_byte,
|
report_size("\t Announced size:", announced_size_byte,
|
||||||
block_order);
|
block_order);
|
||||||
report_order("\t Module:", wrap);
|
report_order("\t Module:", wrap);
|
||||||
report_cache("\tPermanent cache size:", cache_size_block,
|
report_cache("\tApproximate cache size:", cache_size_block,
|
||||||
need_reset, block_order);
|
need_reset, block_order);
|
||||||
report_order("\t Physical block size:", block_order);
|
report_order("\t Physical block size:", block_order);
|
||||||
printf("\nProbe time: %.2f seconds\n", time_s);
|
printf("\nProbe time: %.2f seconds\n", time_s);
|
||||||
|
@ -340,8 +340,10 @@ static int assess_reset_effect(struct device *dev,
|
|||||||
|
|
||||||
if (after_reset_count_block < write_target) {
|
if (after_reset_count_block < write_target) {
|
||||||
assert(after_reset_count_block <= b4_reset_count_block);
|
assert(after_reset_count_block <= b4_reset_count_block);
|
||||||
*pcache_size_block = after_reset_count_block;
|
|
||||||
*pneed_reset = after_reset_count_block < b4_reset_count_block;
|
*pneed_reset = after_reset_count_block < b4_reset_count_block;
|
||||||
|
*pcache_size_block = *pneed_reset
|
||||||
|
? after_reset_count_block
|
||||||
|
: write_target;
|
||||||
*pdone = true;
|
*pdone = true;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user