Commit d9153546 authored by Kalle Valo's avatar Kalle Valo

ath10k: add ATH10K_FW_FEATURE_IGNORE_OTP_RESULT

qca6174 otp binary seems to always return an error to the host, even if the
calibration succeeded. Add a firmware feature flag to detect if the firmware
image which have this problem and workaround the issue in ath10k by ignoring
the error code.

I was also considering making this hw specific flag but as this is strictly a
firmware issue it's best to handle this via a firmware feature flag so that it
will be easy to disable the workaround.
Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
parent 137ce610
...@@ -387,7 +387,9 @@ static int ath10k_download_and_run_otp(struct ath10k *ar) ...@@ -387,7 +387,9 @@ static int ath10k_download_and_run_otp(struct ath10k *ar)
ath10k_dbg(ar, ATH10K_DBG_BOOT, "boot otp execute result %d\n", result); ath10k_dbg(ar, ATH10K_DBG_BOOT, "boot otp execute result %d\n", result);
if (!skip_otp && result != 0) { if (!(skip_otp || test_bit(ATH10K_FW_FEATURE_IGNORE_OTP_RESULT,
ar->fw_features))
&& result != 0) {
ath10k_err(ar, "otp calibration failed: %d", result); ath10k_err(ar, "otp calibration failed: %d", result);
return -EINVAL; return -EINVAL;
} }
......
...@@ -460,6 +460,9 @@ enum ath10k_fw_features { ...@@ -460,6 +460,9 @@ enum ath10k_fw_features {
*/ */
ATH10K_FW_FEATURE_WOWLAN_SUPPORT = 6, ATH10K_FW_FEATURE_WOWLAN_SUPPORT = 6,
/* Don't trust error code from otp.bin */
ATH10K_FW_FEATURE_IGNORE_OTP_RESULT,
/* keep last */ /* keep last */
ATH10K_FW_FEATURE_COUNT, ATH10K_FW_FEATURE_COUNT,
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment