Commit 6752ee90 authored by Bob Copeland's avatar Bob Copeland Committed by John W. Linville
Browse files

ath5k: use ctl settings based on current regdomain



Update ath5k to use the ctl settings for tx power based on current
regulatory domain.

Signed-off-by: default avatarBob Copeland <me@bobcopeland.com>
Acked-by: default avatarNick Kossifidis <mickflemm@gmail.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 57e6c56d
Loading
Loading
Loading
Loading
+7 −12
Original line number Diff line number Diff line
@@ -2158,8 +2158,6 @@ ath5k_get_rate_pcal_data(struct ath5k_hw *ah,
 * Get the max edge power for this channel if
 * we have such data from EEPROM's Conformance Test
 * Limits (CTL), and limit max power if needed.
 *
 * FIXME: Only works for world regulatory domains
 */
static void
ath5k_get_max_ctl_power(struct ath5k_hw *ah,
@@ -2175,26 +2173,23 @@ ath5k_get_max_ctl_power(struct ath5k_hw *ah,
	u8 ctl_idx = 0xFF;
	u32 target = channel->center_freq;

	/* Find out a CTL for our mode that's not mapped
	 * on a specific reg domain.
	 *
	 * TODO: Map our current reg domain to one of the 3 available
	 * reg domain ids so that we can support more CTLs. */
	ctl_mode = ath_regd_get_band_ctl(&ah->ah_regulatory, channel->band);

	switch (channel->hw_value & CHANNEL_MODES) {
	case CHANNEL_A:
		ctl_mode = AR5K_CTL_11A | AR5K_CTL_NO_REGDOMAIN;
		ctl_mode |= AR5K_CTL_11A;
		break;
	case CHANNEL_G:
		ctl_mode = AR5K_CTL_11G | AR5K_CTL_NO_REGDOMAIN;
		ctl_mode |= AR5K_CTL_11G;
		break;
	case CHANNEL_B:
		ctl_mode = AR5K_CTL_11B | AR5K_CTL_NO_REGDOMAIN;
		ctl_mode |= AR5K_CTL_11B;
		break;
	case CHANNEL_T:
		ctl_mode = AR5K_CTL_TURBO | AR5K_CTL_NO_REGDOMAIN;
		ctl_mode |= AR5K_CTL_TURBO;
		break;
	case CHANNEL_TG:
		ctl_mode = AR5K_CTL_TURBOG | AR5K_CTL_NO_REGDOMAIN;
		ctl_mode |= AR5K_CTL_TURBOG;
		break;
	case CHANNEL_XR:
		/* Fall through */