Commit Graph

1169205 Commits (887185649c7ee8a9cc2d4e94de92bbbae6cd3747)

Author SHA1 Message Date
Mathieu Desnoyers 612cf4d283 selftests: clone3: Fix incorrect kernel headers search path
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>
2023-01-30 15:01:52 -07:00
Arnd Bergmann f0f4c73ac0 Minor improvements in ARM DTS for v6.3, part two
Align UART node names and OPP table names with bindings (alpine, arm
 boards, axm55xx, berlin, cx92755, dm814x, moxart, mstar, stih418).
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmPWhdEQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD10n0D/919C1RexaQRppuoZ2yFpWszpAR4PHny5SZ
 W+bOvI6lrFDkg4F+mNCb9SekuTtdNN5ek4wB6efvkQLZWpY2FVBrNFCKywuvrkz9
 1k1zrzUAccKNHQPSWK/tBhczXencVGiHCiot80q6t9o7u66UxtnxRgp9ZkOKHXUr
 oyn60+AEi10AdfIxt5gFWTG3NwQ4K2EHvHsQG8AFElho8kd6U0eevJQTIvFOdqgh
 1RDEeKWbEr4roT21GGacCEiYRWtfC1WKZYgr/YdAiQhxMuSRC4a5kq2dFPu7lBwr
 0qkqjl25Cx9qzD0O7cRwCSumccOiiXsXMwhX74Ldh4Qq/cPPU9qeeR6Y7dQDl4Jz
 hfw9vIszs8xMAb2Jb5J9bZ9/NVCFULT0ykVGIvLNhvNL8NaHI/gI9GP/nszZwGeI
 Bw+mLe2hWGwB7J0euH+hVklNDCfT4syj3xo/LS9Uvw5Kr9k0Yx65pdkVgymO2Rsf
 oTPJZ0cwzhKRhsznRcocAIt1eKjE1yP644qUxgUEuhgJU+WWByA0QYyVilYD2vwo
 5hGjgAH0iyphRDqHxyVWRVRu8Pal7XoyBuCmX36yTTRRjO5Jha1ySe/weEIFh8MY
 3Y/JyjLKVYzFxvEhGrkUEacYqf+oZPHgNfvLJ85ffJM7OKQz+fj+y67CH6qhU9Zf
 6IacTF49Sg==
 =QPpA
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmPYPigACgkQmmx57+YA
 GNlgFg/+LhMP3xd0bzazJqZTbO9lks0/55Qe4c347sfbOPUyyzqBJKv/P8pRBn4q
 1xD+J87yh1CBXqoHT8nKtuUiUFAwgdTFw5BsotrH9/kuim+SAdfh8astuXHdrJcZ
 fau+yjltMCrtTmFMjE8sLeJm7oX5O63L7VxRfk5RdmDd8Pw4X8e9c3ry/G+u8JBx
 lrwM0V768Kj22aGF8jJ0ymqsSmS8V+XLQtzGohKVzIH5Xmw5NEmOhTSFfhg1F3W7
 lIO/g8LVEsUo/KKqMxf9LhL9ymHUKmoT7XRURVD/1MYnpnja58LVJhrewnv7deBc
 pWsqVh39XldzFcWqil9hMF6vHBJIXj25KazyPI2NiqOJsuwH0NFlxv1q4SbtjA/g
 DLlphq4hrxx9gDBGKHjaSIo6zPXVOM7Nxj1lPpuEc5eR123whwqjSNWlcfMvBwYF
 62tO/apOok/brle6oc6sBG+9UcEvqcblojvmoTUO91a+wA1QBYLDzmFFK74MoSQD
 mI/DIwoNOOc/u6h32orFFzzCRrLIRltysZ9rVnx6HGK6j1Krd4ljN9yxY55i9SR3
 wHRG2dsZgIcafNYm6HJqhzmqvP8MAM8zFtMkNulWhjzbH9F4JgIQA8mLr+xFrYs0
 bYX8/L6Qo7SBpoHBgyqwr9FbaFNg25eOmw2LX5wxx9gSSO7o7/Y=
 =mlcb
 -----END PGP SIGNATURE-----

