blob: 6b268b713e86db7df0d5d11d375d27049f920d10 [file] [log] [blame]
/*
* Copyright (c) 2010-2015 The Linux Foundation. All rights reserved.
*
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
*
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
* above copyright notice and this permission notice appear in all
* copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
* WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
* AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
* DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
* PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
/*
* This file was originally distributed by Qualcomm Atheros, Inc.
* under proprietary terms before Copyright ownership was assigned
* to the Linux Foundation.
*/
/*===========================================================================
dfs_ioctl_private.h
OVERVIEW:
Source code borrowed from QCA_MAIN DFS module
DEPENDENCIES:
Are listed for each API below.
===========================================================================*/
/*
* ioctl defines
*/
#ifndef _DFS_IOCTL_PRIVATE_H_
#define _DFS_IOCTL_PRIVATE_H_
/*
* Assert that the NOVAL values match.
*/
#if (ATH_DFS_PHYERR_PARAM_NOVAL != DFS_IOCTL_PARAM_NOVAL)
#error "ATH_DFS_PHYERR_PARAM_NOVAL != DFS_IOCTL_PARAM_NOVAL"
#endif
/*
* Assert that the ENABLE values match.
*/
#if (ATH_DFS_PHYERR_PARAM_ENABLE != DFS_IOCTL_PARAM_ENABLE)
#error "ATH_DFS_PHYERR_PARAM_ENABLE != DFS_IOCTL_PARAM_ENABLE"
#endif
/*
* These two methods are used by the lmac glue to copy between
* the DFS and HAL PHY configuration.
*
* I'm "cheating" here and assuming that the ENABLE and NOVAL
* values match - see the above macros.
*/
static inline void
ath_dfs_ioctlparam_to_dfsparam(const struct dfs_ioctl_params *src,
struct ath_dfs_phyerr_param *dst)
{
dst->pe_firpwr = src->dfs_firpwr;
dst->pe_rrssi = src->dfs_rrssi;
dst->pe_height = src->dfs_height;
dst->pe_prssi = src->dfs_prssi;
dst->pe_inband = src->dfs_inband;
dst->pe_relpwr = src->dfs_relpwr;
dst->pe_relstep = src->dfs_relstep;
dst->pe_maxlen = src->dfs_maxlen;
}
static inline void
ath_dfs_dfsparam_to_ioctlparam(struct ath_dfs_phyerr_param *src,
struct dfs_ioctl_params *dst)
{
dst->dfs_firpwr = src->pe_firpwr;
dst->dfs_rrssi = src->pe_rrssi;
dst->dfs_height = src->pe_height;
dst->dfs_prssi = src->pe_prssi;
dst->dfs_inband = src->pe_inband;
dst->dfs_relpwr = src->pe_relpwr;
dst->dfs_relstep = src->pe_relstep;
dst->dfs_maxlen = src->pe_maxlen;
}
#endif /* _DFS_IOCTL_PRIVATE_H_ */