Lines Matching +full:4 +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.
65 * Sw_buffer_cookie[19:16] = 4'b0000: pattern 0 only
66 * Sw_buffer_cookie[19:16] = 4'b0001: pattern 1 only
67 * Sw_buffer_cookie[19:16] = 4'b0010: pattern 2 only
68 * Sw_buffer_cookie[19:16] = 4'b0011: pattern 3 only
69 * Sw_buffer_cookie[19:16] = 4'b0100: pattern 4 only
70 * Sw_buffer_cookie[19:16] = 4'b0101: pattern 5 only
71 * Sw_buffer_cookie[19:16] = 4'b0110: pattern 6 only
72 * Sw_buffer_cookie[19:16] = 4'b0111: pattern 7 only
73 * Sw_buffer_cookie[19:16] = 4'b1000: pattern 8 only
74 * Sw_buffer_cookie[19:16] = 4'b1001: pattern 9 only
75 * Sw_buffer_cookie[19:16] = 4'b1010: pattern 10 only
76 * Sw_buffer_cookie[19:16] = 4'b1011: pattern 11 only
95 HAL_PHYRX_USER_ABORT_NOTIFICATION = 4 /* 0x4 */,
573 #define HAL_TLV_ALIGN 4
617 * fragment MPDU to the REO destination ring without any reorder
625 * Indicates the MPDU was received as part of an A-MPDU.
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.
769 #define RX_MSDU_EXT_DESC_INFO0_REO_DEST_IND GENMASK(4, 0)
782 * The ID of the REO exit ring where the MSDU frame shall push
786 * Opaque service code between PPE and Wi-Fi
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.
1230 #define HAL_TCL_DATA_CMD_INFO3_TID GENMASK(7, 4)
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
1362 * 2: To choose Flow 4 and 5 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)
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.
1540 * For each dword write (4 bytes), the byte 0 is swapped with
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...
1728 #define HAL_TX_RATE_STATS_INFO0_PKT_TYPE GENMASK(7, 4)
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
2141 * <enum 4 rxdma_tkip_mic_err>CRYPTO reported a TKIP MIC
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...
2277 #define HAL_DESC_REO_OWNED 4
2283 #define HAL_DESC_HDR_INFO0_BUF_TYPE GENMASK(7, 4)
2307 __le32 pn[4];
2339 #define HAL_RX_REO_QUEUE_INFO0_SOFT_REORDER_EN BIT(4)
2363 #define HAL_RX_REO_QUEUE_INFO3_TIMEOUT_COUNT GENMASK(9, 4)
2379 __le32 pn[4];
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
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.
2517 __le32 pn[4];
2557 * in the command ring, before the execution started.
2570 #define HAL_REO_GET_QUEUE_STATS_STATUS_INFO2_TIMEOUT_COUNT GENMASK(9, 4)
2585 __le32 pn[4];
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.