155714Skris/*
255714Skris * Copyright (c) 2008-2011 Atheros Communications Inc.
355714Skris * Copyright (c) 2011 Neratec Solutions AG
455714Skris *
555714Skris * Permission to use, copy, modify, and/or distribute this software for any
655714Skris * purpose with or without fee is hereby granted, provided that the above
755714Skris * copyright notice and this permission notice appear in all copies.
8280304Sjkim *
955714Skris * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
1055714Skris * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
1155714Skris * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
1255714Skris * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
1355714Skris * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
1455714Skris * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15280304Sjkim * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1655714Skris */
1755714Skris
1855714Skris#ifndef ATH9K_DFS_H
1955714Skris#define ATH9K_DFS_H
2055714Skris#include "../dfs_pattern_detector.h"
2155714Skris
22280304Sjkim#if defined(CONFIG_ATH9K_DFS_CERTIFIED)
2355714Skris/**
2455714Skris * ath9k_dfs_process_phyerr - process radar PHY error
2555714Skris * @sc: ath_softc
2655714Skris * @data: RX payload data
2755714Skris * @rs: RX status after processing descriptor
2855714Skris * @mactime: receive time
2955714Skris *
3055714Skris * This function is called whenever the HW DFS module detects a radar
3155714Skris * pulse and reports it as a PHY error.
3255714Skris *
3355714Skris * The radar information provided as raw payload data is validated and
3455714Skris * filtered for false pulses. Events passing all tests are forwarded to
3555714Skris * the DFS detector for pattern detection.
3655714Skris */
37280304Sjkimvoid ath9k_dfs_process_phyerr(struct ath_softc *sc, void *data,
3855714Skris			      struct ath_rx_status *rs, u64 mactime);
3955714Skris#else
40280304Sjkimstatic inline void
4155714Skrisath9k_dfs_process_phyerr(struct ath_softc *sc, void *data,
4255714Skris			 struct ath_rx_status *rs, u64 mactime) { }
4355714Skris#endif
4455714Skris
4555714Skris#endif /* ATH9K_DFS_H */
4655714Skris