mvneta provides mac_an_restart and mac_pcs_get_state methods, so needs
to be marked as a legacy driver. Marek spotted that mvneta had stopped
working in 2500base-X mode - thanks for reporting.
Reported-by: Marek Behún <kabel@kernel.org>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
axienet has a PCS, but does not make use of the phylink PCS support.
Mark it was a pre-March 2020 driver.
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
Static variables do not need to be initialised to 0, because compiler
will initialise all uninitialised statics to 0. Thus, remove the
unneeded initializations.
Signed-off-by: Jason Wang <wangborong@cdjrlc.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This contains a single fix for an incorrect usage of sizeof().
-----BEGIN PGP SIGNATURE-----
iQJHBAABCAAxFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmGviRITHHRyZWRpbmdA
bnZpZGlhLmNvbQAKCRDdI6zXfz6zoSXUEAC6rRJc/pxz6r1nuDri+KWio7xRvILZ
ARESb4lLRSMJh7bPZhJosVzVOKta0MwMSYgag1+Cm04Q+rP3oUyqGEKtnxDSlA97
3D0/fKHqC/pUnw3Kdblw8R/DibjUFVQJLqNdJzuu+RLtkY9Xc+W6oe47zLcQPLer
74g53GyYooGmlC93b4DNrVZTKk63jxwJMmslZrlMkBVUnMEZUgoEHzA5SEn0deNR
QJ6kK0yRkQOBOJ76lQjqzsTQAAGdZkpUB/vX4uQAFY14TRXDPz/6y2VaoYJvxwRX
Dskyqgx5+Dp0fcRwaPiiYjTg9OgN1P6JIQpSLCp3n18IlID77upJQx8r0vfRbfbc
rXXD3CYUDPo8Mpsn6Y5dloIGxSxorUzK541oAwBnWohhJu7LLniPdLBjjyokkORV
FTGosBXv8l3QSWgH6klyKEai/WLYT9f1/0CFwM+RELbqMTO5GoVvjitELhKnNunX
HHEBU2Vf4XRmHAIYbUgu7L9j+bapyTwbdZ61B+MIzG4TrQQ1xchUeG/7WZwJDKE9
Z2+SFJV+WEKp4pW4FAuMSmeY+kI6ud0jmgrlhJD75nYiYhDUj3WjXdejB/F0+lgI
vgnTWVmtqtvVeri1hgrPbcQkgR31ORswphgj0w5r7j4gsfdylixdeZy1/lMxeBWH
SwBfBwjGz89BIQ==
=Syj7
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmG3UvMACgkQmmx57+YA
GNnF3g//bVCsnXAFQxx5M58PpzfckzzzM8BeTpDouu+DxitHqnjSDjIpsZi+Lj81
4mQidRIuKKEmbDNfLzI3rujAFxmHduKYiGDg4FTmD4ITeS9sWfB7XG9jj8Fbw+10
8850GReYpVX+ybzTlYAfWSw7ROWX8SHqSRI7X0i4prWsjKafcFMOt+QWV6ZzsBNr
eNgL2vHVZ/dMqDqV+k8PRCqoFqR+RnFK9AiCdX8vyJdG66Z6CCoLoI5wEFWY5b4l
RTfN1RlVsHWUZUI3ztQL9iWDbxk62YER3ReSrGp+BN7Ie/tVKc6dG9vz8G/LqSPP
7UBxQzhN75HHxme+/3sIq4qmbmBiXxJ6zQrFa1lNiFAyr2x3Zrv5wE/XI/aVrxeh
sb4j5TY8ybckvorDdxybpg0N9jJkC//ZaSvKqLYUhyMP6Dd0LY54mv3UwvlTy7oj
BBO/DrC4aRbxdL6j5tZLjEXaLxEU/7PGmVV/JvK/0+sCTP44gqnPDM/cNRaRaMQp
kxUkhKGaakv8v3dwE0JZDH7orh0bhoGUMf4wcMm4Q6DSVC3IGSmKrTNiejjg170v
9wjust1RXN38LZrcttr6ofMED0yTIMC7Op/hxOGPvFPMQrNM2kJpOg82Oh0N7Yy2
x4re6S+tAG8gdopJCF2ZY9JNskb4tt/s9AnX6u3JA8NyirXjgis=
=9zDx
-----END PGP SIGNATURE-----
Merge tag 'tegra-for-5.16-firmware-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into arm/fixes
firmware: Fixes for v5.16-rc5
This contains a single fix for an incorrect usage of sizeof().
* tag 'tegra-for-5.16-firmware-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
firmware: tegra: Fix error application of sizeof() to pointer
Link: https://lore.kernel.org/r/20211207162115.450554-1-thierry.reding@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Add the interconnects, interconnect-names and iommus properties to the
device tree bindings for the Tegra XUDC controller. These are used to
describe the device's paths to and from memory.
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Link: https://lore.kernel.org/r/20211206155559.232550-1-thierry.reding@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Just some minor DT fixups we found after things got merged.
-----BEGIN PGP SIGNATURE-----
iHUEABYIAB0WIQSU7I7lUkZru3Mt15+lhN6SrnTN2AUCYaeDMwAKCRClhN6SrnTN
2GjoAQDSXE8T2VEeesw1JimIe/gi05870YR5uCw+yW0PbtapQgD9HejF9qp96jqx
VLRUJHCeoPm1f7dXmxr6O2Q5yeBKtws=
=QELQ
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmG3UswACgkQmmx57+YA
GNmdDA//UeFxn8tKKzVCJJ6l7DmEn65MqYKufFgEeN0FRLr5l+Tv2ntNzgmqDeZ4
nr71QO6LeEjEiXb5sJrR5ID8tayJFohNYQJniJgUXv2vqLFaM6WA0ZEfn/zL7lvP
7Rs3ZjKPJpuaDR+AgQ3UnBZe+rq7QRU2/34cnKbzN7MckLrx3IiJIRJQNFW5qD0f
8bZz/sGdtUwCdhyjlOFcvOfAjY1t0bUKbmo0d2Tkn02HCWjU9u3SZXJ0wfRR8zyk
GiRqVg0cV+duZGt2cP+CfgPL4YbT1quDlEADaFsb4nNW4uDeqUjswji13CVhoypP
axVNyrdZosg9K4h8KfD5kIdxcrkpzceex/IURq/jOwAaldB20kjfzxYwZkZNLRIW
j5oudutb9fjdpVqqTZRZyXEJqcLzlv2DGGaF/4DsBi+mo0HFAEodB4FFyR8pJw79
QD5543/XJOsy+yeEPJrHVDmtDBww73wKXoXYSpSkNQ2oL6Bx8dnFL4OPMCSA4pmu
OHuGdosLjn0xiG6Q0BrPHAzO6cKaqa+ECGBeQ0ii9z1lowY4/65zTT33dUjLPnNG
GNLsdzV9tylHkIgrg5liHDUzKsnk7OD/DRWlGto2nSFmCgRKj9wV5A/0KKjd5kCc
xHIO+mYOZPEz/L+Y6mNevJn4IZ8qtsb7HiYTrzKaLtvATDm928M=
=j9OT
-----END PGP SIGNATURE-----
Merge tag 'asahi-soc-fixes-5.16' of https://github.com/AsahiLinux/linux into arm/fixes
Asahi SoC DT/binding fixes for 5.16.
Just some minor DT fixups we found after things got merged.
* tag 'asahi-soc-fixes-5.16' of https://github.com/AsahiLinux/linux:
arm64: dts: apple: add #interrupt-cells property to pinctrl nodes
dt-bindings: i2c: apple,i2c: allow multiple compatibles
arm64: dts: apple: change ethernet0 device type to ethernet
Link: https://lore.kernel.org/r/cc9a1a67-3b2d-ae9f-5733-859111eb78c1@marcan.st
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
`vaddr` is a pointer to unsigned char. sizeof(vaddr) here intends
to get the size of a pointer. But readers may get confused. Change
sizeof(vaddr) to sizeof(unsigned long) makes more sense.
Suggested-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Guo Zhengkui <guozhengkui@vivo.com>
Link: https://lore.kernel.org/r/20211209062441.9856-1-guozhengkui@vivo.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Support aspeed usb vhub set feature to test mode.
Signed-off-by: Neal Liu <neal_liu@aspeedtech.com>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Link: https://lore.kernel.org/r/20211208100545.1441397-5-neal_liu@aspeedtech.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
If multiple devices in vhub are enumerated simultaneously, ep0 OUT
ack might received wrong data length. Using expected data length
instead.
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Neal Liu <neal_liu@aspeedtech.com>
Link: https://lore.kernel.org/r/20211208100545.1441397-4-neal_liu@aspeedtech.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
USB3 Command Verifier (USB3CV) is the official tool for
USB3 Hub and Device Framework testing.
A high-speed capable device that has different device information
for full-speed and high-speed must have a Device Qualifier Descriptor.
This patch is to support device qualifier to pass
USB3CV - Chapter 9 Test [USB 2 devices] - Device Qualifier Tests.
Signed-off-by: Neal Liu <neal_liu@aspeedtech.com>
Link: https://lore.kernel.org/r/20211208100545.1441397-2-neal_liu@aspeedtech.com
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Introduces the Xen pvUSB frontend. With pvUSB it is possible for a Xen
domU to communicate with a USB device assigned to that domU. The
communication is all done via the pvUSB backend in a driver domain
(usually Dom0) which is owner of the physical device.
The pvUSB frontend is a USB hcd for a virtual USB host connector.
The code is taken from the pvUSB implementation in Xen done by Fujitsu
based on Linux kernel 2.6.18.
Changes from the original version are:
- port to upstream kernel
- put all code in just one source file
- move module to appropriate location in kernel tree
- adapt to Linux style guide
- minor code modifications to increase readability
Signed-off-by: Juergen Gross <jgross@suse.com>
Link: https://lore.kernel.org/r/20211123132048.5335-3-jgross@suse.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Add the definition of pvUSB protocol used between the pvUSB frontend in
a Xen domU and the pvUSB backend in a Xen driver domain (usually Dom0).
This header was originally provided by Fujitsu for Xen based on Linux
2.6.18.
Changes are:
- adapt to Linux kernel style guide
- use Xen namespace
- add lots of comments
- don't use kernel internal defines
Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Signed-off-by: Juergen Gross <jgross@suse.com>
Link: https://lore.kernel.org/r/20211123132048.5335-2-jgross@suse.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Synopsys introduced a new enhancement to DWC_usb32 called Multi-Stream
Transfer (MST) to improve bulk streams performance for SuperSpeed and
SuperSpeed Plus. This enhancement allows the controller to look ahead
and process multiple bulk streams.
Previously, to initiate a bulk stream transfer, the driver has to issue
Start Transfer command and wait for the stream to complete before
initiating a new stream. As a result, the controller does not process
TRBs beyond a single stream. With the enhancement, as long as there are
new requests, the dwc3 driver can keep preparing new TRBs and the
controller can keep caching and processing them without waiting for the
transfer completion.
The programming flow is similar to regular bulk endpoint with a few
additional rules:
1) Chained TRBs of the same stream must have a matching stream ID
2) The last TRB of a stream must have CHN=0
3) All the TRBs with LST=0 must have CSP=1
Depends on the application and usage, internal tests show significant
performance improvement in UASP transfers with this enhancement.
Signed-off-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
Link: https://lore.kernel.org/r/cd9c7a8bf11f790983ac546222dd114893f16b3a.1638242424.git.Thinh.Nguyen@synopsys.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
- A series from Vladimir Oltean to update SJA1105 switch RGMII delay for
a few boards, so that kernel doesn't warn on the legacy bindings.
- Remove redundant interrupt declaration for gpio-keys on board
ls1088a-ten64, as this causes an IRQ reclaiming error on kernel v5.15
and later.
-----BEGIN PGP SIGNATURE-----
iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmGgsRAUHHNoYXduZ3Vv
QGtlcm5lbC5vcmcACgkQUFdYWoewfM7cvAgAqnWK9OcpXErsi/ACWOqJ64F4yT8k
ePzcGPvzFeNbuk2bm8l/zz7WueoKzM5tvk9bocwyUveXDwIIBIC6CoDU0yiHHh9P
x9hhoU9VaY0GhFKzBfCuMXb7i0r5QIMOH++TJ1muFP+wRgBkGdPhyL+ijvd1EhQK
K0QB+izgdcI1TvCypC2eZMY5vsyOCmnqE3EpQVzJSDfzJeFa48jFZ2eybGd6l9AQ
/3W4nWQwS/930TbMSM1hh24v8gGxwei+GWbwPREKT2Fu/Rj9jctX2s01/nsMu73Q
0bpf7nXx+uxS3CaN8vWIKEDRHsOeHPIIJ7wwBShIwh3XQtLb6lmS546rXA==
=8XSh
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmG3T/wACgkQmmx57+YA
GNkIGRAAm0DCZO+PQoErzjvon+Wb5E5XcrkRe/X0Y+X6NTbgPHm5NbOQDyDeduOH
H6+89jYytzD4j8SogbwlZCyt14dZ5X83v1kpjpgl7ibBiR+/7aLJKfXkqb9yMBWd
ndViTflQSexJzJSPLA47XLg/BCc7rZzz3HB20cdBfASqKN+nvz8012LebLWmO+6U
Jbz+x3T2bXqmnCy52Na48OelwxNxy0hUMOdHUEB5GG4rLbgDaf9JFXzQGggzVRsA
QROP7MqrGMrLxcwqvzEDPccZv387VJc33YCPDy4kfSeHb/KkrrLTccLeXRmKAx0p
tXYxa5vU4PIMNb86AoNZ9H+jWYF7xMmMmz4zvtjSKyNydT7ZMY3XgKgWztSwy37a
cKguckLQnz1jmxpxZOxu+N+fwkR/0ZE7sL10ia5t02vjGZfeJSY1V/8v/7K6UnQo
0nVAQzcBBGqaw64Z/QMxYCepRY0Eb4/6ZX2FaqdZeEhgKu0LiADXMr3QaizeL0q6
Qscg031L9eQ1uSnp6YCP1lYiafH2n84d7XrjB2jL2TZ186WKy+OqgeG9ZJKDebuK
9OveVjbUUNZ1RlHHWnBBbbz3C0dgGuDZ4IDmso2IET9i0LtL57MVKefYRdHoE9ZH
livdCYlfujRPkWIM7PS/D07feMoFsW5VW/nSxCp7szvZCMlmDrI=
=3mvY
-----END PGP SIGNATURE-----
Merge tag 'imx-fixes-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into arm/fixes
i.MX fixes for 5.16:
- A series from Vladimir Oltean to update SJA1105 switch RGMII delay for
a few boards, so that kernel doesn't warn on the legacy bindings.
- Remove redundant interrupt declaration for gpio-keys on board
ls1088a-ten64, as this causes an IRQ reclaiming error on kernel v5.15
and later.
* tag 'imx-fixes-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
arm64: dts: ten64: remove redundant interrupt declaration for gpio-keys
arm64: dts: lx2160abluebox3: update RGMII delays for sja1105 switch
ARM: dts: ls1021a-tsn: update RGMII delays for sja1105 switch
ARM: dts: imx6qp-prtwd3: update RGMII delays for sja1105 switch
Link: https://lore.kernel.org/r/20211126100716.GF4216@dragon
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
- Drop CONFIG_MCTP=m (can no longer be modular since commit
78476d315e ("mctp: Add flow extension to skb")),
- Drop CONFIG_BLK_DEV_CRYPTOLOOP=m (removed in commit 47e9624616
("block: remove support for cryptoloop and the xor transfer")).
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Link: https://lore.kernel.org/r/20211115104956.2084032-1-geert@linux-m68k.org
Naming clocks is a good practice. The atmel-quadspi driver supports
an unnamed clock for the peripheral clock in order to be backward
compatible with old DTs, but it is recommended to name the clocks
on new DTs. The driver's bindings file requires the clock-names
property, so name the clock.
Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@microchip.com>
Link: https://lore.kernel.org/r/20211209102542.254153-1-tudor.ambarus@microchip.com
Microchip EEPROM 24xx1025 is like a 24c1024. The only difference
between them is that the I2C address bit used to select between the
two banks is bit 2 for the 1025 and not bit 0 as in the 1024.
Signed-off-by: Maxim Kochetkov <fido_max@inbox.ru>
Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
Well, just one: revert commit c045ceb5a1 ("reset: tegra-bpmp: Handle
errors in BPMP response"), which exposed an issue with the Tegra194 HDA
controller reset. BPMP response error handling will be reinstated once
there's a fix for the HDA issue.
-----BEGIN PGP SIGNATURE-----
iI0EABYIADUWIQRRO6F6WdpH1R0vGibVhaclGDdiwAUCYZfY/RcccC56YWJlbEBw
ZW5ndXRyb25peC5kZQAKCRDVhaclGDdiwOF3AQDOVPCWGSGjA4LvrH3HrGsP9IkY
Zklxkc/8KS87zuWdjQD9Fu+tlbSWBKvbcrQfz1fRP7syaP5B05vkhT1TFoFTNwM=
=lnVV
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmG3RwwACgkQmmx57+YA
GNlnHxAAlVpncDqPBrm7q8JZKR3NITLJA/otGbcNRQkfq5U8g1y5+sTPXUjWSzwe
FIG5TDoUpm1mbILR1Sa5x2hRPDQ8GjCdK7DgZQhv4HTcPv2TcpQQFDjEtW4M4y0E
ebD0czt/Yb7oF7+6KABIQX4SNCjo06jJqEb7r/jybFAGTiIBfmHPInYN0mGOYN5Q
/f9pSvXwjL657nRCF2ukO/Od7m7QTPfJ3WmXbgjSZdPWtHdiN1X2hEeJjJV5r9st
2+zDCxIj83pQRH6dpeuH/FjVYJ7nInSwW8bMfnykjQ7GcnLMOyNnTYJE0hdqu0nx
cGPy7aNNlmgUUXar8l86gZpV9IhYC/4fpum5M8uZ2L5C7qULVt/2oTAzjwKpYT4L
PdpoKFA+CXrErAGfq27cXzU6Ztc05q+OeH0WMQHbEdTJCbKA2Ed31cGUgRkQTPIe
1DGrBhURs2AzqNzmzia8dxGUro2AoxLvceVErNiHhHCYjEFBgV6mFO7I6xPw1fW4
UgLzpjAuUPa6PnngLzUR6Cvf1zyAKYdE3G6EtZI0hGluTiFt7bS6ebFoRViRfvrR
F2BH/Gno5F2D6TWe8SAS059eYsdpt+PTEBbAL7LfS/Yfozt/FPaeJ5epXNIBRpZR
CkKy41EBQqML3rlAo6qgZHY99/JBnlW+nXy0DCmvy74SAGIzF4c=
=wWLT
-----END PGP SIGNATURE-----
Merge tag 'reset-fixes-for-v5.16' of git://git.pengutronix.de/pza/linux into arm/fixes
Reset controller fixes for v5.16
Well, just one: revert commit c045ceb5a1 ("reset: tegra-bpmp: Handle
errors in BPMP response"), which exposed an issue with the Tegra194 HDA
controller reset. BPMP response error handling will be reinstated once
there's a fix for the HDA issue.
* tag 'reset-fixes-for-v5.16' of git://git.pengutronix.de/pza/linux:
reset: tegra-bpmp: Revert Handle errors in BPMP response
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
add_taint() is yet another external facility which the #MC handler
calls. Move that tainting call into the instrumentation-allowed part of
the handler.
Fixes
vmlinux.o: warning: objtool: do_machine_check()+0x617: call to add_taint() leaves .noinstr.text section
While at it, allow instrumentation around the mce_log() call.
Fixes
vmlinux.o: warning: objtool: do_machine_check()+0x690: call to mce_log() leaves .noinstr.text section
Signed-off-by: Borislav Petkov <bp@suse.de>
Link: https://lore.kernel.org/r/20211208111343.8130-11-bp@alien8.de
It is called by the #MC handler which is noinstr.
Fixes
vmlinux.o: warning: objtool: do_machine_check()+0xbd6: call to memset() leaves .noinstr.text section
Signed-off-by: Borislav Petkov <bp@suse.de>
Link: https://lore.kernel.org/r/20211208111343.8130-9-bp@alien8.de
And allow instrumentation inside it because it does calls to other
facilities which will not be tagged noinstr.
Fixes
vmlinux.o: warning: objtool: do_machine_check()+0xc73: call to mce_panic() leaves .noinstr.text section
Signed-off-by: Borislav Petkov <bp@suse.de>
Link: https://lore.kernel.org/r/20211208111343.8130-8-bp@alien8.de
Mark all the MCE severity computation logic noinstr and allow
instrumentation when it "calls out".
Fixes
vmlinux.o: warning: objtool: do_machine_check()+0xc5d: call to mce_severity() leaves .noinstr.text section
Signed-off-by: Borislav Petkov <bp@suse.de>
Link: https://lore.kernel.org/r/20211208111343.8130-7-bp@alien8.de
Instead, sandwitch around the call which is done in noinstr context and
mark the caller - mce_gather_info() - as noinstr.
Also, document what the whole instrumentation strategy with #MC is going
to be in the future and where it all is supposed to be going to.
Signed-off-by: Borislav Petkov <bp@suse.de>
Link: https://lore.kernel.org/r/20211208111343.8130-5-bp@alien8.de
In commit 41ca9caaae
("drm/mediatek: hdmi: Add check for CEA modes only") a check
for CEA modes was added to function mtk_hdmi_bridge_mode_valid()
in order to address possible issues on MT8167;
moreover, with commit c91026a938
("drm/mediatek: hdmi: Add optional limit on maximal HDMI mode clock")
another similar check was introduced.
Unfortunately though, at the time of writing, MT8173 does not provide
any mtk_hdmi_conf structure and this is crashing the kernel with NULL
pointer upon entering mtk_hdmi_bridge_mode_valid(), which happens as
soon as a HDMI cable gets plugged in.
To fix this regression, add a NULL pointer check for hdmi->conf in the
said function, restoring HDMI functionality and avoiding NULL pointer
kernel panics.
Fixes: 41ca9caaae ("drm/mediatek: hdmi: Add check for CEA modes only")
Fixes: c91026a938 ("drm/mediatek: hdmi: Add optional limit on maximal HDMI mode clock")
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Signed-off-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
Collect the dipslay related mask under the display sub-structure
in intel_device_info.
Note that there is a slight change in behaviour in that we zero
out .display entirely when !HAS_DISPLAY (aka. pipe_mask==0), so
now we also zero out the other masks (although cpu_transocder_mask
should already be zero of pipe_mask is zero). abox_mask is
only used by the display core init when HAS_DISPLAY is true, so
the actual behaviour of the system shouldn't change despite the
zeroing of these masks.
There is a lot more display stuff directly in device info that
could be moved over. Maybe someone else will be inspired to do it...
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20211210122726.12577-1-ville.syrjala@linux.intel.com
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
kstrdup() returns NULL when some internal memory errors happen, it is
better to check the return value of it. Otherwise, we may not to be able
to catch some memory errors in time.
Signed-off-by: Xiaoke Wang <xkernel.wang@foxmail.com>
Link: https://lore.kernel.org/r/tencent_1E3950293AC22395ACFE99404C985D738309@qq.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Update the definition of the IPA interconnects for IPA v4.5 so
the path between IPA and system memory is represented by a single
"memory" interconnect.
Tested-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
The first two interconnects defined for IPA on the SDX55 SoC are
really two parts of what should be represented as a single path
between IPA and system memory.
Fix this by combining the "memory-a" and "memory-b" interconnects
into a single "memory" interconnect.
Reported-by: David Heidelberg <david@ixit.cz>
Tested-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
This patch enables the "/proc/sys/net/unix/max_dgram_qlen" sysctl to be
exposed to non-init user namespaces. max_dgram_qlen is used as the default
"sk_max_ack_backlog" value for when a unix socket is created.
Currently, when a networking namespace is initialized, its unix sysctls
are exposed only if the user namespace that "owns" it is the init user
namespace. If there is an non-init user namespace that "owns" a networking
namespace (for example, in the case after we call clone() with both
CLONE_NEWUSER and CLONE_NEWNET set), the sysctls are hidden from view
and not configurable.
Exposing the unix sysctl is safe because any changes made to it will be
limited in scope to the networking namespace the non-init user namespace
"owns" and has privileges over (changes won't affect any other net
namespace). There is also no possibility of a non-privileged user namespace
messing up the net namespace sysctls it shares with its parent user namespace.
When a new user namespace is created without unsharing the network namespace
(eg calling clone() with CLONE_NEWUSER), the new user namespace shares its
parent's network namespace. Write access is protected by the mode set
in the sysctl's ctl_table (and enforced by procfs). Here in the case of
"max_dgram_qlen", 0644 is set; only the user owner has write access.
v1 -> v2:
* Add more detail to commit message, specify the
"/proc/sys/net/unix/max_dgram_qlen" sysctl in commit message.
Signed-off-by: Joanne Koong <joannekoong@fb.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
On PREEMPT_RT the seqcount_t for synchronisation is required on 32bit
architectures even on UP because the softirq (and the threaded IRQ handler) can
be preempted.
With the seqcount_t for synchronisation, a reader with higher priority can
preempt the writer and then spin endlessly in read_seqcount_begin() while the
writer can't make progress.
To avoid such a lock up on PREEMPT_RT the writer must disable preemption during
the update. There is no need to disable interrupts because no writer is using
this API in hard-IRQ context on PREEMPT_RT.
Disable preemption on 32bit-RT within the u64_stats write section.
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Guillaume Nault says:
====================
bareudp: Remove unused code from header file
Stop exporting unused functions and structures in bareudp.h. The only
piece of bareudp.h that is actually used is netif_is_bareudp(). The
rest can be moved to bareudp.c or even dropped entirely.
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
This structure is used only in bareudp.c.
While there, adjust include files: we need netdevice.h, not skbuff.h.
Signed-off-by: Guillaume Nault <gnault@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
When key_exchange is disabled, there is no reason to accept MSG_CRYPTO
msgs if it doesn't send MSG_CRYPTO msgs.
Signed-off-by: Xin Long <lucien.xin@gmail.com>
Acked-by: Jon Maloy <jmaloy@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
In DMA threshold mode, frame underflow errors may sometimes occur when
the TC(threshold control) value is not enough. The TC value need to be
bumped up in this case.
There is no underflow interrupt bit on DMA_CH(#i)_Status of dwmac4, so
the DMA threshold cannot be bumped up in stmmac_dma_interrupt(). The
i.mx8mp board observed an underflow error while running NFS boot, the
NFS rootfs could not be mounted.
The underflow error can be got from the DMA descriptor TDES3 on dwmac4.
This patch bump up tc value once underflow error is got from TDES3.
Signed-off-by: Xiaoliang Yang <xiaoliang.yang_1@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>