Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 1 | /* |
Nirav Shah | bb8e47c | 2018-05-17 16:56:41 +0530 | [diff] [blame^] | 2 | * Copyright (c) 2011, 2014-2018 The Linux Foundation. All rights reserved. |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 3 | * |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 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 | |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 19 | #ifndef _OL_RX__H_ |
| 20 | #define _OL_RX__H_ |
| 21 | |
Nirav Shah | cbc6d72 | 2016-03-01 16:24:53 +0530 | [diff] [blame] | 22 | #include <qdf_nbuf.h> /* qdf_nbuf_t */ |
Dhanashri Atre | 12a0839 | 2016-02-17 13:10:34 -0800 | [diff] [blame] | 23 | #include <ol_htt_api.h> /* htt_pdev_handle */ |
| 24 | #include <cdp_txrx_cmn.h> /* ol_txrx_vdev_t */ |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 25 | |
| 26 | void |
| 27 | ol_rx_deliver(struct ol_txrx_vdev_t *vdev, |
Yun Park | 34adb05 | 2017-04-08 11:37:26 -0700 | [diff] [blame] | 28 | struct ol_txrx_peer_t *peer, unsigned int tid, |
| 29 | qdf_nbuf_t head_msdu); |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 30 | |
| 31 | void |
| 32 | ol_rx_discard(struct ol_txrx_vdev_t *vdev, |
Yun Park | 34adb05 | 2017-04-08 11:37:26 -0700 | [diff] [blame] | 33 | struct ol_txrx_peer_t *peer, unsigned int tid, |
| 34 | qdf_nbuf_t head_msdu); |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 35 | |
Nirav Shah | cbc6d72 | 2016-03-01 16:24:53 +0530 | [diff] [blame] | 36 | void ol_rx_frames_free(htt_pdev_handle htt_pdev, qdf_nbuf_t frames); |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 37 | |
| 38 | void ol_rx_peer_init(struct ol_txrx_pdev_t *pdev, struct ol_txrx_peer_t *peer); |
| 39 | |
| 40 | void |
| 41 | ol_rx_peer_cleanup(struct ol_txrx_vdev_t *vdev, struct ol_txrx_peer_t *peer); |
| 42 | |
Nirav Shah | bb8e47c | 2018-05-17 16:56:41 +0530 | [diff] [blame^] | 43 | #ifdef WDI_EVENT_ENABLE |
Poddar, Siddarth | d56b4c4 | 2016-10-07 15:05:56 +0530 | [diff] [blame] | 44 | void ol_rx_send_pktlog_event(struct ol_txrx_pdev_t *pdev, |
Nirav Shah | bb8e47c | 2018-05-17 16:56:41 +0530 | [diff] [blame^] | 45 | struct ol_txrx_peer_t *peer, qdf_nbuf_t msdu, |
| 46 | uint8_t pktlog_bit); |
| 47 | #else |
| 48 | static inline |
| 49 | void ol_rx_send_pktlog_event(struct ol_txrx_pdev_t *pdev, |
| 50 | struct ol_txrx_peer_t *peer, qdf_nbuf_t msdu, |
| 51 | uint8_t pktlog_bit) |
| 52 | { |
| 53 | } |
| 54 | #endif |
Poddar, Siddarth | d56b4c4 | 2016-10-07 15:05:56 +0530 | [diff] [blame] | 55 | |
| 56 | |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 57 | void |
| 58 | ol_rx_in_order_deliver(struct ol_txrx_vdev_t *vdev, |
| 59 | struct ol_txrx_peer_t *peer, |
Yun Park | 34adb05 | 2017-04-08 11:37:26 -0700 | [diff] [blame] | 60 | unsigned int tid, qdf_nbuf_t head_msdu); |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 61 | |
Nirav Shah | 0d58a7e | 2016-04-26 22:54:12 +0530 | [diff] [blame] | 62 | void ol_rx_log_packet(htt_pdev_handle htt_pdev, |
| 63 | uint8_t peer_id, qdf_nbuf_t msdu); |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 64 | void |
| 65 | ol_rx_offload_paddr_deliver_ind_handler(htt_pdev_handle htt_pdev, |
| 66 | uint32_t msdu_count, |
| 67 | uint32_t *msg_word); |
Nirav Shah | da00834 | 2016-05-17 18:50:40 +0530 | [diff] [blame] | 68 | void ol_rx_update_histogram_stats(uint32_t msdu_count, |
| 69 | uint8_t frag_ind, uint8_t offload_ind); |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 70 | |
| 71 | void |
| 72 | ol_rx_mic_error_handler( |
| 73 | ol_txrx_pdev_handle pdev, |
| 74 | u_int8_t tid, |
| 75 | u_int16_t peer_id, |
| 76 | void *msdu_desc, |
Nirav Shah | cbc6d72 | 2016-03-01 16:24:53 +0530 | [diff] [blame] | 77 | qdf_nbuf_t msdu); |
Prakash Dhavali | 7090c5f | 2015-11-02 17:55:19 -0800 | [diff] [blame] | 78 | |
| 79 | #endif /* _OL_RX__H_ */ |