qcacmn: Disable CE6 interrupts for Hawkeye

CE6 is used for autonomous HIF_memcpy by FW, but interrupts
are coming to host since there is no separate HW control to
turn off host interrupts. Avoid requesting these interrupts.

Change-Id: I7b09b7c6e39d37e111e6e7a4292f605b3fb602e0
This commit is contained in:
Karunakar Dasineni
2018-03-30 16:37:21 -07:00
committed by nshrivas
parent 9eaa6f099b
commit 9ff1ef9798
2 changed files with 5 additions and 1 deletions

View File

@@ -575,7 +575,8 @@ static struct CE_attr host_ce_config_wlan_qca8074[] = {
/* target -> host PKTLOG */
{ /* CE5 */ CE_ATTR_FLAGS, 0, 0, 2048, 512, NULL,},
/* Target autonomous HIF_memcpy */
{ /* CE6 */ CE_ATTR_FLAGS, 0, 0, 0, 0, NULL,},
{ /* CE6 */ CE_ATTR_FLAGS | CE_ATTR_DISABLE_INTR, 0, 0,
0, 0, NULL,},
/* host->target WMI (mac1) */
{ /* CE7 */ CE_ATTR_FLAGS, 0, 32, 2048, 0, NULL,},
/* Target to uMC */

View File

@@ -252,11 +252,14 @@ int hif_ahb_configure_irq(struct hif_pci_softc *sc)
struct hif_softc *scn = HIF_GET_SOFTC(sc);
struct platform_device *pdev = (struct platform_device *)sc->pdev;
struct HIF_CE_state *hif_state = HIF_GET_CE_STATE(scn);
struct CE_attr *host_ce_conf = hif_state->host_ce_config;
int irq = 0;
int i;
/* configure per CE interrupts */
for (i = 0; i < scn->ce_count; i++) {
if (host_ce_conf[i].flags & CE_ATTR_DISABLE_INTR)
continue;
irq = platform_get_irq_byname(pdev, ic_irqname[HIF_IC_CE0_IRQ_OFFSET + i]);
ic_irqnum[HIF_IC_CE0_IRQ_OFFSET + i] = irq;
ret = request_irq(irq ,