Commit graph

1,399,042 commits

Author SHA1 Message Date
Arnd Bergmann
f03f6e276b Renesas ARM SoC updates for v6.15
- Remove the legacy CMA reservation code on R-Car Gen2, which causes
     issues with highmem.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCZ7ikEgAKCRCKwlD9ZEnx
 cLV2AQDDZVL8MyxZuZF4viEAd0Fjp37h5tlJzsVBX/Qk/eF5wgEAzp/IgBs/TDOB
 dCEswzR4MEu91+C1+RtFeRWhc86qGAY=
 =pNjH
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmfJzIcACgkQYKtH/8kJ
 UifLQQ//WUZB+8p/T5Vm2nXKMNUZ564ClfvgZa3NT5Uzv8Mpw3xQ+EMK5j0vTrlD
 hdM5D3Dm+cOzL3MlK7uXXKwZlJvzoaSULH7mM6FQZQRexRLE6rUgWgh4E5rNijZ3
 IAsgZTJi1VD0KKsxu5jKlb7l/JiBAC13B3dI4Z731autwy2J6OPNxiIMiCVm7cpo
 Hx7o2g3QloUDN25uaA0WbI208Nv9SX+W7N5+IPExhW+B6astPMAhoIbkZbEa/yHP
 uXHoDjh67vAs7amh8nzZcTsvHQ4p7BgEtRuC2z6lSXGf2Oq4H4XIaZuVS8jd64Jl
 oFAv0/rRSbYduP2o1jFRdt+UU4FZdOrhlzl+xy+rqj1K3msn8MEzTfCZDVunEJa7
 jQBrXear3x2bO1nc77b6Sd7ntFyQ3jXCFpjLrCjEErl5ASAXcBZQF1iyN/21JT8c
 bVqKbaoe1Xiu4ehfKfhzKHJHCyR9OcBwzS1U9vf8jitcHtrTjv8mmb8YFRrGYW04
 EYdbvWOVYssoDe2BAf2eE3RFb8k74JyKnJD5YdLXQexwyj2nRlK+TBMeSHIjep0O
 xc25SMotdutLbJp48Gqfb+vFOAk6SS70NDMPG0GdvbyQ+22QWlKXPISLLNnpfLuA
 I9yHQzP+vn1kWnaQ7ZDz0SldePivLGwau0dNGK/CiPYp9WqeoIE=
 =jaYZ
 -----END PGP SIGNATURE-----

Merge tag 'renesas-arm-soc-for-v6.15-tag1' of https://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into soc/arm

Renesas ARM SoC updates for v6.15

  - Remove the legacy CMA reservation code on R-Car Gen2, which causes
    issues with highmem.

* tag 'renesas-arm-soc-for-v6.15-tag1' of https://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  ARM: shmobile: rcar-gen2: Remove CMA reservation code

Link: https://lore.kernel.org/r/cover.1740156740.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-03-06 17:25:43 +01:00
Arnd Bergmann
da3c926ca8 Renesas ARM defconfig updates for v6.15
- Supplement DTB with ATAG information, for older boards.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCZ7ij0gAKCRCKwlD9ZEnx
 cD/HAQCihz++M/HXjU0PaTv5S3GByPBzeBj4oaTY0Vf7CLNbAAEAymTH0T/cYkKy
 pfiQiWBXaYoqZT9NQcXrvVQagaKPDgw=
 =8x8l
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmfJzBwACgkQYKtH/8kJ
 Uid71hAApnjXFfMZCc61HDY9cpWyr6NsSyeTV3KyTPdvAExtQhZkXUO6hlygTajA
 so0EP04w8S6bIHETUCXMOFeY6SGNgi8LAEe/AF20mNehqoRENBDLLonTrMXNDs1a
 1HYhBAJwz3aj4KOcKiyI0e8EyTUurIHuSFiEgqX7NG4p2XQ6boc84EVOLp7B962J
 Hr3Q9HR/qa0ijODO1Zv0/LhFFRW5MtGOSvT4655WQS6Nmh3pldMCz+GZVhGmDnL0
 IgZ4TgOVUDC9uu8TIu0vvaCJ5uInxm7coDBAeEbCEP+VScGb8YdNtGVIdoUzv9mo
 tRsKsu6apPwiGECM5VLQDL4qoNUIBvaxIBAedG5gO5U4JVBAFhshw4emvVj0uS5S
 F0RZ/NLcs2JyTQMtXBy5OaZh6eQ2NIhh+Nm2JwufVB2Srm0RzL7B0OYS4ne/rB9Q
 2FhrladfAPDYLXlutatdQikLPMNUl4u3flSezwvDQzqyioFdmHvh9JmGSPW/Jto5
 ZL/XDqANAJofsevEkNdgED0mnBUkT+UFOsUDhS8J3m0u20r3p+Ppg2jU5pf8abu9
 BMxy07U9hB0dbfdTBLaZYTl6brLSDORczGkbzWKl27987rnVNZ74syivxNqZ/kuo
 3Syscuvu2yHAfyThRjXKpxCJg9XEQWSwKum3b/FOwytOwi6cz2Y=
 =g3iA
 -----END PGP SIGNATURE-----

Merge tag 'renesas-arm-defconfig-for-v6.15-tag1' of https://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into soc/defconfig

Renesas ARM defconfig updates for v6.15

  - Supplement DTB with ATAG information, for older boards.

* tag 'renesas-arm-defconfig-for-v6.15-tag1' of https://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  ARM: shmobile: defconfig: Supplement DTB with ATAG information

Link: https://lore.kernel.org/r/cover.1740156738.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-03-06 17:23:56 +01:00
Arnd Bergmann
7d5a549a08 MediaTek driver updates for v6.15
This adds entries for new and missing SoCs in the MediaTek SoCInfo
 driver (MT8370AV/AZA, MT8390AV/AZA) and	an extra entry for a new
 revision of the	MT8395AV/ZA SoC.
 
 The MediaTek SoCInfo driver also gets its SoC attribute	information
 restructured: now the family, machine and soc_id fields are correctly
 populated.
 
 MT8188 gains support for the secondary Display Parallel Interface
 used for HDMI, and for the Display Stream Compression component
 routing through mmsys and mutex tables.
 
 All of the MMSYS drivers get an important overhaul: it was found that,
 in multiple cases, the tables contained wrong mask/value pairs, hence
 those were doing either nothing or breaking routings.
 The mmsys tables were converted to use a newly introduced macro that
 will perform a compile time check, making sure that each table entry's
 value fits in the declared register mask.
 
 Thanks to the new macro, multiple MediaTek SoCs got multiple fixes in
 their MMSYS tables, addressing issues that were severely impacting the
 functionality of the display controller pipelines.
 -----BEGIN PGP SIGNATURE-----
 
 iJ4EABYKAEYWIQQn3Xxr56ypAcSHzXSaNgTPrZeEeAUCZ8mA2CgcYW5nZWxvZ2lv
 YWNjaGluby5kZWxyZWdub0Bjb2xsYWJvcmEuY29tAAoJEJo2BM+tl4R4Vg4A/RwP
 qv6tZhnc0Y9fSygMAoSNhNcD62WBvxGI3VmmomS7AP9YmfRWBoiawv5PzT7x9myN
 9dauqi3lC7AjUhZejNjvBQ==
 =YKqm
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmfJy68ACgkQYKtH/8kJ
 Uiey7w/+Pu25ynRxg3F6GLUwsBl6gQk5nxsuRsoVUcU80RtAIE6A8mmjLrTbrY4R
 wyaNN9JnVE7qN+MXN6hZZ6uYktr3TYGPTR/V9gO4Uc4RmPxxDJltypf4nMfr6q1Q
 e4qCScDpgT3728vzEhQxL1vGjOOZPx2CImVlt0q4RM0dDkLolsOW5L1MXGGt0Vb+
 OX6QWVeeacIXcMFKYsXI9y52B3akv6bERkPMgnojT9FSoANT2A4R8H5RgtDyY85x
 c5nVqWBqylGYzGAcaUSWc4xTS6eTaGj7ua3rd1X3DLeeHhkXbLbrdQQrkRNNPWiY
 hzNdHi19Pz8u8T2bGHaJ1nLJDepLHh13hx3OtJ2h2uxcjUQ7GSKvkOCILVv0E0y2
 upd6TLXqyQTpk8JwmWt3jQ91m7sfCqSzwq2X9xATFs7Fp+jVGpTA6cQgLWwxKa9+
 r9FbKpxToiPAYvc/v6CYC8IlXIy+NWn2UjSBlltB2mQURHnWk2TuTvsCcllFrG+S
 tDQN9+auNDMLDP+TIbWNXM172bVhH3YEP5ogbXlnHX00FA11fkLl46RzfltvNcOO
 5F3kWv5NnIvfG5wjHpftBCFp6Ox6dmJgkmUOJ6l8IoYrHTcrNUxMWBqi+cP/4gRc
 yVUBxqOg5C54JTd6R5yhTFSLRa3fmpeR7Q+WyIAKtCTHB701ETk=
 =Uz0f
 -----END PGP SIGNATURE-----

Merge tag 'mtk-soc-for-v6.15' of https://git.kernel.org/pub/scm/linux/kernel/git/mediatek/linux into soc/drivers

MediaTek driver	updates for v6.15

This adds entries for new and missing SoCs in the MediaTek SoCInfo
driver (MT8370AV/AZA, MT8390AV/AZA) and	an extra entry for a new
revision of the	MT8395AV/ZA SoC.

The MediaTek SoCInfo driver also gets its SoC attribute	information
restructured: now the family, machine and soc_id fields are correctly
populated.

MT8188 gains support for the secondary Display Parallel Interface
used for HDMI, and for the Display Stream Compression component
routing through mmsys and mutex tables.

All of the MMSYS drivers get an important overhaul: it was found that,
in multiple cases, the tables contained wrong mask/value pairs, hence
those were doing either nothing or breaking routings.
The mmsys tables were converted to use a newly introduced macro that
will perform a compile time check, making sure that each table entry's
value fits in the declared register mask.

Thanks to the new macro, multiple MediaTek SoCs got multiple fixes in
their MMSYS tables, addressing issues that were severely impacting the
functionality of the display controller pipelines.

* tag 'mtk-soc-for-v6.15' of https://git.kernel.org/pub/scm/linux/kernel/git/mediatek/linux:
  soc: mediatek: mtk-socinfo: Add extra entry for MT8395AV/ZA Genio 1200
  soc: mediatek: mt8188-mmsys: Add support for DSC on VDO0
  soc: mediatek: mmsys: Migrate all tables to MMSYS_ROUTE() macro
  soc: mediatek: mt8365-mmsys: Fix routing table masks and values
  soc: mediatek: mt8167-mmsys: Fix missing regval in all entries
  soc: mediatek: mt8188-mmsys: Migrate to MMSYS_ROUTE() macro
  soc: mediatek: mtk-mmsys: Add compile time check for mmsys routes
  soc: mediatek: mtk-mmsys: Fix MT8188 VDO1 DPI1 output selection
  soc: mediatek: mtk-mutex: Add DPI1 SOF/EOF to MT8188 mutex tables
  soc: mediatek: mtk-socinfo: Avoid using machine attribute in SoC detection log
  soc: mediatek: mtk-socinfo: Add entry for MT8390AV/AZA Genio 700
  soc: mediatek: mtk-socinfo: Add entry for MT8370AV/AZA Genio 510
  soc: mediatek: mtk-socinfo: Restructure SoC attribute information

Link: https://lore.kernel.org/r/20250306113540.148342-2-angelogioacchino.delregno@collabora.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-03-06 17:22:07 +01:00
Arnd Bergmann
3b8c56d807
firmware: arm_scmi: use ioread64() instead of ioread64_hi_lo()
The scmi_common_fastchannel_db_ring() function calls either ioread64()
or ioread64_hi_lo() depending on whether it is compiler for 32-bit
or 64-bit architectures.

The same logic is used to define ioread64() itself in the
linux/io-64-nonatomic-hi-lo.h header file, so the special case
is not really needed.

The behavior here should not change at all.

