Skip to content

Commit 36f2e72

Browse files
Swapna Manupatilinusw
authored andcommitted
gpio: zynq: Fix for bug in zynq_gpio_restore_context API
This patch writes the inverse value of Interrupt Mask Status register into the Interrupt Enable register in zynq_gpio_restore_context API to fix the bug. Fixes: e11de4d ("gpio: zynq: Add support for suspend resume") Signed-off-by: Swapna Manupati <[email protected]> Signed-off-by: Michal Simek <[email protected]> Signed-off-by: Srinivas Neeli <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Linus Walleij <[email protected]>
1 parent c5706c7 commit 36f2e72

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

drivers/gpio/gpio-zynq.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -684,6 +684,8 @@ static void zynq_gpio_restore_context(struct zynq_gpio *gpio)
684684
unsigned int bank_num;
685685

686686
for (bank_num = 0; bank_num < gpio->p_data->max_bank; bank_num++) {
687+
writel_relaxed(ZYNQ_GPIO_IXR_DISABLE_ALL, gpio->base_addr +
688+
ZYNQ_GPIO_INTDIS_OFFSET(bank_num));
687689
writel_relaxed(gpio->context.datalsw[bank_num],
688690
gpio->base_addr +
689691
ZYNQ_GPIO_DATA_LSW_OFFSET(bank_num));
@@ -693,9 +695,6 @@ static void zynq_gpio_restore_context(struct zynq_gpio *gpio)
693695
writel_relaxed(gpio->context.dirm[bank_num],
694696
gpio->base_addr +
695697
ZYNQ_GPIO_DIRM_OFFSET(bank_num));
696-
writel_relaxed(gpio->context.int_en[bank_num],
697-
gpio->base_addr +
698-
ZYNQ_GPIO_INTEN_OFFSET(bank_num));
699698
writel_relaxed(gpio->context.int_type[bank_num],
700699
gpio->base_addr +
701700
ZYNQ_GPIO_INTTYPE_OFFSET(bank_num));
@@ -705,6 +704,9 @@ static void zynq_gpio_restore_context(struct zynq_gpio *gpio)
705704
writel_relaxed(gpio->context.int_any[bank_num],
706705
gpio->base_addr +
707706
ZYNQ_GPIO_INTANY_OFFSET(bank_num));
707+
writel_relaxed(~(gpio->context.int_en[bank_num]),
708+
gpio->base_addr +
709+
ZYNQ_GPIO_INTEN_OFFSET(bank_num));
708710
}
709711
}
710712

0 commit comments

Comments
 (0)