Lines Matching +full:3 +full:- +full:ring
1 /* SPDX-License-Identifier: BSD-3-Clause-Clear */
3 * Copyright (c) 2018-2021 The Linux Foundation. All rights reserved.
4 * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
56 * Sw_buffer_cookie[19:17] = 3'b000: 20 MHz TX only
57 * Sw_buffer_cookie[19:17] = 3'b001: 40 MHz TX only
58 * Sw_buffer_cookie[19:17] = 3'b010: 80 MHz TX only
59 * Sw_buffer_cookie[19:17] = 3'b011: 160 MHz TX only
60 * Sw_buffer_cookie[19:17] = 3'b101: 240 MHz TX only
61 * Sw_buffer_cookie[19:17] = 3'b100: 320 MHz TX only
68 * Sw_buffer_cookie[19:16] = 4'b0011: pattern 3 only
94 HAL_PHYRX_ABORT_REQUEST = 3 /* 0x3 */,
617 * fragment MPDU to the REO destination ring without any reorder
625 * Indicates the MPDU was received as part of an A-MPDU.
671 #define RX_MSDU_DESC_INFO0_MSDU_LENGTH GENMASK(16, 3)
715 * field is still valid for MPDU frames without A-MSDU. It still
722 * any other ring.
756 * This packet needs intra-BSS routing by SW as the 'vdev_id'
762 * to support intra-BSS routing with multi-chip multi-link operation.
782 * The ID of the REO exit ring where the MSDU frame shall push
786 * Opaque service code between PPE and Wi-Fi
830 #define HAL_REO_DEST_RING_INFO0_ERROR_CODE GENMASK(7, 3)
858 * on from REO entrance ring to the REO destination ring.
862 * on from RXDMA all the way to the REO destination ring.
866 * Lower 32 bits of the 64-bit virtual address corresponding
871 * Upper 32 bits of the 64-bit virtual address corresponding
879 * Reason for pushing this frame to this exit ring. Values are
889 * and copied into the ring for easy FW/SW access.
896 * - NO re-order function is needed.
897 * - MPDU delinking is determined by the setting of Entrance
898 * ring field: SW_excection_mpdu_delink
899 * - Destination ring selection is based on the setting of
900 * the Entrance ring field SW_exception_destination _ring_valid
906 * Set to value 0x8 when msdu capture mode is enabled for this ring
909 * The buffer pointer ring id.
910 * 0 - Idle ring
911 * 1 - N refers to other rings.
915 * this ring has looped around the ring.
949 * RX-Descriptor ring can fetch free buffer from specific
1044 * on from REO entrance ring to the REO destination ring.
1058 * The id of the reo exit ring where the msdu frame shall push
1063 * Indicates that this REO entrance ring struct contains BAR info
1074 * Reason for pushing this frame to this exit ring. Values are
1090 * NO re-order function is needed.
1097 * MPDU on to the destination ring as is. This implies that
1110 * of sub-field Reo level mpdu frame info.
1124 * The buffer pointer ring id.
1125 * 0 - Idle ring
1126 * 1 - N refers to other rings.
1130 * this ring has looped around the ring.
1229 #define HAL_TCL_DATA_CMD_INFO3_CLASSIFY_INFO_SEL GENMASK(3, 2)
1262 HAL_TCL_ENCAP_TYPE_802_3 = 3,
1349 * which can be overridden by SW for pre-encrypted raw WiFi packets
1351 * 0 - FP_PARSE_IP: Use the flow-pointer based on parsing the IPv4
1353 * 1 - FP_USE_OVERRIDE: Use the who_classify_info_sel and
1354 * flow_override fields to select the flow-pointer
1361 * 1: To choose Flow 2 and 3 of any TID use this value.
1363 * 3: To choose Flow 6 and 7 of any TID use this value.
1376 * which can be overridden by SW for pre-encrypted raw WiFi packets
1378 * 0 - FP_USE_NON_UDP: Use the non-UDP flow pointer (flow 0)
1379 * 1 - FP_USE_UDP: Use the UDP flow pointer (flow 1)
1386 * If PMAC ID is all 1s (=> value 3), it indicates wildcard
1414 * The buffer pointer ring ID.
1415 * 0 refers to the IDLE ring
1416 * 1 - N refers to other rings
1421 * producer of entries into the Ring has looped around the
1422 * ring.
1429 * In case SW is the consumer of the ring entries, it can
1432 * check where the head pointer' of the ring is located once
1434 * entries have been put into this ring...
1527 * Enable generation of 32-bit Toeplitz-LFSR hash for
1529 * ring entry of the gather copy cycle in taken into account.
1532 * Treats source memory organization as big-endian. For
1533 * each dword read (4 bytes), the byte 0 is swapped with byte 3
1535 * In case of gather field in first source ring entry of
1539 * Treats destination memory organization as big-endian.
1541 * byte 3 and byte 1 is swapped with byte 2.
1542 * In case of gather field in first source ring entry of
1559 * In case of gather field in first source ring entry of
1569 * The buffer pointer ring ID.
1570 * 0 refers to the IDLE ring
1571 * 1 - N refers to other rings
1572 * Helps with debugging when dumping ring contents.
1576 * producer of entries into the Ring has looped around the
1577 * ring.
1584 * In case SW is the consumer of the ring entries, it can
1587 * check where the head pointer' of the ring is located once
1589 * entries have been put into this ring...
1618 * The buffer pointer ring ID.
1619 * 0 refers to the IDLE ring
1620 * 1 - N refers to other rings
1621 * Helps with debugging when dumping ring contents.
1625 * producer of entries into the Ring has looped around the
1626 * ring.
1633 * In case SW is the consumer of the ring entries, it can
1636 * check where the head pointer' of the ring is located once
1638 * entries have been put into this ring...
1693 * In case of gather field in first source ring entry of
1700 * The buffer pointer ring ID.
1701 * 0 refers to the IDLE ring
1702 * 1 - N refers to other rings
1703 * Helps with debugging when dumping ring contents.
1707 * producer of entries into the Ring has looped around the
1708 * ring.
1715 * In case SW is the consumer of the ring entries, it can
1718 * check where the head pointer' of the ring is located once
1720 * entries have been put into this ring...
1727 #define HAL_TX_RATE_STATS_INFO0_BW GENMASK(3, 1)
1837 #define HAL_WBM_COMPL_RX_INFO0_BM_ACTION GENMASK(5, 3)
1895 #define HAL_WBM_RELEASE_TX_INFO0_BM_ACTION GENMASK(5, 3)
1928 #define HAL_WBM_RELEASE_RX_INFO0_BM_ACTION GENMASK(5, 3)
1964 #define HAL_WBM_RELEASE_INFO0_BM_ACTION GENMASK(5, 3)
1993 * HTT tx status is overlaid on wbm_release ring on 4-byte words 2, 3, 4 and 5
2010 * the idle link descriptor ring or do link related activity OR
2012 * to the buffer descriptor ring.
2016 * producer of entries into the Buffer Manager Ring has looped
2017 * around the ring.
2024 * In case SW is the consumer of the ring entries, it can
2027 * check where the head pointer' of the ring is located once
2029 * entries have been put into this ring...
2036 * enum hal_wbm_tqm_rel_reason - TQM release reason code
2112 * Indicates why RXDMA pushed the frame to this ring
2137 * <enum 3 rxdma_decrypt_err>CRYPTO reported a decryption
2156 * <enum 9 rxdma_amsdu_parse_err>RX OLE reported an A-MSDU
2171 * <enum 14 rxdma_amsdu_fragment_err>Rx PCU reported A-MSDU
2186 * When set, this SW monitor ring struct contains BAR info
2231 * It help to identify the ring that is being looked
2238 * producer of entries into this Ring has looped around the
2239 * ring.
2245 * In case SW is the consumer of the ring entries, it can
2248 * check where the head pointer' of the ring is located once
2250 * entries have been put into this ring...
2282 #define HAL_DESC_HDR_INFO0_OWNER GENMASK(3, 0)
2338 #define HAL_RX_REO_QUEUE_INFO0_DIS_DUP_DETECTION BIT(3)
2409 * Indicates which of the 3 link descriptor counters shall be incremented
2415 * When set, REO has been instructed to not perform the actual re-ordering
2432 * A value 255 means 256 bitmap, 63 means 64 bitmap, 0 (means non-BA
2433 * session, with window size of 0). The 3 values here are the main values
2438 * A BA window size of 1 - 105, means that there is 1 rx_reo_queue_ext.
2439 * A BA window size of 106 - 210, means that there are 2 rx_reo_queue_ext.
2440 * A BA window size of 211 - 256, means that there are 3 rx_reo_queue_ext.
2557 * in the command ring, before the execution started.
2569 #define HAL_REO_GET_QUEUE_STATS_STATUS_INFO2_WINDOW_JMP2K GENMASK(3, 0)
2624 * in the re-order queue. The bitmap is Fully managed by HW.
2658 * (Window SSN - 256) - (Window SSN - 1).
2668 * entries into this Ring has looped around the ring.
2695 * 0 - No error has been detected while executing this command
2696 * 1 - Error detected. The resource to be used for blocking was
2701 * entries into this Ring has looped around the ring.
2730 * 0 - No error has been detected while executing this command
2731 * 1 - An error in the blocking resource management was detected
2736 * 0 - No blocking related errors found
2737 * 1 - Blocking resource is already in use
2738 * 2 - Resource requested to be unblocked, was not blocked
2744 * 0 - miss; 1 - hit
2757 * 0 - No error found
2758 * 1 - HW interface is still busy
2759 * 2 - Line currently locked. Used for one line flush command
2760 * 3 - At least one line is still locked.
2768 * entries into this Ring has looped around the ring.
2790 * 0 - No error has been detected while executing this command
2791 * 1 - The blocking resource was not in use, and therefore it could
2796 * 0 - Unblock a blocking resource
2797 * 1 - The entire cache usage is unblock
2801 * entries into this Ring has looped around the ring.
2827 * 0 - No error has been detected while executing this command
2828 * 1 - Command not properly executed and returned with error
2844 * entries into this Ring has looped around the ring.
2883 * entries into this Ring has looped around the ring.
2911 * Lower 32-bit physical address of the buffer pointer from the source ring.
2913 * bit range 7-0 : upper 8 bit of the physical address.
2914 * bit range 31-8 : reserved.
2940 * bit 0 -17 buf_id to track the skb's vaddr.