Fixes: 6f9ea4dabd ("firmware: arm_scmi: Generalize the fast channel support")
Reviewed-by: Sudeep Holla <sudeep.holla@arm.com>
Link: https://lore.kernel.org/r/20250304144346.1025658-1-arnd@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-03-06 17:21:38 +01:00
Arnd Bergmann
4f1afeaa30 Arm FF-A updates for v6.15
This update primarily focuses on FF-A framework notification support
 along with other improvements, including UUID handling enhancements
 and various fixes.
 
 1. FF-A framework notification upport
 
     - Adds support for multiple UUIDs per partition to register individual
       SRI callbacks.
     - Handles Rx buffer full framework notifications and provides a general
       interface for future extensions.
 
 2. Improved multiple UUID/services per-partition handling
 
     - Adds support for UUID passing in FFA_MSG_SEND2, improving multiple
       UUID/service support in the driver.
     - Introduces a helper function to check whether a partition can
       receive REQUEST2 messages.
 
 3. Partition handling generic improvements
 
     - Implements device unregistration for better partition cleanup.
     - Improves handling of the host partition presence in partition info.
 
 4. FF-A version updates
 
     - Upgrades the driver version to FF-A v1.2.
     - Rejects major versions higher than the driver version as incompatible.
 
 5. Big-Endian support fixes
 
     - Fixes big-endian issues in:
         __ffa_partition_info_regs_get()
         __ffa_partition_info_get()
     - Big-endian support is still incomplete, and only these changes can
       be verified without additional application/testing updates at the
       moment. We can discover all the partitions correctly with big-endian
       kernel now.
 
 6. Miscellaneous fixes
 
     - Fixes function prototype misalignments in: sync_send_receive{,2}
     - Adds explicit type casting for return values from: FFA_VERSION
       and NOTIFICATION_INFO_GET
     - Corrects vCPU list parsing in ffa_notification_info_get().
 
 7. UUID management in the driver and DMA mask updates
 
     - Replaces UUID buffer with the standard UUID format in ffa_partition_info
       structure.
     - Fixes a typo in some FF-A bus macros.
     - Sets dma_mask for FF-A devices.
 
 In short, this update enhances notification handling, UUID support, and
 overall robustness of the FF-A driver while addressing multiple fixes
 and cleanups.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEunHlEgbzHrJD3ZPhAEG6vDF+4pgFAmfG2gkACgkQAEG6vDF+
 4pgCsA//UN0T8cX8BxgAYjEjGYxrwzvJJsjFN4gxIeiXa0aLUWRObSNbr8qkDWd/
 MnWYgDdmy5DdzBFc5yGnpTlgS7hQFPCywfnxU2sErJmFthG9FsrcZ4C3xss+aLP9
 QTqn8QpOMIAMegg+35FkzLaIcPjkJbAJNMvvBmC0BJUhU4eJFrtSXTnc4ijJDk0y
 jNxW/il0gSv6d/GJOiHDop+0W+XrxuCvbAtOzshiIZ6eZEew5rY1EJdHPsEAuh7h
 5tP1mIQZbXD8iwgKQmVqh+gSAUCRvK1l9WfsOTw6gK7+IL3kpuSOP0UjR/mB6F0Y
 TivwuFQtDlbpLD/TbiJqkTzJVF+aWouq5onv/hFUVSapcWlXlb8QO2mHXhCblgTV
 rTAi61WVlU95RB7ZmKG0pBig1LRsCw/tc9u2+zv8jOmVc9zDDYG7YHguOtx8d8uY
 z9yNXooNzes9F1EZyxQDhe/f/q7QKs9XUnG6WBmd6FXF0F3qDAfi+yySOY1fUUdh
 cO7Vy4bNNywg+/U+ePqMm11DnjLIjIny9z9s3ruyyQ4LuCTGq/oJc0nLaniH3ukb
 iynZVUXbXu1PXm5bGW+CpoA/ivlLo+FuFPIFgwXFVlgACvnNDfJXKG5a/5SxHbpD
 b4VCRkMz2wmamwYD6veZBq4AOHkrnWlnF6eZs08z1PBIzd2kfLo=
 =qX1J
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmfJyysACgkQYKtH/8kJ
 UifldBAAmSmOhxSHMSW9D5vtJW33XPsHf3zjcDjHHVNoF4AHZDWpvN2xTbBRhe1c
 iPf4R1A+Otfa0BfxTFyG5gMIMfyRGjSmkveDVlnnrn+dLafc2AyiHZsOAaz6PvSN
 zG3FFbMSPKBqNVy2CEbDDb/HfOtodzIpiqcHDO/kBSlrMz7hNn81TsOQ+BqvMjNE
 d7yddFvdEZZYGphHD6Q/cOcrFfuWNhfYkn130sORg8eolIhp+SsXXBKlOxgjBtRX
 TbRW6FUCE+aEZtyrzOpsopI9zqXsgPy7h6BgnlDc3INB+1N1re7zQlvh4Jsqn4wh
 DmhAhrPLf8NzkUuIIRUDPBoNRwIP+1MvGAvKWq8FyMh2hvZ+ARW87FxiABEiwCbc
 /N1waQrapdLB695cKAEDCaBrgN+opxWOx7P6X3tCRAirIRpEtNaLJ/Awd4lfDoyK
 qacIjsw+KQy9TGi1k/TPslVZ5E2wiVqmlEJjyC3KchVK7AIDDFQ480C7IC9gnJPZ
 TVlyUGWN0iHK8Aer0AvO0lV4z5E0fL6ovJhPX/8/3uLaPNFKXs5+m5+0i0RJPYw9
 0phlX7CyXSlm9IMmPQv2BgPI/+dKifRA0mtoDvtfQe6gbpihnXYcm0+90jVaa/bE
 DxaLozWLoQqWc22nQCDFJ6XUK5WC11bRr5KYFg07FqSYFEE/JA0=
 =Phyc
 -----END PGP SIGNATURE-----

Merge tag 'ffa-updates-6.15' of https://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into soc/drivers

Arm FF-A updates for v6.15

This update primarily focuses on FF-A framework notification support
along with other improvements, including UUID handling enhancements
and various fixes.

1. FF-A framework notification upport

    - Adds support for multiple UUIDs per partition to register individual
      SRI callbacks.
    - Handles Rx buffer full framework notifications and provides a general
      interface for future extensions.

2. Improved multiple UUID/services per-partition handling

    - Adds support for UUID passing in FFA_MSG_SEND2, improving multiple
      UUID/service support in the driver.
    - Introduces a helper function to check whether a partition can
      receive REQUEST2 messages.

3. Partition handling generic improvements

    - Implements device unregistration for better partition cleanup.
    - Improves handling of the host partition presence in partition info.

4. FF-A version updates

    - Upgrades the driver version to FF-A v1.2.
    - Rejects major versions higher than the driver version as incompatible.

5. Big-Endian support fixes

    - Fixes big-endian issues in:
        __ffa_partition_info_regs_get()
        __ffa_partition_info_get()
    - Big-endian support is still incomplete, and only these changes can
      be verified without additional application/testing updates at the
      moment. We can discover all the partitions correctly with big-endian
      kernel now.

6. Miscellaneous fixes

    - Fixes function prototype misalignments in: sync_send_receive{,2}
    - Adds explicit type casting for return values from: FFA_VERSION
      and NOTIFICATION_INFO_GET
    - Corrects vCPU list parsing in ffa_notification_info_get().

7. UUID management in the driver and DMA mask updates

    - Replaces UUID buffer with the standard UUID format in ffa_partition_info
      structure.
    - Fixes a typo in some FF-A bus macros.
    - Sets dma_mask for FF-A devices.

In short, this update enhances notification handling, UUID support, and
overall robustness of the FF-A driver while addressing multiple fixes
and cleanups.

* tag 'ffa-updates-6.15' of https://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux: (23 commits)
  firmware: arm_ffa: Set dma_mask for ffa devices
  firmware: arm_ffa: Skip the first/partition ID when parsing vCPU list
  firmware: arm_ffa: Explicitly cast return value from NOTIFICATION_INFO_GET
  firmware: arm_ffa: Explicitly cast return value from FFA_VERSION before comparison
  firmware: arm_ffa: Handle ffa_notification_get correctly at virtual FF-A instance
  firmware: arm_ffa: Allow multiple UUIDs per partition to register SRI callback
  firmware: arm_ffa: Add support for handling framework notifications
  firmware: arm_ffa: Add support for {un,}registration of framework notifications
  firmware: arm_ffa: Stash ffa_device instead of notify_type in notifier_cb_info
  firmware: arm_ffa: Refactoring to prepare for framework notification support
  firmware: arm_ffa: Remove unnecessary declaration of ffa_partitions_cleanup()
  firmware: arm_ffa: Reject higher major version as incompatible
  firmware: arm_ffa: Upgrade FF-A version to v1.2 in the driver
  firmware: arm_ffa: Add support for passing UUID in FFA_MSG_SEND2
  firmware: arm_ffa: Helper to check if a partition can receive REQUEST2 messages
  firmware: arm_ffa: Unregister the FF-A devices when cleaning up the partitions
  firmware: arm_ffa: Handle the presence of host partition in the partition info
  firmware: arm_ffa: Refactor addition of partition information into XArray
  firmware: arm_ffa: Fix big-endian support in __ffa_partition_info_regs_get()
  firmware: arm_ffa: Fix big-endian support in __ffa_partition_info_get()
  ...

Link: https://lore.kernel.org/r/20250304105928.432997-1-sudeep.holla@arm.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-03-06 17:19:55 +01:00
Arnd Bergmann
698a56d1fe Arm SCMI updates for v6.15
Couple of updates around the flexibility in SCMI device names and
 addition of name, protocol id attributes and modalias for SCMI
 devices in the sysfs.
 
 Currently, in the scmi_protocol_device_request() function, SCMI device
 names ust be unique across all protocols. However, this constraint is
 being relaxed, allowing devices in different protocols to share the
 same name. The change aims to provide more flexibility in naming devices
 across various protocols.
 
 Two attributes: name and protocol ID is being added to the SCMI device
 in the sysfs along with the support for the modalias. These attributes
 aim to enhance device identification and management.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEunHlEgbzHrJD3ZPhAEG6vDF+4pgFAmfFoCcACgkQAEG6vDF+
 4piYkRAAhUsFR41gMzxKnsf1oIO3kV+6ZU8azQiHRldJEvKo8uP29XhDUYRaQau4
 4ubh/4ZFR+ZMzvrVufHWklwC177bjstL075YuNF+q7U0SQ7iF1n8Fmma8JoJd/EC
 Tz23aW/lTuZKAFu+//YvoNnVUJZx3EB/hddcfvlQxODlwArldwblG+ftrYmGB0Cv
 lp5smQO1I4HnVyP3ptwIKVol5RpFnpXXflTpsCNovgfptPOGDL+HTILf4RqsWifC
 TxLfdgi4ciF1K3Yb9jZByBhud30JnjK/xQQTQ3I6+n66Cm29DSPTtHF5wzYalBcs
 ZfNiSgy8PS60WH13eGaTHYvq26BUmKu2kyi2JpdBM9DneRb16fNuv4amYrKPfbeE
 bYrU9Uey491zKjBnjUu1JxFvMuNzVolvztax4CAp6SbbkI22XF1OZcxt4ydVDgzQ
 fykc2gNr/uO/unLWnzsOYRlE/DalYsPpsuK7uNIIXPMe9JCOtOs1JOD6Pj68kNyV
 Gh+uCJc/eRXPg/eBchBetq9TTV+DFfMP1Rh11up0a8mrmquL/UnORORMurK922px
 mS6kmewHBDccwC4V4FTbaHmNivaKHhJRRNaBEV+pTkxFits2ehjfsAsxIva144Gc
 NLxP+Kbux5uMa/UsvXUSY+fktueh8SnmkJkUO3txixayHY3cXxs=
 =DMuT
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmfJyuoACgkQYKtH/8kJ
 UidiXQ//Qms9GfMxzJYxiJ8HCQOlvetuQJNs2u3Rhr1pWkCFxHq4sKdYpSRcwN+I
 MkgR4sfiMzXjqKzWl2MxJuwduZmCyo7RaHi+iyH3l/Xpwlofv+WrJkUSsTutQB+V
 fMwMNv8yK4Lb1Abm8JH70b0UIyXBpDmYMfkDftbj0jDV+wH+JOMaJwkVtQFA0LI+
 XFIDUGV49FvZowZW1AjChdA5xtl63af9EtkEE0e6X/MFmUhg2DaX2Me1+tEchuRB
 LBKB49TS1v0ACT/O6u5ZBK7Mg1H4bisHMs7PpZHokU1P3FTNJqpZEESG4mE9fOG+
 5WXcvnsdL1jZjl3Mwr5szHBBlOAb8QRuQOld7I9jqSvfNrCl6jR+UQErl4UUTkJa
 xmwPpjl+5bzgbzVrGXNrTxiL4m/fi9HKxJiuPMny1tA3kIqHXjQPA1eXv6sUWQt0
 dquCzvx5lAtHQ/m8XJ2v0ahRkWHeMyUiR1+89Zbl10gdrzDv9BfNRIvsYpiw3xRr
 4WEK8XBZuCBaJus3lOt72mnPJxfNGMJk1CWp0V44jHZwBxAPJHARSEpop0azIYFK
 5tKUeB/2EB5Ryh13ufdc9uXz60lf6cb2MbcfRm9IPpzQxmZ4csM2aZ5yrt3C/Y81
 /NS24mV6aiATl9p1o71u8d9JZbeaWk7ogSExgrPQgChmLIE9eYQ=
 =cVvD
 -----END PGP SIGNATURE-----

Merge tag 'scmi-updates-6.15' of https://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into soc/drivers

Arm SCMI updates for v6.15

Couple of updates around the flexibility in SCMI device names and
addition of name, protocol id attributes and modalias for SCMI
devices in the sysfs.

Currently, in the scmi_protocol_device_request() function, SCMI device
names ust be unique across all protocols. However, this constraint is
being relaxed, allowing devices in different protocols to share the
same name. The change aims to provide more flexibility in naming devices
across various protocols.

Two attributes: name and protocol ID is being added to the SCMI device
in the sysfs along with the support for the modalias. These attributes
aim to enhance device identification and management.

* tag 'scmi-updates-6.15' of https://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux:
  firmware: arm_scmi: Emit modalias for SCMI devices
  firmware: arm_scmi: Add name and protocol id attributes
  firmware: arm_scmi: Relax duplicate name constraint across protocol ids

