Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bb123105 authored by David S. Miller's avatar David S. Miller
Browse files
parents 72b43d08 4e5518ca
Loading
Loading
Loading
Loading
+17 −4
Original line number Original line Diff line number Diff line
@@ -268,10 +268,6 @@
!Finclude/net/mac80211.h ieee80211_ops
!Finclude/net/mac80211.h ieee80211_ops
!Finclude/net/mac80211.h ieee80211_alloc_hw
!Finclude/net/mac80211.h ieee80211_alloc_hw
!Finclude/net/mac80211.h ieee80211_register_hw
!Finclude/net/mac80211.h ieee80211_register_hw
!Finclude/net/mac80211.h ieee80211_get_tx_led_name
!Finclude/net/mac80211.h ieee80211_get_rx_led_name
!Finclude/net/mac80211.h ieee80211_get_assoc_led_name
!Finclude/net/mac80211.h ieee80211_get_radio_led_name
!Finclude/net/mac80211.h ieee80211_unregister_hw
!Finclude/net/mac80211.h ieee80211_unregister_hw
!Finclude/net/mac80211.h ieee80211_free_hw
!Finclude/net/mac80211.h ieee80211_free_hw
      </chapter>
      </chapter>
@@ -382,6 +378,23 @@
        </para>
        </para>
      </partintro>
      </partintro>


      <chapter id="led-support">
        <title>LED support</title>
        <para>
         Mac80211 supports various ways of blinking LEDs. Wherever possible,
         device LEDs should be exposed as LED class devices and hooked up to
         the appropriate trigger, which will then be triggered appropriately
         by mac80211.
        </para>
!Finclude/net/mac80211.h ieee80211_get_tx_led_name
!Finclude/net/mac80211.h ieee80211_get_rx_led_name
!Finclude/net/mac80211.h ieee80211_get_assoc_led_name
!Finclude/net/mac80211.h ieee80211_get_radio_led_name
!Finclude/net/mac80211.h ieee80211_tpt_blink
!Finclude/net/mac80211.h ieee80211_tpt_led_trigger_flags
!Finclude/net/mac80211.h ieee80211_create_tpt_led_trigger
      </chapter>

      <chapter id="hardware-crypto-offload">
      <chapter id="hardware-crypto-offload">
        <title>Hardware crypto acceleration</title>
        <title>Hardware crypto acceleration</title>
!Pinclude/net/mac80211.h Hardware crypto acceleration
!Pinclude/net/mac80211.h Hardware crypto acceleration
+3 −0
Original line number Original line Diff line number Diff line
@@ -954,6 +954,9 @@ static void ar9002_hw_init_cal_settings(struct ath_hw *ah)
				&adc_dc_cal_multi_sample;
				&adc_dc_cal_multi_sample;
		}
		}
		ah->supp_cals = ADC_GAIN_CAL | ADC_DC_CAL | IQ_MISMATCH_CAL;
		ah->supp_cals = ADC_GAIN_CAL | ADC_DC_CAL | IQ_MISMATCH_CAL;

		if (AR_SREV_9287(ah))
			ah->supp_cals &= ~ADC_GAIN_CAL;
	}
	}
}
}


+4 −0
Original line number Original line Diff line number Diff line
@@ -226,6 +226,10 @@ static int ath9k_hw_def_check_eeprom(struct ath_hw *ah)
	    eep->baseEepHeader.pwdclkind == 0)
	    eep->baseEepHeader.pwdclkind == 0)
		ah->need_an_top2_fixup = 1;
		ah->need_an_top2_fixup = 1;


	if ((common->bus_ops->ath_bus_type == ATH_USB) &&
	    (AR_SREV_9280(ah)))
		eep->modalHeader[0].xpaBiasLvl = 0;

	return 0;
	return 0;
}
}


