@@ -146,6 +146,8 @@ enum nrf_wifi_umac_commands {
146
146
NRF_WIFI_UMAC_CMD_CONFIG_EXTENDED_PS ,
147
147
/** Configure quiet period @ref nrf_wifi_umac_cmd_config_quiet_period */
148
148
NRF_WIFI_UMAC_CMD_CONFIG_QUIET_PERIOD ,
149
+ /** Add DMS @ref nrf_wifi_umac_cmd_req_config_dms */
150
+ NRF_WIFI_UMAC_CMD_REQ_CONFIG_DMS ,
149
151
};
150
152
151
153
/**
@@ -242,7 +244,9 @@ enum nrf_wifi_umac_events {
242
244
/** send connection information @ref nrf_wifi_umac_event_conn_info. */
243
245
NRF_WIFI_UMAC_EVENT_GET_CONNECTION_INFO ,
244
246
/** @ref nrf_wifi_umac_event_power_save_info */
245
- NRF_WIFI_UMAC_EVENT_GET_POWER_SAVE_INFO
247
+ NRF_WIFI_UMAC_EVENT_GET_POWER_SAVE_INFO ,
248
+ /** Send DMS response information @ref nrf_wifi_umac_cmd_config_dms */
249
+ NRF_WIFI_UMAC_EVENT_DMS ,
246
250
};
247
251
248
252
/**
@@ -3527,4 +3531,86 @@ struct nrf_wifi_umac_cmd_config_quiet_period {
3527
3531
unsigned int quiet_period_in_sec ;
3528
3532
} __NRF_WIFI_PKD ;
3529
3533
3534
+ /**
3535
+ * @brief DMS add commands and events.
3536
+ *
3537
+ */
3538
+
3539
+ #define NRF_WIFI_DMS_RESP_RECEIVED 0
3540
+ #define NRF_WIFI_DMS_RESP_NOT_RECEIVED 1
3541
+ #define NRF_WIFI_INVALID_DMS_PARAM 3
3542
+
3543
+ /**
3544
+ * @brief The RPU can send the following DMS events to host.
3545
+ *
3546
+ */
3547
+ enum nrf_wifi_dms_event_type {
3548
+ NRF_WIFI_DMS_EVENT_ACCEPT ,
3549
+ NRF_WIFI_DMS_EVENT_REJECT ,
3550
+ NRF_WIFI_DMS_EVENT_TERMINATE ,
3551
+ NRF_WIFI_DMS_EVENT_INVALID
3552
+ };
3553
+
3554
+ /**
3555
+ * @brief The Host can send the following DMS request type events to rpu.
3556
+ *
3557
+ */
3558
+ enum nrf_wifi_dms_req_type {
3559
+ NRF_WIFI_DMS_REQ_ADD ,
3560
+ NRF_WIFI_DMS_REQ_REMOVE ,
3561
+ NRF_WIFI_DMS_REQ_CHANGE ,
3562
+ NRF_WIFI_DMS_REQ_INVALID
3563
+ };
3564
+
3565
+ /**
3566
+ * @brief This structure describes the DMS information.
3567
+ *
3568
+ */
3569
+
3570
+ struct nrf_wifi_umac_config_dms_info {
3571
+ /** Dialog token, used to map requests to responses */
3572
+ unsigned char dialog_token ;
3573
+ /** DMSID, used to identifying the DMS for the group addressed frame */
3574
+ unsigned char dmsid ;
3575
+ /** request type (0- ADD, 1-Remove, 2- Change) */
3576
+ unsigned char req_type ;
3577
+ /** User priority */
3578
+ unsigned char up ;
3579
+ /** Tclas type */
3580
+ unsigned char tclas_type ;
3581
+ /** Tclas mask */
3582
+ unsigned char tclas_mask ;
3583
+ /** Tclas category 4 elements */
3584
+ /** Version */
3585
+ unsigned char version ;
3586
+ /** Source ip address */
3587
+ unsigned int src_ip_addr ;
3588
+ /** Destination ip address */
3589
+ unsigned int dest_ip_addr ;
3590
+ /** Source port */
3591
+ unsigned short src_port ;
3592
+ /** Destination port */
3593
+ unsigned short dest_port ;
3594
+ /** DSCP */
3595
+ unsigned char dscp ;
3596
+ /** Protocol */
3597
+ unsigned char protocol ;
3598
+ } __NRF_WIFI_PKD ;
3599
+
3600
+ /**
3601
+ * @brief This structure defines the parameters required for DMS operation.
3602
+ *
3603
+ */
3604
+
3605
+ struct nrf_wifi_umac_cmd_config_dms {
3606
+ /** Header @ref nrf_wifi_umac_hdr */
3607
+ struct nrf_wifi_umac_hdr umac_hdr ;
3608
+ /** DMS add info @ref nrf_wifi_umac_config_dms_info */
3609
+ struct nrf_wifi_umac_config_dms_info info ;
3610
+ /** Event type received */
3611
+ enum nrf_wifi_dms_event_type event_type ;
3612
+ /** 0->not received 1->received */
3613
+ unsigned char dms_resp_status ;
3614
+ } __NRF_WIFI_PKD ;
3615
+
3530
3616
#endif /* __HOST_RPU_UMAC_IF_H */
0 commit comments