File tree Expand file tree Collapse file tree 1 file changed +5
-3
lines changed Expand file tree Collapse file tree 1 file changed +5
-3
lines changed Original file line number Diff line number Diff line change @@ -684,6 +684,8 @@ static void zynq_gpio_restore_context(struct zynq_gpio *gpio)
684
684
unsigned int bank_num ;
685
685
686
686
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 ));
687
689
writel_relaxed (gpio -> context .datalsw [bank_num ],
688
690
gpio -> base_addr +
689
691
ZYNQ_GPIO_DATA_LSW_OFFSET (bank_num ));
@@ -693,9 +695,6 @@ static void zynq_gpio_restore_context(struct zynq_gpio *gpio)
693
695
writel_relaxed (gpio -> context .dirm [bank_num ],
694
696
gpio -> base_addr +
695
697
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 ));
699
698
writel_relaxed (gpio -> context .int_type [bank_num ],
700
699
gpio -> base_addr +
701
700
ZYNQ_GPIO_INTTYPE_OFFSET (bank_num ));
@@ -705,6 +704,9 @@ static void zynq_gpio_restore_context(struct zynq_gpio *gpio)
705
704
writel_relaxed (gpio -> context .int_any [bank_num ],
706
705
gpio -> base_addr +
707
706
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 ));
708
710
}
709
711
}
710
712
You can’t perform that action at this time.
0 commit comments