On 2018-09-05 12:52, Kalle Valo wrote:
Carl Huang <cjhuang@xxxxxxxxxxxxxx> writes:
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: Carl Huang <cjhuang@xxxxxxxxxxxxxx>
There were new warnings:
drivers/net/wireless/ath/ath10k/hw.c:1029:16: warning: restricted
__le32 degrades to integer
drivers/net/wireless/ath/ath10k/hw.c:1047:27: warning: incorrect type
in assignment (different base types)
drivers/net/wireless/ath/ath10k/hw.c:1047:27: expected unsigned int
[unsigned] [usertype] base_addr
drivers/net/wireless/ath/ath10k/hw.c:1047:27: got restricted __le32
[usertype] addr
drivers/net/wireless/ath/ath10k/hw.c:1048:26: warning: incorrect type
in assignment (different base types)
drivers/net/wireless/ath/ath10k/hw.c:1048:26: expected unsigned int
[unsigned] [usertype] base_len
drivers/net/wireless/ath/ath10k/hw.c:1048:26: got restricted __le32
[usertype] length
I fixed those in the pending branch, please review:
https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/commit/?h=pending&id=f6f6f597654693ab122ecd950b56343489b91e59
Kalle,
Thank you for fixing the warnings. I don't see any issues with this
warning fix.
Thanks,
Carl