Aaradhana Sahu <quic_aarasahu@xxxxxxxxxxx> writes: > Add support to process factory test mode commands(FTM) for calibration. > By default firmware start with MISSION mode and to process the FTM commands > firmware needs to be restarted in FTM mode using module parameter ftm_mode. > The pre-request is all the radios should be down before starting the test. > > All ath12k test mode interface related commands specified in enum > ath_tm_cmd. > > When start command ATH_TM_CMD_TESTMODE_START is received, ar state > is set to test Mode and FTM daemon sends test mode command to wifi > driver via cfg80211. Wifi driver sends these command to firmware as > wmi events. If it is segmented commands it will be broken down into > multiple segments and encoded with TLV header else it is sent to > firmware as it is. > > Firmware response via UTF events, wifi driver creates skb and send > to cfg80211, cfg80211 sends firmware response to FTM daemon via > netlink message. > > Command to boot in ftm mode > insmod ath12k ftm_mode=1 > > Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.1.1-00210-QCAHKSWPL_SILICONZ-1 > > Signed-off-by: Aaradhana Sahu <quic_aarasahu@xxxxxxxxxxx> [...] > --- a/drivers/net/wireless/ath/ath12k/core.c > +++ b/drivers/net/wireless/ath/ath12k/core.c > @@ -42,6 +42,10 @@ static int ath12k_core_rfkill_config(struct ath12k_base *ab) > return ret; > } > > +bool ath12k_ftm_mode; > +module_param_named(ftm_mode, ath12k_ftm_mode, bool, 0444); > +MODULE_PARM_DESC(ftm_mode, "Boots up in factory test mode"); In the pending branch I moved these to the beginning of the file, otherwise they are quite hidden: https://git.kernel.org/pub/scm/linux/kernel/git/ath/ath.git/commit/?h=pending&id=0006b23098b2cb0dded6c650ef9b5a590bfb5a3c -- https://patchwork.kernel.org/project/linux-wireless/list/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches