[PATCH v6 05/11] wifi: ath12k: implement handling of P2P NoA event

Kang Yang quic_kangyang at quicinc.com
Mon Feb 5 18:21:13 PST 2024



On 2/2/2024 9:53 PM, Kalle Valo wrote:
> Kang Yang <quic_kangyang at quicinc.com> writes:
> 
>> The NoA(Notice of Absence) attribute is used by the P2P Group Owner to
>> signal its absence due to power save timing, concurrent operation, or
>> off-channel scanning. It is also used in the P2P Presence Request-Response
>> mechanism.
>>
>> The NoA attribute shall be present in the P2P IE in the beacon frames
>> transmitted by a P2P Group Owner when a NoA schedule is being advertised,
>> or when the CTWindow is non-zero.
>>
>> So add support to update P2P information after P2P GO is up through
>> event WMI_P2P_NOA_EVENTID, and always put it in probe resp.
>>
>> Create p2p.c and p2p.h for P2P related functions and definitions.
>>
>> Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3
>> Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1
>>
>> Signed-off-by: Kang Yang <quic_kangyang at quicinc.com>
> 
> This patch 5 had simple conflicts in wmi.c, please check:
> 
> https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/commit/?h=pending&id=cbcb45c458a93d32a48b9280c13294e0853fa5dd
> 

Sorry for late reply, I am in Spring Festival holiday. It seems i have 
conflict in adding WMI event, because you merge TWT patch-set before.


conflict:
root at Mayan:/home/yk/ath12k-upstream/drivers/net/wireless/ath/ath12k# cat 
wmi.c.rej
diff a/drivers/net/wireless/ath/ath12k/wmi.c 
b/drivers/net/wireless/ath/ath12k/wmi.c    (rejected hunks)
@@ -162,6 +163,10 @@ static const struct ath12k_wmi_tlv_policy 
ath12k_wmi_tlv_policies[] = {
                 .min_len = sizeof(struct wmi_probe_resp_tx_status_event) },
         [WMI_TAG_VDEV_DELETE_RESP_EVENT] = {
                 .min_len = sizeof(struct wmi_vdev_delete_resp_event) },
+       [WMI_TAG_P2P_NOA_INFO] = {
+               .min_len = sizeof(struct ath12k_wmi_p2p_noa_info) },
+       [WMI_TAG_P2P_NOA_EVENT] = {
+               .min_len = sizeof(struct wmi_p2p_noa_event) },
  };

  static __le32 ath12k_wmi_tlv_hdr(u32 cmd, u32 len)
@@ -6807,6 +6853,9 @@ static void ath12k_wmi_op_rx(struct ath12k_base 
*ab, struct sk_buff *skb)
         case WMI_RFKILL_STATE_CHANGE_EVENTID:
                 ath12k_rfkill_state_change_event(ab, skb);
                 break;
+       case WMI_P2P_NOA_EVENTID:
+               ath12k_wmi_p2p_noa_event(ab, skb);
+               break;
         /* add Unsupported events here */
         case WMI_TBTTOFFSET_EXT_UPDATE_EVENTID:
         case WMI_PEER_OPER_MODE_CHANGE_EVENTID:



TWT patch change:

@@ -164,6 +164,8 @@ static const struct ath12k_wmi_tlv_policy 
ath12k_wmi_tlv_policies[] = {
  		.min_len = sizeof(struct wmi_vdev_delete_resp_event) },
  	[WMI_TAG_TWT_ENABLE_COMPLETE_EVENT] = {
  		.min_len = sizeof(struct wmi_twt_enable_event) },
+	[WMI_TAG_TWT_DISABLE_COMPLETE_EVENT] = {
+		.min_len = sizeof(struct wmi_twt_disable_event) },
  };

@@ -6798,10 +6829,12 @@ static void ath12k_wmi_op_rx(struct ath12k_base 
*ab, struct sk_buff *skb)
  	case WMI_TWT_ENABLE_EVENTID:
  		ath12k_wmi_twt_enable_event(ab, skb);
  		break;
+	case WMI_TWT_DISABLE_EVENTID:
+		ath12k_wmi_twt_disable_event(ab, skb);
+		break;
  	/* add Unsupported events here */




Do i need to send a new version ?





More information about the ath12k mailing list