Use $(KHDR_INCLUDES) as lookup path for kernel headers. This prevents
building against kernel headers from the build environment in scenarios
where kernel headers are installed into a specific output directory
(O=...).
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Shuah Khan <shuah@kernel.org>
Cc: linux-kselftest@vger.kernel.org
Cc: Ingo Molnar <mingo@redhat.com>
Cc: <stable@vger.kernel.org> # 5.18+
Acked-by: Shuah Khan <skhan@linuxfoundation.org>
Acked-by: Christian Brauner <brauner@kernel.org>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
Use $(KHDR_INCLUDES) as lookup path for kernel headers. This prevents
building against kernel headers from the build environment in scenarios
where kernel headers are installed into a specific output directory
(O=...).
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Shuah Khan <shuah@kernel.org>
Cc: linux-kselftest@vger.kernel.org
Cc: Ingo Molnar <mingo@redhat.com>
Cc: <stable@vger.kernel.org> # 5.18+
Acked-by: Shuah Khan <skhan@linuxfoundation.org>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
1. Drop deprecated "device_type" property from serial nodes (apm,
amazon).
2. Align UART node names and OPP table names with bindings (hisilicon,
realtek, synaptics).
3. Use "okay" for status, as expected by Devicetree specification and
dtschema.
-----BEGIN PGP SIGNATURE-----
iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmPWhi0QHGtyemtAa2Vy
bmVsLm9yZwAKCRDBN2bmhouD15bnD/46OE5bYtLVNhKOXIMtsBV/xiqVSRfW8iux
TOG2SAw40kVjbEDFz9A1AFnoVg64jLRiR36jnfNgMw/kTAySirtTjHOrtYQqrvlu
XOo3liYsUvDfKrREQSokyQCvuIx2NEMSGRkPdxtyXy4k2G23lEeqigdllSRNlEMb
JWg9e9COZhxVN2bSZq5QotSof3Tyqpc1CwTSLBM03PIe+/onOW/H5HjLiF4rdC23
i4bRpojjJ5fW2bfh/YzR4CWbeIFqR/hcNMOik1AxWPU6gj2v9x++MClbQHeisQjS
RD63yeGJrDdV0NYK9ncMYyvBTkBpLMBHlEd1u7qduFZ8dRTtLGAgrCks5dc5INu3
0BZ9VfC7z0Z2wipdI5eWCoHNa5WMBA64nlYvDyLqJKDqQ5tbhtT0bYMMiIQoijAO
hLQQn/cuLxl4SAsFjbqqpSVubzZfXioIjFAJrZJ7XUrNYcwQERk91i2F4qPqHiJG
dl0pIO3HgTraZx8qmf/aLxX0V1KHM2VkqdboQMka47q7w93ZF4lk3haxQMQaPYUb
lRlKZeHfC14ITcQJAN8KVuCvSo/HD4vxGPl94cC1kwGslfJ8vABvBvjW9kKIzhi9
pGV6tVL/0Jek8rHywRVqMshS6yk9WRrAdV2qdh/5Y/V4AXSuXFlKpdBDnsig5row
k+WSs2oHZg==
=LXgB
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmPYPeAACgkQmmx57+YA
GNn1Kg//UDWdoX+MO96K7h6ymSqSWHt61j8kEwzUReuPg0/Oed8w56ngHQAHIHiw
an7SqrFS9uZOZC4VeCjZtSaV6oKg600YZ/sk57d+gVcbGZ9EcsZt3H0l71NaBYFi
5dbvFzVVUgBOV6jEUukf5+f/96am/IWAB/fNvkNXy2v9/LPmGAtei142xinRF4Ih
rO9nhlxUUbF76wVMWxcHF8Sty4gDFhUWDGs7mXSE8rKiOnwxJhq970nYdsvfUgm3
paW2wDQZg8MNAE7vsCY9dyfsbLzL2Ss9lFoemwUiQDkKRx8fG1E6FunkMSb4SY3r
qlvkJ+rV908ZuDqNurmjyZabbwP+lSuP/oN3DuciKtoPRAN7RjQEXWNYu5Dtj2Dv
DMaomtpimigTrp7T5aeH2EfAWZzqMAy3fMvshaoByRc20o86RfgrVBK0b+SeZdcY
WzrBbAgM3+mgxEISrx1dIblRvjFfg2XEpviTWXqrBER5J9DM+POpuVDUEUt7+L96
wVrM9TMFjHzmOqoIVM2pgDwyT61SRxAkrsfrJlTGAOAHKbfl3fVglc5/qGHHPVfI
xdmVuCUj2SEGzWylqAU8KYb1tzggN3+sy5GZMH3/+o+6aS4MBSFjSRh417jSRZ/E
2Dfr8oycEnIuhkxBkbYKEUCf0i2VzBtgeG28VjY/WU/PSUradUI=
=CEON
-----END PGP SIGNATURE-----
Merge tag 'dt64-cleanup-6.3-2' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-dt into arm/dt
Minor improvements in ARM64 DTS for v6.3, part two
1. Drop deprecated "device_type" property from serial nodes (apm,
amazon).
2. Align UART node names and OPP table names with bindings (hisilicon,
realtek, synaptics).
3. Use "okay" for status, as expected by Devicetree specification and
dtschema.
* tag 'dt64-cleanup-6.3-2' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-dt:
arm64: dts: amd: use "okay" for status
arm64: dts: apm: use "okay" for status
arm64: dts: microchip: use "okay" for status
arm64: dts: synaptics: align UART node name with bindings
arm64: dts: hisilicon: align UART node name with bindings
arm64: dts: realtek: align UART node name with bindings
arm64: dts: amazon: drop deprecated serial device_type
arm64: dts: apm: drop deprecated serial device_type
Link: https://lore.kernel.org/r/20230129144525.5802-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Big cleanup and rework towards achieving zero-warning of dtbs_check and
dtc W=1:
- drop or correct incorrect properties in several boards,
- add dummy regulator supplies when necessary to fullfil bindings
requirements,
- use lowercase hex,
- move non-MMIO exynos-bus nodes out of soc node,
- add unit address to USB DWC3 nodes.
-----BEGIN PGP SIGNATURE-----
iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmPWhMcQHGtyemtAa2Vy
bmVsLm9yZwAKCRDBN2bmhouD1yBjEACMaeTkXIc3sQWr7BPS8y3UCiofBuKWP29k
0Nuw3HwHCTA87y9+mwfGT7WN/NGDst9OR8qfLI+wj8Wyu1EGNh7vh1Sn/Up5Bmvz
8Men6zu4Q1RViVf0cCRx7iLlmuLPF5c6yVJoTS8KnUZyb4tdBZtOd7+FVKcpgH8M
bjKDkkbDmtAb6xVUzftyjjn5Ithhk4OpNSTkKvkJglLFg+yj9pVDiOHbO7irUIda
3shXHQzWHaRCw8Q8B5f/M0P7WXKH/kuHpGu6jSjB3AxkgA1HfRwBpnf9DpbGGezb
Du/S1aSeE5tb8n0SEECGeAiZUlJH0kl726rrBXDLOUvOiYP4gaJeeBtXVknA2Yem
kVj6tBv5kR71u4omcFMVoBOsgI2xsTQgHqdkDFeCwUWDqnUvBxgDc5DU9jsMTwQF
guCm3f0zJAgrwbV0E/Gj2PCvaHHpkgYtdAJt2cegRUnH79D9Pb4IMgIq4JbCM2Cp
5PJaXKeWCV83K/njepZpHlzVpfUKUlCgO/1nrdfxiwr7CQr0gjgW+yzDqM+Mo5Tm
T9K+aMRj7k//X/211uLffbvgvCYu0LPqlDI5cWwc8rkKwNLDmrtBHPjILPftOal6
LqMd2Ot01fhW9emerML4mnbR+wE0GN/YgmGeUVJPDbK9tLBDchVGpIIIi7aRyxNk
bA5Y0i3izw==
=TL0k
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmPYPYUACgkQmmx57+YA
GNmcFw/9EgYruskofss64O9oY4/T0oCj/m+ue9K+Vj2SD2hbDgFxjm6eXv7PqtsB
qX68Js9XoxpMPJokRbCWuguASID2y7k78pcA+JXt64DKCDOsljNyeu3O7JdoptR0
Zp3vX0hA7OArvenrUxrBj9+K0RTr11WgJ9OJuu4VL2sgd8zQa8g4C5pj4e0xaM2p
VTLuxrGL8kMxKIrw0YMBW6ZSSgEOEK+JPD2IzXcC4xOGHxc9WhGEwHxJBmXGGIE7
EMGAnngq6AFB2f7PZgsZ1DHmx0lZjHzuqCvooAcSxQ+0/a9ITqaUF8Icy4DiDVD1
f18g5eSACJg78kggJ4I0aUqgP7IOFqsm4ki4BD+RIUZ3PPg8uBh+rKMiidhs8srZ
wa59JRiz88YfHkWp400huUTOMnfJLiYCDLxQtDT9wUbIgkIeP/anyjwjcptPs91g
/hVdhgNpS8tXIG4m5f6F2xi9Pt6JbV1WbJJDvLtsmM/6l46q+dAwh4aGCfNSUutR
qPHXwn9Fyf0gU7QYMGkzgU8XAfaa2SmJTDFuLRLuPW0np0q8eAj7zuMSD1HOZoxt
4ETi/ptLYo52BZJoN65iLHT1ar3ugD4Rx4e3CjiHX7/0FqsuOWdS3PqOpa11s0ze
Fn5Gk+mrJsloUu+PDvjIrTSl80j20EFjAhjCxFs6AIYcVdAelb4=
=0qaJ
-----END PGP SIGNATURE-----
Merge tag 'samsung-dt64-6.3-2' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into arm/dt
Samsung DTS ARM64 changes for v6.3, part two
Big cleanup and rework towards achieving zero-warning of dtbs_check and
dtc W=1:
- drop or correct incorrect properties in several boards,
- add dummy regulator supplies when necessary to fullfil bindings
requirements,
- use lowercase hex,
- move non-MMIO exynos-bus nodes out of soc node,
- add unit address to USB DWC3 nodes.
* tag 'samsung-dt64-6.3-2' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
arm64: dts: exynos: add unit address to DWC3 node wrapper in Exynos7
arm64: dts: exynos: add unit address to DWC3 node wrapper in Exynos5433
arm64: dts: exynos: move exynos-bus nodes out of soc in Exynos5433
arm64: dts: exynos: use lowercase hex addresses
arm64: dts: exynos: correct wlf,micd-dbtime on TM2
arm64: dts: exynos: add interrupt-controller to WM5110 on TM2
arm64: dts: exynos: add VPH_PWR regulator on TM2
arm64: dts: exynos: correct Bluetooth LED triger on E850-96
arm64: dts: exynos: add ADC supply on Exynos7 Espresso
arm64: dts: exynos: disable non-working GPU on Exynos7 Espresso
arm64: dts: exynos: drop unsupported UFS properties in ExynosAutov9 SADK
Link: https://lore.kernel.org/r/20230129143944.5104-2-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
6.3, please pull the following:
- Krzysztof aligns the SMMMU Device Tree nodes to use the desired
regular expression matched by the dtschema and he also removes the
deprecated "device_type" property for serial node(s)
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEm+Rq3+YGJdiR9yuFh9CWnEQHBwQFAmPVeP4ACgkQh9CWnEQH
BwR3nhAAt6qOVqHTkCTXVvazDxYk8R9RshQTS5gftmPioV6NgP/EUmR9RJo/Mmx1
CIjAgzS/1JDe/3qoSbxnUsZL+AkKz7GU/Fa91siweRQ2GHFsTHBA1wmzPpNvV6Ll
zr571FynfUbx/wD5sjDKUXH2Ryw2mKt6pja7dAyEW/wv20PnWP67stiiZI4NwMXL
ZlH18v8IdMeX7U3Gz5XKqRbimXRDHuWPIpUD8Jrv5iROb0Imu1B4OE8fLQCn9ZtE
a4yfZQps4y+WJPm9r0N15j51Dky0xq8F6EuUn7aSECkimSURntIvMZ8TFc8Rrjim
snnHMYur3sbziwI4I3onFiaWAnjTb/TDIdShlTd0DMOB0SYfWh6GZeZF/847NmNA
T0eJ7j6qS0kv8zUSpBGWM2r2VypBoDwis4iqlEp9J/m8guO8/2hdEgtnIO7tmass
KWUmMdlNsi5kc7Y5eZk3e9eTCx95VCNutZpIuccX4tWZw4ivh0hc08eWsxs5SIRr
eEJFrKb/OgHtMnu5hpYzDuf5EUJf9i9DGv28XoXxpRk/HUmaaA/aiRiUL+TEmD8G
pgg95Hnif6XFvvrC1c8gDZExEyh9WNY3shq/SvkY5ffHYnqMqMYMoWm19UvICsAa
EUBDDXfcWVX8saTHV0l3JVEq5hxegGaZczGJEddJuOFRfGLNSAQ=
=COzW
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmPYPPAACgkQmmx57+YA
GNm0oBAAmOfmHUEtro9bnMdrl2nD8VlCujbmTcuAXWaaocLxMdKtZUlewE8QaMt6
M6PlD/txWEedwyxd3y1Pk7YIKg3HdGebd00GpqiU8a478J/GgtY0vQ/BSMk1lsLu
bZbzR75F4wpWceZo/0MK826JAkfcXoPEH07GzJY2tMpDE3A+L1+0tL6+FtnYE9mU
sZ4xfahKgh1ofnxpBXrpDNTBcy0BC/NS7FLNkoOJuFrjedeMrKdY7ydbH8oWijff
OXVN9kVVLbbiHyTEGKlvBvSo7H/PzlXoS/1llalOz3RfVAKAF7qNuTntxNnlwz+u
BcKnvJVOiIjE5pkHGn3aRK6vGRL5lEtVjj3O2xs7vxgjqlYNDyIB3zl1HO1+Ichs
QEWNqh3jeOk3kn/4kVdPak6EFNq/SgVtOgaewBrtZx5H82vVjJbB90Q4oWICdQz6
Gi9Qcr9S2Uv7+b+mYWA6e+i3B3ieMDqBEGa1+LzUmm5pIhWX5qmOMb2Skqz4eJu6
xm8ykS8dg/0qy0QptFio89AeKXUopyxrm3uBTrtnPRpgA9iRiiwqg8acLZEDeEtm
AzSPH6072qOSz3w5K2WMi4o794v/H27ECAuvaDMG/v2RwrAg7R+KnvBcDza4mqFy
ZDQth2lGi3khk8zC61XivcmfFkDxKXyUH/69ENJEvH3oQouP3gI=
=v3PD
-----END PGP SIGNATURE-----
Merge tag 'arm-soc/for-6.3/devicetree-arm64' of https://github.com/Broadcom/stblinux into arm/dt
This pull request contains Broadcom ARM64 SoCs Device Tree updates for
6.3, please pull the following:
- Krzysztof aligns the SMMMU Device Tree nodes to use the desired
regular expression matched by the dtschema and he also removes the
deprecated "device_type" property for serial node(s)
* tag 'arm-soc/for-6.3/devicetree-arm64' of https://github.com/Broadcom/stblinux:
arm64: dts: broadcom: drop deprecated serial device_type
arm64: dts: broadcom: align SMMU node names with DT schema
Link: https://lore.kernel.org/r/20230128193834.1628831-1-f.fainelli@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
6.3, please pull the following:
- Krzysztof aligns the various Broadcom SoCs DTS UART nodes with the
binding convention to use "serial"
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEm+Rq3+YGJdiR9yuFh9CWnEQHBwQFAmPVeIoACgkQh9CWnEQH
BwRLBA//YISvO1klrdbvMgMPD/3/7sElqBw1YqbKEvRNrh5HxAisUW3dmtviVWdO
BW2KLl0q3ZmvxaMl/ma68je8OlRmzp+O4O4Noa6J8J3WGprgMmtT/Mm7DNobWkd3
07eK9jskc/qr8Ro63oitN5PAaBYz/xDqLJDi3EPI0OgM3jvYMwH3pSpPgeNdfAZ4
UL2+LNmBlv+AnNIWezL3CVSFEODDwYGYZ27qro/mypjLk83G3vFLhQB3TcFu+2TG
OAJOkcre1JnFc+/GOJcMgHgcZMuCyOasLn3kqpkI2jmwxraLdh/nhxIlKXB1naG4
2s1H2+eHSL2ZFW5ha+dnC8wp6nftj8hQleOh9xoHpSKiOBrkXLTjWn41KTbGxOZd
PV0kzHeeO08b6s3WpnVyY9UrN6lgi/h2L2FCEiOINxEeU+3NpX7bnED+aY7HT2GU
gtrJrv2iqRH19IS4ICrb3z9sceAQJu2npNDzltrDrXUA1vH7odqVPbHv5NsCrNW/
uu5p/2m/LvchNrw43ZVi+mhjbid8LcdNrzhXxJPf38bTnh9ibhqo3lbYhQvfNPP5
ucp16cbDS8uPoRPp7BK0twfIX+I7gnCLfCwp9aZ2GDr3sOPNGCjYEt7eWzk5YHN8
/miRfl0wCABlhgfNL2C0eE9GBh/NaWlhxBT4xUi6J/fOepUVcGM=
=JdyS
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmPYPL8ACgkQmmx57+YA
GNnDug/8DKAPfFcEjTU8c9fZ+iNtvtF+bypit6MUkw/AJm6qTtnilEMCk75wJPMh
GJ/LLM+J/5q7xBUrbbBZJc9lBRayYgjixGfZ84PXGnPXRFOx1Xd9Jwd6V8zxrKJZ
pf70QrespuEAF6W388AXDKy/qUeQZPZmVBkukz7EJyxUHCZn3TgSvGaMh9/VZPog
l2aTGyGSO1Cn9Ufcx6RJPNOLMpeHThgruG6GFlzbJwXLKckpWGeZ70vvX61hnHR4
x4aDLW8g+7wPDeKvCU0MBiKkXNZSoGtHJrGH43JTr2gdNUj6IrjyK4YT44XT8+QX
0SSYNzM0amKP6sSBjiQSSfLS+NenoMFldkOU7gEe4r1daudN86drn8iACS57p/kY
JEMNNunvlT5NMwhV/yB3sES9IwikkhxTTbeje9QDk7ZIC42QjQmmubCu8a6ei2sK
w5oNHRqurpv9Y5UUWktWk7vswiD88oEmTc/2A+zb+YD0x481OMKH5gbfioSxDzWL
j35NnOady979+J03ZuIbvzFdAd1dBZvGmVwKwh5d8J8Px7lwM3S0m2XwH4dd5F0B
8/KZc9pjkDv0cIQLvh4mdGO6oqApQCiauTeGb11C1tueuKDlpghKk3yd2/N/BqMh
c6wXvKKfuRQrKfgzZIXMVZKoAq76pIlkC37c0kajuTDH3v/qXks=
=E8lw
-----END PGP SIGNATURE-----
Merge tag 'arm-soc/for-6.3/devicetree' of https://github.com/Broadcom/stblinux into arm/dt
This pull request contains Broadcom ARM SoCs Device Tree updates for
6.3, please pull the following:
- Krzysztof aligns the various Broadcom SoCs DTS UART nodes with the
binding convention to use "serial"
* tag 'arm-soc/for-6.3/devicetree' of https://github.com/Broadcom/stblinux:
ARM: dts: broadcom: align UART node name with bindings
Link: https://lore.kernel.org/r/20230128193829.1628773-1-f.fainelli@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
In KUNIT_EXPECT_MEMEQ and KUNIT_EXPECT_MEMNEQ, add check if one of the
inputs is NULL and fail if this is the case.
Currently, the kernel crashes if one of the inputs is NULL. Instead,
fail the test and add an appropriate error message.
Fixes: b8a926bea8 ("kunit: Introduce KUNIT_EXPECT_MEMEQ and KUNIT_EXPECT_MEMNEQ macros")
This was found by the kernel test robot:
https://lore.kernel.org/all/202212191448.D6EDPdOh-lkp@intel.com/
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Rae Moar <rmoar@google.com>
Reviewed-by: David Gow <davidgow@google.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
Selecting CONFIG_PM_GENERIC_DOMAINS without CONFIG_PM leads to a
build failure:
WARNING: unmet direct dependencies detected for PM_GENERIC_DOMAINS
Depends on [n]: PM [=n]
Selected by [y]:
- SUN20I_PPU [=y] && (ARCH_SUNXI [=n] || COMPILE_TEST [=y])
drivers/base/power/domain_governor.c: In function 'default_suspend_ok':
drivers/base/power/domain_governor.c:85:24: error: 'struct dev_pm_info' has no member named 'ignore_children'
85 | if (!dev->power.ignore_children)
| ^
drivers/base/power/domain.c: In function 'genpd_queue_power_off_work':
drivers/base/power/domain.c:657:20: error: 'pm_wq' undeclared (first use in this function)
657 | queue_work(pm_wq, &genpd->power_off_work);
| ^~~~~
Unfortunately platforms are inconsistent between using 'select PM'
and 'depends on PM' here. CONFIG_PM is a user-visible symbol, so
in principle we should be using 'depends on', but on the other hand
using 'select' here is more common among drivers/soc. Go with the
majority for now, as this has a smaller risk of introducing circular
dependencies. We may need to clean this up for consistency later.
Fixes: 0e30ca5ab0 ("soc: sunxi: Add Allwinner D1 PPU driver")
Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
The current discard_io_aware_gran is a fixed value, change it to be
configurable through the sys node.
Signed-off-by: Yangtao Li <frank.li@vivo.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
No need to initialize idx twice. BTW, remove the unnecessary cnt variable.
Signed-off-by: Yangtao Li <frank.li@vivo.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Merge series from Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>:
Following is series of fixes and cleanups for core topology code. Few
patches fixing various problems all around and few fixing function
names.
A userspace with multiple threads racing I915_GEM_SET_TILING to set the
tiling to I915_TILING_NONE could trigger a double free of the bit_17
bitmask. (Or conversely leak memory on the transition to tiled.) Move
allocation/free'ing of the bitmask within the section protected by the
obj lock.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Fixes: 2850748ef8 ("drm/i915: Pull i915_vma_pin under the vm->mutex")
Cc: <stable@vger.kernel.org> # v5.5+
[tursulin: Correct fixes tag and added cc stable.]
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230127200550.3531984-1-robdclark@gmail.com
(cherry picked from commit 10e0cbaaf1)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
The debugfs dump of requests was confused about what state requires
the execlist lock versus the GuC lock. There was also a bunch of
duplicated messy code between it and the error capture code.
So refactor the hung request search into a re-usable function. And
reduce the span of the execlist state lock to only the execlist
specific code paths. In order to do that, also move the report of hold
count (which is an execlist only concept) from the top level dump
function to the lower level execlist specific function. Also, move the
execlist specific code into the execlist source file.
v2: Rename some functions and move to more appropriate files (Daniele).
v3: Rename new execlist dump function (Daniele)
Fixes: dc0dad365c ("drm/i915/guc: Fix for error capture after full GPU reset with GuC")
Signed-off-by: John Harrison <John.C.Harrison@Intel.com>
Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Acked-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Matt Roper <matthew.d.roper@intel.com>
Cc: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
Cc: Michael Cheng <michael.cheng@intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Cc: Bruce Chang <yu.bruce.chang@intel.com>
Cc: Alan Previn <alan.previn.teres.alexis@intel.com>
Cc: Matthew Auld <matthew.auld@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230127002842.3169194-4-John.C.Harrison@Intel.com
(cherry picked from commit a4be3dca53)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
When GuC support was added to error capture, the reference counting
around the request object was broken. Fix it up.
The context based search manages the spinlocking around the search
internally. So it needs to grab the reference count internally as
well. The execlist only request based search relies on external
locking, so it needs an external reference count but within the
spinlock not outside it.
The only other caller of the context based search is the code for
dumping engine state to debugfs. That code wasn't previously getting
an explicit reference at all as it does everything while holding the
execlist specific spinlock. So, that needs updaing as well as that
spinlock doesn't help when using GuC submission. Rather than trying to
conditionally get/put depending on submission model, just change it to
always do the get/put.
v2: Explicitly document adding an extra blank line in some dense code
(Andy Shevchenko). Fix multiple potential null pointer derefs in case
of no request found (some spotted by Tvrtko, but there was more!).
Also fix a leaked request in case of !started and another in
__guc_reset_context now that intel_context_find_active_request is
actually reference counting the returned request.
v3: Add a _get suffix to intel_context_find_active_request now that it
grabs a reference (Daniele).
v4: Split the intel_guc_find_hung_context change to a separate patch
and rename intel_context_find_active_request_get to
intel_context_get_active_request (Tvrtko).
v5: s/locking/reference counting/ in commit message (Tvrtko)
Fixes: dc0dad365c ("drm/i915/guc: Fix for error capture after full GPU reset with GuC")
Fixes: 573ba126ae ("drm/i915/guc: Capture error state on context reset")
Signed-off-by: John Harrison <John.C.Harrison@Intel.com>
Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Acked-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Andrzej Hajda <andrzej.hajda@intel.com>
Cc: Matthew Auld <matthew.auld@intel.com>
Cc: Matt Roper <matthew.d.roper@intel.com>
Cc: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
Cc: Michael Cheng <michael.cheng@intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Cc: Tejas Upadhyay <tejaskumarx.surendrakumar.upadhyay@intel.com>
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: Aravind Iddamsetty <aravind.iddamsetty@intel.com>
Cc: Alan Previn <alan.previn.teres.alexis@intel.com>
Cc: Bruce Chang <yu.bruce.chang@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230127002842.3169194-3-John.C.Harrison@Intel.com
(cherry picked from commit 3700e35378)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
intel_guc_find_hung_context() was not acquiring the correct spinlock
before searching the request list. So fix that up. While at it, add
some extra whitespace padding for readability.
Fixes: dc0dad365c ("drm/i915/guc: Fix for error capture after full GPU reset with GuC")
Signed-off-by: John Harrison <John.C.Harrison@Intel.com>
Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Acked-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Matt Roper <matthew.d.roper@intel.com>
Cc: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
Cc: Michael Cheng <michael.cheng@intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Cc: Tejas Upadhyay <tejaskumarx.surendrakumar.upadhyay@intel.com>
Cc: Chris Wilson <chris.p.wilson@intel.com>
Cc: Bruce Chang <yu.bruce.chang@intel.com>
Cc: Alan Previn <alan.previn.teres.alexis@intel.com>
Cc: Matthew Auld <matthew.auld@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230127002842.3169194-2-John.C.Harrison@Intel.com
(cherry picked from commit d1c3717501)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Adding the vm to the vm_xa table makes it visible to userspace, which
could try to race with us to close the vm. So we need to take our extra
reference before putting it in the table.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Fixes: 9ec8795e7d ("drm/i915: Drop __rcu from gem_context->vm")
Cc: <stable@vger.kernel.org> # v5.16+
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230119173321.2825472-1-robdclark@gmail.com
(cherry picked from commit 99343c46d4)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Merge series from Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>:
Audio-Graph-Card and Simple-Audio-Card are similar Card
and are sharing same utils. Thus we can also sharing same schema.
This patch-set fixup some Renesas's "make dtbs_check".
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEEqG5UsNXhtOCrfGQP+7dXa6fLC2sFAmPXvZYACgkQ+7dXa6fL
C2vJAA//b5ApjHLzYq8rOh0aYEXaG7WAebrLOgc67TYALQFEVfXyNY6OAV+5ELbQ
3mOyuPMnt2rQc20RmTw3LzS8qSXe1+aNR76uTyNSJ3+04p4bdzkxj7wz9uSkyato
bCeJCwUIL/AcMv4HDlvM/+b7XvCY1tMAtnZqRLw4IXtw+6ZjPhXmf+NhLNY1iJ/2
pL4wijtMmg/auAB6bvZlQeBelgCp+N5mqb473cuTKibYFMoe7JG2dESdC7rUqVpH
dH1r9IHirkP0WS3eQnOqt0nhHRSvQZhtRzAszGTzBUc6knZ7GFs27JVfuJXeEmoh
YubJjGrY3yRF3T8VK3eI44imu3/Yb66bC2+Ykk8nHs8q4PpaQ//QWfN2ff8eXtlf
DGjRaD1abRBIPrFW2FujV4v8R7G0x0gnCrpJaoiOwn2pzwgu8XTC35MGFtd2yv19
WAsGMyzPrdfCWieiQ3WnQNy5F5MENPrXxVemi+cPlIuSfuPy9U67san/TpfCv3t9
hnv2BnIGcjy5xaayMHSKpO263J7PpX6vAlIXnDlurqYNNxjIbQkfAOz24Da3qHLE
jx4vkh5R8dgLoM3LLjOwv+AbyAAudfhYBemLBt0itmQuKerYWfQ+xjsgGMETQfPe
GrZtdEjceFpoy5yVBnFuBgv3m8q1pgWZ0LkPdKhjgFPW2bCVAgI=
=+bON
-----END PGP SIGNATURE-----
Merge tag 'fscache-fixes-20230130' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs
Pull fscache fixes from David Howells:
"Fix two problems in fscache volume handling:
- wake_up_bit() is incorrectly paired with wait_var_event(). The
latter selects the waitqueue to use differently.
- Missing barriers ordering between state bit and task state"
* tag 'fscache-fixes-20230130' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs:
fscache: Use clear_and_wake_up_bit() in fscache_create_volume_work()
fscache: Use wait_on_bit() to wait for the freeing of relinquished volume
Add a DT schema for describing Awinic AW88395 audio amplifiers. They are
controlled using I2C.
Signed-off-by: Weidong Wang <wangweidong.a@awinic.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20230113055301.189541-6-wangweidong.a@awinic.com
Signed-off-by: Mark Brown <broonie@kernel.org>
The Awinic AW88395 is an I2S/TDM input, high efficiency
digital Smart K audio amplifier with an integrated 10.25V
smart boost convert
Signed-off-by: Nick Li <liweilei@awinic.com>
Signed-off-by: Bruce zhao <zhaolei@awinic.com>
Signed-off-by: Weidong Wang <wangweidong.a@awinic.com>
Link: https://lore.kernel.org/r/20230113055301.189541-5-wangweidong.a@awinic.com
Signed-off-by: Mark Brown <broonie@kernel.org>
The Awinic AW88395 is an I2S/TDM input, high efficiency
digital Smart K audio amplifier with an integrated 10.25V
smart boost convert
Signed-off-by: Nick Li <liweilei@awinic.com>
Signed-off-by: Bruce zhao <zhaolei@awinic.com>
Signed-off-by: Ben Yi <yijiangtao@awinic.com>
Signed-off-by: Weidong Wang <wangweidong.a@awinic.com>
Link: https://lore.kernel.org/r/20230113055301.189541-4-wangweidong.a@awinic.com
Signed-off-by: Mark Brown <broonie@kernel.org>
The Awinic AW88395 is an I2S/TDM input, high efficiency
digital Smart K audio amplifier with an integrated 10.25V
smart boost convert
Signed-off-by: Nick Li <liweilei@awinic.com>
Signed-off-by: Bruce zhao <zhaolei@awinic.com>
Signed-off-by: Weidong Wang <wangweidong.a@awinic.com>
Link: https://lore.kernel.org/r/20230113055301.189541-3-wangweidong.a@awinic.com
Signed-off-by: Mark Brown <broonie@kernel.org>
The Awinic AW88395 is an I2S/TDM input, high efficiency
digital Smart K audio amplifier with an integrated 10.25V
smart boost convert
Signed-off-by: Nick Li <liweilei@awinic.com>
Signed-off-by: Bruce zhao <zhaolei@awinic.com>
Signed-off-by: Weidong Wang <wangweidong.a@awinic.com>
Link: https://lore.kernel.org/r/20230113055301.189541-2-wangweidong.a@awinic.com
Signed-off-by: Mark Brown <broonie@kernel.org>
CXL r3.0 section 8.2.9.4.2 "Set Timestamp" recommends that the host sets
the timestamp after every Conventional or CXL Reset to ensure accurate
timestamps. This should include on initial boot up. The time base that
is being set is used by a device for the poison list overflow timestamp
and all event timestamps. Note that the command is optional and if
not supported and the device cannot return accurate timestamps it will
fill the fields in with an appropriate marker (see the specification
description of each timestamp).
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/20230130151327.32415-1-Jonathan.Cameron@huawei.com
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Kernel-doc should be complete, so add documentation for the status
parameter.
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Dave Jiang <dave.jiang@intel.com>
Link: https://lore.kernel.org/r/20230130153437.3153-1-Jonathan.Cameron@huawei.com
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Commit e33c267ab7 ("mm: shrinkers: provide shrinkers with names")
chose some fairly bad names for DM's shrinkers.
Fixes: e33c267ab7 ("mm: shrinkers: provide shrinkers with names")
Signed-off-by : Mike Snitzer <snitzer@kernel.org>
Improve the target side flow to reduce downtime as of below.
- Support reading an optional record which includes the expected
stop_copy size.
- Once the source sends this record data, which expects to be sent as
part of the pre_copy flow, prepare the data buffers that may be large
enough to hold the final stop_copy data.
The above reduces the migration downtime as the relevant stuff that is
needed to load the image data is prepared ahead as part of pre_copy.
Signed-off-by: Yishai Hadas <yishaih@nvidia.com>
Link: https://lore.kernel.org/r/20230124144955.139901-4-yishaih@nvidia.com
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Improve the source side flow upon pre_copy as of below.
- Prepare the stop_copy buffers as part of moving to pre_copy.
- Send to the target a record that includes the expected
stop_copy size to let it optimize its stop_copy flow as well.
As for sending the target this new record type (i.e.
MLX5_MIGF_HEADER_TAG_STOP_COPY_SIZE) we split the current 64 header
flags bits into 32 flags bits and another 32 tag bits, each record may
have a tag and a flag whether it's optional or mandatory. Optional
records will be ignored in the target.
The above reduces the downtime upon stop_copy as the relevant data stuff
is prepared ahead as part of pre_copy.
Signed-off-by: Yishai Hadas <yishaih@nvidia.com>
Link: https://lore.kernel.org/r/20230124144955.139901-3-yishaih@nvidia.com
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Add a check whether VF is migratable. Only if VF is migratable, mark the
VFIO device as migration capable.
Signed-off-by: Shay Drory <shayd@nvidia.com>
Signed-off-by: Yishai Hadas <yishaih@nvidia.com>
Link: https://lore.kernel.org/r/20230124144955.139901-2-yishaih@nvidia.com
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Change the prompt about SAMPLE_VFIO_MDEV_MBOCHS as
'Build VFIO mbochs example mediated device sample code'.
Signed-off-by: ye xingchen <ye.xingchen@zte.com.cn>
Link: https://lore.kernel.org/r/202301301013518438986@zte.com.cn
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Follow the advice of the Documentation/filesystems/sysfs.rst and show()
should only use sysfs_emit() or sysfs_emit_at() when formatting the
value to be returned to user space.
Signed-off-by: Bo Liu <liubo03@inspur.com>
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Link: https://lore.kernel.org/r/20230129084117.2384-1-liubo03@inspur.com
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
The Renesas IDT821034 codec is four channel PCM codec with on-chip
filters and programmable gain setting.
It also provides SLIC (Subscriber Line Interface Circuit) signals as
GPIOs.
Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Link: https://lore.kernel.org/r/20230126085137.375814-3-herve.codina@bootlin.com
Signed-off-by: Mark Brown <broonie@kernel.org>
The Renesas IDT821034 codec is a quad PCM codec with programmable
gain.
Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20230126085137.375814-2-herve.codina@bootlin.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Add runtime PM support for Microchip SPDIFRX driver. On runtime suspend
the clocks are disabled and regmap is set in caching mode. On runtime
resume the clocks are enabled and regmap is synced with the device.
Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Link: https://lore.kernel.org/r/20230130120647.638049-8-claudiu.beznea@microchip.com
Signed-off-by: Mark Brown <broonie@kernel.org>
CSC interrupts which might be used in controls are on bits 8 and 9 of
SPDIFRX_IDR register. Thus disable all the interrupts that are exported
by driver.
Fixes: ef265c55c1 ("ASoC: mchp-spdifrx: add driver for SPDIF RX")
Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Link: https://lore.kernel.org/r/20230130120647.638049-5-claudiu.beznea@microchip.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Channel status get and channel subcode get controls relies on data
returned by controls when certain IRQs are raised. To achieve that
completions are used b/w controls and interrupt service routine. The
concurrent accesses to these controls are protected by
struct snd_card::controls_rwsem.
Issues identified:
- reinit_completion() may be called while waiting for completion
which should be avoided
- in case of multiple threads waiting, the complete() call in interrupt
will signal only one waiting thread per interrupt which may lead to
timeout for the others
- in case of channel status get as the CSC interrupt is not refcounted
ISR may disable interrupt for threads that were just enabled it.
To solve these the access to controls were protected by a mutex. Along
with this there is no need for spinlock to protect the software cache
reads/updates b/w controls and ISR as the update is happening only when
requested from control, and only one reader can reach the control.
Fixes: ef265c55c1 ("ASoC: mchp-spdifrx: add driver for SPDIF RX")
Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Link: https://lore.kernel.org/r/20230130120647.638049-4-claudiu.beznea@microchip.com
Signed-off-by: Mark Brown <broonie@kernel.org>
wait_for_completion_interruptible_timeout() returns 0 in case of
timeout. Check this into account when returning from function.
Fixes: ef265c55c1 ("ASoC: mchp-spdifrx: add driver for SPDIF RX")
Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Link: https://lore.kernel.org/r/20230130120647.638049-3-claudiu.beznea@microchip.com
Signed-off-by: Mark Brown <broonie@kernel.org>
The SPDIFRX block is clocked by 2 clocks: peripheral and generic clocks.
Peripheral clock feeds user interface (registers) and generic clock feeds
the receiver.
To enable the receiver the generic clock needs to be enabled and also the
ENABLE bit of MCHP_SPDIFRX_MR register need to be set.
The signal control exported by mchp-spdifrx driver reports wrong status
when the receiver is disabled. This can happen when requesting the signal
and the capture was not previously started. To solve this the receiver
needs to be enabled (by enabling generic clock and setting ENABLE bit of
MR register) before reading the signal status.
As with this fix there are 2 paths now that need to control the generic
clock and ENABLE bit of SPDIFRX_MR register (one path though controls, one
path though configuration) a mutex has been introduced. We can't rely on
subsystem locking as the controls are protected by
struct snd_card::controls_rwsem semaphore and configuration is protected
by a different lock (embedded in snd_pcm_stream_lock_irq()).
The introduction of mutex is also extended to other controls which rely on
SPDIFRX_RSR.ULOCK bit as it has been discovered experimentally that having
both clocks enabled but not the receiver (through ENABLE bit of SPDIFRX.MR)
leads to inconsistent values of SPDIFRX_RSR.ULOCK. Thus on some controls we
rely on software state (dev->trigger_enabled protected by mutex) to
retrieve proper values.
Fixes: ef265c55c1 ("ASoC: mchp-spdifrx: add driver for SPDIF RX")
Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Link: https://lore.kernel.org/r/20230130120647.638049-2-claudiu.beznea@microchip.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Correct spelling problems for Documentation/power/ as reported
by codespell.
Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>