blob: cda963e45254ed43733f74a878a54250a44201fa [file] [log] [blame]
Dhanashri Atre9c222b12016-03-22 13:26:13 -07001/*
Rakesh Pillai1d4d12e2019-09-13 04:15:08 +05302 * Copyright (c) 2016-2017, 2019 The Linux Foundation. All rights reserved.
Dhanashri Atre9c222b12016-03-22 13:26:13 -07003 *
Dhanashri Atre9c222b12016-03-22 13:26:13 -07004 * 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
Yun Park27f58332017-04-03 08:36:51 -070019/**
Dhanashri Atre9c222b12016-03-22 13:26:13 -070020 * @file cdp_txrx_bus.h
21 * @brief Define the host data path bus related functions
22 */
23#ifndef _CDP_TXRX_BUS_H_
24#define _CDP_TXRX_BUS_H_
25
Leo Changdb6358c2016-09-27 17:00:52 -070026/**
27 * cdp_bus_suspend() - suspend bus
Rakesh Pillai1d4d12e2019-09-13 04:15:08 +053028 * @soc: data path soc handle
29 * @pdev_id: id of dp pdev handle
Leo Changdb6358c2016-09-27 17:00:52 -070030 *
31 * suspend bus
32 *
33 * return QDF_STATUS_SUCCESS suspend is not implemented or suspend done
34 */
Dustin Brown4a3b96b2017-05-10 15:49:38 -070035static inline QDF_STATUS cdp_bus_suspend(ol_txrx_soc_handle soc,
Rakesh Pillai1d4d12e2019-09-13 04:15:08 +053036 uint8_t pdev_id)
Leo Changdb6358c2016-09-27 17:00:52 -070037{
38 if (!soc || !soc->ops || !soc->ops->bus_ops) {
39 QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
40 "%s invalid instance", __func__);
41 return QDF_STATUS_E_INVAL;
42 }
43
44 if (soc->ops->bus_ops->bus_suspend)
Rakesh Pillai1d4d12e2019-09-13 04:15:08 +053045 return soc->ops->bus_ops->bus_suspend(soc, pdev_id);
Leo Changdb6358c2016-09-27 17:00:52 -070046 return QDF_STATUS_E_NOSUPPORT;
47}
48
49/**
50 * cdp_bus_resume() - resume bus
Rakesh Pillai1d4d12e2019-09-13 04:15:08 +053051 * @soc: data path soc handle
52 * @pdev_id: id of dp pdev handle
Leo Changdb6358c2016-09-27 17:00:52 -070053 *
54 * resume bus
55 *
56 * return QDF_STATUS_SUCCESS resume is not implemented or suspend done
57 */
Dustin Brown4a3b96b2017-05-10 15:49:38 -070058static inline QDF_STATUS cdp_bus_resume(ol_txrx_soc_handle soc,
Rakesh Pillai1d4d12e2019-09-13 04:15:08 +053059 uint8_t pdev_id)
Leo Changdb6358c2016-09-27 17:00:52 -070060{
61 if (!soc || !soc->ops || !soc->ops->bus_ops) {
62 QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
63 "%s invalid instance", __func__);
64 return QDF_STATUS_E_INVAL;
65 }
66
67 if (soc->ops->bus_ops->bus_resume)
Rakesh Pillai1d4d12e2019-09-13 04:15:08 +053068 return soc->ops->bus_ops->bus_resume(soc, pdev_id);
Leo Changdb6358c2016-09-27 17:00:52 -070069 return QDF_STATUS_E_NOSUPPORT;
70}
Dhanashri Atre9c222b12016-03-22 13:26:13 -070071
72#endif /* _CDP_TXRX_BUS_H_ */