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:

committed by
nshrivas

parent
904e527aa7
commit
54532861c7
@@ -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;
|
||||
|
@@ -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
|
||||
|
@@ -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;
|
||||
}
|
||||
|
Reference in New Issue
Block a user