[PATCH v4 3/4] wifi: ath12k: add factory test mode support

Aaradhana Sahu quic_aarasahu at quicinc.com
Tue Jun 18 20:40:49 PDT 2024



On 6/18/2024 2:43 AM, Jeff Johnson wrote:
> On 6/16/2024 10:29 PM, Aaradhana Sahu wrote:
>> 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 at quicinc.com>
>> ---
> ...
>>  11 files changed, 560 insertions(+), 8 deletions(-)
>>  create mode 100644 drivers/net/wireless/ath/ath12k/testmode.c
> ...
>> +		ftm_cmd->seg_hdr.segmentinfo = le32_encode_bits(num_segments,
>> +								ATH12K_FTM_SEGHDR_TOTAL_SEGMENTS) |
>> +					       le32_encode_bits(segnumber,
>> +								ATH12K_FTM_SEGHDR_CURRENT_SEQ);
> 
> ath12k-check warns:
> drivers/net/wireless/ath/ath12k/testmode.c:265: line length of 99 exceeds 90 columns
> drivers/net/wireless/ath/ath12k/testmode.c:267: line length of 95 exceeds 90 columns
> 
> suggest splitting the first line at the =
> 		ftm_cmd->seg_hdr.segmentinfo =
> 			le32_encode_bits(num_segments,
> 					 ATH12K_FTM_SEGHDR_TOTAL_SEGMENTS) |
> 			le32_encode_bits(segnumber,
> 					 ATH12K_FTM_SEGHDR_CURRENT_SEQ);
> 

Sure, will update in the next version.



More information about the ath12k mailing list