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