Link: https://lore.kernel.org/r/20250304105915.432967-1-sudeep.holla@arm.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-03-06 17:18:50 +01:00
Arnd Bergmann
283a4f225f Arm SMCCC update for v6.15
Just a single update introducing the support for the optional SOC_ID
 name string from the Arm SMCCC v1.6 specification.
 
 If the SOC_ID name string is implemented, the machine field of the SoC
 Device Attributes will reflect it.
 
 The original intent of SOC_ID was to provide a JEP-106 code for the SiP
 and the SoC revision to uniquely identify the SoC. However, there has
 been a request to add this optional name so that SoC firmware can
 directly provide the SoC name to the OS.
 
 This change avoids the need for frequent updates to various tools that
 would otherwise require maintaining hardcoded model/machine name tables
 for new SoCs.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEunHlEgbzHrJD3ZPhAEG6vDF+4pgFAmfG1J8ACgkQAEG6vDF+
 4phrQg//St4RPwFt1WngjQ2ioZzyiBXO3/eh3nnMiW+5fNvVuq2azldTsdLW3lO5
 kqP2ONiTu+LI7a2OXJzbLVTVwyoPg/iTgkqvGPuBiZeVHE1+WCY2lWbySQaKULfJ
 ViCwRmBF2Pmu7AsC7aBGqbRy1njBESFkybOfT8MAPt5/kvJX7n1V09uHnHNQwB2f
 f0g5UcamsPLyZQN9j8kyNJNsz/pVKTFG+ooKvnLGDeU82pNygn7Q+7ho79ICDGz4
 //9bAgA73xQ685jxWCGgeXDdvexW6HS7F5zyDW1FDPAq4ABLzZY/QpWyaGKF8AcE
 /BQR0Awzmd4v7jDh1tl0TfZ82jCdUu2wE++SdyK227IIZR/8n7xDOaBpRjWXUCJI
 seD4NL/obMEMSkikgRWBy10mumqjGYFlxsWy7IHh/9y+zU3y1w2Ed3nE2n/5Ekrx
 XNa0x9YjfkCwwc8MYacCfXR8n6UHBFRlSQ5oOH3Ai725eTAR4pIojCOFQrQlm6Vf
 5ZmqSbPYy7WgC6Rzon/YRAc/0L4qKNkfkazQFQ0xHJ9asnRLrkxh2o2OC3bwyuru
 82BNHsGg1Gn3FcvLmNnsbrHo+GsPqbeezciLtLw7rurJir6I24kyl6SLjHDBgCSL
 I7un2GYwOXca9WhLpkTRxudgZ0ZxEWFRjJnXS3b7H/okwZ1050w=
 =/iKV
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmfJynoACgkQYKtH/8kJ
 UidLdg//Uv+QN8hSCah0apoWl+oNPmiFb/1vRptR/Jt++uVKQ7MIR4oFbjR5szOw
 3mJeCftsdSLB4XYzZlnx2f/PmsQjffs6CkFdzLDveF8aKk1rmhra+9ZDwz8oPbP/
 drLVPcc6UMtDfZigYau/8cr70lhGSI5z4S0SHW1wgoroTIFJhl4QluQjmb5Ruryt
 ARNDjoGM+PjyW6QZQgAk2oQVObZB5gYU18jQRm/R3Pj7lhJt6+lG1wF+ZK6ksbYB
 3WhzzgQ4BOfXXV3NL+bhb4Ut7TFmyWzT/aeZpYbkIn+sBcu/9CTf2L7MYcRC3t7q
 8zS6sl1oGRc4t/zQxqupwKwrCE2oV4UcILhChCKfOJ1oBa9AYLWVe6ZdU+853izt
 kRt8NkA8N74dmebbg4B8MOkSjCBc3WjyjXpXlyQsxM+BPsDmTf8JDVsAe9D803X6
 4RRK9qxo+GfjWe3mlqL5y3t0D82XSyzOTZ8GaXr+8YYsxoMjrZWOu6G2nZtj0NtY
 6vmKCo8NeRDCqW68xkyA/qfA51TvWM6dE1ybeGWh8+vUMhc5FdzhgX0LPE14rAdC
 uNY5X0SXVGbRSSdrUwwv87KnbUl2XcjwKTPbOPmWxnek/vfgvq4pLaNMituVVGGc
 aaLvcISDu5UmYGwxDcXouhD7T44aCz6w17W2R38kJUmlTlC+YDo=
 =tny0
 -----END PGP SIGNATURE-----

Merge tag 'smccc-update-6.15' of https://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into soc/drivers

Arm SMCCC update for v6.15

Just a single update introducing the support for the optional SOC_ID
name string from the Arm SMCCC v1.6 specification.

If the SOC_ID name string is implemented, the machine field of the SoC
Device Attributes will reflect it.

The original intent of SOC_ID was to provide a JEP-106 code for the SiP
and the SoC revision to uniquely identify the SoC. However, there has
been a request to add this optional name so that SoC firmware can
directly provide the SoC name to the OS.

This change avoids the need for frequent updates to various tools that
would otherwise require maintaining hardcoded model/machine name tables
for new SoCs.

* tag 'smccc-update-6.15' of https://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux:
  firmware: smccc: Support optional Arm SMCCC SOC_ID name

Link: https://lore.kernel.org/r/20250304105845.432813-1-sudeep.holla@arm.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-03-06 17:16:57 +01:00
Arnd Bergmann
c339956727 Apple SoC RTKit IPC library updates for 6.15:
- Additional logging for errors
 - A few minor improvements and bugfixes required for drivers that are
   yet to be upstreamed
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQS3vz815OHsEaWy0u9EEX0kKnUe6QUCZ8RBIAAKCRBEEX0kKnUe
 6emXAQCKv1KH1fh1U3mUmqKFj6GNd3Ezq5uQqSwQi5gU+AgiHwD6A+vgMJ322tZ2
 aHxf2QfdO+RRiJulac1kcvhkBDnp2AI=
 =05ee
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmfJygcACgkQYKtH/8kJ
 UicY+w/+M+B5pdTN7GbbdXolV1/oZ9p+1MsQKa1aQRsUzZSu/6ALtQ36O1fJLe98
 AsxP07x+PTCmROGFn9XqeLKvJ9e1k6w9kCj60aNo6Rt7FtR9VjGOS5muDws2zib0
 Mu3MssXJY22M9Saf3X3lM0n1aJ0kOXd1owuOnGOx3ecZlVuUPg1JI/90R751zmxJ
 Qg3bMiEpRJfIdKCUgMmM1Y50XHv6QhF/RDjA/f3xl8uEW7BurRgGKrkCCoKkjNpZ
 znNgW6z4TRRS/zYL+0E3bJepk4rPZLLHndioCzDrUimxuf/TYAstcDTj+RepxJcc
 JymVi/noTLxCVDwrqvSSD4roC78sT5clbclbZo4huPhWCkL0CDG0WLQC/EfcRYF0
 SatsFvLVuaKTFQ0U4NxdfpSZz0oqNyfDSGbjMdSESeIaCqRvc5UjHUL5O2ZHiI8J
 Th9c+pMp70ipNPdjdB7P63gGK4LDm8DkPfuu7BvXF4c1f80O5uiU1hJIPnl5eDYM
 DnJG9m3NhDz4KtzLFcTUvhpDoLCNxMrDhUlril9M9zl2E/zxqljdUOTGWWFnBtKk
 0n1PWPXUstTFgLQ9AfHNE2WyJmxc0+WckKkxtK+JU29YswIXXRsn1N7JM+9X6BXG
 rojto59eevcsYbnpXBIpSFeOs2NeSZMLu1kFidqQSRebbCburNk=
 =QUAr
 -----END PGP SIGNATURE-----

Merge tag 'asahi-soc-rtkit-6.15' of https://github.com/AsahiLinux/linux into soc/drivers

Apple SoC RTKit IPC library updates for 6.15:

- Additional logging for errors
- A few minor improvements and bugfixes required for drivers that are
  yet to be upstreamed

* tag 'asahi-soc-rtkit-6.15' of https://github.com/AsahiLinux/linux:
  soc: apple: rtkit: Cut syslog messages after the first '\0'
  soc: apple: rtkit: Use high prio work queue
  soc: apple: rtkit: Implement OSLog buffers properly
  soc: apple: rtkit: Add and use PWR_STATE_INIT instead of _ON
  soc: apple: rtkit: Fix use-after-free in apple_rtkit_crashlog_rx()
  soc: apple: rtkit: Pass the crashlog to the crashed() callback
  soc: apple: rtkit: Check & log more failures

Link: https://lore.kernel.org/r/20250302113842.58092-1-sven@svenpeter.dev
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-03-06 17:15:03 +01:00
Arnd Bergmann
9c83645c9c Renesas driver updates for v6.15
- Add a driver for the System Controller on RZ/G3S, RZ/G3E, and
     RZ/V2H.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCZ7ilRQAKCRCKwlD9ZEnx
 cLmpAP0ZQtRGAQkXR7ne3GpIXEuJ3petf+SnNlzZEQIpoeTyRgEAm7NcDY6B/5hI
 HFlAQnHnpHOirRiCnmBobrRJDlZIDQU=
 =P4me
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmfJxtEACgkQYKtH/8kJ
 UidvpBAAlhIYhvkUEvmt+xai4MeTLbEs/ETNovjsCgE+kpN9MGI+RSxz5i6FNBX6
 LTw9q6BUX5b/CjdXi4DgMdbU8eSi9w6kJM1LAuWQsMLgvNARrZKnUl1M2xDpdCXK
 2ZYWcpKlGFjI0Xbkf/qxKZqYg+7D9jKhoqvwdKV9qKeufLbqTS6x2unRgTYqMTVp
 JVoNsHlTt8RB71Z+zSuHzJg5A3ef3oz8uRs1FpAIBXxPRNG4x6mpEIc4Tk4d46KB
 W31lzNiRMw/1Rx8R3AuZXWdbH2IPihxurKbHwXnvwki2byK2UkLtyDYGkBJQcom8
 amXzYWDyBdDo+xf9vwKYvwkO6locn3tMp1hG0cq+bl/ll0wK7dLYKQ5s+xhDwaJU
 ahcd/MMnf0zsru/U1j38gwmnArL5QUne0IS8F3nKPdDQDlACMAPp8IKoccAd0wuH
 tkh9AW4eAc/G/3VV1HYqGQFB7coDOvp7v5m9iT5VwfyUVIQxKV1X0fH+CVnaNwx8
 14ZrQBCJ7kzsou8fXq5plXzbfDm7oythSszbIVl2fxso3VyHzOm/oWLXyd/7nfBM
 e4+CeENijfLN6zc1NMv5mmzZYxmC8s5jkoBV7tKY038/KbqZF1o65nT+yKr0ksU0
 DhD+47hsCjZe5gIYs+tWLtUaVWa+ZwDcaR5TB8Lss/x0KNU8Ia8=
 =aT8E
 -----END PGP SIGNATURE-----

Merge tag 'renesas-drivers-for-v6.15-tag1' of https://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into soc/drivers

Renesas driver updates for v6.15

  - Add a driver for the System Controller on RZ/G3S, RZ/G3E, and
    RZ/V2H.

* tag 'renesas-drivers-for-v6.15-tag1' of https://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  soc: renesas: r9a09g057-sys: Add a callback to print SoC-specific extra features
  soc: renesas: rz-sysc: Move RZ/V2H SoC detection to the SYS driver
  soc: renesas: rz-sysc: Add support for RZ/G3E family
  soc: renesas: rz-sysc: Move RZ/G3S SoC detection to the SYSC driver
  soc: renesas: Add SYSC driver for Renesas RZ family

Link: https://lore.kernel.org/r/cover.1740156741.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-03-06 17:01:21 +01:00
Andrei Kuchynski
b13abcb7dd usb: typec: ucsi: Fix NULL pointer access
Resources should be released only after all threads that utilize them
have been destroyed.
This commit ensures that resources are not released prematurely by waiting
for the associated workqueue to complete before deallocating them.

Cc: stable <stable@kernel.org>
Fixes: b9aa02ca39 ("usb: typec: ucsi: Add polling mechanism for partner tasks like alt mode checking")
Signed-off-by: Andrei Kuchynski <akuchynski@chromium.org>
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Link: https://lore.kernel.org/r/20250305111739.1489003-2-akuchynski@chromium.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-03-06 16:55:46 +01:00
Miao Li
ff712188da usb: quirks: Add DELAY_INIT and NO_LPM for Prolific Mass Storage Card Reader
When used on Huawei hisi platforms, Prolific Mass Storage Card Reader
which the VID:PID is in 067b:2731 might fail to enumerate at boot time
and doesn't work well with LPM enabled, combination quirks:
	USB_QUIRK_DELAY_INIT + USB_QUIRK_NO_LPM
fixed the problems.

Signed-off-by: Miao Li <limiao@kylinos.cn>
Cc: stable <stable@kernel.org>
Link: https://lore.kernel.org/r/20250304070757.139473-1-limiao870622@163.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-03-06 16:50:24 +01:00
Christian König
fa0af721bd drm/ttm: test private resv obj on release/destroy
Test the fences in the private dma_resv object instead of the pointer to
a potentially shared dma_resv object.

This only matters for imported BOs with an SG table since those don't
get their dma_resv pointer replaced on release.

