mirror of
https://github.com/opnsense/src.git
synced 2026-06-11 09:41:03 -04:00
Writing to the analog registers on the AR9220 (Merlin PCI) seems to require a delay.
This, along with an initval change which will appear in a subsequent commit, fixes bus panics that I have been seing with the AR9220 on a Routerstation Pro (AR7161 MIPS board.) Obtained from: Linux ath9k PR: kern/154220
This commit is contained in:
parent
00f0e671ff
commit
6ef699a0a6
1 changed files with 9 additions and 0 deletions
|
|
@ -858,6 +858,11 @@ ath_hal_ini_write(struct ath_hal *ah, const HAL_INI_ARRAY *ia,
|
|||
for (r = 0; r < ia->rows; r++) {
|
||||
OS_REG_WRITE(ah, HAL_INI_VAL(ia, r, 0),
|
||||
HAL_INI_VAL(ia, r, col));
|
||||
|
||||
/* Analog shift register delay seems needed for Merlin - PR kern/154220 */
|
||||
if (HAL_INI_VAL(ia, r, 0) >= 0x7800 && HAL_INI_VAL(ia, r, 0) < 0x78a0)
|
||||
OS_DELAY(100);
|
||||
|
||||
DMA_YIELD(regWr);
|
||||
}
|
||||
return regWr;
|
||||
|
|
@ -881,6 +886,10 @@ ath_hal_ini_bank_write(struct ath_hal *ah, const HAL_INI_ARRAY *ia,
|
|||
|
||||
for (r = 0; r < ia->rows; r++) {
|
||||
OS_REG_WRITE(ah, HAL_INI_VAL(ia, r, 0), data[r]);
|
||||
|
||||
/* Analog shift register delay seems needed for Merlin - PR kern/154220 */
|
||||
if (HAL_INI_VAL(ia, r, 0) >= 0x7800 && HAL_INI_VAL(ia, r, 0) < 0x78a0)
|
||||
OS_DELAY(100);
|
||||
DMA_YIELD(regWr);
|
||||
}
|
||||
return regWr;
|
||||
|
|
|
|||
Loading…
Reference in a new issue