k3-cppi-desc-pool.h 1017 B

123456789101112131415161718192021222324252627282930
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. /* TI K3 CPPI5 descriptors pool
  3. *
  4. * Copyright (C) 2020 Texas Instruments Incorporated - http://www.ti.com
  5. */
  6. #ifndef K3_CPPI_DESC_POOL_H_
  7. #define K3_CPPI_DESC_POOL_H_
  8. #include <linux/device.h>
  9. #include <linux/types.h>
  10. struct k3_cppi_desc_pool;
  11. void k3_cppi_desc_pool_destroy(struct k3_cppi_desc_pool *pool);
  12. struct k3_cppi_desc_pool *
  13. k3_cppi_desc_pool_create_name(struct device *dev, size_t size,
  14. size_t desc_size,
  15. const char *name);
  16. #define k3_cppi_desc_pool_create(dev, size, desc_size) \
  17. k3_cppi_desc_pool_create_name(dev, size, desc_size, NULL)
  18. dma_addr_t
  19. k3_cppi_desc_pool_virt2dma(struct k3_cppi_desc_pool *pool, void *addr);
  20. void *
  21. k3_cppi_desc_pool_dma2virt(struct k3_cppi_desc_pool *pool, dma_addr_t dma);
  22. void *k3_cppi_desc_pool_alloc(struct k3_cppi_desc_pool *pool);
  23. void k3_cppi_desc_pool_free(struct k3_cppi_desc_pool *pool, void *addr);
  24. size_t k3_cppi_desc_pool_avail(struct k3_cppi_desc_pool *pool);
  25. #endif /* K3_CPPI_DESC_POOL_H_ */