cdp_txrx_ocb.h 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. /*
  2. * Copyright (c) 2016-2017 The Linux Foundation. All rights reserved.
  3. *
  4. * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
  5. *
  6. *
  7. * Permission to use, copy, modify, and/or distribute this software for
  8. * any purpose with or without fee is hereby granted, provided that the
  9. * above copyright notice and this permission notice appear in all
  10. * copies.
  11. *
  12. * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
  13. * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
  14. * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
  15. * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
  16. * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
  17. * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
  18. * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  19. * PERFORMANCE OF THIS SOFTWARE.
  20. */
  21. /*
  22. * This file was originally distributed by Qualcomm Atheros, Inc.
  23. * under proprietary terms before Copyright ownership was assigned
  24. * to the Linux Foundation.
  25. */
  26. #ifndef _CDP_TXRX_OCB_H_
  27. #define _CDP_TXRX_OCB_H_
  28. #include <cdp_txrx_mob_def.h>
  29. #include "cdp_txrx_handle.h"
  30. /**
  31. * cdp_set_ocb_chan_info() - set OCB channel info to vdev.
  32. * @soc - data path soc handle
  33. * @vdev: vdev handle
  34. * @ocb_set_chan: OCB channel information to be set in vdev.
  35. *
  36. * Return: NONE
  37. */
  38. static inline void
  39. cdp_set_ocb_chan_info(ol_txrx_soc_handle soc, struct cdp_vdev *vdev,
  40. struct ol_txrx_ocb_set_chan ocb_set_chan)
  41. {
  42. if (!soc || !soc->ops || !soc->ops->ocb_ops) {
  43. QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
  44. "%s invalid instance", __func__);
  45. return;
  46. }
  47. if (soc->ops->ocb_ops->set_ocb_chan_info)
  48. return soc->ops->ocb_ops->set_ocb_chan_info(vdev,
  49. ocb_set_chan);
  50. return;
  51. }
  52. /**
  53. * cdp_get_ocb_chan_info() - return handle to vdev ocb_channel_info
  54. * @soc - data path soc handle
  55. * @vdev: vdev handle
  56. *
  57. * Return: handle to struct ol_txrx_ocb_chan_info
  58. */
  59. static inline struct ol_txrx_ocb_chan_info *
  60. cdp_get_ocb_chan_info(ol_txrx_soc_handle soc, struct cdp_vdev *vdev)
  61. {
  62. if (!soc || !soc->ops || !soc->ops->ocb_ops) {
  63. QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
  64. "%s invalid instance", __func__);
  65. return NULL;
  66. }
  67. if (soc->ops->ocb_ops->get_ocb_chan_info)
  68. return soc->ops->ocb_ops->get_ocb_chan_info(vdev);
  69. return NULL;
  70. }
  71. #endif /* _CDP_TXRX_OCB_H_ */