Signed-off-by: Christian König <christian.koenig@amd.com>
Signed-off-by: James Zhu <James.Zhu@amd.com>
Reviewed-by: James Zhu <James.Zhu@amd.com>
Tested-by: James Zhu <James.Zhu@amd.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20250129152849.15777-1-christian.koenig@amd.com
2025-03-06 16:50:13 +01:00
Arnd Bergmann
c4991aabc1 MediaTek ARM64 DTS updates for v6.15
This adds new SoCs and new machines, other than improving support for
 currently supported ones.
 
 In particular, for SoCs:
  - Airoha EN7581 gets support for its SCU clock controller, SPI NAND,
    hardware RNG, pinctrl, and i2c controllers;
  - MediaTek MT8365 SoC gets support for all of its Display Controller
    components;
  - MediaTek Genio 510 MT8370 - a lower binned variant of Genio 700
    MT8390 (which, in turn, is the same as MT8188) - is introduced;
  - MT8188 gets support for more Display Controller components (DSC
    and MERGE), for the tertiary MSDC (eMMC/SD/SDIO) controller, and
    for the MTU3 USB DRD controllers;
  - MT8195 and MT8188 both get migrated to the new OF Graph used for
    defining a pipeline for the Display Controller components (as
    this was previously hardcoded per-board in the drm driver, ugh!);
 
 ..and for boards:
  - Google Kukui (MT8183) is switched to Elan touchscreen driver
    instead of hid-over-i2c to fix probe failures in some cases;
  - Google Cherry (MT8195) and Geralt (MT8188) Chromebooks get
    migrated to using OF Graph for defining their board specific
    part of the display pipeline;
  - MediaTek Genio 350 (mt8365) EVK board adds support for HDMI output
    through the iTE IT66121 chip, and for DSI output to the Startek
    KD070FHFID015 display;
  - MediaTek Genio 510 EVK board is introduced with a common devicetree
    between mt8390 and mt8370 (Genio 700 and Genio 510) EVKs;
  - MediaTek Genio 700 (and 510) EVKs get support for their integrated
    dual Digital Microphones, for their RichTek RT1715 USB Type-C
    Controller with USB-PD capability, the iTE IT5205 Alternate Mode
    Passive MUX (USB3.1/DP1.4), and for USB Gadget/Host switching
    through the MTU3 DRD Controller, other than for USB in general;
  - MediaTek Genio 1200 EVK gets support for its MediaTek MT6360 PMIC
    integrated Type-C Controller, and the IT5205 MUX;
  - Radxa NIO-12L gets its DSI display pipeline preconfigured and also
    the introduction of a devicetree overlay for the official Radxa
    8HD DSI panel, enabling display output over DSI.
 
 And fixes/cleanups:
  - MT8173 gets fixes for bindings validation: PMIC node drops the
    unnecessary address/size cells, disp-pwm gets its compatibles
    list fixed (as mt6595 was not expected there), and some nodes
    got the right name (clock controllers were disguides as power
    controllers, and intpol was changed to interrupt-controller);
  - MT8188-based (MT8390) Genio boards get a fix for duplicated
    regulator name;
  - MT6359 PMIC gets fixes for audio-codec node validation.
 -----BEGIN PGP SIGNATURE-----
 
 iJ4EABYKAEYWIQQn3Xxr56ypAcSHzXSaNgTPrZeEeAUCZ8l9IigcYW5nZWxvZ2lv
 YWNjaGluby5kZWxyZWdub0Bjb2xsYWJvcmEuY29tAAoJEJo2BM+tl4R4dPUA/jkq
 /5zwPLVsoZ77s+N1CI3uwnp4AonPfmhKtLXjHYC9AP9wcpnYdpG74W+RLEdtsnpx
 SJhoWFWu6h3byujvuQwkAQ==
 =zQ+t
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmfJw/kACgkQYKtH/8kJ
 UiftvBAAwAOUHIlI7mbwGLvkl4HlglIVuHsrS/RjhvVKlxsQeF8e1gJ0cKUOMN6i
 QWBIe4JaFKOxynrnhHEobuVOqmgj6Q1xa8naHLBzysY12tFod3R3s2jOw18VTS4j
 TGjQRor1ft5assjhcaAst4gGsFkYRWM7SPQPNgZntBZ6JqaiPsqvuD+blwlFWKe6
 ATUCyqBABfSUaVpGC0KLPee6Oj5C/3k861XoIpBt3VDnuYGAuMPg/RCKU9bcmCnH
 I+ZyYd3c3I7JZmVPJ04GoFeSyGjzaX9NiHLAYtVEtPxKHk+mVDc68J1HCwggUpt5
 gylb0S1lsx/eQFmhwz4fg0doD0g4Ziy7Er4gAGOITEzmU4Vw9em+qUTPB+Bv+8sI
 da4OGVJtJRUepCxWuUgJEwrbRbBjB6SeA388KCJOsuAqOiTWrg4YagFUo2ykPKO8
 sYoqNHtHBIF9ov2hmwfdTx43dOkZxoqYmGrphKFLik6yB1XG9EvJSIM6heZfgICc
 D3T+fmDbZY2RJtPfA9xIKBqikXupyOHyTLpls7RqsdBsAuBiQsoTw8HLSMNfWvRC
 gKxnbz5L2KuqngkM6Q400oFPbofomBT7ihUJsN6qQnKrCrdCbgogimSIMoFBVO+E
 nmJPsumASyxStuBBeMqYkUIkgmFVN1Qi8J98C46SSxpFTdiAzkw=
 =7ufM
 -----END PGP SIGNATURE-----

Merge tag 'mtk-dts64-for-v6.15' of https://git.kernel.org/pub/scm/linux/kernel/git/mediatek/linux into soc/dt

MediaTek ARM64 DTS updates for v6.15

This adds new SoCs and new machines, other than improving support for
currently supported ones.

In particular, for SoCs:
 - Airoha EN7581 gets support for its SCU clock controller, SPI NAND,
   hardware RNG, pinctrl, and i2c controllers;
 - MediaTek MT8365 SoC gets support for all of its Display Controller
   components;
 - MediaTek Genio 510 MT8370 - a lower binned variant of Genio 700
   MT8390 (which, in turn, is the same as MT8188) - is introduced;
 - MT8188 gets support for more Display Controller components (DSC
   and MERGE), for the tertiary MSDC (eMMC/SD/SDIO) controller, and
   for the MTU3 USB DRD controllers;
 - MT8195 and MT8188 both get migrated to the new OF Graph used for
   defining a pipeline for the Display Controller components (as
   this was previously hardcoded per-board in the drm driver, ugh!);

..and for boards:
 - Google Kukui (MT8183) is switched to Elan touchscreen driver
   instead of hid-over-i2c to fix probe failures in some cases;
 - Google Cherry (MT8195) and Geralt (MT8188) Chromebooks get
   migrated to using OF Graph for defining their board specific
   part of the display pipeline;
 - MediaTek Genio 350 (mt8365) EVK board adds support for HDMI output
   through the iTE IT66121 chip, and for DSI output to the Startek
   KD070FHFID015 display;
 - MediaTek Genio 510 EVK board is introduced with a common devicetree
   between mt8390 and mt8370 (Genio 700 and Genio 510) EVKs;
 - MediaTek Genio 700 (and 510) EVKs get support for their integrated
   dual Digital Microphones, for their RichTek RT1715 USB Type-C
   Controller with USB-PD capability, the iTE IT5205 Alternate Mode
   Passive MUX (USB3.1/DP1.4), and for USB Gadget/Host switching
   through the MTU3 DRD Controller, other than for USB in general;
 - MediaTek Genio 1200 EVK gets support for its MediaTek MT6360 PMIC
   integrated Type-C Controller, and the IT5205 MUX;
 - Radxa NIO-12L gets its DSI display pipeline preconfigured and also
   the introduction of a devicetree overlay for the official Radxa
   8HD DSI panel, enabling display output over DSI.

And fixes/cleanups:
 - MT8173 gets fixes for bindings validation: PMIC node drops the
   unnecessary address/size cells, disp-pwm gets its compatibles
   list fixed (as mt6595 was not expected there), and some nodes
   got the right name (clock controllers were disguides as power
   controllers, and intpol was changed to interrupt-controller);
 - MT8188-based (MT8390) Genio boards get a fix for duplicated
   regulator name;
 - MT6359 PMIC gets fixes for audio-codec node validation.

* tag 'mtk-dts64-for-v6.15' of https://git.kernel.org/pub/scm/linux/kernel/git/mediatek/linux: (35 commits)
  arm64: dts: mediatek: mt8395-radxa-nio-12l: Add Radxa 8 HD panel
  arm64: dts: mediatek: mt8395-nio-12l: Prepare MIPI DSI port
  arm64: dts: mediatek: mt8390-genio-common: Add delay codec for DMIC
  arm64: dts: mediatek: mt8390-genio-common: Add routes for DMIC
  arm64: dts: mediatek: mt8395-nio-12l: Preconfigure DSI0 pipeline
  arm64: mediatek: mt8195-cherry: Add graph for eDP and DP displays
  arm64: dts: mediatek: mt8195: Add base display controller graph
  arm64: dts: airoha: en7581: Fix clock-controller address
  arm64: dts: airoha: en7581: Add more nodes to EN7581 SoC evaluation board
  arm64: dts: mediatek: mt8390-genio-common: Configure touch vreg pins
  arm64: dts: mediatek: mt8188-geralt: Add graph for DSI and DP displays
  arm64: dts: mediatek: mt8188: Add base display controller graph
  arm64: dts: mediatek: mt8390-genio-700: Add USB, TypeC Controller, MUX
  arm64: dts: mediatek: mt8188: Add MTU3 nodes and correctly describe USB
  dt-bindings: usb: mediatek,mtk-xhci: Add port for SuperSpeed EP
  arm64: dts: mediatek: mt8395-genio-1200-evk: add support for TCPC port
  dt-bindings: usb: mtu3: Add ports property
  arm64: dts: mediatek: mt8390-genio-common: Fix duplicated regulator name
  arm64: dts: mediatek: mt8183: Switch to Elan touchscreen driver
  arm64: dts: mediatek: mt6359: fix dtbs_check error for audio-codec
  ...

Link: https://lore.kernel.org/r/20250306113540.148342-1-angelogioacchino.delregno@collabora.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-03-06 16:49:13 +01:00
Rob Herring (Arm)
828678a1f6
arm64: dts: nvidia: Remove unused and undocumented "regulator-ramp-delay-scale" property
Remove "regulator-ramp-delay-scale" property which is both unused in the
kernel and undocumented. Most likely they are leftovers from downstream.

Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://lore.kernel.org/r/20250305224952.2995841-2-robh@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-03-06 16:48:35 +01:00
Mathias Nyman
b331a3d809 xhci: Handle spurious events on Etron host isoc enpoints
Unplugging a USB3.0 webcam from Etron hosts while streaming results
in errors like this:

[ 2.646387] xhci_hcd 0000:03:00.0: ERROR Transfer event TRB DMA ptr not part of current TD ep_index 18 comp_code 13
[ 2.646446] xhci_hcd 0000:03:00.0: Looking for event-dma 000000002fdf8630 trb-start 000000002fdf8640 trb-end 000000002fdf8650
[ 2.646560] xhci_hcd 0000:03:00.0: ERROR Transfer event TRB DMA ptr not part of current TD ep_index 18 comp_code 13
[ 2.646568] xhci_hcd 0000:03:00.0: Looking for event-dma 000000002fdf8660 trb-start 000000002fdf8670 trb-end 000000002fdf8670

Etron xHC generates two transfer events for the TRB if an error is
detected while processing the last TRB of an isoc TD.

The first event can be any sort of error (like USB Transaction or
Babble Detected, etc), and the final event is Success.

The xHCI driver will handle the TD after the first event and remove it
from its internal list, and then print an "Transfer event TRB DMA ptr
not part of current TD" error message after the final event.