Merge tag 'dt-cleanup-6.3-2' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-dt into arm/dt

Minor improvements in ARM DTS for v6.3, part two

Align UART node names and OPP table names with bindings (alpine, arm
boards, axm55xx, berlin, cx92755, dm814x, moxart, mstar, stih418).

* tag 'dt-cleanup-6.3-2' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-dt:
  ARM: dts: berlin: align UART node name with bindings
  ARM: dts: stih418: align OPP table names with DT schema
  ARM: dts: dm814x: align UART node name with bindings
  ARM: dts: moxart: align UART node name with bindings
  ARM: dts: axm55xx: align UART node name with bindings
  ARM: dts: alpine: align UART node name with bindings
  ARM: dts: arm: align UART node name with bindings
  ARM: dts: cx92755: align UART node name with bindings
  ARM: dts: mstar: align UART node name with bindings

Link: https://lore.kernel.org/r/20230129144525.5802-2-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-01-30 23:01:12 +01:00
Mathieu Desnoyers 7482c19173 selftests: arm64: Fix incorrect kernel headers search path
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>
2023-01-30 15:00:39 -07:00
Arnd Bergmann 54a39a28ae 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.
 -----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>
2023-01-30 23:00:00 +01:00
Arnd Bergmann 5868fc77e2 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.
 -----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>
2023-01-30 22:58:29 +01:00
Arnd Bergmann 00ef63ec1c Samsung DTS ARM changes for v6.3
1. Big cleanup and rework towards achieving zero-warning of dtbs_check
    and dtc W=1:
     - align node names with the bindings,
     - drop or correct incorrect properties in several boards,
     - correct HDMI bridge ports nodes on Exynos4412 Midas,
     - 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.
 
 2. Correct Exynos5420 MIPI DSI and phy compatibles.
 3. Correct Exynos4210 and Exynos4412 HDMI phy compatibles.
 4. Add Samsung Galaxy S5 (SM-G900H) board.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmPWhGsQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD13r9D/0dbfcQSaDpuW7qaWcRErDswCj8A6evHk11
 Y82VfS8BJ+7cDGK9AI3Oj9ilIPuzxSdIT2V0UXCqaaORVXPCP3VkWhphBMIIJQRx
 NCuQ2CI00TH9IrPTctETqNQEvgO0VWqa5FZE9y+PogjX75xhf8R3WQ0mQvYtOrQH
 nTwThaR+87ZesPU3xYq2HGiDoiF63D6zwiRlnNPwQp00ZDC4reqsyoUFnxnaNZ3r
 XcH7ZpwHcMlou8ELtnzc8wQNMPFxufVCW7puRJ/as1JWMCAfHUDorepQqZk1q8ow
 gNBZ7u3iQq9Lc4q3nSHDlsMRSA0r+dty/EqCeC76+br1evUp9PTazKyRXPfoRUmC
 T2gv7dolscB+570jzYFCIRBSAGbqBRFGNo9qR6COUx0f4ew6UdICmknHCK7gEWGu
 W3vVfTRwY7d3JccH6bLueIrO4u1JlTrxvOpnqVei1rP+Spbz9EekXUNrBHKlqmcw
 rCZl1AvcX95cdYAdd4FqeuHUWpgnbSfu05w+q4uYw+anxENNj1VCxO+V0DxQmZR+
 2sVQfySdgfCzFcCocYFkvwX7KpBiyFbHbrnzg8ccTBtBc10SZ13WtUyO96+Co7aQ
 MKH3lnIIhFFGcmO8zRBzKY9ltwbfXohdJFoTRMJZRiRs1FrgRdXsOUM1aHkDmDQZ
 ZIoAySq0Ew==
 =4Oyu
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmPYPScACgkQmmx57+YA
 GNkIQRAAmXL4gaB5GfzcSaKGH0l305GNov+vS26p8ANspugicgOZAihZm1WMb6PN
 6mpCXJ5M2y8tHxD+OTZXVt0xe6FJTyufnmihgdhf93Uz236UYnpvuF7WMXrs96E3
 fG3TjEmDxDkBzLcGyX7FpuZxRLg20qGP0/3OzovdVD09YeLBM+rQA87qy9o3dZpq
 yvAoKcuOBgboQuyX+fXBnyoBDe+aSDEITcHgjlkVLxRPZbxwQFqjMDdQ8ciBz7RX
 lQC6vETaYX0YZRb0iS9FxH8tOkHMcG1kxwbvWwancwQ0nRUcIztDj9W+WCzkCWOu
 v+9pyKJdFFo/K0eyFV38YSM+cvWKbADuvEoZKclXE4nEDNjxAWKLjOanilHXDHVs
 YBZuFTbnF6r5Td+jOR4WyYEvcuKGItZ1HeExxzgb/mvJkeaGp4Z/7zrr+wIFzyUY
 qUrwllRy0CKLDxqxkjOR5qH+vi8gRu8vkKu+kStkN6rjHzYOKuVjW3Y4MtI+jqKh
 oMs3+MRU0pO4nIVR/UBGKmLmvl2HXsQ6wxFaTB+dWYOypgsfHytPHAzSwBBuIZX3
 P1oHa5oNFYTErLzT3FC8DNTOml0Wt8afy+kkatNE7YqcB3fg0DGYPP5ghiU3pkcc
 maf3pfgZ0ogxpHvJTMOVa43tBKYxnWIBzimCyi7G0C2SI+YRJu8=
 =Jy2i
 -----END PGP SIGNATURE-----

