linux_dsm_epyc7002/drivers/net
Marcin Wojtas a75edc7c2e net: mvpp2: enable ACPI support in the driver
This patch introduces an alternative way of obtaining resources - via
ACPI tables provided by firmware. Enabling coexistence with the DT
support, in addition to the OF_*->device_*/fwnode_* API replacement,
required following steps to be taken:

* Add mvpp2_acpi_match table
* Omit clock configuration and obtain tclk from the property - in ACPI
  world, the firmware is responsible for clock maintenance.
* Disable comphy and syscon handling as they are not available for ACPI.
* Modify way of obtaining interrupts - use newly introduced
  fwnode_irq_get() routine
* Until proper MDIO bus and PHY handling with ACPI is established in the
  kernel, use only link interrupts feature in the driver. For the RGMII
  port it results in depending on GMAC settings done during firmware
  stage.
* When booting with ACPI MVPP2_QDIST_MULTI_MODE is picked by
  default, as there is no need to keep any kind of the backward
  compatibility.

Moreover, a memory region used by mvmdio driver is usually placed in
the middle of the address space of the PP2 network controller.
The MDIO base address is obtained without requesting memory region
(by devm_ioremap() call) in mvmdio.c, later overlapping resources are
requested by the network driver, which is responsible for avoiding
a concurrent access.

In case the MDIO memory region is declared in the ACPI, it can
already appear as 'in-use' in the OS. Because it is overlapped by second
region of the network controller, make sure it is released, before
requesting it again. The care is taken by mvpp2 driver to avoid
concurrent access to this memory region.

Signed-off-by: Marcin Wojtas <mw@semihalf.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-01-22 10:57:04 -05:00
..
appletalk
arcnet
bonding
caif net: caif: remove redundant re-assignment of pointer pfrm 2018-01-22 10:51:56 -05:00
can Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-01-19 22:59:33 -05:00
cris
dsa net: dsa: mv88e6xxx: Free ATU/VTU irq only when there is chip irq 2018-01-19 15:57:02 -05:00
ethernet net: mvpp2: enable ACPI support in the driver 2018-01-22 10:57:04 -05:00
fddi
fjes
hamradio
hippi
hyperv
ieee802154
ipvlan
netdevsim netdevsim: bpf: support fake map offload 2018-01-18 22:54:25 +01:00
phy phy: realtek: use new helpers for paged register access 2018-01-16 13:56:33 -05:00
plip
ppp ppp: unlock all_ppp_mutex before registering device 2018-01-15 13:22:03 -05:00
slip
team
usb Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-01-19 22:59:33 -05:00
vmxnet3
wan
wimax
wireless Less than a handful of changes: 2018-01-22 09:36:37 -05:00
xen-netback
dummy.c
eql.c
geneve.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-01-09 10:37:00 -05:00
gtp.c
ifb.c
Kconfig
LICENSE.SRC
loopback.c
macsec.c macsec: Add support for GCM-AES-256 cipher suite 2018-01-09 11:34:18 -05:00
macvlan.c
macvtap.c
Makefile
mdio.c
mii.c
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c
Space.c
sungem_phy.c
tap.c tun/tap: use ptr_ring instead of skb_array 2018-01-09 10:56:10 -05:00
thunderbolt.c
tun.c tun: add missing rcu annotation 2018-01-22 09:16:18 -05:00
veth.c
virtio_net.c virtio_net: propagate linkspeed/duplex settings from the hypervisor 2018-01-09 11:37:56 -05:00
vrf.c
vsockmon.c
vxlan.c
xen-netfront.c xen-netfront: enable device after manual module load 2018-01-08 14:17:03 -05:00