net: txgbe: fix GPIO interrupt blocking
authorJiawen Wu <jiawenwu@trustnetic.com>
Fri, 1 Mar 2024 09:29:55 +0000 (17:29 +0800)
committerPaolo Abeni <pabeni@redhat.com>
Tue, 5 Mar 2024 10:13:04 +0000 (11:13 +0100)
commitb4a2496c17ed645f8d51061047c9c249b58c74ba
treeb64c82e4c895166546f34130a3dbf1c3e40fb3b7
parentb307e25d4e6d341ce5af8682d5913c70655d1d36
net: txgbe: fix GPIO interrupt blocking

The register of GPIO interrupt status is masked before MAC IRQ
is enabled. This is because of hardware deficiency. So manually
clear the interrupt status before using them. Otherwise, GPIO
interrupts will never be reported again. There is a workaround for
clearing interrupts to set GPIO EOI in txgbe_up_complete().

Fixes: aefd013624a1 ("net: txgbe: use irq_domain for interrupt controller")
Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com>
Link: https://lore.kernel.org/r/20240301092956.18544-1-jiawenwu@trustnetic.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/ethernet/wangxun/txgbe/txgbe_main.c
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.h