Merge tag 'samsung-dt-6.3' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into arm/dt

Samsung DTS ARM changes for v6.3

1. Big cleanup and rework towards achieving zero-warning of dtbs_check
   and dtc W=1:
    - align node names with the bindings,
    - drop or correct incorrect properties in several boards,
    - correct HDMI bridge ports nodes on Exynos4412 Midas,
    - 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.

2. Correct Exynos5420 MIPI DSI and phy compatibles.
3. Correct Exynos4210 and Exynos4412 HDMI phy compatibles.
4. Add Samsung Galaxy S5 (SM-G900H) board.

* tag 'samsung-dt-6.3' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux: (27 commits)
  ARM: dts: exynos: add unit address to DWC3 node wrapper in Exynos54xx
  ARM: dts: exynos: add unit address to DWC3 node wrapper in Exynos5250
  ARM: dts: exynos: move exynos-bus nodes out of soc in Exynos4412
  ARM: dts: exynos: move exynos-bus nodes out of soc in Exynos4210
  ARM: dts: exynos: move exynos-bus nodes out of soc in Exynos3250
  ARM: dts: exynos: move exynos-bus nodes out of soc in Exynos5420
  ARM: dts: exynos: use lowercase hex addresses
  ARM: dts: exynos: use generic node names for phy
  ARM: dts: exynos: correct HDMI phy compatible in Exynos4
  ARM: dts: exynos: Add Samsung Galaxy S5 (SM-G900H) board
  dt-bindings: arm: samsung: Add compatible for Samsung Galaxy S5 (SM-G900H)
  ARM: dts: exynos: Use Exynos5422 compatible for the DSI controller
  ARM: dts: exynos: Use Exynos5420 compatible for the MIPI video phy
  ARM: dts: exynos: correct HSI2C properties in Exynos5410 Odroid XU
  ARM: dts: exynos: correct HS200 property in Exynos5260
  ARM: dts: exynos: correct SATA clocks in Exynos5250
  ARM: dts: exynos: align HSOTG/USB node names
  ARM: dts: exynos: add backlight supply in P4 Note
  ARM: dts: exynos: add panel supply in Tiny4412
  ARM: dts: exynos: add ports in HDMI bridge in Exynos4412 Midas
  ...

