cdp_txrx_bus.h 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  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. /**
  27. * @file cdp_txrx_bus.h
  28. * @brief Define the host data path bus related functions
  29. */
  30. #ifndef _CDP_TXRX_BUS_H_
  31. #define _CDP_TXRX_BUS_H_
  32. /**
  33. * cdp_bus_suspend() - suspend bus
  34. * @soc - data path soc handle
  35. * @ppdev: data path pdev handle
  36. *
  37. * suspend bus
  38. *
  39. * return QDF_STATUS_SUCCESS suspend is not implemented or suspend done
  40. */
  41. static inline QDF_STATUS cdp_bus_suspend(ol_txrx_soc_handle soc,
  42. struct cdp_pdev *ppdev)
  43. {
  44. if (!soc || !soc->ops || !soc->ops->bus_ops) {
  45. QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
  46. "%s invalid instance", __func__);
  47. return QDF_STATUS_E_INVAL;
  48. }
  49. if (soc->ops->bus_ops->bus_suspend)
  50. return soc->ops->bus_ops->bus_suspend(ppdev);
  51. return QDF_STATUS_E_NOSUPPORT;
  52. }
  53. /**
  54. * cdp_bus_resume() - resume bus
  55. * @soc - data path soc handle
  56. * @ppdev: data path pdev handle
  57. *
  58. * resume bus
  59. *
  60. * return QDF_STATUS_SUCCESS resume is not implemented or suspend done
  61. */
  62. static inline QDF_STATUS cdp_bus_resume(ol_txrx_soc_handle soc,
  63. struct cdp_pdev *ppdev)
  64. {
  65. if (!soc || !soc->ops || !soc->ops->bus_ops) {
  66. QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
  67. "%s invalid instance", __func__);
  68. return QDF_STATUS_E_INVAL;
  69. }
  70. if (soc->ops->bus_ops->bus_resume)
  71. return soc->ops->bus_ops->bus_resume(ppdev);
  72. return QDF_STATUS_E_NOSUPPORT;
  73. }
  74. #endif /* _CDP_TXRX_BUS_H_ */