1 /* 2 * Copyright (c) 2020, The Linux Foundation. All rights reserved. 3 * 4 * Permission to use, copy, modify, and/or distribute this software for any 5 * purpose with or without fee is hereby granted, provided that the above 6 * copyright notice and this permission notice appear in all copies. 7 * 8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 9 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 10 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 11 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 12 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 13 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 14 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 15 */ 16 17 #ifndef _HE_SIG_A_SU_INFO_H_ 18 #define _HE_SIG_A_SU_INFO_H_ 19 #if !defined(__ASSEMBLER__) 20 #endif 21 22 23 // ################ START SUMMARY ################# 24 // 25 // Dword Fields 26 // 0 format_indication[0], beam_change[1], dl_ul_flag[2], transmit_mcs[6:3], dcm[7], bss_color_id[13:8], reserved_0a[14], spatial_reuse[18:15], transmit_bw[20:19], cp_ltf_size[22:21], nsts[25:23], reserved_0b[31:26] 27 // 1 txop_duration[6:0], coding[7], ldpc_extra_symbol[8], stbc[9], txbf[10], packet_extension_a_factor[12:11], packet_extension_pe_disambiguity[13], reserved_1a[14], doppler_indication[15], crc[19:16], tail[25:20], dot11ax_su_extended[26], dot11ax_ext_ru_size[30:27], rx_ndp[31] 28 // 29 // ################ END SUMMARY ################# 30 31 #define NUM_OF_DWORDS_HE_SIG_A_SU_INFO 2 32 33 struct he_sig_a_su_info { 34 uint32_t format_indication : 1, //[0] 35 beam_change : 1, //[1] 36 dl_ul_flag : 1, //[2] 37 transmit_mcs : 4, //[6:3] 38 dcm : 1, //[7] 39 bss_color_id : 6, //[13:8] 40 reserved_0a : 1, //[14] 41 spatial_reuse : 4, //[18:15] 42 transmit_bw : 2, //[20:19] 43 cp_ltf_size : 2, //[22:21] 44 nsts : 3, //[25:23] 45 reserved_0b : 6; //[31:26] 46 uint32_t txop_duration : 7, //[6:0] 47 coding : 1, //[7] 48 ldpc_extra_symbol : 1, //[8] 49 stbc : 1, //[9] 50 txbf : 1, //[10] 51 packet_extension_a_factor : 2, //[12:11] 52 packet_extension_pe_disambiguity: 1, //[13] 53 reserved_1a : 1, //[14] 54 doppler_indication : 1, //[15] 55 crc : 4, //[19:16] 56 tail : 6, //[25:20] 57 dot11ax_su_extended : 1, //[26] 58 dot11ax_ext_ru_size : 4, //[30:27] 59 rx_ndp : 1; //[31] 60 }; 61 62 /* 63 64 format_indication 65 66 <enum 0 HE_SIGA_FORMAT_HE_TRIG> 67 68 <enum 1 HE_SIGA_FORMAT_SU_OR_EXT_SU> 69 70 <legal all> 71 72 beam_change 73 74 Indicates whether spatial mapping is changed between 75 legacy and HE portion of preamble. If not, channel 76 estimation can include legacy preamble to improve accuracy 77 78 <legal all> 79 80 dl_ul_flag 81 82 Differentiates between DL and UL transmission 83 84 85 86 <enum 0 DL_UL_FLAG_IS_DL_OR_TDLS> 87 88 <enum 1 DL_UL_FLAG_IS_UL> 89 90 <legal all> 91 92 transmit_mcs 93 94 Indicates the data MCS 95 96 97 98 Field Used by MAC HW 99 100 <legal all> 101 102 dcm 103 104 105 0: No DCM 106 107 1:DCM 108 109 <legal all> 110 111 bss_color_id 112 113 BSS color ID 114 115 116 117 Field Used by MAC HW 118 119 <legal all> 120 121 reserved_0a 122 123 Note: spec indicates this shall be set to 1 124 125 <legal 1> 126 127 spatial_reuse 128 129 Spatial reuse 130 131 132 133 For 20MHz one SR field corresponding to entire 20MHz 134 (other 3 fields indicate identical values) 135 136 For 40MHz two SR fields for each 20MHz (other 2 fields 137 indicate identical values) 138 139 For 80MHz four SR fields for each 20MHz 140 141 For 160MHz four SR fields for each 40MHz 142 143 <legal all> 144 145 transmit_bw 146 147 Bandwidth of the PPDU. 148 149 150 151 For HE SU PPDU 152 153 154 <enum 0 HE_SIG_A_BW20> 20 Mhz 155 156 <enum 1 HE_SIG_A_BW40> 40 Mhz 157 158 <enum 2 HE_SIG_A_BW80> 80 Mhz 159 160 <enum 3 HE_SIG_A_BW160> 160 MHz or 80+80 MHz 161 162 163 164 For HE Extended Range SU PPDU 165 166 Set to 0 for 242-tone RU 167 Set to 1 for right 106-tone RU within the primary 20 MHz 168 169 170 171 On RX side, Field Used by MAC HW 172 173 <legal all> 174 175 cp_ltf_size 176 177 Indicates the CP and HE-LTF type 178 179 180 181 <enum 0 OneX_LTF_0_8CP> 1xLTF + 0.8 us CP (See note for 182 proprietary mode) 183 184 <enum 1 TwoX_LTF_0_8CP> 2x LTF + 0.8 µs CP (See note 185 for proprietary mode) 186 187 <enum 2 TwoX_LTF_1_6CP> 2x LTF + 1.6 µs CP (See note 188 for proprietary mode) 189 190 191 192 <enum 3 FourX_LTF_0_8CP_3_2CP> 193 194 When DCM == 0 OR STBC == 0: 4x LTF + 3.2 µs CP 195 196 When DCM == 1 AND STBC == 1: 4x LTF + 0.8 µs CP. Note: 197 In this scenario, Neither DCM nor STBC is applied to HE data 198 field. 199 200 (See note for proprietary mode) 201 202 203 204 NOTE: 205 206 For QTI proprietary mode 207 208 If ( DCM == 1 ) and ( MCS > 0 ) and (STBC == 0) 209 210 0 = 1xLTF + 0.4 usec 211 212 1 = 2xLTF + 0.4 usec 213 214 2~3 = Reserved 215 216 217 218 <legal all> 219 220 nsts 221 222 223 224 225 For HE SU PPDU 226 227 228 229 For HE Extended Range PPDU 230 231 <legal all> 232 233 reserved_0b 234 235 <legal 0> 236 237 txop_duration 238 239 Indicates the remaining time in the current TXOP 240 241 242 243 Field Used by MAC HW 244 245 <legal all> 246 247 coding 248 249 Distinguishes between BCC and LDPC coding. 250 251 252 253 0: BCC 254 255 1: LDPC 256 257 <legal all> 258 259 ldpc_extra_symbol 260 261 If LDPC, 262 263 0: LDPC extra symbol not present 264 265 1: LDPC extra symbol present 266 267 Else 268 269 Set to 1 270 271 <legal all> 272 273 stbc 274 275 Indicates whether STBC is applied 276 277 0: No STBC 278 279 1: STBC 280 281 <legal all> 282 283 txbf 284 285 Indicates whether beamforming is applied 286 287 0: No beamforming 288 289 1: beamforming 290 291 <legal all> 292 293 packet_extension_a_factor 294 295 Common trigger info 296 297 298 299 the packet extension duration of the trigger-based PPDU 300 response with these two bits indicating the a-factor 301 302 303 304 <enum 0 a_factor_4> 305 306 <enum 1 a_factor_1> 307 308 <enum 2 a_factor_2> 309 310 <enum 3 a_factor_3> 311 312 313 314 <legal all> 315 316 packet_extension_pe_disambiguity 317 318 Common trigger info 319 320 321 322 the packet extension duration of the trigger-based PPDU 323 response with this bit indicating the PE-Disambiguity 324 325 <legal all> 326 327 reserved_1a 328 329 Note: per standard, set to 1 330 331 <legal 1> 332 333 doppler_indication 334 335 0: No Doppler support 336 337 1: Doppler support 338 339 <legal all> 340 341 crc 342 343 CRC for HE-SIG-A contents. 344 345 <legal all> 346 347 tail 348 349 <legal 0> 350 351 dot11ax_su_extended 352 353 TX side: 354 355 Set to 0 356 357 358 359 RX side: 360 361 On RX side, evaluated by MAC HW. This is the only way 362 for MAC RX to know that this was an HE_SIG_A_SU received in 363 'extended' format 364 365 366 367 368 <legal all> 369 370 dot11ax_ext_ru_size 371 372 TX side: 373 374 Set to 0 375 376 377 378 RX side: 379 380 Field only contains valid info when dot11ax_su_extended 381 is set. 382 383 384 385 On RX side, evaluated by MAC HW. This is the only way 386 for MAC RX to know what the number of based RUs was in this 387 extended range reception. It is used by the MAC to determine 388 the RU size for the response... 389 390 <legal all> 391 392 rx_ndp 393 394 TX side: 395 396 Set to 0 397 398 399 400 RX side:Valid on RX side only, and looked at by MAC HW 401 402 403 404 When set, PHY has received (expected) NDP frame 405 406 <legal all> 407 */ 408 409 410 /* Description HE_SIG_A_SU_INFO_0_FORMAT_INDICATION 411 412 <enum 0 HE_SIGA_FORMAT_HE_TRIG> 413 414 <enum 1 HE_SIGA_FORMAT_SU_OR_EXT_SU> 415 416 <legal all> 417 */ 418 #define HE_SIG_A_SU_INFO_0_FORMAT_INDICATION_OFFSET 0x00000000 419 #define HE_SIG_A_SU_INFO_0_FORMAT_INDICATION_LSB 0 420 #define HE_SIG_A_SU_INFO_0_FORMAT_INDICATION_MASK 0x00000001 421 422 /* Description HE_SIG_A_SU_INFO_0_BEAM_CHANGE 423 424 Indicates whether spatial mapping is changed between 425 legacy and HE portion of preamble. If not, channel 426 estimation can include legacy preamble to improve accuracy 427 428 <legal all> 429 */ 430 #define HE_SIG_A_SU_INFO_0_BEAM_CHANGE_OFFSET 0x00000000 431 #define HE_SIG_A_SU_INFO_0_BEAM_CHANGE_LSB 1 432 #define HE_SIG_A_SU_INFO_0_BEAM_CHANGE_MASK 0x00000002 433 434 /* Description HE_SIG_A_SU_INFO_0_DL_UL_FLAG 435 436 Differentiates between DL and UL transmission 437 438 439 440 <enum 0 DL_UL_FLAG_IS_DL_OR_TDLS> 441 442 <enum 1 DL_UL_FLAG_IS_UL> 443 444 <legal all> 445 */ 446 #define HE_SIG_A_SU_INFO_0_DL_UL_FLAG_OFFSET 0x00000000 447 #define HE_SIG_A_SU_INFO_0_DL_UL_FLAG_LSB 2 448 #define HE_SIG_A_SU_INFO_0_DL_UL_FLAG_MASK 0x00000004 449 450 /* Description HE_SIG_A_SU_INFO_0_TRANSMIT_MCS 451 452 Indicates the data MCS 453 454 455 456 Field Used by MAC HW 457 458 <legal all> 459 */ 460 #define HE_SIG_A_SU_INFO_0_TRANSMIT_MCS_OFFSET 0x00000000 461 #define HE_SIG_A_SU_INFO_0_TRANSMIT_MCS_LSB 3 462 #define HE_SIG_A_SU_INFO_0_TRANSMIT_MCS_MASK 0x00000078 463 464 /* Description HE_SIG_A_SU_INFO_0_DCM 465 466 467 0: No DCM 468 469 1:DCM 470 471 <legal all> 472 */ 473 #define HE_SIG_A_SU_INFO_0_DCM_OFFSET 0x00000000 474 #define HE_SIG_A_SU_INFO_0_DCM_LSB 7 475 #define HE_SIG_A_SU_INFO_0_DCM_MASK 0x00000080 476 477 /* Description HE_SIG_A_SU_INFO_0_BSS_COLOR_ID 478 479 BSS color ID 480 481 482 483 Field Used by MAC HW 484 485 <legal all> 486 */ 487 #define HE_SIG_A_SU_INFO_0_BSS_COLOR_ID_OFFSET 0x00000000 488 #define HE_SIG_A_SU_INFO_0_BSS_COLOR_ID_LSB 8 489 #define HE_SIG_A_SU_INFO_0_BSS_COLOR_ID_MASK 0x00003f00 490 491 /* Description HE_SIG_A_SU_INFO_0_RESERVED_0A 492 493 Note: spec indicates this shall be set to 1 494 495 <legal 1> 496 */ 497 #define HE_SIG_A_SU_INFO_0_RESERVED_0A_OFFSET 0x00000000 498 #define HE_SIG_A_SU_INFO_0_RESERVED_0A_LSB 14 499 #define HE_SIG_A_SU_INFO_0_RESERVED_0A_MASK 0x00004000 500 501 /* Description HE_SIG_A_SU_INFO_0_SPATIAL_REUSE 502 503 Spatial reuse 504 505 506 507 For 20MHz one SR field corresponding to entire 20MHz 508 (other 3 fields indicate identical values) 509 510 For 40MHz two SR fields for each 20MHz (other 2 fields 511 indicate identical values) 512 513 For 80MHz four SR fields for each 20MHz 514 515 For 160MHz four SR fields for each 40MHz 516 517 <legal all> 518 */ 519 #define HE_SIG_A_SU_INFO_0_SPATIAL_REUSE_OFFSET 0x00000000 520 #define HE_SIG_A_SU_INFO_0_SPATIAL_REUSE_LSB 15 521 #define HE_SIG_A_SU_INFO_0_SPATIAL_REUSE_MASK 0x00078000 522 523 /* Description HE_SIG_A_SU_INFO_0_TRANSMIT_BW 524 525 Bandwidth of the PPDU. 526 527 528 529 For HE SU PPDU 530 531 532 <enum 0 HE_SIG_A_BW20> 20 Mhz 533 534 <enum 1 HE_SIG_A_BW40> 40 Mhz 535 536 <enum 2 HE_SIG_A_BW80> 80 Mhz 537 538 <enum 3 HE_SIG_A_BW160> 160 MHz or 80+80 MHz 539 540 541 542 For HE Extended Range SU PPDU 543 544 Set to 0 for 242-tone RU 545 Set to 1 for right 106-tone RU within the primary 20 MHz 546 547 548 549 On RX side, Field Used by MAC HW 550 551 <legal all> 552 */ 553 #define HE_SIG_A_SU_INFO_0_TRANSMIT_BW_OFFSET 0x00000000 554 #define HE_SIG_A_SU_INFO_0_TRANSMIT_BW_LSB 19 555 #define HE_SIG_A_SU_INFO_0_TRANSMIT_BW_MASK 0x00180000 556 557 /* Description HE_SIG_A_SU_INFO_0_CP_LTF_SIZE 558 559 Indicates the CP and HE-LTF type 560 561 562 563 <enum 0 OneX_LTF_0_8CP> 1xLTF + 0.8 us CP (See note for 564 proprietary mode) 565 566 <enum 1 TwoX_LTF_0_8CP> 2x LTF + 0.8 µs CP (See note 567 for proprietary mode) 568 569 <enum 2 TwoX_LTF_1_6CP> 2x LTF + 1.6 µs CP (See note 570 for proprietary mode) 571 572 573 574 <enum 3 FourX_LTF_0_8CP_3_2CP> 575 576 When DCM == 0 OR STBC == 0: 4x LTF + 3.2 µs CP 577 578 When DCM == 1 AND STBC == 1: 4x LTF + 0.8 µs CP. Note: 579 In this scenario, Neither DCM nor STBC is applied to HE data 580 field. 581 582 (See note for proprietary mode) 583 584 585 586 NOTE: 587 588 For QTI proprietary mode 589 590 If ( DCM == 1 ) and ( MCS > 0 ) and (STBC == 0) 591 592 0 = 1xLTF + 0.4 usec 593 594 1 = 2xLTF + 0.4 usec 595 596 2~3 = Reserved 597 598 599 600 <legal all> 601 */ 602 #define HE_SIG_A_SU_INFO_0_CP_LTF_SIZE_OFFSET 0x00000000 603 #define HE_SIG_A_SU_INFO_0_CP_LTF_SIZE_LSB 21 604 #define HE_SIG_A_SU_INFO_0_CP_LTF_SIZE_MASK 0x00600000 605 606 /* Description HE_SIG_A_SU_INFO_0_NSTS 607 608 609 610 611 For HE SU PPDU 612 613 614 615 For HE Extended Range PPDU 616 617 <legal all> 618 */ 619 #define HE_SIG_A_SU_INFO_0_NSTS_OFFSET 0x00000000 620 #define HE_SIG_A_SU_INFO_0_NSTS_LSB 23 621 #define HE_SIG_A_SU_INFO_0_NSTS_MASK 0x03800000 622 623 /* Description HE_SIG_A_SU_INFO_0_RESERVED_0B 624 625 <legal 0> 626 */ 627 #define HE_SIG_A_SU_INFO_0_RESERVED_0B_OFFSET 0x00000000 628 #define HE_SIG_A_SU_INFO_0_RESERVED_0B_LSB 26 629 #define HE_SIG_A_SU_INFO_0_RESERVED_0B_MASK 0xfc000000 630 631 /* Description HE_SIG_A_SU_INFO_1_TXOP_DURATION 632 633 Indicates the remaining time in the current TXOP 634 635 636 637 Field Used by MAC HW 638 639 <legal all> 640 */ 641 #define HE_SIG_A_SU_INFO_1_TXOP_DURATION_OFFSET 0x00000004 642 #define HE_SIG_A_SU_INFO_1_TXOP_DURATION_LSB 0 643 #define HE_SIG_A_SU_INFO_1_TXOP_DURATION_MASK 0x0000007f 644 645 /* Description HE_SIG_A_SU_INFO_1_CODING 646 647 Distinguishes between BCC and LDPC coding. 648 649 650 651 0: BCC 652 653 1: LDPC 654 655 <legal all> 656 */ 657 #define HE_SIG_A_SU_INFO_1_CODING_OFFSET 0x00000004 658 #define HE_SIG_A_SU_INFO_1_CODING_LSB 7 659 #define HE_SIG_A_SU_INFO_1_CODING_MASK 0x00000080 660 661 /* Description HE_SIG_A_SU_INFO_1_LDPC_EXTRA_SYMBOL 662 663 If LDPC, 664 665 0: LDPC extra symbol not present 666 667 1: LDPC extra symbol present 668 669 Else 670 671 Set to 1 672 673 <legal all> 674 */ 675 #define HE_SIG_A_SU_INFO_1_LDPC_EXTRA_SYMBOL_OFFSET 0x00000004 676 #define HE_SIG_A_SU_INFO_1_LDPC_EXTRA_SYMBOL_LSB 8 677 #define HE_SIG_A_SU_INFO_1_LDPC_EXTRA_SYMBOL_MASK 0x00000100 678 679 /* Description HE_SIG_A_SU_INFO_1_STBC 680 681 Indicates whether STBC is applied 682 683 0: No STBC 684 685 1: STBC 686 687 <legal all> 688 */ 689 #define HE_SIG_A_SU_INFO_1_STBC_OFFSET 0x00000004 690 #define HE_SIG_A_SU_INFO_1_STBC_LSB 9 691 #define HE_SIG_A_SU_INFO_1_STBC_MASK 0x00000200 692 693 /* Description HE_SIG_A_SU_INFO_1_TXBF 694 695 Indicates whether beamforming is applied 696 697 0: No beamforming 698 699 1: beamforming 700 701 <legal all> 702 */ 703 #define HE_SIG_A_SU_INFO_1_TXBF_OFFSET 0x00000004 704 #define HE_SIG_A_SU_INFO_1_TXBF_LSB 10 705 #define HE_SIG_A_SU_INFO_1_TXBF_MASK 0x00000400 706 707 /* Description HE_SIG_A_SU_INFO_1_PACKET_EXTENSION_A_FACTOR 708 709 Common trigger info 710 711 712 713 the packet extension duration of the trigger-based PPDU 714 response with these two bits indicating the a-factor 715 716 717 718 <enum 0 a_factor_4> 719 720 <enum 1 a_factor_1> 721 722 <enum 2 a_factor_2> 723 724 <enum 3 a_factor_3> 725 726 727 728 <legal all> 729 */ 730 #define HE_SIG_A_SU_INFO_1_PACKET_EXTENSION_A_FACTOR_OFFSET 0x00000004 731 #define HE_SIG_A_SU_INFO_1_PACKET_EXTENSION_A_FACTOR_LSB 11 732 #define HE_SIG_A_SU_INFO_1_PACKET_EXTENSION_A_FACTOR_MASK 0x00001800 733 734 /* Description HE_SIG_A_SU_INFO_1_PACKET_EXTENSION_PE_DISAMBIGUITY 735 736 Common trigger info 737 738 739 740 the packet extension duration of the trigger-based PPDU 741 response with this bit indicating the PE-Disambiguity 742 743 <legal all> 744 */ 745 #define HE_SIG_A_SU_INFO_1_PACKET_EXTENSION_PE_DISAMBIGUITY_OFFSET 0x00000004 746 #define HE_SIG_A_SU_INFO_1_PACKET_EXTENSION_PE_DISAMBIGUITY_LSB 13 747 #define HE_SIG_A_SU_INFO_1_PACKET_EXTENSION_PE_DISAMBIGUITY_MASK 0x00002000 748 749 /* Description HE_SIG_A_SU_INFO_1_RESERVED_1A 750 751 Note: per standard, set to 1 752 753 <legal 1> 754 */ 755 #define HE_SIG_A_SU_INFO_1_RESERVED_1A_OFFSET 0x00000004 756 #define HE_SIG_A_SU_INFO_1_RESERVED_1A_LSB 14 757 #define HE_SIG_A_SU_INFO_1_RESERVED_1A_MASK 0x00004000 758 759 /* Description HE_SIG_A_SU_INFO_1_DOPPLER_INDICATION 760 761 0: No Doppler support 762 763 1: Doppler support 764 765 <legal all> 766 */ 767 #define HE_SIG_A_SU_INFO_1_DOPPLER_INDICATION_OFFSET 0x00000004 768 #define HE_SIG_A_SU_INFO_1_DOPPLER_INDICATION_LSB 15 769 #define HE_SIG_A_SU_INFO_1_DOPPLER_INDICATION_MASK 0x00008000 770 771 /* Description HE_SIG_A_SU_INFO_1_CRC 772 773 CRC for HE-SIG-A contents. 774 775 <legal all> 776 */ 777 #define HE_SIG_A_SU_INFO_1_CRC_OFFSET 0x00000004 778 #define HE_SIG_A_SU_INFO_1_CRC_LSB 16 779 #define HE_SIG_A_SU_INFO_1_CRC_MASK 0x000f0000 780 781 /* Description HE_SIG_A_SU_INFO_1_TAIL 782 783 <legal 0> 784 */ 785 #define HE_SIG_A_SU_INFO_1_TAIL_OFFSET 0x00000004 786 #define HE_SIG_A_SU_INFO_1_TAIL_LSB 20 787 #define HE_SIG_A_SU_INFO_1_TAIL_MASK 0x03f00000 788 789 /* Description HE_SIG_A_SU_INFO_1_DOT11AX_SU_EXTENDED 790 791 TX side: 792 793 Set to 0 794 795 796 797 RX side: 798 799 On RX side, evaluated by MAC HW. This is the only way 800 for MAC RX to know that this was an HE_SIG_A_SU received in 801 'extended' format 802 803 804 805 806 <legal all> 807 */ 808 #define HE_SIG_A_SU_INFO_1_DOT11AX_SU_EXTENDED_OFFSET 0x00000004 809 #define HE_SIG_A_SU_INFO_1_DOT11AX_SU_EXTENDED_LSB 26 810 #define HE_SIG_A_SU_INFO_1_DOT11AX_SU_EXTENDED_MASK 0x04000000 811 812 /* Description HE_SIG_A_SU_INFO_1_DOT11AX_EXT_RU_SIZE 813 814 TX side: 815 816 Set to 0 817 818 819 820 RX side: 821 822 Field only contains valid info when dot11ax_su_extended 823 is set. 824 825 826 827 On RX side, evaluated by MAC HW. This is the only way 828 for MAC RX to know what the number of based RUs was in this 829 extended range reception. It is used by the MAC to determine 830 the RU size for the response... 831 832 <legal all> 833 */ 834 #define HE_SIG_A_SU_INFO_1_DOT11AX_EXT_RU_SIZE_OFFSET 0x00000004 835 #define HE_SIG_A_SU_INFO_1_DOT11AX_EXT_RU_SIZE_LSB 27 836 #define HE_SIG_A_SU_INFO_1_DOT11AX_EXT_RU_SIZE_MASK 0x78000000 837 838 /* Description HE_SIG_A_SU_INFO_1_RX_NDP 839 840 TX side: 841 842 Set to 0 843 844 845 846 RX side:Valid on RX side only, and looked at by MAC HW 847 848 849 850 When set, PHY has received (expected) NDP frame 851 852 <legal all> 853 */ 854 #define HE_SIG_A_SU_INFO_1_RX_NDP_OFFSET 0x00000004 855 #define HE_SIG_A_SU_INFO_1_RX_NDP_LSB 31 856 #define HE_SIG_A_SU_INFO_1_RX_NDP_MASK 0x80000000 857 858 859 #endif // _HE_SIG_A_SU_INFO_H_ 860