dp_li.h 2.1 KB

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