SiliconLabs / wfx-fullMAC-driver

Silicon Laboratories WFx Wi-Fi Full-MAC driver
23 stars 9 forks source link

minimize register reads during firmware transfer #4

Closed mvduin closed 4 years ago

mvduin commented 4 years ago

These two small changes result in a 76% reduction of the number of register accesses per loop iteration (from 13 to 3.17) or a 70% reduction of the total number of cmd53 sdio transfers. This roughly halves the time needed to transfer the firmware, which itself is the dominant part of the wf200 initialization time.

Reduction in firmware download time measured on WGM160P:

jerome-pouiller commented 4 years ago

Hello @mvduin,

For information, I have ported your idea to the linux version of the driver, I now load the firmware:

mvduin commented 4 years ago

Yeah I noticed it had the same inefficiency, although I think it doesn't matter quite as much there since it's not going to be a significant contributor to your overall system performance, whereas for mcu applications it can be the single most time-consuming part of going from a low-power state to being able to send wifi packets.

silabs-JulienT commented 4 years ago

Hello @mvduin,

Thanks for the contribution, I am reviewing the commit impacts on other configurations (different hosts, SPI...) and will merge it if there is no regression.