OpenCloudOS-Kernel/Documentation
Ard Biesheuvel acd7aaf51b netsec: ignore 'phy-mode' device property on ACPI systems
Since commit bbc4d71d63 ("net: phy: realtek: fix rtl8211e rx/tx
delay config"), the Realtek PHY driver will override any TX/RX delay
set by hardware straps if the phy-mode device property does not match.

This is causing problems on SynQuacer based platforms (the only SoC
that incorporates the netsec hardware), since many were built with
this Realtek PHY, and shipped with firmware that defines the phy-mode
as 'rgmii', even though the PHY is configured for TX and RX delay using
pull-ups.

From the driver's perspective, we should not make any assumptions in
the general case that the PHY hardware does not require any initial
configuration. However, the situation is slightly different for ACPI
boot, since it implies rich firmware with AML abstractions to handle
hardware details that are not exposed to the OS. So in the ACPI case,
it is reasonable to assume that the PHY comes up in the right mode,
regardless of whether the mode is set by straps, by boot time firmware
or by AML executed by the ACPI interpreter.

So let's ignore the 'phy-mode' device property when probing the netsec
driver in ACPI mode, and hardcode the mode to PHY_INTERFACE_MODE_NA,
which should work with any PHY provided that it is configured by the
time the driver attaches to it. While at it, document that omitting
the mode is permitted for DT probing as well, by setting the phy-mode
DT property to the empty string.

Fixes: 533dd11a12 ("net: socionext: Add Synquacer NetSec driver")
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://lore.kernel.org/r/20201018163625.2392-1-ardb@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2020-10-20 15:59:43 -07:00
..
ABI dmaengine updates for v5.10-rc1 2020-10-15 14:33:52 -07:00
PCI
RCU
accounting
admin-guide networking changes for the 5.10 merge window 2020-10-15 18:42:13 -07:00
arm
arm64
block
bpf
cdrom
core-api dma-mapping updates for 5.10 2020-10-15 14:43:29 -07:00
cpu-freq
crypto
dev-tools linux-kselftest-next-5.10-rc1 2020-10-15 15:14:32 -07:00
devicetree netsec: ignore 'phy-mode' device property on ACPI systems 2020-10-20 15:59:43 -07:00
doc-guide
driver-api networking changes for the 5.10 merge window 2020-10-15 18:42:13 -07:00
fault-injection
fb
features
filesystems
firmware-guide
firmware_class
fpga
gpu
hid
hwmon
i2c
ia64
ide
iio
infiniband
input
isdn
kbuild
kernel-hacking
leds
litmus-tests
livepatch
locking
m68k
maintainer
mhi
mips
misc-devices
netlabel
networking icmp: randomize the global rate limiter 2020-10-16 16:47:09 -07:00
nios2
nvdimm
openrisc
parisc
pcmcia
power
powerpc
process
riscv
s390
scheduler
scsi
security
sh
sound
sparc
sphinx
sphinx-static
spi
staging
target
timers
trace Updates for tracing and bootconfig: 2020-10-15 15:51:28 -07:00
translations
usb
userspace-api
virt
vm
w1
watchdog
x86
xtensa
.gitignore
COPYING-logo
Changes
CodingStyle
Kconfig
Makefile
SubmittingPatches
asm-annotations.rst
atomic_bitops.txt
atomic_t.txt
conf.py
docutils.conf
dontdiff
index.rst
logo.gif
memory-barriers.txt
watch_queue.rst