Search Linux Wireless

[PATCH 3/9] ath9k_hw: Fix AR9462 power consumption on idle associated

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Rajkumar Manoharan wrote:
> +	if (!AR_SREV_9462_20(ah))
> +		goto skip_btcoex;
> +
> +	for (i = 0; i < AH_WAIT_TIMEOUT; i++) {
> +		btcoex_ctrl2 = REG_READ(ah, AR_BTCOEX_CTRL2);
> +		if (btcoex_ctrl2 != 0xdeadbeef)
> +			break;
> +		udelay(AH_TIME_QUANTUM);
> +	}
> +	REG_WRITE(ah, AR_BTCOEX_CTRL2, (btcoex_ctrl2 | BIT(23)));
> +
> +	for (i = 0; i < AH_WAIT_TIMEOUT; i++) {
> +		diag_sw = REG_READ(ah, AR_DIAG_SW);
> +		if (diag_sw != 0xdeadbeef)
> +			break;
> +		udelay(AH_TIME_QUANTUM);
> +	}
> +	REG_WRITE(ah, AR_DIAG_SW, (diag_sw | BIT(27) | BIT(19) | BIT(18)));
> +	lna_ctrl = REG_READ(ah, AR_OBS_BUS_CTRL) & 0x3;
> +	bt_sleep = REG_READ(ah, AR_MCI_RX_STATUS) & AR_MCI_RX_REMOTE_SLEEP;
> +
> +	REG_WRITE(ah, AR_BTCOEX_CTRL2, btcoex_ctrl2);
> +	REG_WRITE(ah, AR_DIAG_SW, diag_sw);
> +
> +	if (bt_sleep && (lna_ctrl == 2)) {
> +		REG_SET_BIT(ah, AR_BTCOEX_RC, 0x1);
> +		REG_CLR_BIT(ah, AR_BTCOEX_RC, 0x1);
> +		udelay(50);
> +	}
> +
> +skip_btcoex:

It would be cleaner to use a helper function for this and also check
whether MCI/BTCOEX is actually enabled.

Sujith
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux