18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 28c2ecf20Sopenharmony_ci#ifndef __Q6_ADM_V2_H__ 38c2ecf20Sopenharmony_ci#define __Q6_ADM_V2_H__ 48c2ecf20Sopenharmony_ci 58c2ecf20Sopenharmony_ci#define ADM_PATH_PLAYBACK 0x1 68c2ecf20Sopenharmony_ci#define ADM_PATH_LIVE_REC 0x2 78c2ecf20Sopenharmony_ci#define MAX_COPPS_PER_PORT 8 88c2ecf20Sopenharmony_ci#define NULL_COPP_TOPOLOGY 0x00010312 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_ci/* multiple copp per stream. */ 118c2ecf20Sopenharmony_cistruct route_payload { 128c2ecf20Sopenharmony_ci int num_copps; 138c2ecf20Sopenharmony_ci int session_id; 148c2ecf20Sopenharmony_ci int copp_idx[MAX_COPPS_PER_PORT]; 158c2ecf20Sopenharmony_ci int port_id[MAX_COPPS_PER_PORT]; 168c2ecf20Sopenharmony_ci}; 178c2ecf20Sopenharmony_ci 188c2ecf20Sopenharmony_cistruct q6copp; 198c2ecf20Sopenharmony_cistruct q6copp *q6adm_open(struct device *dev, int port_id, int path, int rate, 208c2ecf20Sopenharmony_ci int channel_mode, int topology, int perf_mode, 218c2ecf20Sopenharmony_ci uint16_t bit_width, int app_type, int acdb_id); 228c2ecf20Sopenharmony_ciint q6adm_close(struct device *dev, struct q6copp *copp); 238c2ecf20Sopenharmony_ciint q6adm_get_copp_id(struct q6copp *copp); 248c2ecf20Sopenharmony_ciint q6adm_matrix_map(struct device *dev, int path, 258c2ecf20Sopenharmony_ci struct route_payload payload_map, int perf_mode); 268c2ecf20Sopenharmony_ci 278c2ecf20Sopenharmony_ci#endif /* __Q6_ADM_V2_H__ */ 28