/* SPDX-License-Identifier: BSD-3-Clause-Clear */
/*
* Copyright (c) 2018-2019 The Linux Foundation. All rights reserved.
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
*/
#ifndef ATH11K_RX_DESC_H
#define ATH11K_RX_DESC_H
enum rx_desc_rxpcu_filter {
RX_DESC_RXPCU_FILTER_PASS,
RX_DESC_RXPCU_FILTER_MONITOR_CLIENT,
RX_DESC_RXPCU_FILTER_MONITOR_OTHER,
};
/* rxpcu_filter_pass
* This MPDU passed the normal frame filter programming of rxpcu.
*
* rxpcu_filter_monitor_client
* This MPDU did not pass the regular frame filter and would
* have been dropped, were it not for the frame fitting into the
* 'monitor_client' category.
*
* rxpcu_filter_monitor_other
* This MPDU did not pass the regular frame filter and also did
* not pass the rxpcu_monitor_client filter. It would have been
* dropped accept that it did pass the 'monitor_other' category.
*/
#define RX_DESC_INFO0_RXPCU_MPDU_FITLER GENMASK(1, 0)
#define RX_DESC_INFO0_SW_FRAME_GRP_ID GENMASK(8, 2)
enum rx_desc_sw_frame_grp_id {
RX_DESC_SW_FRAME_GRP_ID_NDP_FRAME,
RX_DESC_SW_FRAME_GRP_ID_MCAST_DATA,
RX_DESC_SW_FRAME_GRP_ID_UCAST_DATA,
RX_DESC_SW_FRAME_GRP_ID_NULL_DATA,
RX_DESC_SW_FRAME_GRP_ID_MGMT_0000,
RX_DESC_SW_FRAME_GRP_ID_MGMT_0001,
RX_DESC_SW_FRAME_GRP_ID_MGMT_0010,
RX_DESC_SW_FRAME_GRP_ID_MGMT_0011,
RX_DESC_SW_FRAME_GRP_ID_MGMT_0100,
RX_DESC_SW_FRAME_GRP_ID_MGMT_0101,
RX_DESC_SW_FRAME_GRP_ID_MGMT_0110,
RX_DESC_SW_FRAME_GRP_ID_MGMT_0111,
RX_DESC_SW_FRAME_GRP_ID_MGMT_1000,
RX_DESC_SW_FRAME_GRP_ID_MGMT_1001