Link: https://lore.kernel.org/r/20230129143944.5104-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-01-30 22:56:55 +01:00
Arnd Bergmann d18eff504d 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)
 -----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>
2023-01-30 22:56:00 +01:00
Arnd Bergmann 0c826ec36d 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"
 -----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>
2023-01-30 22:55:11 +01:00
Rae Moar dd2f0a0a2f kunit: fix bug in KUNIT_EXPECT_MEMEQ
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>
2023-01-30 14:46:46 -07:00
Arnd Bergmann ffe4bd3db8 - introduce Allwinner D1 DTSI
- add boards: Dongshan Nezha STU, MangoPi MQ (Pro), Sipeed Lichee RV,
   Nezha
 - add D1 power controller node
 - Add SATA regulator to Bananapi M3
 - fix regulator reference for nanopi-duo2
 - fix GPIO node names
 - align HDMI CEC node name for h3-beelink-x2
 - add DPHY interrupt to A64 and A33
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQSPRixG1tysKC2PKM10Ba7+DO8kkwUCY9RVEwAKCRB0Ba7+DO8k
 kxOPAP91Bp2oGLEETbHRdytQ13SrgPhuvvz4WS1uITIc/VKS0AEAhZmwAZc4gUjd
 xczXP58T08vFH8CVf2hyGW3vyHX1cwI=
 =/7zT
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmPYOdwACgkQmmx57+YA
 GNmuHg/7B+KIcl+slzhtIApKbEouiqK2sEAemkmrMKdMXBMf02Vl27MHZZMajb1b
 B4hva6xzV2UOxOJ9e8THo1e28ciQnKBU1EqBKRJhGrBfiQweXFe97JO2vU+MhKsB
 3pEzZfGfwuaOp9fjyYGoXZM/mVxjYqfy5tevUzTmOLhTxQiapu+xRaFmHUWgVXS9
 fYnlDs0/PPVYbIvSmIfArd8nGfcl/RD99TGm9LOhGjdr3r3LAjrDhxCXkgJi2JyP
 nWJ2DxlUUXcaslb4ulvErZ+XfQJ+dhoGRsHwhnSFAige24CL2xbzbIHKyIHSTDl3
 GT9FxOrJkZjHY7q2WK28w2cUGKwF1fYsNqLXqWs0GMYQSNlxR6eGyeV5HW2gh7xg
 xmxqzDl2I7YpuxJkf520y9rsWmy7qbM8piM1CwdQMDY6fUBcGryEZJUg6uEaEQw9
 FgnqoNdqB6GAjHN6XYtxcQmivUhJA8Jk1zUSdIv4QmWy6M+tseVuKnNxwxwFL/Ab
 z3uguUCVxOXHKazvs+6LcE+iHUu1S1TjFjGuQQ3TN+TETKeDpn0AwB4/6WJMkbCE
 rCJ3O8ku7dD3tsp76GCSP6jxT/97b3uEPfcCuZZoBtToy3s8IMBvYFEB8wMftZxp
 SPeCPiGBYNAmxDIfbTdwwZc9abfJZcLB3/XDlpSpIguLmqdxhJs=
 =lSwT
 -----END PGP SIGNATURE-----

Merge tag 'sunxi-dt-for-6.3-1' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into arm/dt

- introduce Allwinner D1 DTSI
- add boards: Dongshan Nezha STU, MangoPi MQ (Pro), Sipeed Lichee RV,
  Nezha
- add D1 power controller node
- Add SATA regulator to Bananapi M3
- fix regulator reference for nanopi-duo2
- fix GPIO node names
- align HDMI CEC node name for h3-beelink-x2
- add DPHY interrupt to A64 and A33

