wlan_psoc_mlme.h 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  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. /**
  17. * DOC: Define PSOC MLME structure
  18. */
  19. #ifndef _WLAN_PSOC_MLME_H_
  20. #define _WLAN_PSOC_MLME_H_
  21. #include <wlan_ext_mlme_obj_types.h>
  22. #include <wlan_vdev_mgr_tgt_if_rx_defs.h>
  23. #include <qdf_timer.h>
  24. /* Max RNR size given max vaps are 16 */
  25. #define MAX_RNR_SIZE 256
  26. /**
  27. * struct wlan_rnr_global_cache - RNR cache buffer per soc
  28. * @rnr_buf: RNR cache buffer
  29. * @rnr_cnt: Count of APs in cache
  30. * @rnr_size: Size of RNR cache (RNR IE)
  31. */
  32. struct wlan_6ghz_rnr_global_cache {
  33. char rnr_buf[MAX_RNR_SIZE];
  34. int rnr_cnt;
  35. uint16_t rnr_size;
  36. };
  37. /**
  38. * struct psoc_mlme_obj - PSoC MLME component object
  39. * @psoc: PSoC object
  40. * @ext_psoc_ptr: PSoC legacy pointer
  41. * @psoc_vdev_rt: PSoC Vdev response timer
  42. * @psoc_mlme_wakelock: Wakelock to prevent system going to suspend
  43. * @rnr_6ghz_cache: Cache of 6Ghz vap in RNR ie format
  44. */
  45. struct psoc_mlme_obj {
  46. struct wlan_objmgr_psoc *psoc;
  47. mlme_psoc_ext_t *ext_psoc_ptr;
  48. struct vdev_response_timer psoc_vdev_rt[WLAN_UMAC_PSOC_MAX_VDEVS];
  49. #ifdef FEATURE_VDEV_RSP_WAKELOCK
  50. struct psoc_mlme_wakelock psoc_mlme_wakelock;
  51. #endif
  52. struct wlan_6ghz_rnr_global_cache rnr_6ghz_cache;
  53. };
  54. #endif