macrx_abort_request_info.h 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. /*
  2. * Copyright (c) 2019, 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. #ifndef _MACRX_ABORT_REQUEST_INFO_H_
  17. #define _MACRX_ABORT_REQUEST_INFO_H_
  18. #if !defined(__ASSEMBLER__)
  19. #endif
  20. // ################ START SUMMARY #################
  21. //
  22. // Dword Fields
  23. // 0 macrx_abort_reason[7:0], reserved_0[15:8]
  24. //
  25. // ################ END SUMMARY #################
  26. #define NUM_OF_WORDS_MACRX_ABORT_REQUEST_INFO 1
  27. struct macrx_abort_request_info {
  28. uint16_t macrx_abort_reason : 8, //[7:0]
  29. reserved_0 : 8; //[15:8]
  30. };
  31. /*
  32. macrx_abort_reason
  33. <enum 0 macrx_abort_sw_initiated>
  34. <enum 1 macrx_abort_obss_reception> Upon receiving this
  35. abort reason, PHY should stop reception of the current frame
  36. and go back into a search mode
  37. <enum 2 macrx_abort_other>
  38. <enum 3 macrx_abort_sw_initiated_channel_switch > MAC FW
  39. issued an abort for channel switch reasons
  40. <enum 4 macrx_abort_sw_initiated_power_save > MAC FW
  41. issued an abort power save reasons
  42. <enum 5 macrx_abort_too_much_bad_data > RXPCU is
  43. terminating the current ongoing reception, as the data that
  44. MAC is receiving seems to be all garbage... The PER is too
  45. high, or in case of MU UL, Likely the trigger frame never
  46. got properly received by any of the targeted MU UL devices.
  47. After the abort, PHYRX can resume a normal search mode.
  48. <legal 0-5>
  49. reserved_0
  50. <legal 0>
  51. */
  52. /* Description MACRX_ABORT_REQUEST_INFO_0_MACRX_ABORT_REASON
  53. <enum 0 macrx_abort_sw_initiated>
  54. <enum 1 macrx_abort_obss_reception> Upon receiving this
  55. abort reason, PHY should stop reception of the current frame
  56. and go back into a search mode
  57. <enum 2 macrx_abort_other>
  58. <enum 3 macrx_abort_sw_initiated_channel_switch > MAC FW
  59. issued an abort for channel switch reasons
  60. <enum 4 macrx_abort_sw_initiated_power_save > MAC FW
  61. issued an abort power save reasons
  62. <enum 5 macrx_abort_too_much_bad_data > RXPCU is
  63. terminating the current ongoing reception, as the data that
  64. MAC is receiving seems to be all garbage... The PER is too
  65. high, or in case of MU UL, Likely the trigger frame never
  66. got properly received by any of the targeted MU UL devices.
  67. After the abort, PHYRX can resume a normal search mode.
  68. <legal 0-5>
  69. */
  70. #define MACRX_ABORT_REQUEST_INFO_0_MACRX_ABORT_REASON_OFFSET 0x00000000
  71. #define MACRX_ABORT_REQUEST_INFO_0_MACRX_ABORT_REASON_LSB 0
  72. #define MACRX_ABORT_REQUEST_INFO_0_MACRX_ABORT_REASON_MASK 0x000000ff
  73. /* Description MACRX_ABORT_REQUEST_INFO_0_RESERVED_0
  74. <legal 0>
  75. */
  76. #define MACRX_ABORT_REQUEST_INFO_0_RESERVED_0_OFFSET 0x00000000
  77. #define MACRX_ABORT_REQUEST_INFO_0_RESERVED_0_LSB 8
  78. #define MACRX_ABORT_REQUEST_INFO_0_RESERVED_0_MASK 0x0000ff00
  79. #endif // _MACRX_ABORT_REQUEST_INFO_H_