linux-kernelorg-stable/drivers/net/ethernet
Christophe JAILLET bb5c64c879 mlxsw: pci: switch from 'pci_' to 'dma_' API
The wrappers in include/linux/pci-dma-compat.h should go away.

The patch has been generated with the coccinelle script below and has been
hand modified to replace GFP_ with a correct flag.
It has been compile tested.

When memory is allocated in 'mlxsw_pci_queue_init()' and
'mlxsw_pci_fw_area_init()' GFP_KERNEL can be used because both functions
are already using this flag and no lock is acquired.

When memory is allocated in 'mlxsw_pci_mbox_alloc()' GFP_KERNEL can be used
because it is only called from the probe function and no lock is acquired
in the between.
The call chain is:
  --> mlxsw_pci_probe()
    --> mlxsw_pci_cmd_init()
      --> mlxsw_pci_mbox_alloc()

While at it, also replace the 'dma_set_mask/dma_set_coherent_mask' sequence
by a less verbose 'dma_set_mask_and_coherent() call.

@@
@@
-    PCI_DMA_BIDIRECTIONAL
+    DMA_BIDIRECTIONAL

@@
@@
-    PCI_DMA_TODEVICE
+    DMA_TO_DEVICE

@@
@@
-    PCI_DMA_FROMDEVICE
+    DMA_FROM_DEVICE

@@
@@
-    PCI_DMA_NONE
+    DMA_NONE

@@
expression e1, e2, e3;
@@
-    pci_alloc_consistent(e1, e2, e3)
+    dma_alloc_coherent(&e1->dev, e2, e3, GFP_)

@@
expression e1, e2, e3;
@@
-    pci_zalloc_consistent(e1, e2, e3)
+    dma_alloc_coherent(&e1->dev, e2, e3, GFP_)

@@
expression e1, e2, e3, e4;
@@
-    pci_free_consistent(e1, e2, e3, e4)
+    dma_free_coherent(&e1->dev, e2, e3, e4)

@@
expression e1, e2, e3, e4;
@@
-    pci_map_single(e1, e2, e3, e4)
+    dma_map_single(&e1->dev, e2, e3, e4)

@@
expression e1, e2, e3, e4;
@@
-    pci_unmap_single(e1, e2, e3, e4)
+    dma_unmap_single(&e1->dev, e2, e3, e4)

@@
expression e1, e2, e3, e4, e5;
@@
-    pci_map_page(e1, e2, e3, e4, e5)
+    dma_map_page(&e1->dev, e2, e3, e4, e5)

@@
expression e1, e2, e3, e4;
@@
-    pci_unmap_page(e1, e2, e3, e4)
+    dma_unmap_page(&e1->dev, e2, e3, e4)

@@
expression e1, e2, e3, e4;
@@
-    pci_map_sg(e1, e2, e3, e4)
+    dma_map_sg(&e1->dev, e2, e3, e4)

@@
expression e1, e2, e3, e4;
@@
-    pci_unmap_sg(e1, e2, e3, e4)
+    dma_unmap_sg(&e1->dev, e2, e3, e4)

@@
expression e1, e2, e3, e4;
@@
-    pci_dma_sync_single_for_cpu(e1, e2, e3, e4)
+    dma_sync_single_for_cpu(&e1->dev, e2, e3, e4)

@@
expression e1, e2, e3, e4;
@@
-    pci_dma_sync_single_for_device(e1, e2, e3, e4)
+    dma_sync_single_for_device(&e1->dev, e2, e3, e4)

@@
expression e1, e2, e3, e4;
@@
-    pci_dma_sync_sg_for_cpu(e1, e2, e3, e4)
+    dma_sync_sg_for_cpu(&e1->dev, e2, e3, e4)

@@
expression e1, e2, e3, e4;
@@
-    pci_dma_sync_sg_for_device(e1, e2, e3, e4)
+    dma_sync_sg_for_device(&e1->dev, e2, e3, e4)

@@
expression e1, e2;
@@
-    pci_dma_mapping_error(e1, e2)
+    dma_mapping_error(&e1->dev, e2)

@@
expression e1, e2;
@@
-    pci_set_dma_mask(e1, e2)
+    dma_set_mask(&e1->dev, e2)