* tag 'sunxi-dt-for-6.3-1' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
  riscv: dts: allwinner: d1: Add power controller node
  riscv: Add the Allwinner SoC family Kconfig option
  riscv: dts: allwinner: Add Dongshan Nezha STU devicetree
  riscv: dts: allwinner: Add MangoPi MQ Pro devicetree
  riscv: dts: allwinner: Add Sipeed Lichee RV devicetrees
  riscv: dts: allwinner: Add Allwinner D1 Nezha devicetree
  riscv: dts: allwinner: Add MangoPi MQ devicetree
  riscv: dts: allwinner: Add the D1/D1s SoC devicetree
  dt-bindings: riscv: Add Allwinner D1/D1s board compatibles
  dt-bindings: vendor-prefixes: Add Allwinner D1/D1s board vendors
  MAINTAINERS: Match the sun20i family of Allwinner SoCs
  ARM: dts: sun8i: a83t: bananapi-m3: describe SATA disk regulator
  ARM: dts: sun8i: nanopi-duo2: Fix regulator GPIO reference
  ARM: dts: sunxi: Fix GPIO LED node names
  ARM: dts: sun8i: h3-beelink-x2: align HDMI CEC node names with dtschema
  arm64: dts: allwinner: a64: Add DPHY interrupt
  ARM: dts: sun8i: a33: Add DPHY interrupt

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2023-01-30 22:42:51 +01:00
Arnd Bergmann 0ad2185dcb soc: sunxi: select CONFIG_PM
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>
2023-01-30 22:25:38 +01:00
Yangtao Li 120e0ea12d f2fs: introduce discard_io_aware_gran sysfs node
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>
2023-01-30 13:23:51 -08:00
Yangtao Li c5f9db2548 f2fs: drop useless initializer and unneeded local variable
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>
2023-01-30 13:23:51 -08:00
Yangtao Li 193a639fed f2fs: add iostat support for flush
In this patch, it adds to account flush count.

Signed-off-by: Yangtao Li <frank.li@vivo.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2023-01-30 13:23:51 -08:00
Mark Brown 67aa59afcf
ASoC: topology: Fixes and cleanups
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.
2023-01-30 20:59:22 +00:00
Chaitanya Kumar Borah 47a2bd9d98 drm/i915/adlp: Fix typo for reference clock
Fix typo for reference clock from 24400 to 24000.

Bspec: 55409
Fixes: 626426ff9c ("drm/i915/adl_p: Add cdclk support for ADL-P")
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Signed-off-by: Chaitanya Kumar Borah <chaitanya.kumar.borah@intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230112094131.550252-1-chaitanya.kumar.borah@intel.com
(cherry picked from commit 2b6f7e39cc)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2023-01-30 15:48:30 -05:00
Rob Clark 7057a8f126 drm/i915: Fix potential bit_17 double-free
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>
2023-01-30 15:48:25 -05:00
John Harrison 5bc4b43d5c drm/i915: Fix up locking around dumping requests lists
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>
2023-01-30 15:48:21 -05:00
John Harrison 86d8ddc741 drm/i915: Fix request ref counting during error capture & debugfs dump
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>
2023-01-30 15:48:17 -05:00
John Harrison 87b04e53da drm/i915/guc: Fix locking when searching for a hung request
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>
2023-01-30 15:48:12 -05:00
Rob Clark 41d419382e drm/i915: Avoid potential vm use-after-free
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>
2023-01-30 15:48:08 -05:00
Mark Brown 7f27be23ab
ASoC: dt-bindings: audio-graph-port related update
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".
2023-01-30 20:46:25 +00:00
Linus Torvalds 22b8077d0f fscache fixes
-----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
2023-01-30 11:58:53 -08:00
Weidong Wang f88b6c0c07
ASoC: dt-bindings: Add schema for "awinic,aw88395"
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>
2023-01-30 19:33:45 +00:00
Weidong Wang 14bd857286
ASoC: codecs: Aw88395 chip register file, data type file and Kconfig Makefile
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>
2023-01-30 19:33:44 +00:00
Weidong Wang 06d2fe9cb4
ASoC: codecs: Aw88395 function for ALSA Audio Driver
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>
2023-01-30 19:33:43 +00:00
Weidong Wang 4345865b00
ASoC: codecs: ACF bin parsing and check library file for aw88395
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>
2023-01-30 19:33:43 +00:00
Weidong Wang 62fc25fbab
ASoC: codecs: Add i2c and codec registration for aw88395 and their associated operation functions
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>
2023-01-30 19:33:42 +00:00
Jonathan Cameron fa8843451b cxl/pci: Set the device timestamp
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>
2023-01-30 11:30:51 -08:00
Jonathan Cameron 7ebf38c911 cxl/mbox: Add missing parameter to docs.
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>
2023-01-30 11:24:16 -08:00
Joe Thornber 22c40e134c dm cache: Add some documentation to dm-cache-background-tracker.h
Signed-off-by: Joe Thornber <ejt@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@kernel.org>
2023-01-30 14:20:04 -05:00
Joe Thornber 95ab80a8a0 dm cache: free background tracker's queued work in btracker_destroy
Otherwise the kernel can BUG with:

