q6adm.h 818 B

123456789101112131415161718192021222324252627
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. #ifndef __Q6_ADM_V2_H__
  3. #define __Q6_ADM_V2_H__
  4. #define ADM_PATH_PLAYBACK 0x1
  5. #define ADM_PATH_LIVE_REC 0x2
  6. #define MAX_COPPS_PER_PORT 8
  7. #define NULL_COPP_TOPOLOGY 0x00010312
  8. /* multiple copp per stream. */
  9. struct route_payload {
  10. int num_copps;
  11. int session_id;
  12. int copp_idx[MAX_COPPS_PER_PORT];
  13. int port_id[MAX_COPPS_PER_PORT];
  14. };
  15. struct q6copp;
  16. struct q6copp *q6adm_open(struct device *dev, int port_id, int path, int rate,
  17. int channel_mode, int topology, int perf_mode,
  18. uint16_t bit_width, int app_type, int acdb_id);
  19. int q6adm_close(struct device *dev, struct q6copp *copp);
  20. int q6adm_get_copp_id(struct q6copp *copp);
  21. int q6adm_matrix_map(struct device *dev, int path,
  22. struct route_payload payload_map, int perf_mode);
  23. #endif /* __Q6_ADM_V2_H__ */