@@
expression e1, e2;
@@
-    pci_set_consistent_dma_mask(e1, e2)
+    dma_set_coherent_mask(&e1->dev, e2)

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Tested-by: Ido Schimmel <idosch@nvidia.com>
Link: https://lore.kernel.org/r/20210114084757.490540-1-christophe.jaillet@wanadoo.fr
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2021-01-14 16:49:54 -08:00
..
3com
8390
adaptec
aeroflex
agere ethernet: select CONFIG_CRC32 as needed 2020-12-04 14:42:21 -08:00
alacritech
allwinner net: allwinner: Fix some resources leak in the error handling path of the probe and in the remove function 2020-12-16 11:37:31 -08:00
alteon
altera
amazon net: ena: introduce ndo_xdp_xmit() function for XDP_REDIRECT 2020-12-09 15:26:40 -08:00
amd net: remove ndo_udp_tunnel_* callbacks 2021-01-07 12:53:29 -08:00
apm
apple
aquantia atlantic: remove architecture depends 2020-12-28 15:04:25 -08:00
arc
atheros net: atheros: simplify the return expression of atl2_phy_setup_autoneg_adv() 2020-12-08 16:22:54 -08:00
aurora
broadcom net: broadcom: share header defining UniMAC registers 2021-01-08 19:17:28 -08:00
brocade net: bna: remove trailing semicolon in macro definition 2020-12-04 17:41:49 -08:00
cadence net: macb: Correct usage of MACB_CAPS_CLK_HW_CHG flag 2021-01-04 13:28:09 -08:00
calxeda
cavium net: remove ndo_udp_tunnel_* callbacks 2021-01-07 12:53:29 -08:00
chelsio Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-01-08 13:28:00 -08:00
cirrus
cisco net: remove ndo_udp_tunnel_* callbacks 2021-01-07 12:53:29 -08:00
cortina
davicom
dec
dlink
emulex net: remove ndo_udp_tunnel_* callbacks 2021-01-07 12:53:29 -08:00
ezchip
faraday Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-12-11 22:29:38 -08:00
freescale dpaa2-mac: fix the remove path for non-MAC interfaces 2021-01-13 19:21:51 -08:00
fujitsu
google gve: Add support for raw addressing in the tx path 2020-12-08 16:06:28 -08:00
hisilicon net: hns3: fix incorrect handling of sctp6 rss tuple 2021-01-05 16:46:41 -08:00
huawei net: hinic: simplify the return hinic_configure_max_qnum() 2020-12-09 17:05:37 -08:00
i825xx
ibm ibmvnic: merge do_change_param_reset into do_reset 2021-01-09 12:34:45 -08:00
intel ice: drop dead code in ice_receive_skb() 2021-01-09 14:24:25 -08:00
marvell net: marvell: prestera: fix uninitialized vid in prestera_port_vlans_add 2021-01-14 16:47:21 -08:00
mediatek net: mtk_eth: simplify the mediatek code return expression 2020-12-14 17:51:26 -08:00
mellanox mlxsw: pci: switch from 'pci_' to 'dma_' API 2021-01-14 16:49:54 -08:00
micrel net: ks8851: Select PHYLIB and MICREL_PHY in Kconfig 2021-01-12 18:42:36 -08:00
microchip lan743x: fix rx_napi_poll/interrupt ping-pong 2020-12-16 09:00:09 -08:00
moxa
mscc net: switchdev: remove the transaction structure from port attributes 2021-01-11 16:00:57 -08:00
myricom
natsemi net/sonic: Fix some resource leaks in error handling paths 2021-01-05 15:59:20 -08:00
neterion net: vxget: clean up sparse warnings 2020-12-14 19:18:11 -08:00
netronome net: remove ndo_udp_tunnel_* callbacks 2021-01-07 12:53:29 -08:00
ni net: nixge: fix spelling mistake in Kconfig: "Instuments" -> "Instruments" 2020-12-17 10:54:31 -08:00
nvidia
nxp ethernet: select CONFIG_CRC32 as needed 2020-12-04 14:42:21 -08:00
oki-semi net: pch_gbe: Use 'dma_free_coherent()' to undo 'dma_alloc_coherent()' 2020-11-23 17:01:48 -08:00
packetengines
pasemi net: pasemi: fix error return code in pasemi_mac_open() 2020-12-02 18:03:58 -08:00
pensando ionic: account for vlan tag len in rx buffer len 2020-12-21 17:32:14 -08:00
qlogic Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-01-08 13:28:00 -08:00
qualcomm net: qualcomm: rmnet: Update rmnet device MTU based on real device 2020-12-10 13:30:26 -08:00
rdc
realtek r8169: improve DASH support 2021-01-12 19:01:30 -08:00
renesas ravb: update "undocumented" annotations 2021-01-08 18:38:32 -08:00
rocker net: switchdev: remove the transaction structure from port attributes 2021-01-11 16:00:57 -08:00
samsung
seeq
sfc net: remove ndo_udp_tunnel_* callbacks 2021-01-07 12:53:29 -08:00
sgi
silan
sis
smsc
socionext Merge https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next 2020-12-04 07:48:12 -08:00
stmicro Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-01-08 13:28:00 -08:00
sun
synopsys
tehuti
ti net: switchdev: remove the transaction structure from port attributes 2021-01-11 16:00:57 -08:00
toshiba powerpc/ps3: make system bus's remove and shutdown callbacks return void 2020-12-04 01:01:22 +11:00
tundra
via
wiznet
xilinx Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-12-11 22:29:38 -08:00
xircom
xscale net: ixp4xx_eth: Use DEFINE_SPINLOCK() for spinlock 2021-01-05 15:43:41 -08:00
Kconfig
Makefile
dnet.c
dnet.h
ec_bhf.c
ethoc.c net: ethernet: Fix memleak in ethoc_probe 2020-12-23 12:28:53 -08:00
fealnx.c
jme.c
jme.h
korina.c net: korina: fix return value 2020-12-16 15:01:07 -08:00
lantiq_etop.c
lantiq_xrx200.c