gen_bd.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * Header for Bestcomm General Buffer Descriptor tasks driver
  4. *
  5. * Copyright (C) 2007 Sylvain Munaut <[email protected]>
  6. * Copyright (C) 2006 AppSpec Computer Technologies Corp.
  7. * Jeff Gibbons <[email protected]>
  8. */
  9. #ifndef __BESTCOMM_GEN_BD_H__
  10. #define __BESTCOMM_GEN_BD_H__
  11. struct bcom_gen_bd {
  12. u32 status;
  13. u32 buf_pa;
  14. };
  15. extern struct bcom_task *
  16. bcom_gen_bd_rx_init(int queue_len, phys_addr_t fifo,
  17. int initiator, int ipr, int maxbufsize);
  18. extern int
  19. bcom_gen_bd_rx_reset(struct bcom_task *tsk);
  20. extern void
  21. bcom_gen_bd_rx_release(struct bcom_task *tsk);
  22. extern struct bcom_task *
  23. bcom_gen_bd_tx_init(int queue_len, phys_addr_t fifo,
  24. int initiator, int ipr);
  25. extern int
  26. bcom_gen_bd_tx_reset(struct bcom_task *tsk);
  27. extern void
  28. bcom_gen_bd_tx_release(struct bcom_task *tsk);
  29. /* PSC support utility wrappers */
  30. struct bcom_task * bcom_psc_gen_bd_rx_init(unsigned psc_num, int queue_len,
  31. phys_addr_t fifo, int maxbufsize);
  32. struct bcom_task * bcom_psc_gen_bd_tx_init(unsigned psc_num, int queue_len,
  33. phys_addr_t fifo);
  34. #endif /* __BESTCOMM_GEN_BD_H__ */