[ 2245.426978] =============================================================================
[ 2245.435155] BUG bt_work (Tainted: G    B   W         ): Objects remaining in bt_work on __kmem_cache_shutdown()
[ 2245.445233] -----------------------------------------------------------------------------
[ 2245.445233]
[ 2245.454879] Slab 0x00000000b0ce2b30 objects=64 used=2 fp=0x000000000a3c6a4e flags=0x17ffffc0000200(slab|node=0|zone=2|lastcpupid=0x1fffff)
[ 2245.467300] CPU: 7 PID: 10805 Comm: lvm Kdump: loaded Tainted: G    B   W          6.0.0-rc2 #19
[ 2245.476078] Hardware name: Dell Inc. PowerEdge R7525/0590KW, BIOS 2.5.6 10/06/2021
[ 2245.483646] Call Trace:
[ 2245.486100]  <TASK>
[ 2245.488206]  dump_stack_lvl+0x34/0x48
[ 2245.491878]  slab_err+0x95/0xcd
[ 2245.495028]  __kmem_cache_shutdown.cold+0x31/0x136
[ 2245.499821]  kmem_cache_destroy+0x49/0x130
[ 2245.503928]  btracker_destroy+0x12/0x20 [dm_cache]
[ 2245.508728]  smq_destroy+0x15/0x60 [dm_cache_smq]
[ 2245.513435]  dm_cache_policy_destroy+0x12/0x20 [dm_cache]
[ 2245.518834]  destroy+0xc0/0x110 [dm_cache]
[ 2245.522933]  dm_table_destroy+0x5c/0x120 [dm_mod]
[ 2245.527649]  __dm_destroy+0x10e/0x1c0 [dm_mod]
[ 2245.532102]  dev_remove+0x117/0x190 [dm_mod]
[ 2245.536384]  ctl_ioctl+0x1a2/0x290 [dm_mod]
[ 2245.540579]  dm_ctl_ioctl+0xa/0x20 [dm_mod]
[ 2245.544773]  __x64_sys_ioctl+0x8a/0xc0
[ 2245.548524]  do_syscall_64+0x5c/0x90
[ 2245.552104]  ? syscall_exit_to_user_mode+0x12/0x30
[ 2245.556897]  ? do_syscall_64+0x69/0x90
[ 2245.560648]  ? do_syscall_64+0x69/0x90
[ 2245.564394]  entry_SYSCALL_64_after_hwframe+0x63/0xcd
[ 2245.569447] RIP: 0033:0x7fe52583ec6b
...
[ 2245.646771] ------------[ cut here ]------------
[ 2245.651395] kmem_cache_destroy bt_work: Slab cache still has objects when called from btracker_destroy+0x12/0x20 [dm_cache]
[ 2245.651408] WARNING: CPU: 7 PID: 10805 at mm/slab_common.c:478 kmem_cache_destroy+0x128/0x130

Found using: lvm2-testsuite --only "cache-single-split.sh"

