mirror_ubuntu-kernels/drivers/net/ethernet/microchip
Philipp Rosenberger 995585ecdf net: enc28j60: Use threaded interrupt instead of workqueue
The Microchip ENC28J60 SPI Ethernet driver schedules a work item from
the interrupt handler because accesses to the SPI bus may sleep.

On PREEMPT_RT (which forces interrupt handling into threads) this
old-fashioned approach unnecessarily increases latency because an
interrupt results in first waking the interrupt thread, then scheduling
the work item.  So, a double indirection to handle an interrupt.

Avoid by converting the driver to modern threaded interrupt handling.

Signed-off-by: Philipp Rosenberger <p.rosenberger@kunbus.com>
Signed-off-by: Zhi Han <hanzhi09@gmail.com>
[lukas: rewrite commit message, linewrap request_threaded_irq() call]
Signed-off-by: Lukas Wunner <lukas@wunner.de>
Reviewed-by: Piotr Raczynski <piotr.raczynski@intel.com>
Link: https://lore.kernel.org/r/342380d989ce26bc49f0e5d45fbb0416a5f7809f.1683606193.git.lukas@wunner.de
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2023-05-11 18:00:37 -07:00
..
lan966x net: lan966x: Add TC support for ES0 VCAP 2023-05-10 09:51:11 +01:00
sparx5 Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-03-09 22:22:11 -08:00
vcap net: lan966x: Add ES0 VCAP model 2023-05-10 09:51:10 +01:00
enc28j60_hw.h
enc28j60.c net: enc28j60: Use threaded interrupt instead of workqueue 2023-05-11 18:00:37 -07:00
encx24j600_hw.h net: encx24j600: check error in devm_regmap_init_encx24j600 2021-10-13 15:25:25 -07:00
encx24j600-regmap.c net: encx24j600: Fix invalid logic in reading of MISTAT register 2022-12-05 09:46:31 +00:00
encx24j600.c net: ethernet: move from strlcpy with unused retval to strscpy 2022-08-31 14:11:26 -07:00
Kconfig net: microchip: sparx5: Adding initial VCAP API support 2022-10-24 10:37:42 +01:00
lan743x_ethtool.c net: lan743x: Add support to SGMII register dump for PCI11010/PCI11414 chips 2022-11-09 19:20:13 -08:00
lan743x_ethtool.h net: lan743x: Add support to SGMII register dump for PCI11010/PCI11414 chips 2022-11-09 19:20:13 -08:00
lan743x_main.c ethernet: remove superfluous clearing of phydev 2023-03-22 20:47:27 -07:00
lan743x_main.h net: lan743x: add generic implementation for phy interface selection 2023-01-19 13:50:11 +01:00
lan743x_ptp.c ptp: lan743x: use diff_by_scaled_ppm in .adjfine implementation 2022-10-31 11:14:16 +00:00
lan743x_ptp.h net: lan743x: Add support for PTP-IO Event Output (Periodic Output) 2022-03-18 12:53:23 +00:00
Makefile net: microchip: sparx5: Adding initial tc flower support for VCAP API 2022-10-24 10:37:43 +01:00