ath10k: support to access target space below 1M for qca6174 and qca9377
authorCarl Huang <cjhuang@codeaurora.org>
Tue, 4 Sep 2018 10:00:39 +0000 (13:00 +0300)
committerKalle Valo <kvalo@codeaurora.org>
Thu, 6 Sep 2018 16:09:55 +0000 (19:09 +0300)
commitbc346c9a24a41fba93f8f5c4cd3de2c64fd02cfd
treebc079a89f41a30bb22892cd311a5f5f638fac73d
parentd56bbeea25d181760ed4aeb5002df0f1e07f0420
ath10k: support to access target space below 1M for qca6174 and qca9377

To download firmware via diag interface, driver needs to write the target
memory space below 1M. It means the bit20 should be zero for the converted
address if the target memory space is below 1M. Otherwise, bit20 is one if
the target address is larger or equal to 1M space.

As downloading firmware via diag interface is only required for qca6174
and qca9377, a new specific function is introduced to convert the target
address to ce address: ath10k_pci_qca6174_targ_cpu_to_ce_addri().
This function supports to convert any target address to ce address.

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@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/ath/ath10k/pci.c