Ben bisected and found that commit 0495e337b7 ("mm/slab_common:
Deleting kobject in kmem_cache_destroy() without holding
slab_mutex/cpu_hotplug_lock") first exposed dm-cache's incomplete
cleanup of its background tracker work objects.

Reported-by: Benjamin Marzinski <bmarzins@redhat.com>
Tested-by: Benjamin Marzinski <bmarzins@redhat.com>
Cc: stable@vger.kernel.org # 6.0+
Signed-off-by: Joe Thornber <ejt@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@kernel.org>
2023-01-30 14:20:04 -05:00
Mike Snitzer c87791bcc4 dm: improve shrinker debug names
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>
2023-01-30 14:20:04 -05:00
Yishai Hadas f4f0c25e5d vfio/mlx5: Improve the target side flow to reduce downtime
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>
2023-01-30 12:16:15 -07:00
Yishai Hadas b04e2e86e9 vfio/mlx5: Improve the source side flow upon pre_copy
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>
2023-01-30 12:16:15 -07:00
Shay Drory caf094b5a1 vfio/mlx5: Check whether VF is migratable
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>
2023-01-30 12:16:15 -07:00
ye xingchen e951eaaf83 samples: fix the prompt about SAMPLE_VFIO_MDEV_MBOCHS
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>
2023-01-30 12:16:15 -07:00
Bo Liu 038ef0a476 vfio/mdev: Use sysfs_emit() to instead of sprintf()
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>
2023-01-30 12:16:13 -07:00
Herve Codina e60259f77c
MAINTAINERS: add the Renesas IDT821034 codec entry
After contributing the driver, add myself as the maintainer for the
Renesas IDT821034 codec.

Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Link: https://lore.kernel.org/r/20230126085137.375814-4-herve.codina@bootlin.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2023-01-30 18:38:04 +00:00
Herve Codina e51166990e
ASoC: codecs: Add support for the Renesas IDT821034 codec
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>
2023-01-30 18:38:03 +00:00
Herve Codina 545679837e
ASoC: Add Renesas IDT821034 codec bindings
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>
2023-01-30 18:37:55 +00:00
Claudiu Beznea 514d7f9df3
ASoC: mchp-spdifrx: document data structures
Document data structures used by mchp-spdifrx driver.

Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Link: https://lore.kernel.org/r/20230130120647.638049-9-claudiu.beznea@microchip.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2023-01-30 18:36:26 +00:00
Claudiu Beznea c7db2a5943
ASoC: mchp-spdifrx: add runtime pm support
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>
2023-01-30 18:36:25 +00:00
Claudiu Beznea ddce4aecca
ASoC: mchp-spdifrx: remove struct mchp_spdifrx_dev::fmt member
Remove member fmt of struct mchp_spdifrx_dev as it is not used anywhere.

Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Link: https://lore.kernel.org/r/20230130120647.638049-7-claudiu.beznea@microchip.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2023-01-30 18:36:24 +00:00
Claudiu Beznea 36187a67ab
ASoC: mchp-spdifrx: use unsigned long to store clk_get_rate() value
clk_get_rate() returns an unsigned long. Use a variable of type
unsigned long to store it.

Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Link: https://lore.kernel.org/r/20230130120647.638049-6-claudiu.beznea@microchip.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2023-01-30 18:36:23 +00:00
Claudiu Beznea aaecdc32b7
ASoC: mchp-spdifrx: disable all interrupts in mchp_spdifrx_dai_remove()
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>
2023-01-30 18:36:22 +00:00
Claudiu Beznea d3681df44e
ASoC: mchp-spdifrx: fix controls that works with completion mechanism
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>
2023-01-30 18:36:21 +00:00
Claudiu Beznea a4c4161d6e
ASoC: mchp-spdifrx: fix return value in case completion times out
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>
2023-01-30 18:36:20 +00:00
Claudiu Beznea fa09fa6038
ASoC: mchp-spdifrx: fix controls which rely on rsr register
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>
2023-01-30 18:36:19 +00:00
Randy Dunlap 71bc571c64 Documentation: power: correct spelling
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>
2023-01-30 19:13:20 +01:00