If O_DIRECT bumps the commit_info rpcs_out field, then that could lead
to fsync() hangs. The fix is to ensure that O_DIRECT calls
nfs_commit_end().
Fixes: 723c921e7d ("sched/wait, fs/nfs: Convert wait_on_atomic_t() usage to the new wait_var_event() API")
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Convert math emulation code to the new register storage
mechanism in preparation for dynamically sized buffers.
No functional change.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Borislav Petkov <bp@suse.de>
Link: https://lkml.kernel.org/r/20211013145322.711347464@linutronix.de
Convert the rest of the core code to the new register storage mechanism in
preparation for dynamically sized buffers.
No functional change.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Borislav Petkov <bp@suse.de>
Link: https://lkml.kernel.org/r/20211013145322.659456185@linutronix.de
- A series from Marcel Ziswiler to update imx_v6_v7_defconfig for the
new Colibri iMX6ULL eMMC variant support.
- Enable HID I2C in the imx_v6_v7_defconfig as it is used for a HID
compliant wacom device on the reMarkable2 tablet.
-----BEGIN PGP SIGNATURE-----
iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmFq1uwUHHNoYXduZ3Vv
QGtlcm5lbC5vcmcACgkQUFdYWoewfM7GsAf+Ke0evf++bsvZnsdNW7UPQAtjnYgK
tNnQb97q5yz904u0tIRRjg2Qug+e2ohasxAUK2v0Jg58paYpVEmK7Kfa91BIds8F
Zw1rXAw3owyxt5VfWw5GT8TQEm/3MyMQvKJKdvTuSL+LEPcVIfXU88Us0oh9zSIj
SS2HFI6xmjCFI8JDgctGZcKBoTCJQlycI1lwdA7gpXXcJ4XJepxpzxtOobXKoDuv
KAJNSSGjY933y8HlImXFKol0KABlVB/ievV48PDvktQ3Rj526AG+ElB0m48YU7wQ
36hDX1Vmoun9L6QuICizklATNTwfT7O6fxEOpWJuFNja1orKzMXSyoatcA==
=DPy3
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmFwijoACgkQmmx57+YA
GNnOmRAAhKoQmTazRw0sqsxH2l6x9E0x6SuM90bKT85/W4HcIzcUjCEcE+IMvDUj
H/XHNbWjyJP8Y5w+dOV9oGg4wzDnRdTzA6e89nh+90SfMyr4Bls2Ec14JspYQmuP
IhgwdjQ4v3M420zHJT/cpmpP/rhkl0oBbpvs/BxvTaRLTf632+rWFnM54PGh1eQu
iz02ODSB4L2pgdND32vzRu3K4XWgrxY0UzCvaCK7x2KL4+IPPAU6ui5UbmQ0f8D3
zxM84lSsXpEJJh1n4jzfND3ooIdDNqTi5cTMLt5UFr2lO+8fZN9XE6kYs73/SPWY
pYvJ5iRNJ6sk+U/qtrE+IktKD2rWO9tuNQf4o3VO3GZVF3DYjtSvZkEJJnmpvSw0
v2oXqmgDzBt/d0mDkEAxIc+HXGlz6jDVPbU71PGd+Mgnb6vfdlWbEUZKM7t3YRFi
TUMRSazsnYr3vGFs5eCDgsAZtgldepVxqm7iwzD+81G9CgnU2avnmdlEyH6kuEjn
gmq27doVIMHwtN+ULf5hdxvhBVKt7eWhK5anW6dZIrq58uNnpnYMEx9WYrYial3s
2+cGS/9QlmC3J7QrsHZj3FVPuq6AejNlp2hHkhd8vHWH0f20bE3IP654MbwFre4G
yPdvHxJKapg2W01F4pJqIT/ZU/1hag4OvV0t9RDWlYsv9mVlehU=
=aROW
-----END PGP SIGNATURE-----
Merge tag 'imx-defconfig-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into arm/defconfigs
i.MX defconfig update for 5.16:
- A series from Marcel Ziswiler to update imx_v6_v7_defconfig for the
new Colibri iMX6ULL eMMC variant support.
- Enable HID I2C in the imx_v6_v7_defconfig as it is used for a HID
compliant wacom device on the reMarkable2 tablet.
* tag 'imx-defconfig-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
ARM: imx_v6_v7_defconfig: Enable HID I2C
ARM: imx_v6_v7_defconfig: enable bpf syscall and cgroup bpf
ARM: imx_v6_v7_defconfig: build imx sdma driver as module
ARM: imx_v6_v7_defconfig: rebuild default configuration
ARM: imx_v6_v7_defconfig: change snd soc tlv320aic3x to i2c variant
ARM: imx_v6_v7_defconfig: enable mtd physmap
Link: https://lore.kernel.org/r/20211016140138.1603-5-shawnguo@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Allow building the reset-brcmstb-rescal driver as module, add reset
lines for the Uniphier PXs3 audio and video input subsystems and
bindings for the Uniphier NX1 SoC, and add lan966x switch reset support
to the reset-microchip-sparx5 driver.
-----BEGIN PGP SIGNATURE-----
iI0EABYIADUWIQRRO6F6WdpH1R0vGibVhaclGDdiwAUCYXBBkBcccC56YWJlbEBw
ZW5ndXRyb25peC5kZQAKCRDVhaclGDdiwCF/AQDzczjKGzRt7UT5nGCRFs6cxI5R
QsTnpRTIcBfxGFrKAQEAvagsMyYOZgadazUZ1pWm8VfZ5yyVDCkR4mPtXy6DXAA=
=hBbU
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmFwiZ0ACgkQmmx57+YA
GNmI0g//V256MjYBTu9G2VllxkybmNBh5dVI8GPHEZSAcKbB6Nq/785AbI+m3cEx
6ioIEijnllsHByjfBYBLkOXM7gpteRpFkt949RvKJiternsXraHvofzZDXkp/O0o
WOIL9KUUSSB1f8x8sIEveZFYHKC0ZvT5zJiPYn2az6c0XMeHwLkVDuPO4vfo+Odl
S1OaQQYQ9u+KP+UdlLP7zg2lotjZfZ4Fh3cOqp1+F1hZ1zz6fTKWH0f3PPesk5Gt
aRvpizrLL7R+k2YXqE4BGvdjKK7+3bvUYskuVXfCMG5Cy2GHfwX7rAsUkz0UdHhQ
Y4wh6HAsDAccZLI1YLWqCOc3dnaMTmHKi1yyMA2zbC4cZkUByXuL7CZ7ySwCT6I5
OEMLcCDL1WpywVZHAYmw3FGqTSkyoSQk19f4p93zEsHHJvADhggiOg3GHV4VDz0/
8yhPXRsWtbpe6l3iZqElbkLeCsGY3Tkxf+DMDprj3jF+Vc0Ng+O3JYKGumKF7yd8
EJshpJ3720F+m3Wh2RwrKb6NJ02frbEYGoqvIxUkSLAtq9EYK8eA6WNsypWiOL5r
0K0NJFguUSaXOYJ5SZAUuBtzoU2LIZS5UtC0nPosSKcYeEmO1QhA8OcDp02Vxg0F
XTEN3R+ZKK/c8SAVmubzAYiK58tdgUPR81a98ehlLreVtJa/ADM=
=L2UE
-----END PGP SIGNATURE-----
Merge tag 'reset-for-v5.16' of git://git.pengutronix.de/pza/linux into arm/drivers
Reset controller updates for v5.16
Allow building the reset-brcmstb-rescal driver as module, add reset
lines for the Uniphier PXs3 audio and video input subsystems and
bindings for the Uniphier NX1 SoC, and add lan966x switch reset support
to the reset-microchip-sparx5 driver.
* tag 'reset-for-v5.16' of git://git.pengutronix.de/pza/linux:
reset: mchp: sparx5: Extend support for lan966x
dt-bindings: reset: Add lan966x support
reset: uniphier: Add NX1 reset support
dt-bindings: reset: uniphier: Add NX1 reset control binding
reset: uniphier: Add audio system and video input reset control for PXs3
reset: Allow building Broadcom STB RESCAL as module
Link: https://lore.kernel.org/r/96e686f78f0e42bad666df5ec0cbcb2dcdc270a3.camel@pengutronix.de
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
- Add a new entry for the maintenance of NXP S32G device tree files.
-----BEGIN PGP SIGNATURE-----
iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmFq15AUHHNoYXduZ3Vv
QGtlcm5lbC5vcmcACgkQUFdYWoewfM60nwf+MLt/GNyW1nfde2V0bIR5CLRaDshs
pbvDOBX0QNlXzLrYZxWVv/LYaxFxlmYRnTRpvCFl6+p7ff0C4vi0mX82eA6LVNec
PRQKvqmdvzVJmB7CCyj30LoY6gOe+4pJn2yWdMyooyqlWUB9/pA6IcWcW/DmfeD4
y8CkJSO+Uu6xvVaHbKnEo+cvfS1H7STK9wCRHoq21bNxS63/IVZLwa4b27zLY3H5
AY0rfclsWeYxYSKq9PEFjxLy8r5IT63X6HXmCR9WJLAHjBfCLqm5xZLmMIc8koJt
goPV+T2f0XW10XlMT8UeD0j7oesepjWIRLKNXx9JiWRyqpnu9Uycp+LWUQ==
=vV3v
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmFwiO0ACgkQmmx57+YA
GNlLchAAssh4q1aTOYnTMTAIc1HBnWFT58qtHVUva1VpRvhAQJjGrrgKsTRadXYg
/NwjkttcH7FGhdCgKeKvJRPAL09D8nUK+smrvHr3KwgZtN+zDDuw3/ktovg6lw+S
JqqdD7ag5VLuwOnQFTs4YQsFvNuGSuajUtTFsHiRD75cf9aw+tOV5I4C5wpjw+Wg
wfNkwnVnWz+Zkj1OyYEdlQUds3SbjDhmgFuzTwYZcT0fM1KMk+e0QPVxigUqc/ft
N4Unf5NRSUVtySFqNrN+v112PmZB3pkdwY/eemPzQHcSfHp/0VuDXp4RbK5ZsQ41
qyVoyigEjb9I5xy5gtZgfG/FtZjzIUJ3mxpXMTkpadInwKiYh30IOPYqGs4jF99r
tSPlinC9ksLnsBISHGSCpEi0UVSxvwxSbIEK+njUIHM1BK2ealMnrMnPfy3Sh8UU
G0Yu3a5uLLgIZSgrNDtJrqEfLYbCFiNK6KWfVKFz5DI/8NX2TUl8dOgR1NL7SztD
u7luYJXf+5vptuIWknEoL+VREoPK8XHrz1gbX/zw8N5rUv/Js3m1dCy0z6/cQ9/O
y5qW+FpXDPRQf0DE+2P+w5Q9EJFJqeOyMvoMaAhEJMfa7iuI9DP+u4hQ53QYemRH
E15XbnlLpRr5sRBm+bpMRYF3smqJJ0mh9U9KQZX1z7PpzgnDABU=
=8Qew
-----END PGP SIGNATURE-----
Merge tag 'imx-maintainers-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into arm/soc
i.MX maintainers update for 5.16:
- Add a new entry for the maintenance of NXP S32G device tree files.
* tag 'imx-maintainers-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
MAINTAINERS: add an entry for NXP S32G boards
Link: https://lore.kernel.org/r/20211016140138.1603-6-shawnguo@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
A series of changes to update the gpmc related bindings to yaml
format, and a few non-urgent dts fixes.
-----BEGIN PGP SIGNATURE-----
iQJFBAABCAAvFiEEkgNvrZJU/QSQYIcQG9Q+yVyrpXMFAmFkEDARHHRvbnlAYXRv
bWlkZS5jb20ACgkQG9Q+yVyrpXPNag//aqw0TTX4QjiNCxlgbTd6bvdG//aZnwCL
isZb8deQhY+X7F9RJNsbfPnmRftaH4Z3yvJ+58+wBSTrKW1BjosCUnbMVHFrkl1E
BFLfpQG1lNhhED1aSz5KCvS6FjHKGzJv+dEIKtTA/V3CDNhPVjlmPakWn0vQslEY
f9Q3g+mgH4tBmYtilVYRrRhFeIjYukmsC9Pu84/YYbjd12g9DiuG1QeKnlg+9ZgO
0pH1Wo+RiAA2MScwAyk3hwJ5QWCFj0zqjoEx4rTo49f8m8I5de/eNXEMwT8EDQO2
6vXzDl1l6Djsp3VWtQPT9Gp0iEk9j05sTNolvlm13eP7sF366Vga/NRbAnw4qFUa
7DTxpzQijEVRe+0gpFvmqp6IMM67yMWIZ12klnnzd6qOgQepNgn00WsR/Xw4smJo
CntrhvLMSVfUKIgT3g1kr4TfNkpAJngqMEYTvbKzx91jgECjcomPrtDnpcH0WlW7
5nH5BAdtumledkJj+Shxwmv3X7jZI3pBFlWQ2tjNyj4Dmj1NV3dJG2FoLRrK7Nud
v1wQNiGTBgasyBl8lKdqzEor9TvTraFVH0X+gug2OkFk4Qu7jH3poc3H3n2ZBdUF
lU0d36mNcZBxJPWEosoAOk3E7qdZ+GPcoPGjHzakVYiY6CgICaYTo3OyTPiTXuBS
efXF1MlH/zc=
=2byI
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmFwh4kACgkQmmx57+YA
GNlt7w/8DMlz/ZcYin4zyJz4F9QpLxNvvLtBlL7yrtFpScYRXegEVL0gNR3S+1pE
+Jo5fL25NO6KaHa2n08ns6mNnUycnngBFlYLUwIlKnT+bshTql5uM90Gogjm4pG9
KItIx5bJR2xE22NgfLYUX74CYCtrFKKucLdl8Fnfj/TYKg3yBIR1jmfg7gXSkiqw
fopRFntlXMDkZR4mzlvuDzdzksqFXubYuEHDdsRlmXFfLGcuDq7QQFSk0G1Zf7XF
JI1eHWZnHjPBr8NT8qR2XxBVHt9KMDvtz1XmXhP9csqdVbCyTC8JWl7Lt7Gdcw1t
TTUnX97LyPa7T4K7if08U98yoSj5CyQsXyos1AScr5WWdhD5Y98Z6SM3EJeXto1a
zFQMiGRRhGFo3OYOcsXVefelXhzHxLcgxaEl9/A/hcUYu/8Ns2VpYho6C1H/L1ek
8to5d3R03jitywJbU2iv1AuyvFQqGobcsbdV0OrFWtIiIT4dzDIvmh7RcU14U95r
oh9kcAC4GCoXPZjrBjr6oFlK+gWm6KByvsYi4IvXXUskMjd/p2NDHF+Gl+4v0HwE
u12TvlNXbAe2GCBRXQ3HOVdafTRBqkFqYsDyncCHgSZxHqo8Lgm975vdDvljE6aF
JFDawUeEhmlduhCArTcPD3zQ/NsxKXUKFpCj+0UxHm3MfuqwP5w=
=mJMK
-----END PGP SIGNATURE-----
Merge tag 'omap-for-v5.16/gpmc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/dt
Changes for omap gpmc bindings and devicetree files for v5.16
A series of changes to update the gpmc related bindings to yaml
format, and a few non-urgent dts fixes.
* tag 'omap-for-v5.16/gpmc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
ARM: dts: omap: fix gpmc,mux-add-data type
ARM: dts: omap: Fix boolean properties gpmc,cycle2cycle-{same|diff}csen
dt-bindings: memory-controllers: ti,gpmc: Convert to yaml
dt-bindings: mtd: ti,gpmc-onenand: Convert to yaml
dt-bindings: mtd: ti,gpmc-nand: Convert to yaml
dt-bindings: memory-controllers: Introduce ti,gpmc-child
dt-bindings: net: Remove gpmc-eth.txt
dt-bindings: mtd: Remove gpmc-nor.txt
Link: https://lore.kernel.org/r/pull-1634280279-284035@atomide.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Convert signal related code to the new register storage mechanism in
preparation for dynamically sized buffers.
No functional change.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Borislav Petkov <bp@suse.de>
Link: https://lkml.kernel.org/r/20211013145322.607370221@linutronix.de
Convert regset related code to the new register storage mechanism in
preparation for dynamically sized buffers.
No functional change.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Borislav Petkov <bp@suse.de>
Link: https://lkml.kernel.org/r/20211013145322.555239736@linutronix.de
Convert FPU tracing code to the new register storage mechanism in
preparation for dynamically sized buffers.
No functional change.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Borislav Petkov <bp@suse.de>
Link: https://lkml.kernel.org/r/20211013145322.503327333@linutronix.de
Convert KVM code to the new register storage mechanism in preparation for
dynamically sized buffers.
No functional change.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Borislav Petkov <bp@suse.de>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Cc: kvm@vger.kernel.org
Link: https://lkml.kernel.org/r/20211013145322.451439983@linutronix.de
In order to prepare for the support of dynamically enabled FPU features,
move the clearing of xstate components to the FPU core code.
No functional change.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Borislav Petkov <bp@suse.de>
Cc: kvm@vger.kernel.org
Link: https://lkml.kernel.org/r/20211013145322.399567049@linutronix.de
Convert restore_fpregs_from_fpstate() and related code to the new
register storage mechanism in preparation for dynamically sized buffers.
No functional change.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Borislav Petkov <bp@suse.de>
Link: https://lkml.kernel.org/r/20211013145322.347395546@linutronix.de
Convert fpstate_init() and related code to the new register storage
mechanism in preparation for dynamically sized buffers.
No functional change.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Borislav Petkov <bp@suse.de>
Link: https://lkml.kernel.org/r/20211013145322.292157401@linutronix.de
New xfeatures will not longer be automatically stored in the regular XSAVE
buffer in thread_struct::fpu.
The kernel will provide the default sized buffer for storing the regular
features up to AVX512 in thread_struct::fpu and if a task requests to use
one of the new features then the register storage has to be extended.
The state will be accessed via a pointer in thread_struct::fpu which
defaults to the builtin storage and can be switched when extended storage
is required.
To avoid conditionals all over the code, create a new container for the
register storage which will gain other information, e.g. size, feature
masks etc., later. For now it just contains the register storage, which
gives it exactly the same layout as the exiting fpu::state.
Stick fpu::state and the new fpu::__fpstate into an anonymous union and
initialize the pointer. Add build time checks to validate that both are
at the same place and have the same size.
This allows step by step conversion of all users.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Borislav Petkov <bp@suse.de>
Link: https://lkml.kernel.org/r/20211013145322.234458659@linutronix.de
superblocks issue was particularly annoying because for unexperienced
users it essentially exacted a reboot to establish a new functional
mount in that scenario.
-----BEGIN PGP SIGNATURE-----
iQFHBAABCAAxFiEEydHwtzie9C7TfviiSn/eOAIR84sFAmFwWuYTHGlkcnlvbW92
QGdtYWlsLmNvbQAKCRBKf944AhHziwdHB/wJEvFkMQrlzbgVmijhmneU+TseAMxR
UBGnsyHdiimIDWqzb81cBuDfrocQzyhntghP2lBzcbzI+gZN1KlrYzKAbYk++cfi
E5Zbw3U8+moa5B2CnO19QEgmJY5DoXYXb6AbO3udIIj1Ls9lx0ByUyDoSn6fZyVH
iUQ9OH7zVTsTscoaBiEVcutmhQjIFjoYJqPpfCg6/15xcXX/L1DvxQFBWOxXqHQw
LYfCQIu8orrA2QdZpuTRpklrMg1Ih+RmqYTdQST6tTtTKJUrHPI0r3A8c2vUoBk1
ph4fBNsAMUqFn1fIGT88PJg81RC5RC3E6D5PqErzRFsPbAv9FHfGYvGQ
=FadF
-----END PGP SIGNATURE-----
Merge tag 'ceph-for-5.15-rc7' of git://github.com/ceph/ceph-client
Pull ceph fixes from Ilya Dryomov:
"Two important filesystem fixes, marked for stable.
The blocklisted superblocks issue was particularly annoying because
for unexperienced users it essentially exacted a reboot to establish a
new functional mount in that scenario"
* tag 'ceph-for-5.15-rc7' of git://github.com/ceph/ceph-client:
ceph: fix handling of "meta" errors
ceph: skip existing superblocks that are blocklisted or shut down when mounting
Similar to the copy from user function the FPU core has this already
implemented with all bells and whistles.
Get rid of the duplicated code and use the core functionality.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Borislav Petkov <bp@suse.de>
Cc: kvm@vger.kernel.org
Link: https://lkml.kernel.org/r/20211015011539.244101845@linutronix.de
B0 internal rev_id is 0x01, B1 internal rev_id is 0x02.
The external rev_id for B0 and B1 is 0x20.
The original expression is not suitable for B1.
v2: squash in fix for display code (Alex)
Signed-off-by: Aaron Liu <aaron.liu@amd.com>
Reviewed-by: Huang Rui <ray.huang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
[Why]
bios_golden_init will override dccg_init during init_hw.
[How]
Move dccg_init to after bios_golden_init.
Reviewed-by: Aric Cyr <Aric.Cyr@amd.com>
Reviewed-by: Eric Yang <eric.yang2@amd.com>
Acked-by: Agustin Gutierrez Sanchez <agustin.gutierrez@amd.com>
Signed-off-by: Jake Wang <haonan.wang2@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
[why]
The original latencies were causing underflow in some modes
[how]
Replace with the up-to-date watermark values based on new measurments
Reviewed-by: Ahmad Othman <ahmad.othman@amd.com>
Acked-by: Agustin Gutierrez Sanchez <agustin.gutierrez@amd.com>
Signed-off-by: Nikola Cornij <nikola.cornij@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
[Why]
Z9 latency is higher than when we originally tuned the watermark
parameters, causing underflow. Increasing the value until the latency
issues is resolved.
Reviewed-by: Nicholas Kazlauskas <Nicholas.Kazlauskas@amd.com>
Acked-by: Agustin Gutierrez Sanchez <agustin.gutierrez@amd.com>
Signed-off-by: Eric Yang <Eric.Yang2@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
[Why]
Immediate flip can be enabled dynamically and has higher BW requirements
when validating which voltage mode to use.
If we validate when it's not set then potentially DCFCLK will be too low
and we will underflow.
[How]
DM always requires support so always require it as part of DML input
parameters.
This can't be enabled unconditionally on older ASIC because it blocks
some expected modes so only target DCN3.1 for now.
Reviewed-by: Dmytro Laktyushkin <Dmytro.Laktyushkin@amd.com>
Acked-by: Agustin Gutierrez Sanchez <agustin.gutierrez@amd.com>
Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
[Why]
Prefetch BW calculated is lower than the DML reference because of a
porting error that's excluding cursor and row bandwidth from the
pixel data bandwidth.
[How]
Change the dml_max4 to dml_max3 and include cursor and row bandwidth
in the same calculation as the rest of the pixel data during vactive.
Reviewed-by: Dmytro Laktyushkin <Dmytro.Laktyushkin@amd.com>
Acked-by: Agustin Gutierrez Sanchez <agustin.gutierrez@amd.com>
Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
[why]
The requirement is that image width up to 4096 shall be supported
Reviewed-by: Aric Cyr <Aric.Cyr@amd.com>
Acked-by: Agustin Gutierrez Sanchez <agustin.gutierrez@amd.com>
Signed-off-by: Nikola Cornij <nikola.cornij@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
Size can be any value and is user controlled resulting in overwriting the
40 byte array wr_buf with an arbitrary length of data from buf.
Signed-off-by: Thelford Williams <tdwilliamsiv@gmail.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
Now that the various second level interrupt controllers have been moved
to IRQCHIP_PLATFORM_DRIVER and they do default to ARCH_BRCMSTB and
ARCH_BCM2835 where relevant, remove their forced selection from the
machine entry to allow an user to build them as modules.
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20211020184859.2705451-13-f.fainelli@gmail.com
Now that the various second level interrupt controllers have been moved
to IRQCHIP_PLATFORM_DRIVER and they do default to ARCH_BRCMSTB and
ARCH_BCM2835 where relevant, remove their forced selection from the
machine entry to allow an user to build them as modules.
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20211020184859.2705451-12-f.fainelli@gmail.com
Allow the user selection and building of this interrupt controller
driver as a module since it is used on ARM/ARM64 based systems as a
second level interrupt controller hanging off the ARM GIC and is
therefore loadable during boot.
To avoid using of_irq_count() which is not exported towards module,
switch the driver to use the platform_device provided by the irqchip
platform driver code and resolve the number of interrupts using
platform_irq_count().
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20211020184859.2705451-11-f.fainelli@gmail.com
In order to build drivers/irqchip/irq-bcm7120-l2.c as a module which
references irq_gc_noop(), we need to export it towards modules.
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20211020184859.2705451-10-f.fainelli@gmail.com
Allow the user selection and building of this interrupt controller
driver as a module since it is used on ARM/ARM64 based systems as a
second level interrupt controller hanging off the ARM GIC and is
therefore loadable during boot.
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20211020184859.2705451-9-f.fainelli@gmail.com
In order to allow drivers/irqchip/irq-brcmstb-l2.c to be built as a
module we need to export: irq_gc_unmask_enable_reg() and
irq_gc_mask_disable_reg().
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20211020184859.2705451-8-f.fainelli@gmail.com
Allow the user selection and building of this interrupt controller
driver as a module since it is used on ARM/ARM64 based systems as a
second level interrupt controller hanging off the ARM GIC and is
therefore loadable during boot.
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20211020184859.2705451-7-f.fainelli@gmail.com
Only MIPS based platforms using this interrupt controller as first level
interrupt controller can actually change the affinity of interrupts by
re-programming the affinity mask of the interrupt controller and use
another word group to have another CPU process the interrupt.
When this interrupt is used as a second level interrupt controller on
ARM/ARM64 there is no way to change the interrupt affinity. This fixes a
NULL pointer de-reference while trying to change the affinity since
there is only a single word group in that case, and we would have been
overruning the intc->cpus[] array.
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20211020184859.2705451-6-f.fainelli@gmail.com
The use of the cpu_logical_map[] array is only relevant for MIPS based
platform where this driver is used as a first level interrupt controller
and contains multiple register groups to map with an associated CPU.
On ARM/ARM64 based systems this interrupt controller is present and used
as a second level interrupt controller hanging off the ARM GIC. That
copy of the interrupt controller contains a single group, resulting in
the intc->cpus[] array to be of size 1.
Things happened to work in that case because we install that interrupt
controller as a chained handler which does not allow it to be affine to
any CPU but the boot CPU which happens to be 0, therefore we never
de-reference past intc->cpus[] but with the current code in place, we do
leave a chance of de-referencing the array past its bounds.
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20211020184859.2705451-5-f.fainelli@gmail.com
irq_cpu_offline() is only used by MIPS and we should instead use
irq_migrate_all_off_this_cpu(). This will be helpful in order to remove
drivers/irqchip/irq-bcm7038-l1.c irq_cpu_offline callback which would
have got in the way of making this driver modular.
Suggested-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20211020184859.2705451-2-f.fainelli@gmail.com
Using irq_desc_get_irq_data(irq_to_desc()) to retrieve the irq_data
structure from a virtual interrupt number is going to be problematic to
make irq-bcm7038-l1 a module because irq_to_desc() is not exported, and
there is no intent to export it to modules, see 64a1b95bb9 ("genirq:
Restrict export of irq_to_desc()").
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20211020184859.2705451-4-f.fainelli@gmail.com
With arch/mips/kernel/smp-bmips.c having been migrated away from
irq_cpu_offline() and use irq_migrate_all_off_this_cpu() instead, we no
longer need to implement an .irq_cpu_offline() callback. This is a
necessary change to facilitate the building of this driver as a module.
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20211020184859.2705451-3-f.fainelli@gmail.com
Ilya Leoshkevich says:
====================
This series along with [1] and [2] fixes all the failures in the
btf_dump testsuite currently present on s390, in particular:
* [1] fixes intermittent build bug causing "failed to encode tag ..."
* error messages.
* [2] fixes missing VAR entries on s390.
* Patch 1 disables Intel-specific code in a testcase.
* Patch 2 fixes an endianness-related bug.
* Patch 3 fixes an alignment-related bug.
* Patch 4 improves overly pessimistic alignment handling.
[1] https://lore.kernel.org/bpf/20211012022521.399302-1-iii@linux.ibm.com/
[2] https://lore.kernel.org/bpf/20211012022637.399365-1-iii@linux.ibm.com/
v1: https://lore.kernel.org/bpf/20211012023218.399568-1-iii@linux.ibm.com/
v1 -> v2:
- Remove redundant local variables, use t->size directly instead.
Best regards,
Ilya
====================
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Add support for Microchip External Interrupt Controller. The controller
supports 2 external interrupt lines. For every external input there is
a connection to GIC. The interrupt controllers contains only 4
registers:
- EIC_GFCS (read only): which indicates that glitch filter configuration
is ready (not addressed in this implementation)
- EIC_SCFG0R, EIC_SCFG1R (read, write): allows per interrupt specific
settings: enable, polarity/edge settings, glitch filter settings
- EIC_WPMR, EIC_WPSR: enables write protection mode specific settings
(which are architecture specific) for the controller and are not
addressed in this implementation
Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20210927063657.2157676-3-claudiu.beznea@microchip.com
Non-aligned integers are dumped as bitfields, which is supported for at
most 64-bit integers. Fix by using the same trick as
btf_dump_float_data(): copy non-aligned values to the local buffer.
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20211013160902.428340-4-iii@linux.ibm.com