• Carl Huang's avatar
    ath10k: download firmware via diag Copy Engine for QCA6174 and QCA9377. · 39501ea6
    Carl Huang authored
    Downloading firmware via BMI protocol takes too long time. For example,
    a ~700K bytes firmware takes about 500ms to download via BMI protocol.
    This is too long especially in suspend and resume scenario where firmware
    is re-downloaded unless WoWLAN is enabled. Downloading firmware via diag CE
    can reduce the time to ~40ms for a ~700K bytes firmware binary.
    
    Ath10k driver parses the firmware to segments and downloads the segments
    to the specified address directly. If the firmware is compressed or has
    unsupported segments, ath10k driver will try BMI download again.
    
    It's tested with QCA6174 hw3.2 and
    firmware-6.bin_WLAN.RM.4.4.1-00111-QCARMSWP-1. QCA9377 is also affected.
    Signed-off-by: default avatarCarl Huang <cjhuang@codeaurora.org>
    Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
    39501ea6
bmi.c 11.8 KB