+1 −0
Original line number Original line Diff line number Diff line
@@ -433,6 +433,7 @@ void ath9k_htc_txep(void *priv, struct sk_buff *skb, enum htc_endpoint_id ep_id,
void ath9k_htc_beaconep(void *drv_priv, struct sk_buff *skb,
void ath9k_htc_beaconep(void *drv_priv, struct sk_buff *skb,
			enum htc_endpoint_id ep_id, bool txok);
			enum htc_endpoint_id ep_id, bool txok);


int ath9k_htc_update_cap_target(struct ath9k_htc_priv *priv);
void ath9k_htc_station_work(struct work_struct *work);
void ath9k_htc_station_work(struct work_struct *work);
void ath9k_htc_aggr_work(struct work_struct *work);
void ath9k_htc_aggr_work(struct work_struct *work);
void ath9k_ani_work(struct work_struct *work);;
void ath9k_ani_work(struct work_struct *work);;
+26 −11
Original line number Original line Diff line number Diff line
@@ -301,6 +301,16 @@ static int ath9k_htc_add_monitor_interface(struct ath9k_htc_priv *priv)


	priv->nstations++;
	priv->nstations++;


	/*
	 * Set chainmask etc. on the target.
	 */
	ret = ath9k_htc_update_cap_target(priv);
	if (ret)
		ath_dbg(common, ATH_DBG_CONFIG,
			"Failed to update capability in target\n");

	priv->ah->is_monitoring = true;

	return 0;
	return 0;


err_vif:
err_vif:
@@ -328,6 +338,7 @@ static int ath9k_htc_remove_monitor_interface(struct ath9k_htc_priv *priv)
	}
	}


	priv->nstations--;
	priv->nstations--;
	priv->ah->is_monitoring = false;


	return 0;
	return 0;
}
}
@@ -419,7 +430,7 @@ static int ath9k_htc_remove_station(struct ath9k_htc_priv *priv,
	return 0;
	return 0;
}
}


static int ath9k_htc_update_cap_target(struct ath9k_htc_priv *priv)
int ath9k_htc_update_cap_target(struct ath9k_htc_priv *priv)
{
{
	struct ath9k_htc_cap_target tcap;
	struct ath9k_htc_cap_target tcap;
	int ret;
	int ret;
@@ -1186,6 +1197,20 @@ static int ath9k_htc_config(struct ieee80211_hw *hw, u32 changed)
		}
		}
	}
	}


	/*
	 * Monitor interface should be added before
	 * IEEE80211_CONF_CHANGE_CHANNEL is handled.
	 */
	if (changed & IEEE80211_CONF_CHANGE_MONITOR) {
		if (conf->flags & IEEE80211_CONF_MONITOR) {
			if (ath9k_htc_add_monitor_interface(priv))
				ath_err(common, "Failed to set monitor mode\n");
			else
				ath_dbg(common, ATH_DBG_CONFIG,
					"HW opmode set to Monitor mode\n");
		}
	}

	if (changed & IEEE80211_CONF_CHANGE_CHANNEL) {
	if (changed & IEEE80211_CONF_CHANGE_CHANNEL) {
		struct ieee80211_channel *curchan = hw->conf.channel;
		struct ieee80211_channel *curchan = hw->conf.channel;
		int pos = curchan->hw_value;
		int pos = curchan->hw_value;
@@ -1221,16 +1246,6 @@ static int ath9k_htc_config(struct ieee80211_hw *hw, u32 changed)
		ath_update_txpow(priv);
		ath_update_txpow(priv);
	}
	}


	if (changed & IEEE80211_CONF_CHANGE_MONITOR) {
		if (conf->flags & IEEE80211_CONF_MONITOR) {
			if (ath9k_htc_add_monitor_interface(priv))
				ath_err(common, "Failed to set monitor mode\n");
			else
				ath_dbg(common, ATH_DBG_CONFIG,
					"HW opmode set to Monitor mode\n");
		}
	}

	if (changed & IEEE80211_CONF_CHANGE_IDLE) {
	if (changed & IEEE80211_CONF_CHANGE_IDLE) {
		mutex_lock(&priv->htc_pm_lock);
		mutex_lock(&priv->htc_pm_lock);
		if (!priv->ps_idle) {
		if (!priv->ps_idle) {
Loading