pinctrl: qcom: Set intr_wakeup_enable_bit only when skip_wake_irq is set

intr_wakeup_enable_bit controls the wake GPIO routing to parent PDC
irqchip. Set it only when skip_wake_irq is also set to that this will
be ignored when parent is MPM.

Change-Id: Id8cf60246ab874d7cf45b518104a8a4024634243
Signed-off-by: Maulik Shah <quic_mkshah@quicinc.com>
This commit is contained in:
Maulik Shah 2024-03-27 10:24:38 +05:30
parent b679be6f20
commit a7fc7adcfd

View File

@ -2,7 +2,7 @@
/*
* Copyright (c) 2013, Sony Mobile Communications AB.
* Copyright (c) 2013-2021, The Linux Foundation. All rights reserved.
* Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
* Copyright (c) 2023-2024, Qualcomm Innovation Center, Inc. All rights reserved.
*/
#include <linux/delay.h>
@ -1997,7 +1997,8 @@ int msm_gpio_mpm_wake_set(unsigned int gpio, bool enable)
raw_spin_lock_irqsave(&msm_pinctrl_data->lock, flags);
intr_cfg = msm_readl_intr_cfg(msm_pinctrl_data, g);
if (intr_cfg & BIT(g->intr_wakeup_present_bit)) {
if ((intr_cfg & BIT(g->intr_wakeup_present_bit)) &&
test_bit(gpio, msm_pinctrl_data->skip_wake_irqs)) {
if (enable)
intr_cfg |= BIT(g->intr_wakeup_enable_bit);
else