ath9k_hw: calibrate PA input for PA predistortion

Re-train if the calibrated PA linearization curve is out of bounds
(affects AR933x and AR9485).

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
Felix Fietkau 2012-08-27 17:00:05 +02:00 committed by John W. Linville
parent 2622895993
commit 381c726c09
3 changed files with 111 additions and 1 deletions

View file

@ -254,6 +254,7 @@ void ath_paprd_calibrate(struct work_struct *work)
int chain_ok = 0;
int chain;
int len = 1800;
int ret;
if (!caldata)
return;
@ -302,7 +303,13 @@ void ath_paprd_calibrate(struct work_struct *work)
break;
}
if (ar9003_paprd_create_curve(ah, caldata, chain)) {
ret = ar9003_paprd_create_curve(ah, caldata, chain);
if (ret == -EINPROGRESS) {
ath_dbg(common, CALIBRATE,
"PAPRD curve on chain %d needs to be re-trained\n",
chain);
break;
} else if (ret) {
ath_dbg(common, CALIBRATE,
"PAPRD create curve failed on chain %d\n",
chain);