linux-stable/drivers/net/ethernet/sfc
Anirudh Venkataramanan f61e6d3ca4 sfc: Use kmap_local_page() instead of kmap_atomic()
kmap_atomic() is being deprecated in favor of kmap_local_page(). Replace
kmap_atomic() and kunmap_atomic() with kmap_local_page() and kunmap_local()
respectively.

Note that kmap_atomic() disables preemption and page-fault processing, but
kmap_local_page() doesn't. When converting uses of kmap_atomic(), one has
to check if the code being executed between the map/unmap implicitly
depends on page-faults and/or preemption being disabled. If yes, then code
to disable page-faults and/or preemption should also be added for
functional correctness. That however doesn't appear to be the case here,
so just kmap_local_page() is used.

Also note that the page being mapped is not allocated by the driver, and so
the driver doesn't know if the page is in normal memory. This is the reason
kmap_local_page() is used as opposed to page_address().

I don't have hardware, so this change has only been compile tested.

Cc: Ira Weiny <ira.weiny@intel.com>
Cc: Fabio M. De Francesco <fmdefrancesco@gmail.com>
Cc: Edward Cree <ecree.xilinx@gmail.com>
Cc: Martin Habets <habetsm.xilinx@gmail.com>
Signed-off-by: Anirudh Venkataramanan <anirudh.venkataramanan@intel.com>
Acked-by: Martin Habets <habetsm.xilinx@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-11-25 10:44:01 +00:00
..
falcon net: drop the weight argument from netif_napi_add 2022-09-28 18:57:14 -07:00
siena ptp: convert remaining drivers to adjfine interface 2022-11-11 10:58:39 +00:00
bitfield.h
ef10.c sfc: Change VF mac via PF as first preference if available. 2022-10-15 11:06:44 +01:00
ef10_regs.h
ef10_sriov.c sfc: move table locking into filter_table_{probe,remove} methods 2022-07-29 21:22:06 -07:00
ef10_sriov.h
ef100.c sfc: insert default MAE rules to connect VFs to representors 2022-07-29 21:22:06 -07:00
ef100.h
ef100_ethtool.c sfc: remove 'log-tc-errors' ethtool private flag 2022-10-19 13:00:05 -07:00
ef100_ethtool.h
ef100_netdev.c sfc: bind blocks for TC offload on EF100 2022-09-28 09:43:22 +01:00
ef100_netdev.h sfc: hook up ef100 representor TX 2022-07-22 12:50:06 +01:00
ef100_nic.c sfc: bind blocks for TC offload on EF100 2022-09-28 09:43:22 +01:00
ef100_nic.h sfc: determine wire m-port at EF100 PF probe time 2022-07-29 21:22:06 -07:00
ef100_regs.h sfc: update EF100 register descriptions 2022-07-22 12:50:06 +01:00
ef100_rep.c net: drop the weight argument from netif_napi_add 2022-09-28 18:57:14 -07:00
ef100_rep.h sfc: add a hashtable for offloaded TC rules 2022-09-28 09:43:22 +01:00
ef100_rx.c sfc: add ability for extra channels to receive raw RX buffers 2022-11-16 09:07:02 +00:00
ef100_rx.h
ef100_sriov.c sfc: add skeleton ef100 VF representors 2022-07-22 12:50:06 +01:00
ef100_sriov.h sfc: add skeleton ef100 VF representors 2022-07-22 12:50:06 +01:00
ef100_tx.c sfc (gcc13): synchronize ef100_enqueue_skb()'s return type 2022-11-02 20:38:17 -07:00
ef100_tx.h sfc: support passing a representor to the EF100 TX path 2022-07-22 12:50:06 +01:00
efx.c sfc: Fix an error handling path in efx_pci_probe() 2022-11-01 09:09:47 -07:00
efx.h sfc: attach/detach EF100 representors along with their owning PF 2022-07-22 12:50:06 +01:00
efx_channels.c sfc: add start and stop methods to channels 2022-11-16 09:07:02 +00:00
efx_channels.h
efx_common.c net: ethernet: move from strlcpy with unused retval to strscpy 2022-08-31 14:11:26 -07:00
efx_common.h sfc: attach/detach EF100 representors along with their owning PF 2022-07-22 12:50:06 +01:00
enum.h
ethtool.c sfc: Encapsulate access to netdev_priv() 2022-06-29 13:40:47 +01:00
ethtool_common.c sfc: remove 'log-tc-errors' ethtool private flag 2022-10-19 13:00:05 -07:00
ethtool_common.h sfc: remove 'log-tc-errors' ethtool private flag 2022-10-19 13:00:05 -07:00
farch_regs.h
filter.h sfc: include vport_id in filter spec hash and equal() 2022-10-19 17:08:43 -07:00
io.h
Kconfig
mae.c sfc: attach an MAE counter to TC actions that need it 2022-11-16 09:07:03 +00:00
mae.h sfc: add functions to allocate/free MAE counters 2022-11-16 09:07:02 +00:00
mae_counter_format.h sfc: add extra RX channel to receive MAE counter updates on ef100 2022-11-16 09:07:02 +00:00
Makefile sfc: add extra RX channel to receive MAE counter updates on ef100 2022-11-16 09:07:02 +00:00
mcdi.c sfc: detect ef100 MAE admin privilege/capability at probe time 2022-07-22 12:50:06 +01:00
mcdi.h sfc: add ef100 MAE counter support functions 2022-11-16 09:07:02 +00:00
mcdi_filters.c sfc: use a dynamic m-port for representor RX and set it promisc 2022-07-29 21:22:07 -07:00
mcdi_filters.h sfc: move table locking into filter_table_{probe,remove} methods 2022-07-29 21:22:06 -07:00
mcdi_functions.c
mcdi_functions.h
mcdi_mon.c net: ethernet: move from strlcpy with unused retval to strscpy 2022-08-31 14:11:26 -07:00
mcdi_pcol.h sfc: update MCDI protocol headers 2022-07-19 13:37:04 -07:00
mcdi_pcol_mae.h sfc: insert default MAE rules to connect VFs to representors 2022-07-29 21:22:06 -07:00
mcdi_port.c sfc: Encapsulate access to netdev_priv() 2022-06-29 13:40:47 +01:00
mcdi_port.h
mcdi_port_common.c
mcdi_port_common.h
mtd.c
net_driver.h sfc: add extra RX channel to receive MAE counter updates on ef100 2022-11-16 09:07:02 +00:00
nic.c net: ethernet: move from strlcpy with unused retval to strscpy 2022-08-31 14:11:26 -07:00
nic.h
nic_common.h
ptp.c ptp: convert remaining drivers to adjfine interface 2022-11-11 10:58:39 +00:00
ptp.h
rx.c
rx_common.c sfc: add ability for an RXQ to grant credits on refill 2022-11-16 09:07:02 +00:00
rx_common.h
selftest.c
selftest.h
sriov.c sfc: Encapsulate access to netdev_priv() 2022-06-29 13:40:47 +01:00
sriov.h
tc.c sfc: implement counters readout to TC stats 2022-11-16 09:07:03 +00:00
tc.h sfc: attach an MAE counter to TC actions that need it 2022-11-16 09:07:03 +00:00
tc_bindings.c sfc: bind indirect blocks for TC offload on EF100 2022-09-28 09:43:22 +01:00
tc_bindings.h sfc: bind indirect blocks for TC offload on EF100 2022-09-28 09:43:22 +01:00
tc_counters.c sfc: ensure type is valid before updating seen_gen 2022-11-23 13:47:51 +00:00
tc_counters.h sfc: implement counters readout to TC stats 2022-11-16 09:07:03 +00:00
tx.c sfc: Use kmap_local_page() instead of kmap_atomic() 2022-11-25 10:44:01 +00:00
tx.h
tx_common.c sfc: support passing a representor to the EF100 TX path 2022-07-22 12:50:06 +01:00
tx_common.h sfc: support passing a representor to the EF100 TX path 2022-07-22 12:50:06 +01:00
tx_tso.c
vfdi.h
workarounds.h