qcacmn: Disable wake irq for QCN9000

Disable wake IRQ for QCN9000 since it doesn't require wake
feature.

Change-Id: I62e8712f9c7c7624c84889740249f3b70b21d6ff
This commit is contained in:
Nandha Kishore Easwaran
2019-12-27 11:26:03 +05:30
committed by nshrivas
parent 904e527aa7
commit 54532861c7
3 changed files with 27 additions and 17 deletions

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2013-2019 The Linux Foundation. All rights reserved.
* Copyright (c) 2013-2020 The Linux Foundation. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@@ -3194,6 +3194,7 @@ void hif_ce_prepare_config(struct hif_softc *scn)
hif_state->target_ce_config_sz =
sizeof(target_ce_config_wlan_qcn9000);
scn->ce_count = QCN_9000_CE_COUNT;
scn->disable_wake_irq = 1;
break;
case TARGET_TYPE_QCA6390:
hif_state->host_ce_config = host_ce_config_wlan_qca6390;

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2013-2019 The Linux Foundation. All rights reserved.
* Copyright (c) 2013-2020 The Linux Foundation. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@@ -203,6 +203,7 @@ struct hif_softc {
struct hif_ut_suspend_context ut_suspend_ctx;
uint32_t hif_attribute;
int wake_irq;
int disable_wake_irq;
void (*initial_wakeup_cb)(void *);
void *initial_wakeup_priv;
#ifdef REMOVE_PKT_LOG

View File

@@ -3363,19 +3363,25 @@ static int hif_ce_msi_configure_irq(struct hif_softc *scn)
struct hif_pci_softc *pci_sc = HIF_GET_PCI_SOFTC(scn);
struct CE_attr *host_ce_conf = ce_sc->host_ce_config;
if (!scn->disable_wake_irq) {
/* do wake irq assignment */
ret = pld_get_user_msi_assignment(scn->qdf_dev->dev, "WAKE",
&msi_data_count, &msi_data_start,
&msi_data_count,
&msi_data_start,
&msi_irq_start);
if (ret)
return ret;
scn->wake_irq = pld_get_msi_irq(scn->qdf_dev->dev, msi_irq_start);
scn->wake_irq = pld_get_msi_irq(scn->qdf_dev->dev,
msi_irq_start);
ret = pfrm_request_irq(scn->qdf_dev->dev, scn->wake_irq,
hif_wake_interrupt_handler,
IRQF_NO_SUSPEND, "wlan_wake_irq", scn);
if (ret)
return ret;
}
/* do ce irq assignments */
ret = pld_get_user_msi_assignment(scn->qdf_dev->dev, "CE",
@@ -3436,9 +3442,11 @@ free_irq:
}
free_wake_irq:
if (!scn->disable_wake_irq) {
pfrm_free_irq(scn->qdf_dev->dev,
scn->wake_irq, scn->qdf_dev->dev);
scn->wake_irq = 0;
}
return ret;
}