blob: 0ce0b12e72584cfd8498c1a74bb05cbbd48aa16c [file] [log] [blame]
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001/*
Kiran Venkatappacb001d82019-01-11 18:10:38 +05302 * Copyright (c) 2014-2019 The Linux Foundation. All rights reserved.
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003 *
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08004 * Permission to use, copy, modify, and/or distribute this software for
5 * any purpose with or without fee is hereby granted, provided that the
6 * above copyright notice and this permission notice appear in all
7 * copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
10 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
11 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
12 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
13 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
14 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
15 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
16 * PERFORMANCE OF THIS SOFTWARE.
17 */
18
19/*
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080020 * Implementation of the Host-side Host InterFace (HIF) API
21 * for a Host/Target interconnect using Copy Engines over PCIe.
22 */
23
24#ifndef __HIF_PCI_INTERNAL_H__
25#define __HIF_PCI_INTERNAL_H__
26
Houston Hoffmanfb698ef2016-05-05 19:50:44 -070027#ifndef CONFIG_WIN
28#ifndef PEER_CACHEING_HOST_ENABLE
29#define PEER_CACHEING_HOST_ENABLE 0
30#endif
31#endif
32
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080033#define HIF_PCI_DEBUG ATH_DEBUG_MAKE_MODULE_MASK(0)
34#define HIF_PCI_IPA_UC_ASSIGNED_CE 5
35
Srinivas Girigowda8a0b6652016-10-19 16:01:31 -070036#if defined(WLAN_DEBUG) || defined(DEBUG)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080037static ATH_DEBUG_MASK_DESCRIPTION g_hif_debug_description[] = {
38 {HIF_PCI_DEBUG, "hif_pci"},
39};
40
41ATH_DEBUG_INSTANTIATE_MODULE_VAR(hif, "hif", "PCIe Host Interface",
42 ATH_DEBUG_MASK_DEFAULTS | ATH_DEBUG_INFO,
43 ATH_DEBUG_DESCRIPTION_COUNT
44 (g_hif_debug_description),
45 g_hif_debug_description);
46#endif
47
48#ifdef CONFIG_ATH_PCIE_ACCESS_DEBUG
Houston Hoffmane6330442016-02-26 12:19:11 -080049/* globals are initialized to 0 by the compiler */;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080050spinlock_t pcie_access_log_lock;
Houston Hoffmane6330442016-02-26 12:19:11 -080051unsigned int pcie_access_log_seqnum;
Manikandan Mohanbd0ef8a2017-04-10 13:10:21 -070052struct HIF_ACCESS_LOG pcie_access_log[PCIE_ACCESS_LOG_NUM];
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080053static void hif_target_dump_access_log(void);
54#endif
55
56/*
57 * Host software's Copy Engine configuration.
58 * This table is derived from the CE_PCI TABLE, above.
59 */
60#ifdef BIG_ENDIAN_HOST
61#define CE_ATTR_FLAGS CE_ATTR_BYTE_SWAP_DATA
62#else
63#define CE_ATTR_FLAGS 0
64#endif
65
66/* Maximum number of Copy Engine's supported */
67#define CE_HTT_H2T_MSG_SRC_NENTRIES 2048
Aravind Narasimhanc7620c12016-06-23 15:27:23 +053068#define CE_HTT_H2T_MSG_SRC_NENTRIES_AR900B 4096
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080069
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080070#define EPPING_CE_FLAGS_POLL \
71 (CE_ATTR_DISABLE_INTR|CE_ATTR_ENABLE_POLL|CE_ATTR_FLAGS)
Houston Hoffmanabd00772016-05-06 17:02:48 -070072
73#ifdef CONFIG_WIN
74#define PIPEDIR_INOUT_H2H 4
75#endif
76
Kiran Venkatappae17e3b62017-02-10 16:31:49 +053077#define CE_ATTR_DIAG_FLAGS \
78 (CE_ATTR_FLAGS | CE_ATTR_DIAG)
79
Nirav Shah4c8b78a2018-06-12 11:49:35 +053080#ifdef QCN7605_SUPPORT
81
82#define QCN7605_CE_COUNT 9
83static struct CE_attr host_ce_config_wlan_qcn7605[] = {
84 /* host->target HTC control and raw streams & WMI Control*/
85 { /* CE0 */ CE_ATTR_FLAGS, 0, 16, 2048, 0, NULL,},
86 /* target->host HTT + HTC control */
87 { /* CE1 */ CE_ATTR_FLAGS, 0, 0, 2048, 512, NULL,},
88 /* target->host WMI */
89 { /* CE2 */ CE_ATTR_FLAGS, 0, 0, 2048, 128, NULL,},
90 /* target->host HTT */
91 { /* CE3 */ CE_ATTR_FLAGS, 0, 0, 2048, 512, NULL,},
92 /* host->target HTT */
93 { /* CE4 */ (CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR), 0,
94 CE_HTT_H2T_MSG_SRC_NENTRIES, 256, 0, NULL,},
95#ifdef IPA_OFFLOAD
96 /* ipa_uc->target HTC control */
97 { /* CE5 */ (CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR), 0,
98 CE_HTT_H2T_MSG_SRC_NENTRIES, 512, 0, NULL,},
99#else
100 /* unused */
101 { /* CE5 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL,},
102#endif
103 /* Target autonomous HIF_memcpy */
104 { /* CE6 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL,},
105 /* target->host PKTLOG */
106 { /* CE7 */ CE_ATTR_FLAGS, 0, 0, 2048, 512, NULL,},
107#ifdef IPA_OFFLOAD
108 /* Target to uMC */
109 { /* CE8 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL,},
110#else
111 /* target->host HTT*/
112 { /* CE8 */ CE_ATTR_FLAGS, 0, 0, 2048, 512, NULL,},
113#endif
114 /* CE 9, 10, 11 belong to CoreBsp & MHI driver */
115};
116
117static struct CE_pipe_config target_ce_config_wlan_qcn7605[] = {
118 /* host->target HTC control and raw streams */
119 { /* CE0 */ 0, PIPEDIR_OUT, 32, 2048, CE_ATTR_FLAGS, 0,},
120 /* target->host HTT */
121 { /* CE1 */ 1, PIPEDIR_IN, 32, 2048, CE_ATTR_FLAGS, 0,},
122 /* target->host WMI + HTC control */
123 { /* CE2 */ 2, PIPEDIR_IN, 64, 2048, CE_ATTR_FLAGS, 0,},
124 /* target->host HTT */
125 { /* CE3 */ 3, PIPEDIR_IN, 32, 2048, CE_ATTR_FLAGS, 0,},
126 /* host->target HTT */
127 { /* CE4 */ 4, PIPEDIR_OUT, 256, 256,
128 (CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR), 0,},
129 /* NB: 50% of src nentries, since tx has 2 frags */
130#ifdef IPA_OFFLOAD
131 /* ipa_uc->target */
132 { /* CE5 */ 5, PIPEDIR_OUT, 1024, 64,
133 (CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR), 0,},
134#else
135 /* unused */
136 { /* CE5 */ 5, PIPEDIR_INOUT_H2H, 0, 0, 0, 0,},
137#endif
138 /* Reserved for target autonomous HIF_memcpy */
139 { /* CE6 */ 6, PIPEDIR_INOUT, 32, 16384, CE_ATTR_FLAGS, 0,},
140 /* Target -> host PKTLOG */
141 { /* CE7 */ 7, PIPEDIR_IN, 32, 2048, CE_ATTR_FLAGS, 0,},
142#ifdef IPA_OFFLOAD
143 /* CE8 used only by IPA */
144 { /* CE8 */ 8, PIPEDIR_IN, 32, 2048, CE_ATTR_FLAGS, 0,},
145#else
146 /* target->host HTT*/
147 { /* CE8 */ 8, PIPEDIR_IN, 32, 2048, CE_ATTR_FLAGS, 0,},
148#endif
149 /* CE 9, 10, 11 belong to CoreBsp & MHI driver */
150};
151#endif
152
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800153#ifdef QCA_WIFI_3_0
154static struct CE_attr host_ce_config_wlan[] = {
155 /* host->target HTC control and raw streams */
156 { /* CE0 */ CE_ATTR_FLAGS, 0, 16, 2048, 0, NULL,},
157 /* target->host HTT + HTC control */
158 { /* CE1 */ CE_ATTR_FLAGS, 0, 0, 2048, 512, NULL,},
159 /* target->host WMI */
Houston Hoffman38919492017-03-02 11:43:05 -0800160 { /* CE2 */ CE_ATTR_FLAGS, 0, 0, 2048, 128, NULL,},
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800161 /* host->target WMI */
162 { /* CE3 */ CE_ATTR_FLAGS, 0, 32, 2048, 0, NULL,},
163 /* host->target HTT */
164 { /* CE4 */ (CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR), 0,
165 CE_HTT_H2T_MSG_SRC_NENTRIES, 256, 0, NULL,},
166 /* ipa_uc->target HTC control */
167 { /* CE5 */ (CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR), 0,
Houston Hoffman32f8ccf2017-02-10 10:35:22 -0800168 CE_HTT_H2T_MSG_SRC_NENTRIES, 512, 0, NULL,},
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800169 /* Target autonomous HIF_memcpy */
170 { /* CE6 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL,},
171 /* ce_diag, the Diagnostic Window */
Govind Singhae820d02017-04-25 10:33:23 +0530172 { /* CE7 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL,},
Sanjay Devnani19879572015-11-12 14:08:57 -0800173 /* Target to uMC */
174 { /* CE8 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL,},
Houston Hoffmane6330442016-02-26 12:19:11 -0800175 /* target->host HTT */
176 { /* CE9 */ CE_ATTR_FLAGS, 0, 0, 2048, 512, NULL,},
177 /* target->host HTT */
178 { /* CE10 */ CE_ATTR_FLAGS, 0, 0, 2048, 512, NULL,},
Nirav Shah75cc5c82016-05-25 10:52:38 +0530179 /* target -> host PKTLOG */
180 { /* CE11 */ CE_ATTR_FLAGS, 0, 0, 2048, 512, NULL,},
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800181};
182
183static struct CE_pipe_config target_ce_config_wlan[] = {
184 /* host->target HTC control and raw streams */
185 { /* CE0 */ 0, PIPEDIR_OUT, 32, 2048, CE_ATTR_FLAGS, 0,},
186 /* target->host HTT */
187 { /* CE1 */ 1, PIPEDIR_IN, 32, 2048, CE_ATTR_FLAGS, 0,},
188 /* target->host WMI + HTC control */
Houston Hoffmanf7d5d8e2016-08-02 20:59:13 -0700189 { /* CE2 */ 2, PIPEDIR_IN, 64, 2048, CE_ATTR_FLAGS, 0,},
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800190 /* host->target WMI */
191 { /* CE3 */ 3, PIPEDIR_OUT, 32, 2048, CE_ATTR_FLAGS, 0,},
192 /* host->target HTT */
193 { /* CE4 */ 4, PIPEDIR_OUT, 256, 256,
194 (CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR), 0,},
195 /* NB: 50% of src nentries, since tx has 2 frags */
196 /* ipa_uc->target */
197 { /* CE5 */ 5, PIPEDIR_OUT, 1024, 64,
198 (CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR), 0,},
199 /* Reserved for target autonomous HIF_memcpy */
Dhanashri Atre42364942016-04-25 13:28:12 -0700200 { /* CE6 */ 6, PIPEDIR_INOUT, 32, 16384, CE_ATTR_FLAGS, 0,},
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800201 /* CE7 used only by Host */
202 { /* CE7 */ 7, PIPEDIR_INOUT_H2H, 0, 0,
203 (CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR), 0,},
204 /* CE8 used only by IPA */
Sanjay Devnani19879572015-11-12 14:08:57 -0800205 { /* CE8 */ 8, PIPEDIR_IN, 32, 2048, CE_ATTR_FLAGS, 0,},
Houston Hoffmane6330442016-02-26 12:19:11 -0800206 /* CE9 target->host HTT */
207 { /* CE9 */ 9, PIPEDIR_IN, 32, 2048, CE_ATTR_FLAGS, 0,},
208 /* CE10 target->host HTT */
209 { /* CE10 */ 10, PIPEDIR_IN, 32, 2048, CE_ATTR_FLAGS, 0,},
Nirav Shah75cc5c82016-05-25 10:52:38 +0530210 /* Target -> host PKTLOG */
211 { /* CE11 */ 11, PIPEDIR_IN, 32, 2048, CE_ATTR_FLAGS, 0,},
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800212};
213
Nirav Shah0d0cce82018-01-17 17:00:31 +0530214#ifdef WLAN_FEATURE_EPPING
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800215static struct CE_attr host_ce_config_wlan_epping_poll[] = {
216 /* host->target HTC control and raw streams */
217 { /* CE0 */ CE_ATTR_FLAGS, 0, 16, 2048, 0, NULL,},
218 /* target->host EP-ping */
219 { /* CE1 */ EPPING_CE_FLAGS_POLL, 0, 0, 2048, 128, NULL,},
220 /* target->host EP-ping */
221 { /* CE2 */ EPPING_CE_FLAGS_POLL, 0, 0, 2048, 128, NULL,},
222 /* host->target EP-ping */
223 { /* CE3 */ CE_ATTR_FLAGS, 0, 128, 2048, 0, NULL,},
224 /* host->target EP-ping */
225 { /* CE4 */ CE_ATTR_FLAGS, 0, 128, 2048, 0, NULL,},
226 /* EP-ping heartbeat */
227 { /* CE5 */ CE_ATTR_FLAGS, 0, 0, 2048, 128, NULL,},
228 /* unused */
229 { /* CE6 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL,},
230 /* ce_diag, the Diagnostic Window */
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530231 { /* CE7 */ CE_ATTR_DIAG_FLAGS, 0, 2, DIAG_TRANSFER_LIMIT, 2, NULL,},
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800232};
233
234static struct CE_attr host_ce_config_wlan_epping_irq[] = {
235 /* host->target HTC control and raw streams */
236 { /* CE0 */ CE_ATTR_FLAGS, 0, 16, 2048, 0, NULL,},
237 /* target->host EP-ping */
238 { /* CE1 */ CE_ATTR_FLAGS, 0, 0, 2048, 128, NULL,},
239 /* target->host EP-ping */
240 { /* CE2 */ CE_ATTR_FLAGS, 0, 0, 2048, 128, NULL,},
241 /* host->target EP-ping */
242 { /* CE3 */ CE_ATTR_FLAGS, 0, 128, 2048, 0, NULL,},
243 /* host->target EP-ping */
244 { /* CE4 */ CE_ATTR_FLAGS, 0, 128, 2048, 0, NULL,},
245 /* EP-ping heartbeat */
246 { /* CE5 */ CE_ATTR_FLAGS, 0, 0, 2048, 128, NULL,},
247 /* unused */
248 { /* CE6 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL,},
249 /* ce_diag, the Diagnostic Window */
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530250 { /* CE7 */ CE_ATTR_DIAG_FLAGS, 0, 2, DIAG_TRANSFER_LIMIT, 2, NULL,},
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800251};
252/*
253 * EP-ping firmware's CE configuration
254 */
255static struct CE_pipe_config target_ce_config_wlan_epping[] = {
256 /* host->target HTC control and raw streams */
257 { /* CE0 */ 0, PIPEDIR_OUT, 16, 2048, CE_ATTR_FLAGS, 0,},
258 /* target->host EP-ping */
259 { /* CE1 */ 1, PIPEDIR_IN, 128, 2048, CE_ATTR_FLAGS, 0,},
260 /* target->host EP-ping */
261 { /* CE2 */ 2, PIPEDIR_IN, 128, 2048, CE_ATTR_FLAGS, 0,},
262 /* host->target EP-ping */
263 { /* CE3 */ 3, PIPEDIR_OUT, 128, 2048, CE_ATTR_FLAGS, 0,},
264 /* host->target EP-ping */
265 { /* CE4 */ 4, PIPEDIR_OUT, 128, 2048, CE_ATTR_FLAGS, 0,},
266 /* EP-ping heartbeat */
267 { /* CE5 */ 5, PIPEDIR_IN, 128, 2048, CE_ATTR_FLAGS, 0,},
268 /* unused */
269 { /* CE6 */ 6, PIPEDIR_INOUT, 0, 0, CE_ATTR_FLAGS, 0,},
270 /* CE7 used only by Host */
271 { /* CE7 */ 7, PIPEDIR_INOUT_H2H, 0, 0, 0, 0,},
272 /* CE8 used only by IPA */
273 { /* CE8 */ 8, PIPEDIR_IN, 32, 2048, CE_ATTR_FLAGS, 0,}
274};
Nirav Shah0d0cce82018-01-17 17:00:31 +0530275#endif
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800276#else
277static struct CE_attr host_ce_config_wlan[] = {
278 /* host->target HTC control and raw streams */
279 { /* CE0 */ CE_ATTR_FLAGS, 0, 16, 256, 0, NULL,},
280 /* target->host HTT + HTC control */
281 { /* CE1 */ CE_ATTR_FLAGS, 0, 0, 2048, 512, NULL,},
282 /* target->host WMI */
283 { /* CE2 */ CE_ATTR_FLAGS, 0, 0, 2048, 32, NULL,},
284 /* host->target WMI */
285 { /* CE3 */ CE_ATTR_FLAGS, 0, 32, 2048, 0, NULL,},
286 /* host->target HTT */
287 { /* CE4 */ CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR, 0,
288 CE_HTT_H2T_MSG_SRC_NENTRIES, 256, 0, NULL,},
289 /* ipa_uc->target HTC control */
290 { /* CE5 */ CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR, 0,
291 1024, 512, 0, NULL,},
292 /* Target autonomous HIF_memcpy */
293 { /* CE6 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL,},
294 /* ce_diag, the Diagnostic Window */
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530295 { /* CE7 */ (CE_ATTR_DIAG_FLAGS | CE_ATTR_DISABLE_INTR),
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800296 0, 2, DIAG_TRANSFER_LIMIT, 2, NULL,},
297};
298
299static struct CE_pipe_config target_ce_config_wlan[] = {
300 /* host->target HTC control and raw streams */
301 { /* CE0 */ 0, PIPEDIR_OUT, 32, 256, CE_ATTR_FLAGS, 0,},
302 /* target->host HTT + HTC control */
303 { /* CE1 */ 1, PIPEDIR_IN, 32, 2048, CE_ATTR_FLAGS, 0,},
304 /* target->host WMI */
305 { /* CE2 */ 2, PIPEDIR_IN, 32, 2048, CE_ATTR_FLAGS, 0,},
306 /* host->target WMI */
307 { /* CE3 */ 3, PIPEDIR_OUT, 32, 2048, CE_ATTR_FLAGS, 0,},
308 /* host->target HTT */
309 { /* CE4 */ 4, PIPEDIR_OUT, 256, 256, CE_ATTR_FLAGS, 0,},
310 /* NB: 50% of src nentries, since tx has 2 frags */
311 /* ipa_uc->target HTC control */
312 { /* CE5 */ 5, PIPEDIR_OUT, 1024, 64, CE_ATTR_FLAGS, 0,},
313 /* Reserved for target autonomous HIF_memcpy */
314 { /* CE6 */ 6, PIPEDIR_INOUT, 32, 4096, CE_ATTR_FLAGS, 0,},
315 /* CE7 used only by Host */
316 { /* CE7 */ 7, PIPEDIR_INOUT_H2H, 0, 0, 0, 0,},
317 /* CE8 used only by IPA */
318 { /* CE8 */ 8, PIPEDIR_IN, 32, 2048, CE_ATTR_FLAGS, 0,}
319};
320
Nirav Shah0d0cce82018-01-17 17:00:31 +0530321#ifdef WLAN_FEATURE_EPPING
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800322static struct CE_attr host_ce_config_wlan_epping_poll[] = {
323 /* host->target HTC control and raw streams */
324 { /* CE0 */ CE_ATTR_FLAGS, 0, 16, 256, 0, NULL,},
325 /* target->host EP-ping */
326 { /* CE1 */ EPPING_CE_FLAGS_POLL, 0, 0, 2048, 128, NULL,},
327 /* target->host EP-ping */
328 { /* CE2 */ EPPING_CE_FLAGS_POLL, 0, 0, 2048, 128, NULL,},
329 /* host->target EP-ping */
330 { /* CE3 */ CE_ATTR_FLAGS, 0, 128, 2048, 0, NULL,},
331 /* host->target EP-ping */
332 { /* CE4 */ CE_ATTR_FLAGS, 0, 128, 2048, 0, NULL,},
333 /* EP-ping heartbeat */
334 { /* CE5 */ CE_ATTR_FLAGS, 0, 0, 2048, 128, NULL,},
335 /* unused */
336 { /* CE6 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL,},
337 /* ce_diag, the Diagnostic Window */
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530338 { /* CE7 */ CE_ATTR_DIAG_FLAGS, 0, 2, DIAG_TRANSFER_LIMIT, 2, NULL,},
Rajeev Kumar74f77642016-04-14 16:54:32 -0700339 { /* CE8 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL,},
340 /* The following CEs are not being used yet */
341 { /* CE9 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL,},
342 { /* CE10 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL,},
343 { /* CE11 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL,},
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800344};
345static struct CE_attr host_ce_config_wlan_epping_irq[] = {
346 /* host->target HTC control and raw streams */
347 { /* CE0 */ CE_ATTR_FLAGS, 0, 16, 256, 0, NULL,},
348 /* target->host EP-ping */
349 { /* CE1 */ CE_ATTR_FLAGS, 0, 0, 2048, 128, NULL,},
350 /* target->host EP-ping */
351 { /* CE2 */ CE_ATTR_FLAGS, 0, 0, 2048, 128, NULL,},
352 /* host->target EP-ping */
353 { /* CE3 */ CE_ATTR_FLAGS, 0, 128, 2048, 0, NULL,},
354 /* host->target EP-ping */
355 { /* CE4 */ CE_ATTR_FLAGS, 0, 128, 2048, 0, NULL,},
356 /* EP-ping heartbeat */
357 { /* CE5 */ CE_ATTR_FLAGS, 0, 0, 2048, 128, NULL,},
358 /* unused */
359 { /* CE6 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL,},
360 /* ce_diag, the Diagnostic Window */
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530361 { /* CE7 */ CE_ATTR_DIAG_FLAGS, 0, 2, DIAG_TRANSFER_LIMIT, 2, NULL,},
Rajeev Kumar74f77642016-04-14 16:54:32 -0700362 { /* CE8 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL,},
363 /* The following CEs are not being used yet */
364 { /* CE9 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL,},
365 { /* CE10 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL,},
366 { /* CE11 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL,},
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800367};
368/*
369 * EP-ping firmware's CE configuration
370 */
371static struct CE_pipe_config target_ce_config_wlan_epping[] = {
372 /* host->target HTC control and raw streams */
373 { /* CE0 */ 0, PIPEDIR_OUT, 16, 256, CE_ATTR_FLAGS, 0,},
374 /* target->host EP-ping */
375 { /* CE1 */ 1, PIPEDIR_IN, 128, 2048, CE_ATTR_FLAGS, 0,},
376 /* target->host EP-ping */
377 { /* CE2 */ 2, PIPEDIR_IN, 128, 2048, CE_ATTR_FLAGS, 0,},
378 /* host->target EP-ping */
379 { /* CE3 */ 3, PIPEDIR_OUT, 128, 2048, CE_ATTR_FLAGS, 0,},
380 /* host->target EP-ping */
381 { /* CE4 */ 4, PIPEDIR_OUT, 128, 2048, CE_ATTR_FLAGS, 0,},
382 /* EP-ping heartbeat */
383 { /* CE5 */ 5, PIPEDIR_IN, 128, 2048, CE_ATTR_FLAGS, 0,},
384 /* unused */
385 { /* CE6 */ 6, PIPEDIR_INOUT, 0, 0, CE_ATTR_FLAGS, 0,},
386 /* CE7 used only by Host */
387 { /* CE7 */ 7, PIPEDIR_INOUT_H2H, 0, 0, 0, 0,},
388 /* CE8 used only by IPA */
Rajeev Kumar74f77642016-04-14 16:54:32 -0700389 { /* CE8 */ 8, PIPEDIR_IN, 32, 2048, CE_ATTR_FLAGS, 0,},
390 { /* CE9 */ 9, PIPEDIR_IN, 0, 0, CE_ATTR_FLAGS, 0,},
391 { /* CE10 */ 10, PIPEDIR_IN, 0, 0, CE_ATTR_FLAGS, 0,},
392 { /* CE11 */ 11, PIPEDIR_IN, 0, 0, CE_ATTR_FLAGS, 0,},
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800393};
394#endif
Nirav Shah0d0cce82018-01-17 17:00:31 +0530395#endif
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800396
Houston Hoffmanfb698ef2016-05-05 19:50:44 -0700397static struct CE_attr host_ce_config_wlan_ar9888[] = {
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530398 /* host->target HTC control and raw streams */
399 { /* CE0 */ CE_ATTR_FLAGS, 0, 16, 256, 0, NULL, },
400 /* target->host BMI + HTC control */
Houston Hoffmanfb698ef2016-05-05 19:50:44 -0700401 /* could be moved to share CE3 */
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530402 { /* CE1 */ CE_ATTR_FLAGS, 0, 0, 512, 512, NULL, },
403 /* target->host WMI */
404 { /* CE2 */ CE_ATTR_FLAGS, 0, 0, 2048, 128, NULL, },
405 /* host->target WMI */
406 { /* CE3 */ CE_ATTR_FLAGS, 0, 32, 2048, 0, NULL, },
407 /* host->target HTT */
Houston Hoffmanfb698ef2016-05-05 19:50:44 -0700408 { /* CE4 */ CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR, 0,
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530409 CE_HTT_H2T_MSG_SRC_NENTRIES_AR900B, 256, 0, NULL, },
Nirav Shah77250fa2018-03-11 14:56:22 +0530410#ifdef WLAN_FEATURE_FASTPATH
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530411 /* target->host HTT messages */
412 { /* CE5 */ CE_ATTR_FLAGS, 0, 0, 512, 512, NULL, },
Houston Hoffmanfb698ef2016-05-05 19:50:44 -0700413#else /* WLAN_FEATURE_FASTPATH */
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530414 /* unused */
415 { /* CE5 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL, },
Houston Hoffmanfb698ef2016-05-05 19:50:44 -0700416#endif /* WLAN_FEATURE_FASTPATH */
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530417 /* Target autonomous HIF_memcpy */
418 { /* CE6 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL, },
419 /* ce_diag, the Diagnostic Window */
420 { /* CE7 */ CE_ATTR_DIAG_FLAGS, 0, 2, DIAG_TRANSFER_LIMIT, 2, NULL, },
421 /* Target autonomous HIF_memcpy */
422 { /* CE8 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL, },
Houston Hoffmanfb698ef2016-05-05 19:50:44 -0700423};
424
425static struct CE_attr host_ce_config_wlan_ar900b[] = {
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530426 /* host->target HTC control and raw streams */
427 { /* CE0 */ CE_ATTR_FLAGS, 0, 16, 256, 0, NULL, },
428 /* target->host BMI + HTC control */
Houston Hoffmanfb698ef2016-05-05 19:50:44 -0700429 /* could be moved to share CE3 */
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530430 { /* CE1 */ CE_ATTR_FLAGS, 0, 0, 512, 512, NULL, },
431 /* target->host WMI */
432 { /* CE2 */ CE_ATTR_FLAGS, 0, 0, 2048, 128, NULL, },
433 /* host->target WMI */
434 { /* CE3 */ CE_ATTR_FLAGS, 0, 32, 2048, 0, NULL, },
435 /* host->target HTT */
Houston Hoffmanfb698ef2016-05-05 19:50:44 -0700436 { /* CE4 */ CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR, 0,
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530437 CE_HTT_H2T_MSG_SRC_NENTRIES_AR900B, 256, 0, NULL, },
Nirav Shah77250fa2018-03-11 14:56:22 +0530438#ifdef WLAN_FEATURE_FASTPATH
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530439 /* target->host HTT messages */
440 { /* CE5 */ CE_ATTR_FLAGS, 0, 0, 512, 512, NULL, },
Houston Hoffmanfb698ef2016-05-05 19:50:44 -0700441#else /* WLAN_FEATURE_FASTPATH */
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530442 /* unused */
443 { /* CE5 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL, },
Houston Hoffmanfb698ef2016-05-05 19:50:44 -0700444#endif /* WLAN_FEATURE_FASTPATH */
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530445 /* Target autonomous HIF_memcpy */
446 { /* CE6 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL, },
447 /* ce_diag, the Diagnostic Window */
448 { /* CE7 */ CE_ATTR_DIAG_FLAGS, 0, 2, DIAG_TRANSFER_LIMIT, 2, NULL, },
449 /* target->host pktlog */
450 { /* CE8 */ CE_ATTR_FLAGS, 0, 0, 2048, 128, NULL, },
451 /* Target autonomous HIF_memcpy */
452 { /* CE9 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL, },
453 /* Target autonomous HIF_memcpy */
454 { /* CE10 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL, },
455 /* Target autonomous HIF_memcpy */
456 { /* CE11 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL, },
Houston Hoffmanfb698ef2016-05-05 19:50:44 -0700457};
458
Venkateswara Swamy Bandaru5432c1b2016-10-12 19:00:40 +0530459static struct CE_attr host_lowdesc_ce_cfg_wlan_ar9888[] = {
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530460 /* host->target HTC control and raw streams */
461 { /* CE0 */ CE_ATTR_FLAGS, 0, 16, 256, 0, NULL, },
Venkateswara Swamy Bandaru5432c1b2016-10-12 19:00:40 +0530462 /* could be moved to share CE3 */
Nirav Shah77250fa2018-03-11 14:56:22 +0530463#ifdef WLAN_FEATURE_FASTPATH
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530464 /* target->host BMI + HTC control */
465 { /* CE1 */ CE_ATTR_FLAGS, 0, 0, 512, 64, NULL, },
Venkateswara Swamy Bandaru5432c1b2016-10-12 19:00:40 +0530466#else
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530467 /* target->host BMI + HTC control */
468 { /* CE1 */ CE_ATTR_FLAGS, 0, 0, 512, 512, NULL, },
Venkateswara Swamy Bandaru5432c1b2016-10-12 19:00:40 +0530469#endif
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530470 /* target->host WMI */
471 { /* CE2 */ CE_ATTR_FLAGS, 0, 0, 2048, 128, NULL, },
472 /* host->target WMI */
473 { /* CE3 */ CE_ATTR_FLAGS, 0, 32, 2048, 0, NULL, },
474 /* host->target HTT */
Venkateswara Swamy Bandaru5432c1b2016-10-12 19:00:40 +0530475 { /* CE4 */ CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR, 0,
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530476 CE_HTT_H2T_MSG_SRC_NENTRIES_AR900B, 256, 0, NULL, },
Nirav Shah77250fa2018-03-11 14:56:22 +0530477#ifdef WLAN_FEATURE_FASTPATH
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530478 /* target->host HTT messages */
479 { /* CE5 */ CE_ATTR_FLAGS, 0, 0, 512, 512, NULL, },
Venkateswara Swamy Bandaru5432c1b2016-10-12 19:00:40 +0530480#else /* WLAN_FEATURE_FASTPATH */
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530481 /* unused */
482 { /* CE5 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL, },
Venkateswara Swamy Bandaru5432c1b2016-10-12 19:00:40 +0530483#endif /* WLAN_FEATURE_FASTPATH */
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530484 /* Target autonomous HIF_memcpy */
485 { /* CE6 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL, },
486 /* ce_diag, the Diagnostic Window */
487 { /* CE7 */ CE_ATTR_DIAG_FLAGS, 0, 2, DIAG_TRANSFER_LIMIT, 2, NULL, },
488 /* Target autonomous HIF_memcpy */
489 { /* CE8 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL, },
Venkateswara Swamy Bandaru5432c1b2016-10-12 19:00:40 +0530490};
491
492static struct CE_attr host_lowdesc_ce_cfg_wlan_ar900b[] = {
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530493 /* host->target HTC control and raw streams */
494 { /* CE0 */ CE_ATTR_FLAGS, 0, 16, 256, 0, NULL, },
Venkateswara Swamy Bandaru5432c1b2016-10-12 19:00:40 +0530495 /* could be moved to share CE3 */
Nirav Shah77250fa2018-03-11 14:56:22 +0530496#ifdef WLAN_FEATURE_FASTPATH
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530497 /* target->host BMI + HTC control */
498 { /* CE1 */ CE_ATTR_FLAGS, 0, 0, 512, 64, NULL, },
Venkateswara Swamy Bandaru5432c1b2016-10-12 19:00:40 +0530499#else
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530500 /* target->host BMI + HTC control */
501 { /* CE1 */ CE_ATTR_FLAGS, 0, 0, 512, 512, NULL, },
Venkateswara Swamy Bandaru5432c1b2016-10-12 19:00:40 +0530502#endif
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530503 /* target->host WMI */
504 { /* CE2 */ CE_ATTR_FLAGS, 0, 0, 2048, 128, NULL, },
505 /* host->target WMI */
506 { /* CE3 */ CE_ATTR_FLAGS, 0, 32, 2048, 0, NULL, },
507 /* host->target HTT */
Venkateswara Swamy Bandaru5432c1b2016-10-12 19:00:40 +0530508 { /* CE4 */ CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR, 0,
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530509 CE_HTT_H2T_MSG_SRC_NENTRIES_AR900B, 256, 0, NULL, },
Nirav Shah77250fa2018-03-11 14:56:22 +0530510#ifdef WLAN_FEATURE_FASTPATH
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530511 /* target->host HTT messages */
512 { /* CE5 */ CE_ATTR_FLAGS, 0, 0, 512, 512, NULL, },
Venkateswara Swamy Bandaru5432c1b2016-10-12 19:00:40 +0530513#else /* WLAN_FEATURE_FASTPATH */
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530514 /* unused */
515 { /* CE5 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL, },
Venkateswara Swamy Bandaru5432c1b2016-10-12 19:00:40 +0530516#endif /* WLAN_FEATURE_FASTPATH */
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530517 /* Target autonomous HIF_memcpy */
518 { /* CE6 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL, },
519 /* ce_diag, the Diagnostic Window */
520 { /* CE7 */ CE_ATTR_DIAG_FLAGS, 0, 2, DIAG_TRANSFER_LIMIT, 2, NULL, },
521 /* target->host pktlog */
522 { /* CE8 */ CE_ATTR_FLAGS, 0, 0, 2048, 128, NULL, },
523 /* Target autonomous HIF_memcpy */
524 { /* CE9 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL, },
525 /* Target autonomous HIF_memcpy */
526 { /* CE10 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL, },
527 /* Target autonomous HIF_memcpy */
528 { /* CE11 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL, },
Venkateswara Swamy Bandaru5432c1b2016-10-12 19:00:40 +0530529};
530
531static struct CE_attr host_lowdesc_ce_cfg_wlan_ar900b_nopktlog[] = {
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530532 /* host->target HTC control and raw streams */
533 { /* CE0 */ CE_ATTR_FLAGS, 0, 16, 256, 0, NULL, },
Venkateswara Swamy Bandaru5432c1b2016-10-12 19:00:40 +0530534 /* could be moved to share CE3 */
Nirav Shah77250fa2018-03-11 14:56:22 +0530535#ifdef WLAN_FEATURE_FASTPATH
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530536 /* target->host BMI + HTC control */
537 { /* CE1 */ CE_ATTR_FLAGS, 0, 0, 512, 64, NULL, },
Venkateswara Swamy Bandaru5432c1b2016-10-12 19:00:40 +0530538#else
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530539 /* target->host BMI + HTC control */
540 { /* CE1 */ CE_ATTR_FLAGS, 0, 0, 512, 512, NULL, },
Venkateswara Swamy Bandaru5432c1b2016-10-12 19:00:40 +0530541#endif
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530542 /* target->host WMI */
543 { /* CE2 */ CE_ATTR_FLAGS, 0, 0, 2048, 128, NULL, },
544 /* host->target WMI */
545 { /* CE3 */ CE_ATTR_FLAGS, 0, 32, 2048, 0, NULL, },
546 /* host->target HTT */
Venkateswara Swamy Bandaru5432c1b2016-10-12 19:00:40 +0530547 { /* CE4 */ CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR, 0,
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530548 CE_HTT_H2T_MSG_SRC_NENTRIES_AR900B, 256, 0, NULL, },
Nirav Shah77250fa2018-03-11 14:56:22 +0530549#ifdef WLAN_FEATURE_FASTPATH
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530550 /* target->host HTT messages */
551 { /* CE5 */ CE_ATTR_FLAGS, 0, 0, 512, 512, NULL, },
Venkateswara Swamy Bandaru5432c1b2016-10-12 19:00:40 +0530552#else /* WLAN_FEATURE_FASTPATH */
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530553 /* unused */
554 { /* CE5 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL, },
Venkateswara Swamy Bandaru5432c1b2016-10-12 19:00:40 +0530555#endif /* WLAN_FEATURE_FASTPATH */
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530556 /* Target autonomous HIF_memcpy */
557 { /* CE6 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL, },
558 /* ce_diag, the Diagnostic Window */
559 { /* CE7 */ CE_ATTR_DIAG_FLAGS, 0, 2, DIAG_TRANSFER_LIMIT, 2, NULL, },
560 /* target->host pktlog */
561 { /* CE8 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL, },
562 /* Target autonomous HIF_memcpy */
563 { /* CE9 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL, },
564 /* Target autonomous HIF_memcpy */
565 { /* CE10 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL, },
566 /* Target autonomous HIF_memcpy */
567 { /* CE11 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL, },
Venkateswara Swamy Bandaru5432c1b2016-10-12 19:00:40 +0530568};
569
Houston Hoffmanfb698ef2016-05-05 19:50:44 -0700570static struct CE_pipe_config target_ce_config_wlan_ar9888[] = {
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530571 /* host->target HTC control and raw streams */
572 { /* CE0 */ 0, PIPEDIR_OUT, 32, 256, CE_ATTR_FLAGS, 0, },
573 /* target->host HTC control */
574 { /* CE1 */ 1, PIPEDIR_IN, 32, 512, CE_ATTR_FLAGS, 0, },
575 /* target->host WMI */
576 { /* CE2 */ 2, PIPEDIR_IN, 64, 2048, CE_ATTR_FLAGS, 0, },
577 /* host->target WMI */
578 { /* CE3 */ 3, PIPEDIR_OUT, 32, 2048, CE_ATTR_FLAGS, 0, },
579 /* host->target HTT */
580 { /* CE4 */ 4, PIPEDIR_OUT, 256, 256, CE_ATTR_FLAGS, 0, },
Houston Hoffmanfb698ef2016-05-05 19:50:44 -0700581 /* NB: 50% of src nentries, since tx has 2 frags */
Nirav Shah77250fa2018-03-11 14:56:22 +0530582#ifdef WLAN_FEATURE_FASTPATH
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530583 /* target->host HTT */
584 { /* CE5 */ 5, PIPEDIR_IN, 32, 512, CE_ATTR_FLAGS, 0, },
Houston Hoffmanfb698ef2016-05-05 19:50:44 -0700585#else
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530586 /* unused */
587 { /* CE5 */ 5, PIPEDIR_OUT, 32, 2048, CE_ATTR_FLAGS, 0, },
Houston Hoffmanfb698ef2016-05-05 19:50:44 -0700588#endif
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530589 /* Reserved for target autonomous HIF_memcpy */
590 { /* CE6 */ 6, PIPEDIR_INOUT, 32, 4096, CE_ATTR_FLAGS, 0, },
Houston Hoffmanfb698ef2016-05-05 19:50:44 -0700591 /* CE7 used only by Host */
592};
593
594static struct CE_pipe_config target_ce_config_wlan_ar900b[] = {
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530595 /* host->target HTC control and raw streams */
596 { /* CE0 */ 0, PIPEDIR_OUT, 32, 256, CE_ATTR_FLAGS, 0, },
597 /* target->host HTC control */
598 { /* CE1 */ 1, PIPEDIR_IN, 32, 512, CE_ATTR_FLAGS, 0, },
599 /* target->host WMI */
600 { /* CE2 */ 2, PIPEDIR_IN, 64, 2048, CE_ATTR_FLAGS, 0, },
601 /* host->target WMI */
602 { /* CE3 */ 3, PIPEDIR_OUT, 32, 2048, CE_ATTR_FLAGS, 0, },
603 /* host->target HTT */
604 { /* CE4 */ 4, PIPEDIR_OUT, 256, 256, CE_ATTR_FLAGS, 0, },
Houston Hoffmanfb698ef2016-05-05 19:50:44 -0700605 /* NB: 50% of src nentries, since tx has 2 frags */
Nirav Shah77250fa2018-03-11 14:56:22 +0530606#ifdef WLAN_FEATURE_FASTPATH
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530607 /* target->host HTT */
608 { /* CE5 */ 5, PIPEDIR_IN, 32, 512, CE_ATTR_FLAGS, 0, },
Houston Hoffmanfb698ef2016-05-05 19:50:44 -0700609#else
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530610 /* unused */
611 { /* CE5 */ 5, PIPEDIR_OUT, 32, 2048, CE_ATTR_FLAGS, 0, },
Houston Hoffmanfb698ef2016-05-05 19:50:44 -0700612#endif
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530613 /* Reserved for target autonomous HIF_memcpy */
614 { /* CE6 */ 6, PIPEDIR_INOUT, 32, 4096, CE_ATTR_FLAGS, 0, },
615 /* CE7 used only by Host */
616 { /* CE7 */ 7, PIPEDIR_INOUT, 0, 0, 0, 0, },
Houston Hoffmanfb698ef2016-05-05 19:50:44 -0700617 { /* CE8 */ 8, PIPEDIR_IN, 64, 2048, CE_ATTR_FLAGS
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530618 /* target->host packtlog */
619 | CE_ATTR_DISABLE_INTR, 0, },
Houston Hoffmanfb698ef2016-05-05 19:50:44 -0700620#if PEER_CACHEING_HOST_ENABLE
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530621 /* target autonomous qcache memcpy */
Houston Hoffmanfb698ef2016-05-05 19:50:44 -0700622 { /* CE9 */ 9, PIPEDIR_INOUT, 32, 2048, CE_ATTR_FLAGS |
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530623 CE_ATTR_DISABLE_INTR, 0, },
Houston Hoffmanfb698ef2016-05-05 19:50:44 -0700624#endif
625};
626
Kiran Venkatappaf41ef2e2016-09-05 10:59:58 +0530627static struct CE_attr host_ce_config_wlan_qca8074[] = {
628 /* host->target HTC control and raw streams */
629 { /* CE0 */ CE_ATTR_FLAGS, 0, 16, 2048, 0, NULL,},
630 /* target->host HTT + HTC control */
631 { /* CE1 */ CE_ATTR_FLAGS, 0, 0, 2048, 512, NULL,},
632 /* target->host WMI */
Kiran Venkatappacb001d82019-01-11 18:10:38 +0530633 { /* CE2 */ CE_ATTR_FLAGS, 0, 0, 2048, 512, NULL,},
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530634 /* host->target WMI (mac0) */
Kiran Venkatappaf41ef2e2016-09-05 10:59:58 +0530635 { /* CE3 */ CE_ATTR_FLAGS, 0, 32, 2048, 0, NULL,},
636 /* host->target HTT */
637 { /* CE4 */ (CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR), 0,
638 CE_HTT_H2T_MSG_SRC_NENTRIES, 256, 0, NULL,},
Keyur Parekhfad6d082017-05-07 08:54:47 -0700639 /* target -> host PKTLOG */
640 { /* CE5 */ CE_ATTR_FLAGS, 0, 0, 2048, 512, NULL,},
Kiran Venkatappaf41ef2e2016-09-05 10:59:58 +0530641 /* Target autonomous HIF_memcpy */
Karunakar Dasineni9ff1ef92018-03-30 16:37:21 -0700642 { /* CE6 */ CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR, 0, 0,
643 0, 0, NULL,},
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530644 /* host->target WMI (mac1) */
645 { /* CE7 */ CE_ATTR_FLAGS, 0, 32, 2048, 0, NULL,},
Kiran Venkatappaf41ef2e2016-09-05 10:59:58 +0530646 /* Target to uMC */
647 { /* CE8 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL,},
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530648 /* host->target WMI (mac2) */
649 { /* CE9 */ CE_ATTR_FLAGS, 0, 32, 2048, 0, NULL,},
Kiran Venkatappaf41ef2e2016-09-05 10:59:58 +0530650 /* target->host HTT */
651 { /* CE10 */ CE_ATTR_FLAGS, 0, 0, 2048, 512, NULL,},
Vinay Adella77d43a82018-12-14 11:15:56 +0530652 { /* CE11 unused */ 0, 0, 0, 0, 0, NULL,},
Kiran Venkatappaf41ef2e2016-09-05 10:59:58 +0530653};
654
655static struct CE_pipe_config target_ce_config_wlan_qca8074[] = {
656 /* host->target HTC control and raw streams */
657 { /* CE0 */ 0, PIPEDIR_OUT, 32, 2048, CE_ATTR_FLAGS, 0,},
658 /* target->host HTT */
659 { /* CE1 */ 1, PIPEDIR_IN, 32, 2048, CE_ATTR_FLAGS, 0,},
660 /* target->host WMI + HTC control */
661 { /* CE2 */ 2, PIPEDIR_IN, 32, 2048, CE_ATTR_FLAGS, 0,},
662 /* host->target WMI */
663 { /* CE3 */ 3, PIPEDIR_OUT, 32, 2048, CE_ATTR_FLAGS, 0,},
664 /* host->target HTT */
665 { /* CE4 */ 4, PIPEDIR_OUT, 256, 256,
666 (CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR), 0,},
667 /* NB: 50% of src nentries, since tx has 2 frags */
Keyur Parekhdb0fa142017-07-13 19:40:22 -0700668 /* Target -> host PKTLOG */
669 { /* CE5 */ 5, PIPEDIR_IN, 32, 2048, 0, 0,},
Kiran Venkatappaf41ef2e2016-09-05 10:59:58 +0530670 /* Reserved for target autonomous HIF_memcpy */
Balamurugan Mahalingam20802b22017-05-02 19:11:38 +0530671 { /* CE6 */ 6, PIPEDIR_INOUT, 32, 65535, 64, 0,},
Kiran Venkatappaf41ef2e2016-09-05 10:59:58 +0530672 /* CE7 used only by Host */
Balamurugan Mahalingam20802b22017-05-02 19:11:38 +0530673 { /* CE7 */ 7, PIPEDIR_OUT, 32, 2048,
674 8192, 0,},
Kiran Venkatappaf41ef2e2016-09-05 10:59:58 +0530675 /* CE8 used only by IPA */
Balamurugan Mahalingam20802b22017-05-02 19:11:38 +0530676 { /* CE8 */ 8, PIPEDIR_INOUT, 32, 65535, 112, 0,},
Kiran Venkatappaf41ef2e2016-09-05 10:59:58 +0530677 /* CE9 target->host HTT */
Balamurugan Mahalingam20802b22017-05-02 19:11:38 +0530678 { /* CE9 */ 9, PIPEDIR_OUT, 32, 2048, 8192, 0,},
Kiran Venkatappaf41ef2e2016-09-05 10:59:58 +0530679 /* CE10 target->host HTT */
Balamurugan Mahalingam20802b22017-05-02 19:11:38 +0530680 { /* CE10 */ 10, PIPEDIR_INOUT_H2H, 0, 0, 0, 0,},
Kiran Venkatappaf41ef2e2016-09-05 10:59:58 +0530681};
Kiran Venkatappaf41ef2e2016-09-05 10:59:58 +0530682
Karunakar Dasinenif61cb072016-09-29 11:50:45 -0700683static struct CE_attr host_ce_config_wlan_qca8074_pci[] = {
684 /* host->target HTC control and raw streams */
685 { /* CE0 */ EPPING_CE_FLAGS_POLL, 0, 16, 2048, 0, NULL,},
686 /* target->host HTT + HTC control */
687 { /* CE1 */ EPPING_CE_FLAGS_POLL, 0, 0, 2048, 512, NULL,},
688 /* target->host WMI */
Kiran Venkatappaca1b9f82017-12-05 11:29:12 +0530689 { /* CE2 */ EPPING_CE_FLAGS_POLL, 0, 0, 2048, 256, NULL,},
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530690 /* host->target WMI (mac0) */
Karunakar Dasinenif61cb072016-09-29 11:50:45 -0700691 { /* CE3 */ EPPING_CE_FLAGS_POLL, 0, 32, 2048, 0, NULL,},
692 /* host->target HTT */
693 { /* CE4 */ (CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR), 0,
694 CE_HTT_H2T_MSG_SRC_NENTRIES, 256, 0, NULL,},
Keyur Parekhfad6d082017-05-07 08:54:47 -0700695 /* target -> host PKTLOG */
696 { /* CE5 */ EPPING_CE_FLAGS_POLL, 0, 0, 2048, 512, NULL,},
Karunakar Dasinenif61cb072016-09-29 11:50:45 -0700697 /* Target autonomous HIF_memcpy */
698 { /* CE6 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL,},
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530699 /* host->target WMI (mac1) */
700 { /* CE7 */ EPPING_CE_FLAGS_POLL, 0, 32, 2048, 0, NULL,},
Karunakar Dasinenif61cb072016-09-29 11:50:45 -0700701 /* Target to uMC */
702 { /* CE8 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL,},
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530703 /* host->target WMI (mac2) */
704 { /* CE9 */ EPPING_CE_FLAGS_POLL, 0, 32, 2048, 0, NULL,},
Karunakar Dasinenif61cb072016-09-29 11:50:45 -0700705 /* target->host HTT */
706 { /* CE10 */ CE_ATTR_FLAGS, 0, 0, 2048, 512, NULL,},
Vinay Adella77d43a82018-12-14 11:15:56 +0530707 { /* CE11 unused */ 0, 0, 0, 0, 0, NULL,},
Karunakar Dasinenif61cb072016-09-29 11:50:45 -0700708};
Keyur Parekhfad6d082017-05-07 08:54:47 -0700709
Karunakar Dasinenif61cb072016-09-29 11:50:45 -0700710static struct CE_pipe_config target_ce_config_wlan_qca8074_pci[] = {
711 /* host->target HTC control and raw streams */
712 { /* CE0 */ 0, PIPEDIR_OUT, 32, 2048, CE_ATTR_FLAGS, 0,},
713 /* target->host HTT */
714 { /* CE1 */ 1, PIPEDIR_IN, 32, 2048, CE_ATTR_FLAGS, 0,},
715 /* target->host WMI + HTC control */
716 { /* CE2 */ 2, PIPEDIR_IN, 32, 2048, CE_ATTR_FLAGS, 0,},
717 /* host->target WMI */
718 { /* CE3 */ 3, PIPEDIR_OUT, 32, 2048, CE_ATTR_FLAGS, 0,},
719 /* host->target HTT */
720 { /* CE4 */ 4, PIPEDIR_OUT, 256, 256,
721 (CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR), 0,},
722 /* NB: 50% of src nentries, since tx has 2 frags */
723 /* ipa_uc->target */
724 { /* CE5 */ 5, PIPEDIR_OUT, 1024, 64,
725 (CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR), 0,},
726 /* Reserved for target autonomous HIF_memcpy */
727 { /* CE6 */ 6, PIPEDIR_INOUT, 32, 16384, CE_ATTR_FLAGS, 0,},
728 /* CE7 used only by Host */
729 { /* CE7 */ 7, PIPEDIR_INOUT_H2H, 0, 0,
730 (CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR), 0,},
731 /* CE8 used only by IPA */
732 { /* CE8 */ 8, PIPEDIR_IN, 32, 2048, CE_ATTR_FLAGS, 0,},
733 /* CE9 target->host HTT */
734 { /* CE9 */ 9, PIPEDIR_IN, 32, 2048, CE_ATTR_FLAGS, 0,},
735 /* CE10 target->host HTT */
736 { /* CE10 */ 10, PIPEDIR_IN, 32, 2048, CE_ATTR_FLAGS, 0,},
737 /* Target -> host PKTLOG */
738 { /* CE11 */ 11, PIPEDIR_IN, 32, 2048, CE_ATTR_FLAGS, 0,},
739};
740
Houston Hoffman710af5a2016-11-22 21:59:03 -0800741#define QCA_6290_CE_COUNT 9
Nandha Kishore Easwaran51f80b82018-02-21 12:04:34 +0530742#ifdef CONFIG_WIN
743static struct CE_attr host_ce_config_wlan_qca6290[] = {
744 /* host->target HTC control and raw streams */
745 { /* CE0 */ CE_ATTR_FLAGS, 0, 16, 2048, 0, NULL,},
746 /* target->host HTT + HTC control */
Nandha Kishore Easwaran7cdaae22018-07-30 15:02:51 +0530747 { /* CE1 */ (CE_ATTR_FLAGS | CE_ATTR_ENABLE_POLL), 0, 0, 2048,
748 512, NULL,},
Nandha Kishore Easwaran51f80b82018-02-21 12:04:34 +0530749 /* target->host WMI */
Nandha Kishore Easwaran7cdaae22018-07-30 15:02:51 +0530750 { /* CE2 */ (CE_ATTR_FLAGS | CE_ATTR_ENABLE_POLL), 0, 0, 2048,
751 32, NULL,},
Nandha Kishore Easwaran51f80b82018-02-21 12:04:34 +0530752 /* host->target WMI */
753 { /* CE3 */ CE_ATTR_FLAGS, 0, 32, 2048, 0, NULL,},
754 /* host->target HTT */
755 { /* CE4 */ (CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR), 0,
756 CE_HTT_H2T_MSG_SRC_NENTRIES, 256, 0, NULL,},
757 /* target -> host PKTLOG */
Nandha Kishore Easwaran7cdaae22018-07-30 15:02:51 +0530758 { /* CE5 */ (CE_ATTR_FLAGS | CE_ATTR_ENABLE_POLL), 0, 0, 2048,
759 512, NULL,},
Nandha Kishore Easwaran51f80b82018-02-21 12:04:34 +0530760 /* Target autonomous HIF_memcpy */
761 { /* CE6 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL,},
762 /* host->target WMI (mac1) */
763 { /* CE7 */ CE_ATTR_FLAGS, 0, 32, 2048, 0, NULL,},
764 /* Reserved for target */
765 { /* CE8 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL,},
766 /* CE 9, 10, 11 belong to CoreBsp & MHI driver */
767};
768
769static struct CE_pipe_config target_ce_config_wlan_qca6290[] = {
770 /* host->target HTC control and raw streams */
771 { /* CE0 */ 0, PIPEDIR_OUT, 32, 2048, CE_ATTR_FLAGS, 0,},
772 /* target->host HTT */
773 { /* CE1 */ 1, PIPEDIR_IN, 32, 2048, CE_ATTR_FLAGS, 0,},
774 /* target->host WMI + HTC control */
775 { /* CE2 */ 2, PIPEDIR_IN, 32, 2048, CE_ATTR_FLAGS, 0,},
776 /* host->target WMI */
777 { /* CE3 */ 3, PIPEDIR_OUT, 32, 2048, CE_ATTR_FLAGS, 0,},
778 /* host->target HTT */
779 { /* CE4 */ 4, PIPEDIR_OUT, 256, 256,
780 (CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR), 0,},
781 /* Target -> host PKTLOG */
782 { /* CE5 */ 5, PIPEDIR_IN, 32, 2048, CE_ATTR_FLAGS, 0,},
783 /* Reserved for target autonomous HIF_memcpy */
784 { /* CE6 */ 6, PIPEDIR_INOUT, 32, 16384, CE_ATTR_FLAGS, 0,},
785 /* CE7 used only by Host */
786 { /* CE7 */ 7, PIPEDIR_OUT, 32, 2048,
787 8192, 0,},
788 /* Reserved for target */
789 { /* CE8 */ 8, PIPEDIR_INOUT, 32, 16384, CE_ATTR_FLAGS, 0,},
790 /* CE 9, 10, 11 belong to CoreBsp & MHI driver */
791};
792#else
Houston Hoffman31b25ec2016-09-19 13:12:30 -0700793static struct CE_attr host_ce_config_wlan_qca6290[] = {
794 /* host->target HTC control and raw streams */
795 { /* CE0 */ CE_ATTR_FLAGS, 0, 16, 2048, 0, NULL,},
796 /* target->host HTT + HTC control */
797 { /* CE1 */ CE_ATTR_FLAGS, 0, 0, 2048, 512, NULL,},
798 /* target->host WMI */
799 { /* CE2 */ CE_ATTR_FLAGS, 0, 0, 2048, 32, NULL,},
800 /* host->target WMI */
801 { /* CE3 */ CE_ATTR_FLAGS, 0, 32, 2048, 0, NULL,},
802 /* host->target HTT */
803 { /* CE4 */ (CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR), 0,
804 CE_HTT_H2T_MSG_SRC_NENTRIES, 256, 0, NULL,},
Houston Hoffman88c896f2016-12-14 09:56:35 -0800805 /* target -> host PKTLOG */
806 { /* CE5 */ CE_ATTR_FLAGS, 0, 0, 2048, 512, NULL,},
Houston Hoffman31b25ec2016-09-19 13:12:30 -0700807 /* Target autonomous HIF_memcpy */
808 { /* CE6 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL,},
809 /* ce_diag, the Diagnostic Window */
Kiran Venkatappae17e3b62017-02-10 16:31:49 +0530810 { /* CE7 */ (CE_ATTR_DIAG_FLAGS | CE_ATTR_DISABLE_INTR), 0,
Houston Hoffman31b25ec2016-09-19 13:12:30 -0700811 2, DIAG_TRANSFER_LIMIT, 2, NULL,},
Houston Hoffman710af5a2016-11-22 21:59:03 -0800812 /* Reserved for target */
Houston Hoffman31b25ec2016-09-19 13:12:30 -0700813 { /* CE8 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL,},
Houston Hoffman710af5a2016-11-22 21:59:03 -0800814 /* CE 9, 10, 11 belong to CoreBsp & MHI driver */
Houston Hoffman31b25ec2016-09-19 13:12:30 -0700815};
816
817static struct CE_pipe_config target_ce_config_wlan_qca6290[] = {
818 /* host->target HTC control and raw streams */
819 { /* CE0 */ 0, PIPEDIR_OUT, 32, 2048, CE_ATTR_FLAGS, 0,},
820 /* target->host HTT */
821 { /* CE1 */ 1, PIPEDIR_IN, 32, 2048, CE_ATTR_FLAGS, 0,},
822 /* target->host WMI + HTC control */
823 { /* CE2 */ 2, PIPEDIR_IN, 32, 2048, CE_ATTR_FLAGS, 0,},
824 /* host->target WMI */
825 { /* CE3 */ 3, PIPEDIR_OUT, 32, 2048, CE_ATTR_FLAGS, 0,},
826 /* host->target HTT */
827 { /* CE4 */ 4, PIPEDIR_OUT, 256, 256,
828 (CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR), 0,},
Houston Hoffman88c896f2016-12-14 09:56:35 -0800829 /* Target -> host PKTLOG */
830 { /* CE5 */ 5, PIPEDIR_IN, 32, 2048, CE_ATTR_FLAGS, 0,},
Houston Hoffman31b25ec2016-09-19 13:12:30 -0700831 /* Reserved for target autonomous HIF_memcpy */
832 { /* CE6 */ 6, PIPEDIR_INOUT, 32, 16384, CE_ATTR_FLAGS, 0,},
833 /* CE7 used only by Host */
834 { /* CE7 */ 7, PIPEDIR_INOUT_H2H, 0, 0,
835 (CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR), 0,},
Houston Hoffman710af5a2016-11-22 21:59:03 -0800836 /* Reserved for target */
837 { /* CE8 */ 8, PIPEDIR_INOUT, 32, 16384, CE_ATTR_FLAGS, 0,},
838 /* CE 9, 10, 11 belong to CoreBsp & MHI driver */
Houston Hoffman31b25ec2016-09-19 13:12:30 -0700839};
Nandha Kishore Easwaran51f80b82018-02-21 12:04:34 +0530840#endif
Venkata Sharath Chandra Manchala79860aa2018-06-12 15:16:36 -0700841
842#define QCA_6390_CE_COUNT 9
843static struct CE_attr host_ce_config_wlan_qca6390[] = {
844 /* host->target HTC control and raw streams */
845 { /* CE0 */ CE_ATTR_FLAGS, 0, 16, 2048, 0, NULL,},
846 /* target->host HTT + HTC control */
847 { /* CE1 */ CE_ATTR_FLAGS, 0, 0, 2048, 512, NULL,},
848 /* target->host WMI */
849 { /* CE2 */ CE_ATTR_FLAGS, 0, 0, 2048, 32, NULL,},
850 /* host->target WMI */
851 { /* CE3 */ CE_ATTR_FLAGS, 0, 32, 2048, 0, NULL,},
852 /* host->target HTT */
853 { /* CE4 */ (CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR), 0,
854 CE_HTT_H2T_MSG_SRC_NENTRIES, 256, 0, NULL,},
855 /* target -> host PKTLOG */
856 { /* CE5 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL,},
857 /* Target autonomous HIF_memcpy */
858 { /* CE6 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL,},
859 /* ce_diag, the Diagnostic Window */
860 { /* CE7 */ (CE_ATTR_DIAG_FLAGS | CE_ATTR_DISABLE_INTR), 0,
861 0, DIAG_TRANSFER_LIMIT, 0, NULL,},
862 /* Reserved for target */
863 { /* CE8 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL,},
864 /* CE 9, 10, 11 belong to CoreBsp & MHI driver */
865};
866
867static struct CE_pipe_config target_ce_config_wlan_qca6390[] = {
868 /* host->target HTC control and raw streams */
869 { /* CE0 */ 0, PIPEDIR_OUT, 32, 2048, CE_ATTR_FLAGS, 0,},
870 /* target->host HTT */
871 { /* CE1 */ 1, PIPEDIR_IN, 32, 2048, CE_ATTR_FLAGS, 0,},
872 /* target->host WMI + HTC control */
873 { /* CE2 */ 2, PIPEDIR_IN, 32, 2048, CE_ATTR_FLAGS, 0,},
874 /* host->target WMI */
875 { /* CE3 */ 3, PIPEDIR_OUT, 32, 2048, CE_ATTR_FLAGS, 0,},
876 /* host->target HTT */
877 { /* CE4 */ 4, PIPEDIR_OUT, 256, 256,
878 (CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR), 0,},
879 /* Target -> host PKTLOG */
880 { /* CE5 */ 5, PIPEDIR_IN, 32, 2048, CE_ATTR_FLAGS, 0,},
881 /* Reserved for target autonomous HIF_memcpy */
882 { /* CE6 */ 6, PIPEDIR_INOUT, 32, 16384, CE_ATTR_FLAGS, 0,},
883 /* CE7 used only by Host */
884 { /* CE7 */ 7, PIPEDIR_INOUT_H2H, 0, 0,
885 (CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR), 0,},
886 /* Reserved for target */
887 { /* CE8 */ 8, PIPEDIR_INOUT, 32, 16384, CE_ATTR_FLAGS, 0,},
888 /* CE 9, 10, 11 belong to CoreBsp & MHI driver */
889};
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800890#endif /* __HIF_PCI_INTERNAL_H__ */