|
@@ -156,6 +156,38 @@ static const struct ce_attr host_ce_config_wlan[] = {
|
|
|
.src_sz_max = DIAG_TRANSFER_LIMIT,
|
|
|
.dest_nentries = 2,
|
|
|
},
|
|
|
+
|
|
|
+ /* CE8: target->host pktlog */
|
|
|
+ {
|
|
|
+ .flags = CE_ATTR_FLAGS,
|
|
|
+ .src_nentries = 0,
|
|
|
+ .src_sz_max = 2048,
|
|
|
+ .dest_nentries = 128,
|
|
|
+ },
|
|
|
+
|
|
|
+ /* CE9 target autonomous qcache memcpy */
|
|
|
+ {
|
|
|
+ .flags = CE_ATTR_FLAGS,
|
|
|
+ .src_nentries = 0,
|
|
|
+ .src_sz_max = 0,
|
|
|
+ .dest_nentries = 0,
|
|
|
+ },
|
|
|
+
|
|
|
+ /* CE10: target autonomous hif memcpy */
|
|
|
+ {
|
|
|
+ .flags = CE_ATTR_FLAGS,
|
|
|
+ .src_nentries = 0,
|
|
|
+ .src_sz_max = 0,
|
|
|
+ .dest_nentries = 0,
|
|
|
+ },
|
|
|
+
|
|
|
+ /* CE11: target autonomous hif memcpy */
|
|
|
+ {
|
|
|
+ .flags = CE_ATTR_FLAGS,
|
|
|
+ .src_nentries = 0,
|
|
|
+ .src_sz_max = 0,
|
|
|
+ .dest_nentries = 0,
|
|
|
+ },
|
|
|
};
|
|
|
|
|
|
/* Target firmware's Copy Engine configuration. */
|
|
@@ -233,6 +265,38 @@ static const struct ce_pipe_config target_ce_config_wlan[] = {
|
|
|
},
|
|
|
|
|
|
/* CE7 used only by Host */
|
|
|
+ {
|
|
|
+ .pipenum = __cpu_to_le32(7),
|
|
|
+ .pipedir = __cpu_to_le32(PIPEDIR_INOUT),
|
|
|
+ .nentries = __cpu_to_le32(0),
|
|
|
+ .nbytes_max = __cpu_to_le32(0),
|
|
|
+ .flags = __cpu_to_le32(0),
|
|
|
+ .reserved = __cpu_to_le32(0),
|
|
|
+ },
|
|
|
+
|
|
|
+ /* CE8 target->host packtlog */
|
|
|
+ {
|
|
|
+ .pipenum = __cpu_to_le32(8),
|
|
|
+ .pipedir = __cpu_to_le32(PIPEDIR_IN),
|
|
|
+ .nentries = __cpu_to_le32(64),
|
|
|
+ .nbytes_max = __cpu_to_le32(2048),
|
|
|
+ .flags = __cpu_to_le32(CE_ATTR_FLAGS | CE_ATTR_DIS_INTR),
|
|
|
+ .reserved = __cpu_to_le32(0),
|
|
|
+ },
|
|
|
+
|
|
|
+ /* CE9 target autonomous qcache memcpy */
|
|
|
+ {
|
|
|
+ .pipenum = __cpu_to_le32(9),
|
|
|
+ .pipedir = __cpu_to_le32(PIPEDIR_INOUT),
|
|
|
+ .nentries = __cpu_to_le32(32),
|
|
|
+ .nbytes_max = __cpu_to_le32(2048),
|
|
|
+ .flags = __cpu_to_le32(CE_ATTR_FLAGS | CE_ATTR_DIS_INTR),
|
|
|
+ .reserved = __cpu_to_le32(0),
|
|
|
+ },
|
|
|
+
|
|
|
+ /* It not necessary to send target wlan configuration for CE10 & CE11
|
|
|
+ * as these CEs are not actively used in target.
|
|
|
+ */
|
|
|
};
|
|
|
|
|
|
/*
|
|
@@ -1771,7 +1835,8 @@ static int ath10k_pci_init_config(struct ath10k *ar)
|
|
|
|
|
|
ret = ath10k_pci_diag_write_mem(ar, pipe_cfg_targ_addr,
|
|
|
target_ce_config_wlan,
|
|
|
- sizeof(target_ce_config_wlan));
|
|
|
+ sizeof(struct ce_pipe_config) *
|
|
|
+ NUM_TARGET_CE_CONFIG_WLAN);
|
|
|
|
|
|
if (ret != 0) {
|
|
|
ath10k_err(ar, "Failed to write pipe cfg: %d\n", ret);
|
|
@@ -1885,7 +1950,7 @@ static int ath10k_pci_alloc_pipes(struct ath10k *ar)
|
|
|
}
|
|
|
|
|
|
/* Last CE is Diagnostic Window */
|
|
|
- if (i == CE_COUNT - 1) {
|
|
|
+ if (i == CE_DIAG_PIPE) {
|
|
|
ar_pci->ce_diag = pipe->ce_hdl;
|
|
|
continue;
|
|
|
}
|