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