dp_li.h 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. /*
  2. * Copyright (c) 2021 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. #ifndef __DP_LI_H
  19. #define __DP_LI_H
  20. #include <dp_types.h>
  21. #include <hal_li_tx.h>
  22. /**
  23. * struct dp_soc_li - Extended DP soc for LI targets
  24. * @soc: dp soc structure
  25. */
  26. struct dp_soc_li {
  27. struct dp_soc soc;
  28. };
  29. /**
  30. * struct dp_pdev_li - Extended DP pdev for LI targets
  31. * @pdev: dp_pdev structure
  32. */
  33. struct dp_pdev_li {
  34. struct dp_pdev pdev;
  35. };
  36. /**
  37. * struct dp_vdev_li - Extended DP vdev for LI targets
  38. * @vdev: dp_vdev structure
  39. */
  40. struct dp_vdev_li {
  41. struct dp_vdev vdev;
  42. };
  43. /**
  44. * struct dp_peer_li - Extended DP peer for LI targets
  45. * @peer: dp_peer structure
  46. */
  47. struct dp_peer_li {
  48. struct dp_peer peer;
  49. };
  50. /**
  51. * dp_get_soc_context_size_LI() - get context size for dp_soc_li
  52. *
  53. * Return: value in bytes for LI specific soc structure
  54. */
  55. qdf_size_t dp_get_soc_context_size_li(void);
  56. /**
  57. * dp_initialize_arch_ops_li() - initialize LI specific arch ops
  58. * @arch_ops: arch ops pointer
  59. *
  60. * Return: none
  61. */
  62. void dp_initialize_arch_ops_li(struct dp_arch_ops *arch_ops);
  63. /**
  64. * dp_get_context_size_li() - get LI specific size for peer/vdev/pdev/soc
  65. * @arch_ops: arch ops pointer
  66. *
  67. * Return: size in bytes for the context_type
  68. */
  69. qdf_size_t dp_get_context_size_li(enum dp_context_type context_type);
  70. #endif