Raj Kumar Bhagat <quic_rajkbhag@xxxxxxxxxxx> writes: > From: Govindaraj Saminathan <quic_gsaminat@xxxxxxxxxxx> > > Add support to process factory test mode commands(FTM) for calibration. > By default firmware start with NORMAL 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. > > When start command ATH11K_TM_CMD_TESTMODE_START is received, ar state > is set to Test Mode. If the FTM command or event length is greater > than 256 bytes, it will be broken down into multiple segments and > encoded with TLV header if it is segmented commands, else it is sent > to firmware as it is. > > On receiving UTF event from firmware, if it is segmented event, the driver > will wait until it receives all the segments and notify the complete > data to user application. In case the segmented sequence are missed or > lost from the firmware, driver will skip the already received partial data. > > In case of unsegmented UTF event from firmware, driver notifies the > data to the user application as it comes. Applications handles > the data further. > > Command to boot in ftm mode: > > insmod ath11k ftm_mode=1 > > Tested-on: IPQ8074 hw2.0 AHB WLAN.HK.2.7.0.1-01744-QCAHKSWPL_SILICONZ-1 > > Signed-off-by: Govindaraj Saminathan <quic_gsaminat@xxxxxxxxxxx> > Co-developed-by: Sowmiya Sree Elavalagan <quic_ssreeela@xxxxxxxxxxx> > Signed-off-by: Sowmiya Sree Elavalagan <quic_ssreeela@xxxxxxxxxxx> > Signed-off-by: Raj Kumar Bhagat <quic_rajkbhag@xxxxxxxxxxx> > Signed-off-by: Kalle Valo <quic_kvalo@xxxxxxxxxxx> [...] > --- a/drivers/net/wireless/ath/ath11k/testmode.h > +++ b/drivers/net/wireless/ath/ath11k/testmode.h > @@ -8,11 +8,16 @@ > > #ifdef CONFIG_NL80211_TESTMODE > > +void ath11k_tm_wmi_event(struct ath11k_base *ab, u32 cmd_id, struct sk_buff *skb); > int ath11k_tm_cmd(struct ieee80211_hw *hw, struct ieee80211_vif *vif, > void *data, int len); > > #else > > +void ath11k_tm_wmi_event(struct ath11k_base *ab, u32 cmd_id, struct sk_buff *skb) > +{ > +} > + This introduced an warning and to fix it I changed it to static inline function. -- https://patchwork.kernel.org/project/linux-wireless/list/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches