dp_rx_mon.h 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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. #ifndef _DP_RX_MON_H_
  19. #define _DP_RX_MON_H_
  20. #ifdef CONFIG_MCL
  21. #include <cds_ieee80211_defines.h>
  22. #endif
  23. /**
  24. * dp_rx_mon_dest_process() - Brain of the Rx processing functionality
  25. * Called from the bottom half (tasklet/NET_RX_SOFTIRQ)
  26. * @soc: core txrx main context 164
  27. * @hal_ring: opaque pointer to the HAL Rx Ring, which will be serviced
  28. * @quota: No. of units (packets) that can be serviced in one shot.
  29. *
  30. * This function implements the core of Rx functionality. This is
  31. * expected to handle only non-error frames.
  32. *
  33. * Return: uint32_t: No. of elements processed
  34. */
  35. void dp_rx_mon_dest_process(struct dp_soc *soc, uint32_t mac_id,
  36. uint32_t quota);
  37. QDF_STATUS dp_rx_pdev_mon_attach(struct dp_pdev *pdev);
  38. QDF_STATUS dp_rx_pdev_mon_detach(struct dp_pdev *pdev);
  39. QDF_STATUS dp_rx_pdev_mon_status_attach(struct dp_pdev *pdev);
  40. QDF_STATUS dp_rx_pdev_mon_status_detach(struct dp_pdev *pdev);
  41. uint32_t dp_mon_process(struct dp_soc *soc, uint32_t mac_id, uint32_t quota);
  42. QDF_STATUS dp_rx_mon_deliver(struct dp_soc *soc, uint32_t mac_id,
  43. qdf_nbuf_t head_msdu, qdf_nbuf_t tail_msdu);
  44. uint32_t dp_rxdma_err_process(struct dp_soc *soc, uint32_t mac_id,
  45. uint32_t quota);
  46. #endif