qcacmn: Disable MSI intr config for CE5 on Lithium targets
FW is not setting up any context for CE5 but host is still configuring the dest and status ring for CE5. This can result in CE5 HW to write to MSI iova address when PCIe is in low power state. Fix is to disable MSI intr configuration for CE5 on Lithium based targets. Change-Id: I964305ad1258d41d7afe6422f87286904c0a6739 CRs-Fixed: 2954723
This commit is contained in:

committed by
Madan Koyyalamudi

parent
2a7b60ac61
commit
45fa11262a
@@ -1229,7 +1229,8 @@ static struct CE_attr host_ce_config_wlan_qca6390[] = {
|
||||
#ifdef REMOVE_PKT_LOG
|
||||
{ /* CE5 */ 0, 0, 0, 0, 0, NULL,},
|
||||
#else
|
||||
{ /* CE5 */ CE_ATTR_FLAGS, 0, 0, 2048, 512, NULL,},
|
||||
{ /* CE5 */ (CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR), 0, 0, 2048, 512,
|
||||
NULL,},
|
||||
#endif
|
||||
/* Target autonomous HIF_memcpy */
|
||||
{ /* CE6 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL,},
|
||||
@@ -1283,7 +1284,8 @@ static struct CE_attr host_ce_config_wlan_qca6490[] = {
|
||||
{ /* CE4 */ CE4_COMP_HTT_HTC, 0,
|
||||
CE_HTT_H2T_MSG_SRC_NENTRIES_QCA6490, 256, 0, NULL,},
|
||||
/* target -> host PKTLOG */
|
||||
{ /* CE5 */ CE_ATTR_FLAGS, 0, 0, 2048, 512, NULL,},
|
||||
{ /* CE5 */ (CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR), 0, 0, 2048, 512,
|
||||
NULL,},
|
||||
/* Target autonomous HIF_memcpy */
|
||||
{ /* CE6 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL,},
|
||||
/* ce_diag, the Diagnostic Window */
|
||||
@@ -1332,7 +1334,8 @@ static struct CE_attr host_ce_config_wlan_qca6750[] = {
|
||||
{ /* CE4 */ (CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR), 0,
|
||||
CE_HTT_H2T_MSG_SRC_NENTRIES, 256, 0, NULL,},
|
||||
/* target -> host PKTLOG */
|
||||
{ /* CE5 */ CE_ATTR_FLAGS, 0, 0, 2048, 512, NULL,},
|
||||
{ /* CE5 */ (CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR), 0, 0, 2048, 512,
|
||||
NULL,},
|
||||
/* Target autonomous HIF_memcpy */
|
||||
{ /* CE6 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL,},
|
||||
#ifdef WLAN_FEATURE_WMI_DIAG_OVER_CE7
|
||||
|
@@ -872,13 +872,12 @@ static void ce_srng_status_ring_setup(struct hif_softc *scn, uint32_t ce_id,
|
||||
|
||||
hif_debug("ce_id: %d", ce_id);
|
||||
|
||||
ce_srng_msi_ring_params_setup(scn, ce_id, &ring_params);
|
||||
|
||||
ring_params.ring_base_paddr = status_ring->base_addr_CE_space;
|
||||
ring_params.ring_base_vaddr = status_ring->base_addr_owner_space;
|
||||
ring_params.num_entries = status_ring->nentries;
|
||||
|
||||
if (!(CE_ATTR_DISABLE_INTR & attr->flags)) {
|
||||
ce_srng_msi_ring_params_setup(scn, ce_id, &ring_params);
|
||||
ce_status_ring_config_int_threshold(scn, &ring_params);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user