11n_rxreorder.h 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. /*
  2. * Marvell Wireless LAN device driver: 802.11n RX Re-ordering
  3. *
  4. * Copyright (C) 2011, Marvell International Ltd.
  5. *
  6. * This software file (the "File") is distributed by Marvell International
  7. * Ltd. under the terms of the GNU General Public License Version 2, June 1991
  8. * (the "License"). You may use, redistribute and/or modify this File in
  9. * accordance with the terms and conditions of the License, a copy of which
  10. * is available by writing to the Free Software Foundation, Inc.,
  11. * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or on the
  12. * worldwide web at http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
  13. *
  14. * THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE
  15. * IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE
  16. * ARE EXPRESSLY DISCLAIMED. The License provides additional details about
  17. * this warranty disclaimer.
  18. */
  19. #ifndef _MWIFIEX_11N_RXREORDER_H_
  20. #define _MWIFIEX_11N_RXREORDER_H_
  21. #define MIN_FLUSH_TIMER_MS 50
  22. #define PKT_TYPE_BAR 0xE7
  23. #define MAX_TID_VALUE (2 << 11)
  24. #define TWOPOW11 (2 << 10)
  25. #define BLOCKACKPARAM_TID_POS 2
  26. #define BLOCKACKPARAM_AMSDU_SUPP_MASK 0x1
  27. #define BLOCKACKPARAM_WINSIZE_POS 6
  28. #define DELBA_TID_POS 12
  29. #define DELBA_INITIATOR_POS 11
  30. #define TYPE_DELBA_SENT 1
  31. #define TYPE_DELBA_RECEIVE 2
  32. #define IMMEDIATE_BLOCK_ACK 0x2
  33. #define ADDBA_RSP_STATUS_ACCEPT 0
  34. int mwifiex_11n_rx_reorder_pkt(struct mwifiex_private *,
  35. u16 seqNum,
  36. u16 tid, u8 *ta,
  37. u8 pkttype, void *payload);
  38. void mwifiex_11n_delete_ba_stream_tbl(struct mwifiex_private *priv, int Tid,
  39. u8 *PeerMACAddr, u8 type,
  40. int initiator);
  41. void mwifiex_11n_ba_stream_timeout(struct mwifiex_private *priv,
  42. struct host_cmd_ds_11n_batimeout *event);
  43. int mwifiex_ret_11n_addba_resp(struct mwifiex_private *priv,
  44. struct host_cmd_ds_command
  45. *resp);
  46. int mwifiex_cmd_11n_delba(struct host_cmd_ds_command *cmd,
  47. void *data_buf);
  48. int mwifiex_cmd_11n_addba_rsp_gen(struct mwifiex_private *priv,
  49. struct host_cmd_ds_command
  50. *cmd, void *data_buf);
  51. int mwifiex_cmd_11n_addba_req(struct host_cmd_ds_command *cmd,
  52. void *data_buf);
  53. void mwifiex_11n_cleanup_reorder_tbl(struct mwifiex_private *priv);
  54. struct mwifiex_rx_reorder_tbl *mwifiex_11n_get_rxreorder_tbl(struct
  55. mwifiex_private
  56. *priv, int tid,
  57. u8 *ta);
  58. #endif /* _MWIFIEX_11N_RXREORDER_H_ */