1 /* SPDX-License-Identifier: GPL-2.0-only 2 * 3 * Copyright (C) 2020-21 Intel Corporation 4 */ 5 6 #ifndef IOSM_IPC_CHNL_CFG_H 7 #define IOSM_IPC_CHNL_CFG_H 8 9 #include "iosm_ipc_mux.h" 10 11 /* Number of TDs on the trace channel */ 12 #define IPC_MEM_TDS_TRC 32 13 14 /* Trace channel TD buffer size. */ 15 #define IPC_MEM_MAX_DL_TRC_BUF_SIZE 8192 16 17 /* Channel ID */ 18 enum ipc_channel_id { 19 IPC_MEM_IP_CHL_ID_0 = 0, 20 IPC_MEM_CTRL_CHL_ID_1, 21 IPC_MEM_CTRL_CHL_ID_2, 22 IPC_MEM_CTRL_CHL_ID_3, 23 IPC_MEM_CTRL_CHL_ID_4, 24 IPC_MEM_CTRL_CHL_ID_5, 25 IPC_MEM_CTRL_CHL_ID_6, 26 }; 27 28 /** 29 * struct ipc_chnl_cfg - IPC channel configuration structure 30 * @id: Interface ID 31 * @ul_pipe: Uplink datastream 32 * @dl_pipe: Downlink datastream 33 * @ul_nr_of_entries: Number of Transfer descriptor uplink pipe 34 * @dl_nr_of_entries: Number of Transfer descriptor downlink pipe 35 * @dl_buf_size: Downlink buffer size 36 * @wwan_port_type: Wwan subsystem port type 37 * @accumulation_backoff: Time in usec for data accumalation 38 */ 39 struct ipc_chnl_cfg { 40 u32 id; 41 u32 ul_pipe; 42 u32 dl_pipe; 43 u32 ul_nr_of_entries; 44 u32 dl_nr_of_entries; 45 u32 dl_buf_size; 46 u32 wwan_port_type; 47 u32 accumulation_backoff; 48 }; 49 50 /** 51 * ipc_chnl_cfg_get - Get pipe configuration. 52 * @chnl_cfg: Array of ipc_chnl_cfg struct 53 * @index: Channel index (upto MAX_CHANNELS) 54 * 55 * Return: 0 on success and failure value on error 56 */ 57 int ipc_chnl_cfg_get(struct ipc_chnl_cfg *chnl_cfg, int index); 58 59 #endif 60