1 /* 2 * Copyright (c) 2016-2017 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 19 #ifndef _CDP_TXRX_OCB_H_ 20 #define _CDP_TXRX_OCB_H_ 21 #include <cdp_txrx_mob_def.h> 22 #include "cdp_txrx_handle.h" 23 /** 24 * cdp_set_ocb_chan_info() - set OCB channel info to vdev. 25 * @soc - data path soc handle 26 * @vdev: vdev handle 27 * @ocb_set_chan: OCB channel information to be set in vdev. 28 * 29 * Return: NONE 30 */ 31 static inline void 32 cdp_set_ocb_chan_info(ol_txrx_soc_handle soc, struct cdp_vdev *vdev, 33 struct ol_txrx_ocb_set_chan ocb_set_chan) 34 { 35 if (!soc || !soc->ops || !soc->ops->ocb_ops) { 36 QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL, 37 "%s invalid instance", __func__); 38 return; 39 } 40 41 if (soc->ops->ocb_ops->set_ocb_chan_info) 42 soc->ops->ocb_ops->set_ocb_chan_info(vdev, 43 ocb_set_chan); 44 45 } 46 /** 47 * cdp_get_ocb_chan_info() - return handle to vdev ocb_channel_info 48 * @soc - data path soc handle 49 * @vdev: vdev handle 50 * 51 * Return: handle to struct ol_txrx_ocb_chan_info 52 */ 53 static inline struct ol_txrx_ocb_chan_info * 54 cdp_get_ocb_chan_info(ol_txrx_soc_handle soc, struct cdp_vdev *vdev) 55 { 56 if (!soc || !soc->ops || !soc->ops->ocb_ops) { 57 QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL, 58 "%s invalid instance", __func__); 59 return NULL; 60 } 61 62 if (soc->ops->ocb_ops->get_ocb_chan_info) 63 return soc->ops->ocb_ops->get_ocb_chan_info(vdev); 64 65 return NULL; 66 } 67 #endif /* _CDP_TXRX_OCB_H_ */ 68