Flashrom with dediprog is selecting a sub-optimal block_erasers from the available list.

For example, MX66L51235F in flashchips.c has 4 sizes of block erasers: 4KiB, 32KiB, 64KiB and 64MiB. 4KiB is the default, but also the slowest and can take 20+ minutes to reprogram a chip. 32KiB and 64KiB are significantly faster (sometimes up to 10x). 64MiB causes a fault which is a separate issue entirely.

Currently, I manually edit flashchips.c to comment out the undesired sizes for this chip (everything except 64KiB), but this can be tedious and not easy to discover by others.

What would be the best solution here? Would it make sense to submit this change for this particular chip? I understand there may also be a speed/wear tradeoff.

I am also interested in the more general case. Do larger erase sizes tend to reprogram a chip faster? If so, why does flashrom not always use the larger sizes?

Thanks,
Ryan