Commit 5372c65e13 ("xhci: process isoc TD properly when there was a
transaction error mid TD.") is designed to address isoc transaction
errors, but unfortunately it doesn't account for this scenario.

This issue is similar to the XHCI_SPURIOUS_SUCCESS case where a success
event follows a 'short transfer' event, but the TD the event points to
is already given back.

Expand the spurious success 'short transfer' event handling to cover
the spurious success after error on Etron hosts.

Kuangyi Chiang reported this issue and submitted a different solution
based on using error_mid_td. This commit message is mostly taken
from that patch.

Reported-by: Kuangyi Chiang <ki.chiang65@gmail.com>
Closes: https://lore.kernel.org/linux-usb/20241028025337.6372-6-ki.chiang65@gmail.com/
Tested-by: Kuangyi Chiang <ki.chiang65@gmail.com>
Tested-by: Michal Pecio <michal.pecio@gmail.com>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20250306144954.3507700-16-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-03-06 16:46:16 +01:00
Michal Pecio
118abe036c usb: xhci: Unify duplicate inc_enq() code
Extract a block of code copied from inc_enq() into a separate function
and call it from inc_enq() and the other function which used this code.
Remove the pointless 'next' variable which only aliases ring->enqueue.

Note: I don't know if any 0.95 xHC ever reached series production, but
"AMD 0.96 host" appears to be the "Llano" family APU. Example dmesg at
https://linux-hardware.org/?probe=79d5cfd4fd&log=dmesg

pci 0000:00:10.0: [1022:7812] type 00 class 0x0c0330
hcc params 0x014042c3 hci version 0x96 quirks 0x0000000000000608

Signed-off-by: Michal Pecio <michal.pecio@gmail.com>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20250306144954.3507700-15-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-03-06 16:46:16 +01:00
Michal Pecio
bb0ba4cb10 usb: xhci: Apply the link chain quirk on NEC isoc endpoints
Two clearly different specimens of NEC uPD720200 (one with start/stop
bug, one without) were seen to cause IOMMU faults after some Missed
Service Errors. Faulting address is immediately after a transfer ring
segment and patched dynamic debug messages revealed that the MSE was
received when waiting for a TD near the end of that segment:

[ 1.041954] xhci_hcd: Miss service interval error for slot 1 ep 2 expected TD DMA ffa08fe0
[ 1.042120] xhci_hcd: AMD-Vi: Event logged [IO_PAGE_FAULT domain=0x0005 address=0xffa09000 flags=0x0000]
[ 1.042146] xhci_hcd: AMD-Vi: Event logged [IO_PAGE_FAULT domain=0x0005 address=0xffa09040 flags=0x0000]

It gets even funnier if the next page is a ring segment accessible to
the HC. Below, it reports MSE in segment at ff1e8000, plows through a
zero-filled page at ff1e9000 and starts reporting events for TRBs in
page at ff1ea000 every microframe, instead of jumping to seg ff1e6000.

[ 7.041671] xhci_hcd: Miss service interval error for slot 1 ep 2 expected TD DMA ff1e8fe0
[ 7.041999] xhci_hcd: Miss service interval error for slot 1 ep 2 expected TD DMA ff1e8fe0
[ 7.042011] xhci_hcd: WARN: buffer overrun event for slot 1 ep 2 on endpoint
[ 7.042028] xhci_hcd: All TDs skipped for slot 1 ep 2. Clear skip flag.
[ 7.042134] xhci_hcd: WARN: buffer overrun event for slot 1 ep 2 on endpoint
[ 7.042138] xhci_hcd: ERROR Transfer event TRB DMA ptr not part of current TD ep_index 2 comp_code 31
[ 7.042144] xhci_hcd: Looking for event-dma 00000000ff1ea040 trb-start 00000000ff1e6820 trb-end 00000000ff1e6820
[ 7.042259] xhci_hcd: WARN: buffer overrun event for slot 1 ep 2 on endpoint
[ 7.042262] xhci_hcd: ERROR Transfer event TRB DMA ptr not part of current TD ep_index 2 comp_code 31
[ 7.042266] xhci_hcd: Looking for event-dma 00000000ff1ea050 trb-start 00000000ff1e6820 trb-end 00000000ff1e6820

At some point completion events change from Isoch Buffer Overrun to
Short Packet and the HC finally finds cycle bit mismatch in ff1ec000.

[ 7.098130] xhci_hcd: ERROR Transfer event TRB DMA ptr not part of current TD ep_index 2 comp_code 13
[ 7.098132] xhci_hcd: Looking for event-dma 00000000ff1ecc50 trb-start 00000000ff1e6820 trb-end 00000000ff1e6820
[ 7.098254] xhci_hcd: ERROR Transfer event TRB DMA ptr not part of current TD ep_index 2 comp_code 13
[ 7.098256] xhci_hcd: Looking for event-dma 00000000ff1ecc60 trb-start 00000000ff1e6820 trb-end 00000000ff1e6820
[ 7.098379] xhci_hcd: Overrun event on slot 1 ep 2

It's possible that data from the isochronous device were written to
random buffers of pending TDs on other endpoints (either IN or OUT),
other devices or even other HCs in the same IOMMU domain.

Lastly, an error from a different USB device on another HC. Was it
caused by the above? I don't know, but it may have been. The disk
was working without any other issues and generated PCIe traffic to
starve the NEC of upstream BW and trigger those MSEs. The two HCs
shared one x1 slot by means of a commercial "PCIe splitter" board.

[ 7.162604] usb 10-2: reset SuperSpeed USB device number 3 using xhci_hcd
[ 7.178990] sd 9:0:0:0: [sdb] tag#0 UNKNOWN(0x2003) Result: hostbyte=0x07 driverbyte=DRIVER_OK cmd_age=0s
[ 7.179001] sd 9:0:0:0: [sdb] tag#0 CDB: opcode=0x28 28 00 04 02 ae 00 00 02 00 00
[ 7.179004] I/O error, dev sdb, sector 67284480 op 0x0:(READ) flags 0x80700 phys_seg 5 prio class 0

Fortunately, it appears that this ridiculous bug is avoided by setting
the chain bit of Link TRBs on isochronous rings. Other ancient HCs are
known which also expect the bit to be set and they ignore Link TRBs if
it's not. Reportedly, 0.95 spec guaranteed that the bit is set.

The bandwidth-starved NEC HC running a 32KB/uframe UVC endpoint reports
tens of MSEs per second and runs into the bug within seconds. Chaining
Link TRBs allows the same workload to run for many minutes, many times.

No negative side effects seen in UVC recording and UAC playback with a
few devices at full speed, high speed and SuperSpeed.

The problem doesn't reproduce on the newer Renesas uPD720201/uPD720202
and on old Etron EJ168 and VIA VL805 (but the VL805 has other bug).

[shorten line length of log snippets in commit messge -Mathias]

Signed-off-by: Michal Pecio <michal.pecio@gmail.com>
Cc: stable@vger.kernel.org
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20250306144954.3507700-14-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-03-06 16:46:16 +01:00
Mathias Nyman
860f5d0d35 xhci: Prevent early endpoint restart when handling STALL errors.
Ensure that an endpoint halted due to device STALL is not
restarted before a Clear_Feature(ENDPOINT_HALT) request is sent to
the device.

The host side of the endpoint may otherwise be started early by the
'Set TR Deq' command completion handler which is called if dequeue
is moved past a cancelled or halted TD.

Prevent this with a new flag set for bulk and interrupt endpoints
when a Stall Error is received. Clear it in hcd->endpoint_reset()
which is called after Clear_Feature(ENDPOINT_HALT) is sent.

Also add a debug message if a class driver queues a new URB after the
STALL. Note that class driver might not be aware of the STALL
yet when it submits the URB as URBs are given back in BH.

Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20250306144954.3507700-13-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-03-06 16:46:16 +01:00
Niklas Neronin
9a7f4bc4c8 usb: xhci: move debug capabilities from trb_in_td() to handle_tx_event()
Function trb_in_td() currently includes debug capabilities that are
triggered when its debug argument is set to true. The only consumer of
these debug capabilities is handle_tx_event(), which calls trb_in_td()
twice, once for its primary functionality and a second time solely for
debugging purposes if the first call returns 'NULL'.

This approach is inefficient and can lead to confusion, as trb_in_td()
executes the same code with identical arguments twice, differing only in
the debug output during the second execution.

To enhance clarity and efficiency, move the debug capabilities out of
trb_in_td() and integrates them directly into handle_tx_event().
This change reduces the argument count of trb_in_td() and ensures that
debug steps are executed only when necessary, streamlining the function's
operation.

Signed-off-by: Niklas Neronin <niklas.neronin@linux.intel.com>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20250306144954.3507700-12-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-03-06 16:46:16 +01:00
Niklas Neronin
d71cb7d6e1 usb: xhci: refactor trb_in_td() to be static
Relocate trb_in_td() and marks it as static, as it's exclusively utilized
in xhci-ring.c. This adjustment lays the groundwork for future rework of
the function.

The function's logic remains unchanged; only its access specifier is
altered to static and a redundant "else" is removed on line 325
(due to checkpatch.pl complaining).

Signed-off-by: Niklas Neronin <niklas.neronin@linux.intel.com>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20250306144954.3507700-11-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-03-06 16:46:16 +01:00
Niklas Neronin
68c1f16716 usb: xhci: set page size to the xHCI-supported size
The current xHCI driver does not validate whether a page size of 4096
bytes is supported. Address the issue by setting the page size to the
value supported by the xHCI controller, as read from the Page Size
register. In the event of an unexpected value; default to a 4K page size.

Additionally, this commit removes unnecessary debug messages and instead
prints the supported and used page size once.

The xHCI controller supports page sizes of (2^{(n+12)}) bytes, where 'n'
is the Page Size Bit. Only one page size is supported, with a maximum
page size of 128 KB.

Signed-off-by: Niklas Neronin <niklas.neronin@linux.intel.com>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20250306144954.3507700-10-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-03-06 16:46:16 +01:00
Niklas Neronin
55741c7233 usb: xhci: correct debug message page size calculation
The ffs() function returns the index of the first set bit, starting from 1.
If no bits are set, it returns zero. This behavior causes an off-by-one
page size in the debug message, as the page size calculation [1]
is zero-based, while ffs() is one-based.

Fix this by subtracting one from the result of ffs(). Note that since
variable 'val' is unsigned, subtracting one from zero will result in the
maximum unsigned integer value. Consequently, the condition 'if (val < 16)'
will still function correctly.

[1], Page size: (2^(n+12)), where 'n' is the set page size bit.

Fixes: 81720ec532 ("usb: host: xhci: use ffs() in xhci_mem_init()")
Signed-off-by: Niklas Neronin <niklas.neronin@linux.intel.com>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20250306144954.3507700-9-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-03-06 16:46:16 +01:00
Michal Pecio
fe1ccba52a usb: xhci: Skip only one TD on Ring Underrun/Overrun
If skipping is deferred to events other than Missed Service Error itsef,
it means we are running on an xHCI 1.0 host and don't know how many TDs
were missed until we reach some ordinary transfer completion event.

And in case of ring xrun, we can't know where the xrun happened either.

If we skip all pending TDs, we may prematurely give back TDs added after
the xrun had occurred, risking data loss or buffer UAF by the xHC.

If we skip none, a driver may become confused and stop working when all
its URBs are missed and appear to be "in flight" forever.

Skip exactly one TD on each xrun event - the first one that was missed,
as we can now be sure that the HC has finished processing it. Provided
that one more TD is queued before any subsequent doorbell ring, it will
become safe to skip another TD by the time we get an xrun again.

Signed-off-by: Michal Pecio <michal.pecio@gmail.com>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20250306144954.3507700-8-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-03-06 16:46:16 +01:00
Michal Pecio
d0b619599e usb: xhci: Expedite skipping missed isoch TDs on modern HCs
xHCI spec rev. 1.0 allowed the TRB pointer of Missed Service events
to be NULL. Having no idea which of the queued TDs were missed and
which are waiting, we can only set a flag to skip missed TDs later.

But HCs are also allowed to give us pointer to the last missed TRB,
and this became mandatory in spec rev. 1.1 and later.

Use this pointer, if available, to immediately skip all missed TDs.
This reduces latency and risk of skipping-related bugs, because we
can now leave the skip flag cleared for future events.

Handle Missed Service Error events as 'error mid TD', if applicable,
because rev. 1.0 spec excplicitly says so in notes to 4.10.3.2 and
later revs in 4.10.3.2 and 4.11.2.5.2. Notes to 4.9.1 seem to apply.

Tested on ASM1142 and ASM3142 v1.1 xHCs which provide TRB pointers.
Tested on AMD, Etron, Renesas v1.0 xHCs which provide TRB pointers.
Tested on NEC v0.96 and VIA v1.0 xHCs which send a NULL pointer.

Change inspired by a discussion about realtime USB audio.

Link: https://lore.kernel.org/linux-usb/76e1a191-020d-4a76-97f6-237f9bd0ede0@gmx.net/T/
Signed-off-by: Michal Pecio <michal.pecio@gmail.com>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20250306144954.3507700-7-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-03-06 16:46:15 +01:00
Michal Pecio
906dec15b9 usb: xhci: Fix isochronous Ring Underrun/Overrun event handling
The TRB pointer of these events points at enqueue at the time of error
occurrence on xHCI 1.1+ HCs or it's NULL on older ones. By the time we
are handling the event, a new TD may be queued at this ring position.

I can trigger this race by rising interrupt moderation to increase IRQ
handling delay. Similar delay may occur naturally due to system load.

If this ever happens after a Missed Service Error, missed TDs will be
skipped and the new TD processed as if it matched the event. It could
be given back prematurely, risking data loss or buffer UAF by the xHC.

Don't complete TDs on xrun events and don't warn if queued TDs don't
match the event's TRB pointer, which can be NULL or a link/no-op TRB.
Don't warn if there are no queued TDs at all.

Now that it's safe, also handle xrun events if the skip flag is clear.
This ensures completion of any TD stuck in 'error mid TD' state right
before the xrun event, which could happen if a driver submits a finite
number of URBs to a buggy HC and then an error occurs on the last TD.

Signed-off-by: Michal Pecio <michal.pecio@gmail.com>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20250306144954.3507700-6-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-03-06 16:46:15 +01:00
Michal Pecio
bfa8459942 usb: xhci: Complete 'error mid TD' transfers when handling Missed Service
Missed Service Error after an error mid TD means that the failed TD has
already been passed by the xHC without acknowledgment of the final TRB,
a known hardware bug. So don't wait any more and give back the TD.

Reproduced on NEC uPD720200 under conditions of ludicrously bad USB link
quality, confirmed to behave as expected using dynamic debug.

Signed-off-by: Michal Pecio <michal.pecio@gmail.com>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20250306144954.3507700-5-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-03-06 16:46:15 +01:00
Michal Pecio
58d0a3fab5 usb: xhci: Don't skip on Stopped - Length Invalid
Up until commit d56b0b2ab1 ("usb: xhci: ensure skipped isoc TDs are
returned when isoc ring is stopped") in v6.11, the driver didn't skip
missed isochronous TDs when handling Stoppend and Stopped - Length
Invalid events. Instead, it erroneously cleared the skip flag, which
would cause the ring to get stuck, as future events won't match the
missed TD which is never removed from the queue until it's cancelled.

This buggy logic seems to have been in place substantially unchanged
since the 3.x series over 10 years ago, which probably speaks first
and foremost about relative rarity of this case in normal usage, but
by the spec I see no reason why it shouldn't be possible.

After d56b0b2ab1, TDs are immediately skipped when handling those
Stopped events. This poses a potential problem in case of Stopped -
Length Invalid, which occurs either on completed TDs (likely already
given back) or Link and No-Op TRBs. Such event won't be recognized
as matching any TD (unless it's the rare Link TRB inside a TD) and
will result in skipping all pending TDs, giving them back possibly
before they are done, risking isoc data loss and maybe UAF by HW.

As a compromise, don't skip and don't clear the skip flag on this
kind of event. Then the next event will skip missed TDs. A downside
of not handling Stopped - Length Invalid on a Link inside a TD is
that if the TD is cancelled, its actual length will not be updated
to account for TRBs (silently) completed before the TD was stopped.

I had no luck producing this sequence of completion events so there
is no compelling demonstration of any resulting disaster. It may be
a very rare, obscure condition. The sole motivation for this patch
is that if such unlikely event does occur, I'd rather risk reporting
a cancelled partially done isoc frame as empty than gamble with UAF.

This will be fixed more properly by looking at Stopped event's TRB
pointer when making skipping decisions, but such rework is unlikely
to be backported to v6.12, which will stay around for a few years.

Fixes: d56b0b2ab1 ("usb: xhci: ensure skipped isoc TDs are returned when isoc ring is stopped")
Cc: stable@vger.kernel.org
Signed-off-by: Michal Pecio <michal.pecio@gmail.com>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20250306144954.3507700-4-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-03-06 16:46:15 +01:00
Niklas Neronin
856563be98 usb: xhci: remove redundant update_ring_for_set_deq_completion() function
The function is a remnant from a previous implementation and is now
redundant. There is no longer a need to search for the dequeue pointer,
as both the TRB and segment dequeue pointers are saved within
'queued_deq_seg' and 'queued_deq_ptr'.

Signed-off-by: Niklas Neronin <niklas.neronin@linux.intel.com>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20250306144954.3507700-3-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-03-06 16:46:15 +01:00
Mathias Nyman
b020761e8c xhci: show correct U1 and U2 timeout values in debug messages
U2 value is encoded in 256 microsecond intervals, show in microseconds.
U1 value is in microseconds. debug message incorrectly showed "ms"

Unwrap debug messages while we anyway modify them.

Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20250306144954.3507700-2-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-03-06 16:46:15 +01:00
Arnd Bergmann
70fcb05fe4 Armv8 FVP/Vexpress/Juno updates for v6.15
The main and bulk of the addition this time is the support for the Arm
 reference Morello System Development Platform (SDP).
 
 The Morello architecture is an experimental extension to Armv8.2-A,
 enhancing the AArch64 execution state with capabilities for fine-grained
 memory protection and scalable software compartmentalization. However
 these changes doesn't add any of the support for security enhancements.
 This is mainly adding device tree support for Morello SDP.
 
 The platform iteslf is shipped with ACPI firmware. However, since the
 ACPI bindings for GPU, DPU, I2C, I2S,..etc are not well defined or not
 provided in the shipped ACPI firmware, there is a need for the device
 tree as alternative for the developers focusing on those features.
 
 The CPU is called rainier, the architecture is Morello and the platform
 is Morello SDP board. There is FVP equivalent of the same though they
 are not completely in feature parity with the real hardware.
 
 These changes provide the initial support for Morello SDP and FVP
 platforms.
 
 Apart from this, we have an update to add support for secondary cores
 on Corstone1000 FVP platform.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEunHlEgbzHrJD3ZPhAEG6vDF+4pgFAmfG0LIACgkQAEG6vDF+
 4phFpg/8D35cH6WWpfWWp0L3EILUVUcWRn0X0a4UJ7z2cl4UMn+cu7h2mzk6rT16
 fCVj0Sjuek4AZgVpKT8+3A+GugRAIrmq1teRjfcu34yQFyGh/M95IhAs1ym0RQAN
 r6Ox0dCjHJc78tQ6zstLElbkINnf9FtrXjmOCeu8nNOkWODupDuLwC/sROavHXSD
 Yr6+ACCMBvfAIVQUFa1tC1YOvJH/+wKAjISVFJoB7hNG/VqLLEQNQ15HH/Gp97Vn
 18oj5471GyIsKXiT2a3hnitDKfnRGnxLVRxSOEFGVR8n0D+HNphYQi11fi1CSkio
 HI6WDa3m1QP7CGlIW7PD+qClT7djNLUjcQglIF4+SV3NZWotGRRN6Uk7Bq+G24cS
 jFlXVy3iTfdGwvsnRU6S3WOdHTfjxOeJN6Bei9K262LUkCCl/t7M0q1EKu9twOY+
 L0AZvk+g2kqm64KbxHxrHJYTE64ykpw6AnO1vXIM5xR1ov1/XVrzPTPfIIgI4Tb4
 r99iIxhThXYe/bJ4yW4JKdW7CG6ZeyCVeIV1/MkhztlnsnR4O5EA8orEntQUdLOY
 VB/bHwVWCwvpSGmc928cxVUbfHfq/wyEwYBnEmxclAHug8mcSCgPtH52fhB69VWS
 uZAth1lqztgxS6kKN6TzeYvH2gxTeN5v+DWUgrktNOzIsAFTH4I=
 =QVaZ
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmfJwy4ACgkQYKtH/8kJ
 UifGKRAA3Ke0JZLQSnnaSxTMctu+1CqT14m+sZ4ohVmncRPpG6v2mBPIxqxm1ivC
 X1fS2DJOO6/bASyhG9p05psW3zSyWNlsppiw3Sc5GtpuqBOPGbeTcA6WVT0TnMAy
 KrAlmeisql+SBKBNGkv0XW58fAbqeYCR/hPthQoqgHpWMON8lBMQvnx+JiH7IzTH
 /CYt1Fkqm0L1O4vz0lUfdjhdJ79eqvHpkvpdaNZK3mwPe49WVS4hTrgfJeq8B8Pp
 Z0pqmXTIeVfrc1aSKCPoOLNys8vxhTjazXzfto7hCahlUWNWCoPpUryK7MA6qo5f
 aOKP8AwsZhJ0tr4xf1u1kYYcjUDI7sYSTi9g/4oLuTjXTCnmXMIZWO5/fOBn574i
 mx3UK7UD6n/PhNWzgSbJGzWtPzOcaMycvDKLbpuU2UT1YRVUegpoecPApicntt0a
 IfBTEgWvLkpjgeP0AODqiuM26xWbfxdrd9iH9JIIwsoKnHO86/8QlNBqLB9+fHhZ
 9FhAs48Y+C7B4DUOUIXHLD8TYD3zhIjM/sE+BJVGUQvtiFqBgfC9/rZNMMMwxsV5
 jVnzSGbFO0RKSQOJr27lcydRICGaeINmEI+wKVJuQFutAtXf9p9jCbHi744Rz0no
 QSnwB+5p+hZLb9tx+DkIakG/IwscvLbg86/WV3L/IjLV+imHVv4=
 =Pf5p
 -----END PGP SIGNATURE-----

Merge tag 'juno-updates-6.15' of https://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into soc/dt

Armv8 FVP/Vexpress/Juno updates for v6.15

The main and bulk of the addition this time is the support for the Arm
reference Morello System Development Platform (SDP).

The Morello architecture is an experimental extension to Armv8.2-A,
enhancing the AArch64 execution state with capabilities for fine-grained
memory protection and scalable software compartmentalization. However
these changes doesn't add any of the support for security enhancements.
This is mainly adding device tree support for Morello SDP.

The platform iteslf is shipped with ACPI firmware. However, since the
ACPI bindings for GPU, DPU, I2C, I2S,..etc are not well defined or not
provided in the shipped ACPI firmware, there is a need for the device
tree as alternative for the developers focusing on those features.

The CPU is called rainier, the architecture is Morello and the platform
is Morello SDP board. There is FVP equivalent of the same though they
are not completely in feature parity with the real hardware.

These changes provide the initial support for Morello SDP and FVP
platforms.

Apart from this, we have an update to add support for secondary cores
on Corstone1000 FVP platform.

* tag 'juno-updates-6.15' of https://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux:
  arm64: dts: corstone1000: Add definitions for secondary CPU cores
  MAINTAINERS: Add Vincenzo Frascino as Arm Morello Maintainer
  arm64: dts: morello: Add support for fvp dts
  arm64: dts: morello: Add support for soc dts
  arm64: dts: morello: Add support for common functionalities
  dt-bindings: arm-pmu: Add support for ARM Rainier PMU
  dt-bindings: arm: Add Rainier compatibility
  dt-bindings: arm: Add Morello fvp compatibility
  dt-bindings: arm: Add Morello compatibility
  arm64: Kconfig: Update description for CONFIG_ARCH_VEXPRESS

Link: https://lore.kernel.org/r/20250304105856.432848-1-sudeep.holla@arm.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-03-06 16:45:50 +01:00
Arnd Bergmann
ca6db05610 Apple SoC DT updates for 6.15, second batch:
- Added a missing p-state for iPad mini 4
 - Added SPI controller nodes for M1 and M2 devices
 - Added SPI NOR flash nodes and NVRAM partitions
 - Added touchbar digitizer nodes for M1 and M2 devices
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQS3vz815OHsEaWy0u9EEX0kKnUe6QUCZ8RFvAAKCRBEEX0kKnUe
 6TkwAPoDpOylvXzTYS10UTsvbK0fL2L0Hftd7hPENa7uYzoPlQEAqyZ5GsntTEFS
 AayDCCxxv7FH6llBFz5lsFy0lYqYww8=
 =K0St
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmfJwssACgkQYKtH/8kJ
 UifxqA//YVp7rK6I5hW6r/2ukmilbGL4gtos6dLl9ZgEOPkjbnSlPVM+ob7oM40w
 5XEBCPgNaVqLA1Iyj3atrGZm+qc182bD4F9KPMaU4vDyOCC/XU/CfJRZ8tb7rfwY
 pABUPoaMOOdBMO8I9YQx048sXYBzose1+5ft585bmvDSzf9aOcAm4rAt9gPPznS7
 E4mOc4r6xQOLhLRdjYFVzBB/2nL2nUsXy9GxR9aXoqxvshXFYPuSdrkXw3UMQOtU
 9LAx5Bgw/IAUSfScYH2ouY0s4dK8yvV849V+bfqZJt3FybL2UxYB/iWfBkK0sNaN
 NfBX2hUuuRinJPOJg3ikHriJSYVVQ6K44J0uX290onl+JNhaett8+zm7lYKBBDpM
 sgAskJV9om+i650rZi3GrInW4oG8YkOTsB+oGkMeBY8iOtjCdEFT7CGvQA2uEy4y
 pr2apmGYhGlbN0kfGDbptNiYaFQRF/QZUid0DuVl4SacIIB7fW8g/ksniXMH7KQH
 Z8KYNdJYoTbY6t4P1ttH2QdP+tURhqhvz3BJa+idiImhGGeYmJl0klBqIa2H+oEA
 /wqJrUulmoNWfZs0u6burpCPiNNk0dxtj3XEFhowvlM5E3qft8e0e0qHTscfzzS/
 Hg424mf0dQAr9NjkyZi2RID89PpfIk9/aTKt4UNEjNkyhuevMGw=
 =wXeT
 -----END PGP SIGNATURE-----

Merge tag 'asahi-soc-dt-6.15-v2' of https://github.com/AsahiLinux/linux into soc/dt

Apple SoC DT updates for 6.15, second batch:

- Added a missing p-state for iPad mini 4
- Added SPI controller nodes for M1 and M2 devices
- Added SPI NOR flash nodes and NVRAM partitions
- Added touchbar digitizer nodes for M1 and M2 devices

* tag 'asahi-soc-dt-6.15-v2' of https://github.com/AsahiLinux/linux:
  arm64: dts: apple: Add touchbar digitizer nodes
  arm64: dts: apple: Add SPI NOR nvram partition to all devices
  arm64: dts: apple: t600x: Add spi controller nodes
  arm64: dts: apple: t8112: Add spi controller nodes
  arm64: dts: apple: t8103: Add spi controller nodes
  arm64: dts: apple: t8103: Fix spi4 power domain sort order
  arm64: dts: apple: t7000: Add missing CPU p-state 7 for J96 and J97

Link: https://lore.kernel.org/r/20250302115808.59172-1-sven@svenpeter.dev
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-03-06 16:44:11 +01:00
Fabrizio Castro
abcdeb4e29 pinctrl: renesas: rza2: Fix missing of_node_put() call
of_parse_phandle_with_fixed_args() requires its caller to
call into of_node_put() on the node pointer from the output
structure, but such a call is currently missing.

Call into of_node_put() to rectify that.

Fixes: b59d0e7827 ("pinctrl: Add RZ/A2 pin and gpio controller")
Signed-off-by: Fabrizio Castro <fabrizio.castro.jz@renesas.com>
Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/20250305163753.34913-5-fabrizio.castro.jz@renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2025-03-06 16:41:46 +01:00
Arnd Bergmann
c90ea44450 Renesas DTS updates for v6.15
- Add support for the second and third Ethernet interfaces on the Gray
     Hawk Single development board,
   - Add Image Signal Processor helper block (FCPVX and VSPX) support for
     the R-Car V3U and V4M SoCs,
   - Add Watchdog and System Controller support for the RZ/G3E SoC and
     the RZ/G3E SMARC Carrier-II EVK development board,
   - Add initial support for the Yuridenki-Shokai Kakip and MYIR Remi Pi
     boards,
   - Add support for the spare UART and PMOD serial ports on the RZ/G3S
     SMARC Carrier II board,
   - Add a CPU Operating Performance Points table for the RZ/G3S SoC,
   - Add boot phase tags on R-Car Gen2/3/4 and RZ/G2 boards,
   - Miscellaneous fixes and improvements.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCZ7iqoAAKCRCKwlD9ZEnx
 cCeeAP4lfqvCdfETRHk60SxnQOWX2jROKkZHMugSlT+HgwDc2QD+MXTANw8KZDJh
 QC1uLUCqKtCVZZYzuQkI2J+cCOTJAQc=
 =hvhx
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmfJwjcACgkQYKtH/8kJ
 Uifagg/9H7CXGNsApo3uhCGNjyZeRSAbpBa8eHtG5znsEZqwqidNK4H6LFqIpgSC
 SMI05/lBtjnWURT7fgeqmW+0RAlD5bL4blR2E0xlSVzI5rVwfgi8iSvbmEzUmcOS
 q4tA/60tU9hKDLR/cinD+Qyq43kG6+jLAWggNTIrbAQLQGvHK/1mHuFbwO+jbh+w
 3+6SjObX72hNe+eA58X2vyivEvLyNjhLPvrBW738nlSDM0o8d0nW9d0eywb499g0
 h4BmB7uHUIvsNgqe/xYrMacC83VcIvjZtWAddwp1nv9oG+Dd68IHnBZhfg1gdAk8
 k+qczFIn6japTY8u/jHbM/IU4IRaZG5EWC2l0FcFi9NnurIH0VF1w+fN2Ward9FC
 zMW1iypsqmVz7fahznYs7JYW+yXkAn7+oETqsfB1OmilWB9J9oyJ8TIR7OSU5bLZ
 MepSXCB/CExRYWTIUPpBhOhcnHeeQh1tzkKbWrJ4y1O3Hg4b3cr/Rfv0C5gp5ytc
 s+mJA2nXJHtgnOJ4F1sUrG2FxchTtViwooDhhTvuSCSnok1t6uQwHNak0d+bPUf2
 rLk5ejleVHzBMG4IK3EtY3wOsYCDkYyGbEaFD4L193g7ecQChkDFwJx5vZv0m98W
 lSxe6DuKFKbdB2Lc1kn+I1YijChRXuA/gtZY9AM8LxHZYGw0tSc=
 =kd1w
 -----END PGP SIGNATURE-----

Merge tag 'renesas-dts-for-v6.15-tag1' of https://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into soc/dt

Renesas DTS updates for v6.15

  - Add support for the second and third Ethernet interfaces on the Gray
    Hawk Single development board,
  - Add Image Signal Processor helper block (FCPVX and VSPX) support for
    the R-Car V3U and V4M SoCs,
  - Add Watchdog and System Controller support for the RZ/G3E SoC and
    the RZ/G3E SMARC Carrier-II EVK development board,
  - Add initial support for the Yuridenki-Shokai Kakip and MYIR Remi Pi
    boards,
  - Add support for the spare UART and PMOD serial ports on the RZ/G3S
    SMARC Carrier II board,
  - Add a CPU Operating Performance Points table for the RZ/G3S SoC,
  - Add boot phase tags on R-Car Gen2/3/4 and RZ/G2 boards,
  - Miscellaneous fixes and improvements.

* tag 'renesas-dts-for-v6.15-tag1' of https://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel: (34 commits)
  ARM: dts: renesas: r9a06g032: Fix UART dma channel order
  arm64: dts: renesas: rzg2: Add boot phase tags
  arm64: dts: renesas: rcar: Add boot phase tags
  ARM: dts: renesas: rcar-gen2: Add boot phase tags
  arm64: dts: renesas: white-hawk-csi-dsi: Use names for CSI-2 data line orders
  arm64: dts: renesas: ulcb/kf: Use TDM Split Mode for capture
  arm64: dts: renesas: Add initial support for MYIR Remi Pi
  arm64: dts: renesas: r9a08g045: Add OPP table
  arm64: dts: renesas: r9a09g057: Enable SYS node
  arm64: dts: renesas: r9a09g047: Add SYS node
  arm64: dts: renesas: r9a08g045: Enable SYS node
  arm64: dts: renesas: r8a779f0: Disable rswitch ports by default
  arm64: dts: renesas: r9a08g045s33-smarc-pmod: Add overlay for SCIF1
  arm64: dts: renesas: rzg3s-smarc: Enable SCIF3
  arm64: dts: renesas: rzg3s-smarc-switches: Add a header to describe different switches
  arm64: dts: renesas: r8a779g0: Restore sort order
  arm64: dts: renesas: s4sk: Fix ethernet0 alias for rswitch
  arm64: dts: renesas: spider-ethernet: Add ethernetN aliases for rswitch
  arm64: dts: renesas: s4sk: Access rswitch ports via phandles
  arm64: dts: renesas: spider-ethernet: Access rswitch ports via phandles
  ...

Link: https://lore.kernel.org/r/cover.1740156747.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-03-06 16:41:43 +01:00
Fabrizio Castro
5a550b0070 pinctrl: renesas: rzv2m: Fix missing of_node_put() call
of_parse_phandle_with_fixed_args() requires its caller to
call into of_node_put() on the node pointer from the output
structure, but such a call is currently missing.

Call into of_node_put() to rectify that.

Fixes: 92a9b82525 ("pinctrl: renesas: Add RZ/V2M pin and gpio controller driver")
Signed-off-by: Fabrizio Castro <fabrizio.castro.jz@renesas.com>
Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/20250305163753.34913-4-fabrizio.castro.jz@renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2025-03-06 16:41:43 +01:00
Fabrizio Castro
a5779e625e pinctrl: renesas: rzg2l: Fix missing of_node_put() call
of_parse_phandle_with_fixed_args() requires its caller to
call into of_node_put() on the node pointer from the output
structure, but such a call is currently missing.

Call into of_node_put() to rectify that.

Fixes: c4c4637eb5 ("pinctrl: renesas: Add RZ/G2L pin and gpio controller driver")
Signed-off-by: Fabrizio Castro <fabrizio.castro.jz@renesas.com>
Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/20250305163753.34913-3-fabrizio.castro.jz@renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2025-03-06 16:41:30 +01:00
Arnd Bergmann
83ee084393 Renesas DT binding updates for v6.15
- Document support for the Yuridenki-Shokai Kakip (based on RZ/V2H)
     and MYIR Remi Pi (based on RZ/G2L) boards,
   - Document support for the RZ/G3E System Controller.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCZ7imoQAKCRCKwlD9ZEnx
 cPn9AQD9JqhrtUsZ5UYZAGyfDc2uQBZ5Hf4IeGdqhrJ9lRs9KwD/bmi5bvOKXIvs
 cePIceEYPP4i3BmEwUxvkfe/ydlRpAM=
 =9m5J
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmfJwe4ACgkQYKtH/8kJ
 UieoOw/+LMJpApENjQENe8zDT+t7q09vWRdBHP685ENpAFMWX5w2HXb9DUWZvhlx
 Yg4gE1PQnv32jygOC3KFG0ZJ81aNQBIK4gpQZPDEO+eVkGoyUbdWMLyG455eAwsw
 7umKc+kA2IfaMM69h3/MP/y3AtQrOF0YC7TW6VCUa04ycsWoy9HGIraloOdpQ9Zw
 N4CvxKK5qV8JhBs/gu5MDcEsZC6wrFrrJc8bKB44VJkqx2y92HQI9wEDM2sNTq+O
 PkEv9I236JF8V9DVZ0AvA72bOkuznKOoi/9PTpyrwF2GjhAXG/sVSgMMjzojqlRI
 x2uLAYpo4Jn1ylFUK/tOwvlyOl/AeRk9D68UVheDBJIGhyBBhO4wABlAy9pU9VBl
 PYYngAczIULbbqDxKV+2B1D+DjMfvxJLzdnt9/GNkfB1se2r7FhquXCJysOxVViA
 uHGjIwfIchCYAXEFsEkpyzLv229IbAlvTuJVmJrUJtuREB6Cj9mK6dQTMGIC9CcU
 pOyJUBCVcz5Rfca4MqFMFPcEzOmpKL3ExjFYFFn5+Ee5DamTJdSC/xUYjiGTlBBw
 YELi9MLJBXzLp+o6GfywsRbqqSN9eDF5D5HC/A2ZbgQTzhIGcLjVNm4HNyutSQKs
 nUrAfmS2SXKjO94vEBBIloGeQ5P16z/tsL044BvmNaZhwkxhzfY=
 =rnqR
 -----END PGP SIGNATURE-----

Merge tag 'renesas-dt-bindings-for-v6.15-tag1' of https://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into soc/dt

Renesas DT binding updates for v6.15

  - Document support for the Yuridenki-Shokai Kakip (based on RZ/V2H)
    and MYIR Remi Pi (based on RZ/G2L) boards,
  - Document support for the RZ/G3E System Controller.

* tag 'renesas-dt-bindings-for-v6.15-tag1' of https://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  dt-bindings: soc: renesas: Document MYIR Remi Pi board
  dt-bindings: soc: renesas: Add RZ/G3E variant SYS binding
  dt-bindings: soc: renesas: Document Yuridenki-Shokai Kakip board
  dt-bindings: vendor-prefixes: Add Yuridenki-Shokai Co. Ltd.
  dt-bindings: soc: renesas: Document more Renesas RZ/V2H SoC variants

Link: https://lore.kernel.org/r/cover.1740156745.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-03-06 16:40:30 +01:00
Arnd Bergmann
6c2b62d299 Some minor IXP4xx updates for v6.15:
- Assing the right NPE for EthA
 - Fix up erroneous PCI mappings on WG302
 - Add LEDs and keys on GPIO to WG302
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEElDRnuGcz/wPCXQWMQRCzN7AZXXMFAmetJ4kACgkQQRCzN7AZ
 XXMR0A//doVMhUidHgrzSOwhZLUpe+/CqJuDFz8vgP8Kn+Xr44v2PHDQ1aTWe6CC
 yCsjJMAoSox/4Vcbac5ECD1mzO5wmQvW9QGnAqvbVwJrHGYtimKtEy70xx+0EUcH
 DuyoFy5A1du1/M9t0KqhexOlvp+2bR9YTeZvHlAU9O3OrYGWmc+4hv4teDL9qE6M
 Ih2QuMmH6lvAK/OBa9isD27c9Wp1VGCLb55NBf7+YvBwa+/rr61Iab5aBfWK0bK0
 HTyX4SSkHN7d+uXgUiw3IG8eb9K13ZiZX6wVFnVOujZQNipd2TQlZcvb9hEU6hbX
 r8Q25/NH0gJghZtAasoRNeiWrXgGSAttoIiBMEFOyX8gwYsBXNr8+JJJz2hgwRVl
 CRTOE0sU/a22HcWDfMF2gJ3NMZUeE9aK6OxBRsLnNChRlwHQ4io6DzRZps5Ot2VV
 JmUbBl4vqsbtSaroHMrS6aN8yu+eEVOiECF7y4qAd8BqijLA+ymh/ISRmWMgmUzl
 7B59zEmhM+YSmpz303n5SasWo9EVN7VJUKkkriCZOaL1Xz9t9XuY1ej1dgonhjGv
 y5ovuTerxT6Id6CRcQiFRGY6OHz+r4JjvhyPzGVB1SdC/P3CwRIind/EFDGxmozG
 0VK1Ya5Wk4vIxT9R3Gwn5bjbl64+YHDFszmbucFbJZBPI4j+UIs=
 =njTo
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmfJwboACgkQYKtH/8kJ
 Uidb2w//T56YJg7WtcJQveJkcs3jmNgRa5PWOCLYveR/V045xWpCF6lWvXqf6fJe
 GerltqeVkmRXxTZjbmOYVtdplzYNW6FCo6iBA+CAJ90ZmPpS9Rhy4ywly39rHk2z
 uGE52Amz8Btv2G2udFHVJuKvqkWULRAvIbzoQanp9S88hLuCQN/l5ifhZWxSD0gW
 XLEpc2K5Fth8Ii9L1Dg4uyBa6uJh3Cjpb+RZmomtWGBJsbjqjkK2gYG+WiNJAVUY
 DSP8bcUX7s8i5lifPJU9w6hXIdkuF/16GFurwTLAPUvmnDHDPr3FSq/TOklaYqCR
 y0i7D/q8zd0loxPSIMdHlsGcD0wvpmhrAlpAxozHrWTk8C2WdCNBoPenMaaEFkYW
 yf+agShcgGMkHDWpllF0gNWuhsJhb2C+709vnP8R6i9YbLzuLLn5h8hbKtp7/mfs
 7LqPtsdVFiB3VG4aGWjXzw3fTxPPUAaV6zDLFOdOV0ni1TtLafQ8oFl9wX8j20kK
 87m/igQ630WnXcluQ7W6HdbvfQVu99/urdek2CobprkmgUr9B/DJTxZ0jOlZGAR6
 GxrIJL1av9pY0ei4bi5/Y654rEpHydxqlSIcc3VLH+Ne7fOccsZSAA7jtNfG9FWA
 keYujqEXMTOWJN7C0pN3DhSXBOdVDUyTTA5CWb4veA2rfkullbM=
 =QAYE
 -----END PGP SIGNATURE-----

Merge tag 'ixp4xx-dts-soc-for-v6.15' of https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator into soc/dt

Some minor IXP4xx updates for v6.15:
- Assing the right NPE for EthA
- Fix up erroneous PCI mappings on WG302
- Add LEDs and keys on GPIO to WG302

* tag 'ixp4xx-dts-soc-for-v6.15' of https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator:
  ARM: dts: ixp4xx: Add Netgear WG302 v1 GPIOs
  ARM: dts: ixp4xx: Fix up PCI on WG302
  ARM: dts: Properly assign NPE to ethA

Link: https://lore.kernel.org/r/CACRpkdbi_A_RCufEZSk0cEoQ_H-s0VLGUzJ9zPQECSvsUP7-dQ@mail.gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-03-06 16:39:38 +01:00
John Madieu
e1a098330e clk: renesas: r9a09g047: Add clock and reset signals for the TSU IP
Add required clocks and resets signals for the TSU IP available on the
Renesas RZ/G3E SoC

Signed-off-by: John Madieu <john.madieu.xa@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/20250227122453.30480-3-john.madieu.xa@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2025-03-06 16:39:31 +01:00
Jiapeng Chong
3707fd9c38
spi: stm32: Remove unnecessary print function dev_err()
The print function dev_err() is redundant because platform_get_irq()
already prints an error.

./drivers/spi/spi-stm32-ospi.c:798:2-9: line 798 is redundant because platform_get_irq() already prints an error.

Reported-by: Abaci Robot <abaci@linux.alibaba.com>
Closes: https://bugzilla.openanolis.cn/show_bug.cgi?id=19220
Signed-off-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
Link: https://patch.msgid.link/20250306024716.27856-1-jiapeng.chong@linux.alibaba.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-03-06 15:39:00 +00:00
Kuninori Morimoto
5d5eceb9bb
ASoC: soc-dai: add snd_soc_dai_mute_is_ctrled_at_trigger()
Adds snd_soc_dai_mute_is_ctrled_at_trigger() to judge
dai->driver->ops->mute_unmute_on_trigger flags

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://patch.msgid.link/871pva6hs2.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-03-06 15:38:44 +00:00
Kuninori Morimoto
7a2ff0510c
ASoC: soc-pcm: reuse dpcm_state_string()
We already have dpcm_state_string(). Let's reuse it.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://patch.msgid.link/87y0xi52vx.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-03-06 15:38:43 +00:00
Biju Das
69ac2acd20 clk: renesas: rzv2h: Adjust for CPG_BUS_m_MSTOP starting from m = 1
Avoid using the "- 1" for finding mstop_index in all functions accessing
priv->mstop_count, by adjusting its pointer in rzv2h_cpg_probe().

While at it, drop the intermediate local variable index.

Reported-by: Geert Uytterhoeven <geert+renesas@glider.be>
Closes: https://lore.kernel.org/all/CAMuHMdX1gPNCFddg_DyK7Bv0BeFLOLi=5eteT_HhMH=Ph2wVvA@mail.gmail.com/
Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/20250222142009.41324-1-biju.das.jz@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2025-03-06 16:38:19 +01:00
Arnd Bergmann
5ce45ab103 Apple SoC DT updates for 6.15:
- Added device trees for Apple T2 SoCs
 - Added cpufreq and PMGR compatibles and nodes for Apple A7-A11 and T2
   SoCs
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQS3vz815OHsEaWy0u9EEX0kKnUe6QUCZ6ihCgAKCRBEEX0kKnUe
 6evuAQD3ycV4l+yNTU93dSFYZUgHhHL3+Xkvc6vxVXOG+Q/NRAD9HUXTBrtl6ven
 B6PU6u16DyDfKAapDaD+IEKRudaeRgk=
 =Xlu8
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmfJwWYACgkQYKtH/8kJ
 UidzdxAAnhrMn3W3h2jX3kMLUFARwflUuGkNsX7/A6Y4GvJdDJFIctjF/isARJe2
 WqLGuwEjP6iE+SUfhS3vBn3xeDNMjYFmQIZ/5esGKsPMJOvkncCQKKrBdcwx/oaI
 e+FuFAeiHS0w/P48KZ78geEKG704bjlSK30yBZM0+VJBIUp3BdGa0df3c5jFty0c
 cfnHJ7pVixresXj5K/1hf8yBFrAs3cvJd0pB86N5u2gpsWGrW49ZAVZo3cLh7k7C
 9zr4MBWaZChZzYKYBKqhWpvjPOdBYR41+8MNh9Gd/oz0Zq54yPNaYPYUJHBYuo2O
 Um89A/p+OiQG3dfvXCrpAgOBvo2foOouht/0pgl/Bt8D6E7LhjHNR9ipdKKb87hG
 X9fG/Ugdf53PlAqd0xFa9gjO/LGPx0xczhZZhMh9a/46nL8DVQ/Y7SZXZ2FR33c0
 SS2FN2RJPG3BVOFfShyHy1ApcHnamJGrh59Tli+6Ej/XS8pJdGkdgCewZuH7IBH2
 HxQ5UEpQ7qu8DVlggOn9PJaVwjUjriaS6aeERoL9oU6mjv+eTcuse7d6GcCgiqDF
 U8xZFu0WhrwPvLBDsYCbM39EzdgbofIUwIjZ6V1IUpZf9wgODW2nUCjUvsiofLvy
 mQ9I9OR57mdFFkPwV2EtLMUUvDJURIasiC1tlf2gVC91eQX62B4=
 =dTrH
 -----END PGP SIGNATURE-----

Merge tag 'asahi-soc-dt-6.15' of https://github.com/AsahiLinux/linux into soc/dt

Apple SoC DT updates for 6.15:

- Added device trees for Apple T2 SoCs
- Added cpufreq and PMGR compatibles and nodes for Apple A7-A11 and T2
  SoCs

* tag 'asahi-soc-dt-6.15' of https://github.com/AsahiLinux/linux: (23 commits)
  arm64: dts: apple: t8015: Add cpufreq nodes
  arm64: dts: apple: t8012: Add cpufreq nodes
  arm64: dts: apple: t8011: Add cpufreq nodes
  arm64: dts: apple: t8010: Add cpufreq nodes
  arm64: dts: apple: s8001: Add cpufreq nodes
  arm64: dts: apple: Add cpufreq nodes for S8000/S8003
  arm64: dts: apple: t7001: Add cpufreq nodes
  arm64: dts: apple: t7000: Add cpufreq nodes
  arm64: dts: apple: s5l8960x: Add cpufreq nodes
  arm64: dts: apple: t8015: Add PMGR nodes
  arm64: dts: apple: t8012: Add PMGR nodes
  arm64: dts: apple: t8011: Add PMGR nodes
  arm64: dts: apple: t8010: Add PMGR nodes
  arm64: dts: apple: s8001: Add PMGR nodes
  arm64: dts: apple: s800-0-3: Add PMGR nodes
  arm64: dts: apple: t7001: Add PMGR node
  arm64: dts: apple: t7000: Add PMGR node
  arm64: dts: apple: s5l8960x: Add PMGR node
  dt-bindings: arm: apple: apple,pmgr-pwrstate: Add A7-A11, T2 compatibles
  dt-bindings: arm: apple: apple,pmgr: Add A7-A11, T2 compatibles
  ...

Link: https://lore.kernel.org/r/20250209135558.8243-1-sven@svenpeter.dev
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-03-06 16:38:14 +01:00
Philipp Stanner
2eeed61db4 drm/sched: Update timedout_job()'s documentation
drm_sched_backend_ops.timedout_job()'s documentation is outdated. It
mentions the deprecated function drm_sched_resubmit_jobs(). Furthermore,
it does not point out the important distinction between hardware and
firmware schedulers.

Since firmware schedulers typically only use one entity per scheduler,
timeout handling is significantly more simple because the entity the
faulted job came from can just be killed without affecting innocent
processes.

Update the documentation with that distinction and other details.

Reformat the docstring to work to a unified style with the other
handles.

Acked-by: Danilo Krummrich <dakr@kernel.org>
Signed-off-by: Philipp Stanner <phasta@kernel.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20250305130551.136682-5-phasta@kernel.org
2025-03-06 16:36:32 +01:00
Philipp Stanner
72ebc18b34 drm/sched: Document run_job() refcount hazard
drm_sched_backend_ops.run_job() returns a dma_fence for the scheduler.
That fence is signalled by the driver once the hardware completed the
associated job. The scheduler does not increment the reference count on
that fence, but implicitly expects to inherit this fence from run_job().

This is relatively subtle and prone to misunderstandings.

This implies that, to keep a reference for itself, a driver needs to
call dma_fence_get() in addition to dma_fence_init() in that callback.

It's further complicated by the fact that the scheduler even decrements
the refcount in drm_sched_run_job_work() since it created a new
reference in drm_sched_fence_scheduled(). It does, however, still use
its pointer to the fence after calling dma_fence_put() - which is safe
because of the aforementioned new reference, but actually still violates
the refcounting rules.

Move the call to dma_fence_put() to the position behind the last usage
of the fence.

Suggested-by: Danilo Krummrich <dakr@kernel.org>
Signed-off-by: Philipp Stanner <pstanner@redhat.com>
Reviewed-by: Danilo Krummrich <dakr@kernel.org>
Signed-off-by: Philipp Stanner <phasta@kernel.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20250305130551.136682-4-phasta@kernel.org
2025-03-06 16:36:22 +01:00
Lad Prabhakar
8bf8ad268e arm64: dts: renesas: r9a09g057h44-rzv2h-evk: Enable Mali-G31
Enable Mali-G31 (GPU) node on EVK board.

Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/20250218115922.407816-4-prabhakar.mahadev-lad.rj@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2025-03-06 16:36:08 +01:00
Arnd Bergmann
98f3ab18a0
ARM: OMAP1: select CONFIG_GENERIC_IRQ_CHIP
When GENERIC_IRQ_CHIP is disabled, OMAP1 kernels fail to link:

arm-linux-gnueabi-ld: arch/arm/mach-omap1/irq.o: in function `omap1_init_irq':
irq.c:(.init.text+0x1e8): undefined reference to `irq_alloc_generic_chip'
arm-linux-gnueabi-ld: irq.c:(.init.text+0x228): undefined reference to `irq_setup_generic_chip'
arm-linux-gnueabi-ld: irq.c:(.init.text+0x2a8): undefined reference to `irq_gc_set_wake'
arm-linux-gnueabi-ld: irq.c:(.init.text+0x2b0): undefined reference to `irq_gc_mask_set_bit'
arm-linux-gnueabi-ld: irq.c:(.init.text+0x2b4): undefined reference to `irq_gc_mask_clr_bit'

This has apparently been the case for many years, but I never caught it
in randconfig builds until now, as there are dozens of other drivers
that also 'select GENERIC_IRQ_CHIP' and statistically there is almost
always one of them enabled.

Fixes: 55b4477443 ("ARM: OMAP1: Switch to use generic irqchip in preparation for sparse IRQ")
Link: https://lore.kernel.org/r/20250205121151.289535-1-arnd@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-03-06 16:36:03 +01:00
Philipp Stanner
87edca6261 drm/sched: Adjust outdated docu for run_job()
The documentation for drm_sched_backend_ops.run_job() mentions a certain
function called drm_sched_job_recovery(). This function does not exist.
What's actually meant is drm_sched_resubmit_jobs(), which is by now also
deprecated.

Furthermore, the scheduler expects to "inherit" a reference on the fence
from the run_job() callback. This, so far, is also not documented.

Remove the mention of the removed function.

Discourage the behavior of drm_sched_backend_ops.run_job() being called
multiple times for the same job.

Document the necessity of incrementing the refcount in run_job().

Acked-by: Danilo Krummrich <dakr@kernel.org>
Signed-off-by: Philipp Stanner <phasta@kernel.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20250305130551.136682-3-phasta@kernel.org
2025-03-06 16:35:48 +01:00
Arnd Bergmann
26e29a26f8 RISC-V Devicetree fix for v6.14-rc6
A single fix for an incorrect define in the jh7110 pinctrl header.
 
 Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQRh246EGq/8RLhDjO14tDGHoIJi0gUCZ8hOeAAKCRB4tDGHoIJi
 0ti5AQD7CJrTmBBqP5nxQHvgvz1KSSqfzpOMrtA3YpOkDaqYigD/Ww6z12oSHFuK
 lLFSnpVJLqFd01N0wP1e+TUrbZ++Hg4=
 =WHwP
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmfJwJIACgkQYKtH/8kJ
 Uidt6RAApTAvDdwAR4FAxHqSCK+mJkC7njGkGr5t1xNBFpWdKwsONdet84ErEEzl
 ift1XFMWwZ98jIR4cHAnsPinHyFZUDH48rOJw8AmygSaikmaH27604lqLF+i55nV
 JjqBrQDCA3T6haH/1uM6+Te8c7FH/klG6sAymZs+x+l8UER2l4U8eNThaU0Xk1/n
 ZMXQK/R1buv+6oGeY5mXNkdIerXM9fz/BjwcfECwZHyTk5gMTrwzM+6emlo78Y/V
 OvnX/FJOGZ3MNL/rj9LDFu8QDqYf7p7D7fkYpGqRgScFs6LMTjKb37uCVfU7i4i8
 4zMwUZjwOkaJOxBgnDHmySCLmlBhcj0FN34kRsVgdqG5YAYzcTzTBdBPeOjNCDpa
 7i8kg3mJQD5hVbZFHWIvTqpBXOxFJTKKbU+W8dmlTsB7DyK4uV3WPym+MnqIZWw/
 +xcBi7dJZEyMaEThuWjCfTrJu0rWJg3WeZjFLgxoiz+yB0NzDivXMN7lrmoYe/1U
 dIoP4yDCOzVmJIeW9CIXVd/sXTOHPVaWRSUV0dqjHYefUl/wz9Mo55DbTT+JK9Ng
 0d1iSQBmz/M5ThjYGDBYW1Ltq7zwSDxBIHwVBkKpopRPanbXSYHsByTMB3LNGDn1
 Uou9MCr65MqZNajbk+vE1kEvAke47+/SHau9arFVtkjcA0srdcE=
 =qqLw
 -----END PGP SIGNATURE-----

Merge tag 'riscv-dt-fixes-for-v6.14-rc6' of https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux into arm/fixes

RISC-V Devicetree fix for v6.14-rc6

A single fix for an incorrect define in the jh7110 pinctrl header.

Signed-off-by: Conor Dooley <conor.dooley@microchip.com>

* tag 'riscv-dt-fixes-for-v6.14-rc6' of https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux:
  riscv: dts: starfive: Fix a typo in StarFive JH7110 pin function definitions

Link: https://lore.kernel.org/r/20250305-sip-unable-d56ef7dbf86b@spud
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-03-06 16:34:42 +01:00
Lad Prabhakar
88e83915d8 arm64: dts: renesas: r9a09g057: Add Mali-G31 GPU node
Add Mali-G31 GPU node to SoC DTSI.

Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/20250218115922.407816-3-prabhakar.mahadev-lad.rj@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2025-03-06 16:34:10 +01:00