Commit graph

1,294,499 commits

Author SHA1 Message Date
Arnd Bergmann
87dcb2f079 Arm FF-A driver updates for v6.11
The main addition is the split of bus and driver into distinct modules
 The FF-A bus module is initialized at subsys_initcall level when builtin.
 
 FF-A drivers initialization is now changed to module_init level so that
 pKVM ffa proxy is all setup and running in case pKVM hypervisor needs to
 trap and handle FF-A calls.
 
 One of the reason for not having this split from the beginning is the
 need to workaround the FF-A v1.0 NULL UUID. The FF-A bus layer called
 into FF-A driver and populated the device UUID if it matches with the
 driver attempting to match. Moving the workaround away from the FF-A
 bus layer to the FF-A core driver as a bus notifier will help to remove
 the dependency.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEunHlEgbzHrJD3ZPhAEG6vDF+4pgFAmZ1dMsACgkQAEG6vDF+
 4phkJBAA0ybLo3iExgUTUi7G+zoCvbnt2vCWGhcd/TnOHuQYEl2pJG8N4tAytBDd
 CsUpWtX7nzo2DKV9UOM+TjyFVP0J2m8UvlUVb+X2CNbg2vUfVZLm831EN7WbdS1w
 yXAgyf3QMaLrmT9QVhf5FZDLJF2YV589cdBLML8PsJjbkKE5q3Xre2w3uv7dW7uE
 21zfAxrlqdbj3AuWSTt9aBxnkOXifhw93raoFL3Jr3RHOhaIot7KJbsFUFPNikZQ
 Q5daFnwGkKMslW18LUBB7VYlkDBtsHe4QPFddMKXRSufdQk65kB4q/TL79QDoSQ3
 7CgJZ2yl/gCeLr5nEmTGeQVnxaqQDE0bw1q9DqskcE/2Tfo916l260qix3qzLmtF
 /nmkP8geLijRAqkeAKXxj0vr5j3CWSGn2ziLi0167QUPnYBvtAgKKuPVUwZG3GBE
 hLwPIiclzJA5HnswsQm8zEOWwF1po5mycRV+dxINRWt6rh4jhSWVZvYH77kg6t0I
 wEc7mauh879G5CHuLGiwSof6R2pDzhXRwX9Q37kpYoq10/Vm9KPnm5XeUOQZ5F/s
 lZH8PZfds6M7tALrc9nsdMMF3YMU31oH9bpBYYQrad5J89Cx41OeNM41BkKLK7dW
 K2pJ7wOL3Us7a/gNszbL7kUG7wRVe/qVNouhC0y3uGOPFNScuTs=
 =Kl7/
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmZ9eiUACgkQYKtH/8kJ
 Uif0zBAAjk+BS5UP627Uhej+cXrZhHkwRrj6mJ9C4wFYR6672vxhdMh+wPZcbh/H
 yl8/Z+1TUBTmVmQtmKyi0cRhFFX12I0FyXpa7n7WVMhXnmvYRd2SjbRctYfc3pxW
 C1TqHxM3a7bkaknzM4N5Uuj3qpwV74Hbp+rfaEdH4pL44vV2o2OkueM5IsBpgnSb
 Pe1Wn6zXgXFIQyo8aVF7DGxNuBleNgxtX+zfcY5694IGKDKn2llsKxVeM5cDNg2q
 WmKQ7rz7ZqpkDxQBL3wLZnd7lziSPVQ9jJ3m7ECzj7W0RAPQTskeNIlKyKK+9kHB
 HmmiOlLbQu+lirgZ15N3t8kiYFNVh8HDK+p5w/dgUD4EAT+TZgQgun9d61VLf6AT
 uD4XF0fPB3B3PKAfOhp7ZOU6sZH4uibFh+8RAm9xRJjXYvA0Il7gcwbC45O1dQK7
 cqusKECEPTKsFggj0fuYgfDiNEgZpGSFjKAfYvB63aRZjoj7L29YhMl0Hwr87dFC
 vsoJgs0pDW+V4ajqDoRPOLWkDwafMWjIrXxDFTEEw8xLQMTSOUC2Yei4sPDViLLG
 3HTlssc1gO2axhrn5SpxPCgX+UruC4MIacj7kntv1VhYmOE5yoOLeTGV6lWA0LGm
 NSqz0Gr8N+ycbtU2hNu/HULt6TViI3/SwRr2KK45rWHK7qHBu0Q=
 =tW+N
 -----END PGP SIGNATURE-----

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

Arm FF-A driver updates for  v6.11

The main addition is the split of bus and driver into distinct modules
The FF-A bus module is initialized at subsys_initcall level when builtin.

FF-A drivers initialization is now changed to module_init level so that
pKVM ffa proxy is all setup and running in case pKVM hypervisor needs to
trap and handle FF-A calls.

One of the reason for not having this split from the beginning is the
need to workaround the FF-A v1.0 NULL UUID. The FF-A bus layer called
into FF-A driver and populated the device UUID if it matches with the
driver attempting to match. Moving the workaround away from the FF-A
bus layer to the FF-A core driver as a bus notifier will help to remove
the dependency.

* tag 'ffa-updates-6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux:
  firmware: arm_ffa: Split bus and driver into distinct modules
  firmware: arm_ffa: Move the FF-A v1.0 NULL UUID workaround to bus notifier

Link: https://lore.kernel.org/r/20240624103451.2870146-1-sudeep.holla@arm.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-06-27 16:41:41 +02:00
Arnd Bergmann
7cab811dfe Arm SCMI driver updates for v6.11
The main addition this time is the support for platform to agent(p2a
 also referred sometimes as notification or Rx) channel completion via
 interrupt driven method. Currently, the OSPM agent clears or
 acknowledge the receipt of the norification or delayed response by
 updating the flags in the shared memory region which the platform is
 expected to poll.
 
 On some platforms that are completely interrupt driven, the OSPM
 agent is expected to send a response message instead. This change
 adds the support for the same.
 
 Other changes include addition of a separate mailing list specific to
 SCMI to allow open discussions about the interface itself in addition
 to the kernel driver updates and support for system suspend via the
 platform noification used on some systems.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEunHlEgbzHrJD3ZPhAEG6vDF+4pgFAmZy+u8ACgkQAEG6vDF+
 4pi1txAAqhkjxC+pRVomJXkFvpUBGuFXYegChIMIheMfuFWp52zbIBq9Vapb1GnV
 ropLGFyjp5lfV8aOHGHOitkw8NNpXjvrUGyE/l4ClFClIsPrDiAO5OoM5e6rpZek
 +JmVpUcRzbC4r4xiTWSuHu+qIlp/QZln7lY65/1rwPZIot51gPe5P8aMBAsgJDOM
 FK8LgVPbcHsyiXUetZHT/OcooBXI/Rg27Av28gOLce4gTAZhwYhTQTioXq3mSQMI
 tEPX0P2qqDkgGHEgriISFrsidezRYSt65wb9nSaQPT31wkF/p/oDTVqVH5GodiAP
 th44xePd6bIb/t0fo56Wb9SeLAYwgz1lHwz/gt8esIbUxVo9PLl2Jv71dR1lntBv
 KK3mfUQnvXG3P8YTmLG8/lUNKGqryynic8SHI4TAYl4Urz2QJ0fUHlLik14LjRa7
 j9+g9Ry9hOvppUakPmQKQfzo6QLMVrFbxcU5rL7o4CPaNuZXSxkuapGVgZ5UGDPR
 03PtDpjO/jCLb3pGYZzzTOg5qCHM7nBcxM8Qpq+zGep24/3/kEmnbYkKMUKhEKzb
 cVPCKkbSaq37XQ3Xu7UU62ljv1nV9IvBaIs3hNPyZgrwhtjs9JLwGV5zcFpIzNQ7
 bQgVCuU/Me7wggUW7SGY2OnHGyHwGEbe8xT3pFSWXobEg8c6znw=
 =LNEQ
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmZ9eeEACgkQYKtH/8kJ
 UidkXBAA3HIWe16KwHu1O6tMQSu1v3/3Mf2brakIDZf6ygI6x9SM7cf+xXTiqiBR
 h3tVhbig17mUHiIUKvUolhwh1DEwdBohUzrAy6PLeBQgN+YQ0yFR9cI8koiwZKWj
 b/n44baDixmqNxu1twd7lJgiJO/aZrK6lDGtnfHTvXm0hH7mqYsWwF95uk2nFZwU
 LffjAq+8XhIzbOeG0jpVO6mZKHksLdlMdr9lPYc3xXlxpn/tFhG8CwUTJfrAXB2A
 6MKk0gNBbYORoD7SSt2L9oE1iXlZpfEnBAwTsNfdpPJhL2Fz8HeOA8vUi0u4iC+h
 5wobxSRjJFqTkidrYsdTcPsvZEU6rq5ulPJm7b+p3elX9zD8zic9wE9/GdNr938P
 qpTqZPrP2Lae3hmjObuxKygtS10qjgwPlYwd3pRlVk/1l76TuReL/yZyigJx5zNd
 ZUQ21Rj6aoMiCqoetyYt39oW2p6DfAvIJKwjdLdLc0cvlHuQrYRb3ou1YUdetFMq
 fblRH4/0j+GUT+GsxKglHBBdoZn2zwqE4CWCXSoW0R3U/utPzyXK54X5JPEMiA9l
 CJrKdsqjO2nVZ2T1+1yqH8H0lHruUQoK2ly0bkMR5wTBXon9Bb4ga8G3kQgM320i
 gko/Zxvw0rHIpausOdBXb65xM041ZAcVfRkryP1+Z8rnzdxx9f4=
 =y+uP
 -----END PGP SIGNATURE-----

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

Arm SCMI driver updates for v6.11

The main addition this time is the support for platform to agent(p2a
also referred sometimes as notification or Rx) channel completion via
interrupt driven method. Currently, the OSPM agent clears or
acknowledge the receipt of the norification or delayed response by
updating the flags in the shared memory region which the platform is
expected to poll.

On some platforms that are completely interrupt driven, the OSPM
agent is expected to send a response message instead. This change
adds the support for the same.

Other changes include addition of a separate mailing list specific to
SCMI to allow open discussions about the interface itself in addition
to the kernel driver updates and support for system suspend via the
platform noification used on some systems.

* tag 'scmi-updates-6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux:
  firmware: arm_scmi: Add support for platform to agent channel completion
  dt-bindings: firmware: arm,scmi: Add support for notification completion channel
  firmware: arm_scmi: Add support for system suspend in power control driver
  MAINTAINERS: Add mailing list for SCMI drivers

Link: https://lore.kernel.org/r/20240620093924.375244-3-sudeep.holla@arm.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-06-27 16:40:33 +02:00
Arnd Bergmann
4bd85abeda SoCFPGA DTS updates for v6.11
- Drop unneeded flash address
 - Add L2 Cache info for Stratix10
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEoHhMeiyk5VmwVMwNGZQEC4GjKPQFAmZ8gk4ACgkQGZQEC4Gj
 KPQtUQ//Q91yj7kZUH5dNQ2hx+PsstaE1e21ucJr388x3ZUoTVF9oTCc0nxqwJnN
 iyl6QkJvkioPhwL1HK5H7eeVCcj3hVa0QaqluMjGXJN8Cc3vP8CXKiDGydceUdlH
 nRMz94hOqM/H++4gxUYawhYpRSymvKTDzR7e+6FLgFHdwe/ZyfXM3+h5y/Bp9ub+
 DIoHMQekUBXlkX6U9ezZVKwSTfCyXPF1xOjgxupxPH9qittR0e+nL7YNkLQWQF8r
 u/UlCKFVQqOsPCT8RH0AsgKPs59+nywRFtxULRX8sOFOhYJh167lHgbgD7LKPDWp
 wPPy8IXBabxubv86HC+M7d9qcdptnbd5fEqQz8ZYA7XYdS6hRIii8cek1PEfp2T4
 9tkEizRikjiznB+6DKtL6d2dy9JdTkxrPT4ftCyH+qxiKp+GbFOsUggBdZssROUn
 sXSe2yI4gidhKYVPyoFwR85lp0Q6SXhbbR04sYikiPUFHZprDWqCD+osvhsCdN1K
 LB0CNcqMa/apEOcWkcl42qiijpyRmIdhlfEOxWVnI0NxPTJcLj8A+yvs6QcoIAqO
 4AwWYsEWhJXb+PRHSYPdCGA9EEEq27pxz53TO6K7Es874ll82F1BMe3QYzS5GFmz
 EnKhGMUCVFbGc2huxFqGQGH71ZXCWNdgTOrUxQTW2jqEOjPggL8=
 =Ewb3
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmZ9eZQACgkQYKtH/8kJ
 Uif9bxAAjkd1tXq1G3eFwLvzNW3kVuxYovmMp2TXQiTLp+gInf8PRIZp4QxRaWyB
 e+e7fqO2fgLsXktquz382aMYrv/K8NjI6uNUi2I7Pb4eb/JJuaQbSTfyWdf53Gim
 Hk/F+fPDREjUoKdrFN30lKedfM9AlaPsd0V/b+vwn4MqPtue9NSfKPTeOug6fvMj
 aJ+7sn12z4GqE8KrzyqO6y05W388Bvb2CBPSYi+nqcettqi0DSBbyri4YzBkF8mx
 +FANW+HzyJKUBs2TeMjPwomeKR3dlffXVy5KM0GtohlZMlKWrtAEW/YhfFRj1iYR
 hZkxLQsKF3YaX8at9VEHoy9Kk/WbVXBihrlkJSD5g7QRtbSs/NbxX0lPglPszoPK
 gHTWQ5542Hk2z6oH2suVgvByzEZzYl12mtu9iorYWpi3c8J5+vfONHrB+KoXOj/v
 Sffibr3pyjk1zRlYTqx4B64oWdecpw+B18b+FXEWxxlER8rGRaC05I0neZAcWeJr
 B5ZvpEpXs9YQGKCSJrJx3D+pcivSWQWq04kvXx//lc89pl0We+j2yhO1e5Etwd86
 OEMTBhr7l8hWN2iy9LNolsTcFlhG+pPQT076aN58i1upx7WMjjvA37NMmQFYG+1I
 Gp0XFMH4SujfqZakeVNJAaqz5YZF2AorvuT++7DAA1Np/rWm1A4=
 =PuBL
 -----END PGP SIGNATURE-----

Merge tag 'socfpga_dts_updates_for_v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux into soc/dt

SoCFPGA DTS updates for v6.11
- Drop unneeded flash address
- Add L2 Cache info for Stratix10

* tag 'socfpga_dts_updates_for_v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux:
  arm64: dts: socfpga: stratix10: add L2 cache info
  arm64: dts: n5x: socdk: drop unneeded flash address/size-cells
  arm64: dts: agilex: socdk: drop unneeded flash address/size-cells
  arm64: dts: stratix10: socdk_nand: drop unneeded flash address/size-cells
  arm64: dts: stratix10: socdk: drop unneeded flash address/size-cells

Link: https://lore.kernel.org/r/20240626210728.21295-1-dinguyen@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-06-27 16:39:16 +02:00
Arnd Bergmann
02295aa2a4 arm64: Xilinx DT changes for 6.11
- Add remoteproc TCM support
 - Add coresight cpu debug support
 - Describe OCM controller
 - Disable Tri-state for SDIO on kv260
 - Add compatibility strings for kv260 overlays
 - Add support for k26-rev2 SOM
 - Describe ina260/DP/TTC and PWM on kv260
 
 DT schema alignments and fixes
 - Align soc-nvmem binding with dt-schema
 - Fix fpga region node
 - Add description for efuses
 - Describe USB wakeup interrupt
 - Fix ams-pl node
 -----BEGIN PGP SIGNATURE-----
 
 iF0EABECAB0WIQQbPNTMvXmYlBPRwx7KSWXLKUoMIQUCZnrCoAAKCRDKSWXLKUoM
 ITY3AJ4u5YTaYTdmqmBgpdeTsk5FhDs9twCffL23QicStiny356f94i2eO+FVrU=
 =gKKi
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmZ9eU8ACgkQYKtH/8kJ
 Uid1xRAApSU6yiN+Tcbe8ljBg1yj9suU61ByK8MutLmKMrwGHi20BZq6yXH5hItY
 N3AKGeK+vUFv9IYuuvcJ4D+0Cah4XV5s71Ud+sX8WXuG48A6qf2CQTQqynn9oSmX
 Znh51fOlyvhyl50AAV/KFqvcXPMqiOjBvaQeT28DuCnOWc8W5gXCYuZn+UmEvNOO
 n1FrWV+6XQ+7uVhy9MgSv6DFVHGJNeMI2vCxh2M/TRjL6iY7a8bDourmqLBdznJF
 u7VDEBF1P5kyQNarf2hNzKxXdGC3q5CxmFyXZ+4hxLNFZo5mY6nmKrBWB9EzYKUh
 MBWRealJ9IQXELXY9PWXh1kM3DtlfadZ+vS/ZGt4ok5O6gogKcn6yajY0pt+xJ6q
 Czo5tYRGUxMQWnkWCTCdfJ82IRm5b5TWNz6rHKvmfZyAdioRZ/vqRgduIpDkLIXW
 gKjaWXH1LfU1Pf2evCeL5l/vmm9IYT66T1dIQ2CTaxzwqhER3SGVczMCzYgIOVuy
 9bFaCblb4yMMqGXE+wgwpECluzCKy4Rco7/+avIGBglWXZu0FGpTsNLCfHfTzg1n
 DQzQfx7RCIWHjsXHmGJq379afJFaRZcYrCyQEoUQxUuAau7s/ucKPbbnzBNumBhc
 lu5bZE+GcEHlZY6hHHlGFw7nRz5hvC9U9CJ19q2w7ClvBwYqhss=
 =9eHq
 -----END PGP SIGNATURE-----

Merge tag 'zynqmp-soc-for-6.11' of https://github.com/Xilinx/linux-xlnx into soc/dt

arm64: Xilinx DT changes for 6.11

- Add remoteproc TCM support
- Add coresight cpu debug support
- Describe OCM controller
- Disable Tri-state for SDIO on kv260
- Add compatibility strings for kv260 overlays
- Add support for k26-rev2 SOM
- Describe ina260/DP/TTC and PWM on kv260

DT schema alignments and fixes
- Align soc-nvmem binding with dt-schema
- Fix fpga region node
- Add description for efuses
- Describe USB wakeup interrupt
- Fix ams-pl node

* tag 'zynqmp-soc-for-6.11' of https://github.com/Xilinx/linux-xlnx:
  arm64: zynqmp: Add pwm-fan node and fix ttc0 pwm-cells property
  arm64: zynqmp: Add support for K26 rev2 boards
  arm64: zynqmp: Describe DisplayPort connector for Kria
  arm64: zynqmp: Add description for ina260 on kv260
  arm64: zynqmp: Add compatible string for kv260
  arm64: zynqmp: Disable Tri-state for SDIO
  arm64: zynqmp: Remove address/size-cells from ams node
  arm64: zynqmp: Describe OCM controller
  arm64: zynqmp: Describe USB wakeup interrupt
  arm64: zynqmp: Add missing description for efuses
  arm64: zynqmp: Use fpga-region as node name
  arm64: zynqmp: Align nvmem node with dt schema
  arm64: zynqmp: Add coresight cpu debug support
  dts: zynqmp: add properties for TCM in remoteproc

Link: https://lore.kernel.org/r/CAHTX3dLbNAYL4hm+bs=GByA4DqjRr3Rt6WESram8VyU1By8Mow@mail.gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-06-27 16:38:07 +02:00
Arnd Bergmann
c02138cf7c Arm Juno updates for v6.11
Addition of dedicated FPGA syscon compatible for Juno platforms. Also
 enablement of GPU device node now that the panfrost driver is already
 enabled as a module in defconfig.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEunHlEgbzHrJD3ZPhAEG6vDF+4pgFAmZz7qcACgkQAEG6vDF+
 4piYSA/+OvKsSMJAo7M0QKX7xfFtZloisVdfsVU3ZruPChrhzk3/k9gDhgk2ov4m
 KCZprXYyF1MF2LAZ1fvMmkEZA0h4t0njuGoMbHyzm5w7ycxX5SAeeL4NO58hmz+s
 Rl51Gl64HP6urXbFrsHxwkpl07pacmdecejJ2RNDtBCjq8qW9u3m58aC8xroKrQe
 lmhCZRcTXDjE85su2PE40E5BLqQb+Ns4RhdtLbkoLYAzz+OYrLchd+twZtk236f1
 4e7iNkiXWeDWbqL5TuzNG3+6jH+6o2QI/qbNV8HkaprGqoqH7g/c5dsJjNRg/dA2
 KpHvFRWt4KOiFOgavTzLkP8MHmVBgxc1qay8rsy/HlRC1iiQM16B24XJ0fYrRcOH
 o8Ly8uw/udTi9MLGLoESvoqHyzMvi07uYnb/qIFZKAakKWZINoqxaf76Q90CMcj1
 5tTBiTbQyWldKNZVcNeRdqZwkAEYfTjijUucpy4hKvSedemOwAt66fTcU+vPZ1lw
 Yz/ORJtyerg+IxDTulNv4QjY6yEX1WKkktseGOOfpeoUwBos92M561v8X9jmubYK
 KjU3xO0LjSRLcxhLUtxkZqZgR5UpzvcgKzRvEF0g05cjttJXwBY+UrS4ZURdpSwZ
 eDHKDykWVOVX+4LIWYoxy5GgZRlFNQe8GEg8sd7VhgUdTVp0KkE=
 =trlg
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmZ9eQQACgkQYKtH/8kJ
 UicGig//TjADx5oCnrfGawk/Xg8cF4ddJN9gK8BvUVzW3PkTeB64zdtMsvRxq1IO
 dIjFXJzUsquG373UpXBAx+lJ54w3zMX/Hq/D61+6g8uDrVFmTNqGqD/EWtYy9wv1
 7aDrNCAOKUHN/Ub+nAAZGfFmPaziLk1dKF6dgVpjQ1ibM+cFWUK7p6p5AM90LS2o
 7Je6F0gmT++50fHWhdixsuWJg/ypU5sB/pzVvp8lfQUB4FipRpcWfIN99nkZ5774
 YxJmzXqLhWuufBIxgwbHzoUP4prYGM7Zh0Su8xKu4Anjaztwer8+pVtOlV+8KH/o
 mTa4Y8IOludFSe3k8FIBZe7HXM3oLMNHSWaIQgKStomW2ploK95QyZnNwfTFTruq
 RWHklQxvGBgEOSVTpbjlNJWxDl4mMlKMvf6YZ1SHz9E1qqmAyXjG/b6sCqW37nq9
 lmOWY5IT4yBDeQgQk0HeNpR861ae1e1R0HELA832s+Zn4TCHLaWcbZcqsv5pbV9x
 laivZv/8ypx/2t4s591bo1ec63eMTYdsysOETr92SQVN+e5/pfQvGovoSxoyE/x7
 hhEjt4JR8OuezYCD9uwpkQ5hWSTZlMX//IlZgR16A5AmcjMTyoZ6v/8X/J2ctmP3
 0uc/KOCgLcpaX2sy+fOs9QaGrk4idq0xOd7NZlDhWu9q7mNIXjY=
 =lU78
 -----END PGP SIGNATURE-----

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

Arm Juno updates for v6.11

Addition of dedicated FPGA syscon compatible for Juno platforms. Also
enablement of GPU device node now that the panfrost driver is already
enabled as a module in defconfig.

* tag 'juno-updates-6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux:
  arm64: dts: juno: Enable GPU
  arm64: dts: juno: add dedicated FPGA syscon compatible
  dt-bindings: arm: arm,juno-fpga-apb-regs: document FPGA syscon

Link: https://lore.kernel.org/r/20240620093924.375244-2-sudeep.holla@arm.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-06-27 16:36:52 +02:00
Arnd Bergmann
88d81c8643 Renesas DTS updates for v6.11
- Add support for the second and third Ethernet interfaces on the
     White Hawk development board,
   - Add support for the second Ethernet interface on the RZ/N1 SoC,
   - Add I2C EEPROM support for the Condor-I development board,
   - Add video capture support for the R-Car V4M SoC,
   - Miscellaneous fixes and improvements.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCZmv/jAAKCRCKwlD9ZEnx
 cNnMAQCcV1ReuhVkemL08Y18kumtj7Mb9L4DgrSuXHhg0h88+gD+OJ2IRa+50CV9
 wg830gqRhFvwdL+A3oAKvSKsfvjVIAI=
 =jGtG
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmZ9eLwACgkQYKtH/8kJ
 UieK9Q//UQUqcgqmVwjtqzXPV6FDwk/mbi6VyoQ2p/8uckML3LnzpNWDo8uU6OG2
 epVsgCF3E3scJvx2O08B+T3Gd9cRsfP/bGVwfTlROG7CeZJ83yqBhKjr/lXuHL3g
 gLLtJBD7c989Tu+g+KWSE8oLhBJXor6nD7scUPJp8fHBmhwA64qH/E72+jEQpeRh
 wu2DKR6B3YGknfJCNy7DM7rKa1h2srG+Lg7qCNLXJ1c0wuGWxp4QYYmCNcR6KAh3
 9tvFMYy9ucRPY6SmEWlHWTt8WcBoE9sKwfY57XRJZDikxH8ijla6U8KyAhVbj7IH
 roF7mlv65Jg1oKhwdrY4g3xMu9ffedJ2+Y6DDvwvGPY1FdAzBsSK03Iz2zdBVEbV
 dV8HvZ/TPCEA1itk7U3isZMQDTTLsURoXORD8mI3nU2MfghMhABT2tnxUI31/wXR
 PXKWir5+BC3rIDseOP2J5p5oNI5bDqlzhLULxboYwRCyfPAkNi9C5iTiw1MQE9o7
 dDVjey38rddtZkxyDavAajIvbD01TkA4ttZM8PjPc1FaGRjjXVi20YbEF4rg9QQ0
 aFUHrWb5b/mSYUGQNWtOOL+U0OFC/paXZbTqfRa+M1rktYKjIyUPf7J/rGePyEX5
 PkQ7oH2IuYMwOIvj5O4lios51ICBiMP6Gqf1WDmq/C776A0kgnE=
 =guZW
 -----END PGP SIGNATURE-----

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

Renesas DTS updates for v6.11

  - Add support for the second and third Ethernet interfaces on the
    White Hawk development board,
  - Add support for the second Ethernet interface on the RZ/N1 SoC,
  - Add I2C EEPROM support for the Condor-I development board,
  - Add video capture support for the R-Car V4M SoC,
  - Miscellaneous fixes and improvements.

* tag 'renesas-dts-for-v6.11-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  arm64: dts: renesas: r8a779h0: Add video capture nodes
  arm64: dts: renesas: r9a08g045: Update fallback string for SDHI nodes
  arm64: dts: renesas: rzg2l: Update fallback string for SDHI nodes
  arm64: dts: renesas: r9a09g011: Update fallback string for SDHI nodes
  arm64: dts: renesas: s4sk: Add aliases for I2C buses
  arm64: dts: renesas: spider-cpu: Add aliases for I2C buses
  arm64: dts: renesas: white-hawk-cpu: Add aliases for I2C buses
  arm64: dts: renesas: condor-i: Add I2C EEPROM
  arm64: dts: renesas: gray-hawk-single: Add aliases for I2C buses
  ARM: dts: renesas: r9a06g032: Describe GMAC1
  arm64: dts: renesas: white-hawk: ethernet: Describe AVB1 and AVB2
  arm64: dts: renesas: r8a779g0: Use MDIO node for all AVB devices

Link: https://lore.kernel.org/r/cover.1718355312.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-06-27 16:35:40 +02:00
Jean Delvare
4b381cf4c4
drivers/soc/litex: drop obsolete dependency on COMPILE_TEST
Since commit 0166dc11be ("of: make CONFIG_OF user selectable"), it
is possible to test-build any driver which depends on OF on any
architecture by explicitly selecting OF. Therefore depending on
COMPILE_TEST as an alternative is no longer needed.

It is actually better to always build such drivers with OF enabled,
so that the test builds are closer to how each driver will actually be
built on its intended target. Building them without OF may not test
much as the compiler will optimize out potentially large parts of the
code. In the worst case, this could even pop false positive warnings.
Dropping COMPILE_TEST here improves the quality of our testing and
avoids wasting time on non-existent issues.

As a minor optimization, this also lets us drop of_match_ptr() and
ifdef-guarding, as we now know what they will resolve to, we might as
well save cpp some work.

Signed-off-by: Jean Delvare <jdelvare@suse.de>
Reviewed-by: Gabriel Somlo <gsomlo@gmail.com>
Cc: Karol Gugala <kgugala@antmicro.com>
Cc: Mateusz Holenko <mholenko@antmicro.com>
Cc: Joel Stanley <joel@jms.id.au>
Link: https://lore.kernel.org/r/20240617133004.59887629@endymion.delvare
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-06-27 16:33:39 +02:00
Luis Henriques (SUSE)
907c3fe532 ext4: fix infinite loop when replaying fast_commit
When doing fast_commit replay an infinite loop may occur due to an
uninitialized extent_status struct.  ext4_ext_determine_insert_hole() does
not detect the replay and calls ext4_es_find_extent_range(), which will
return immediately without initializing the 'es' variable.

Because 'es' contains garbage, an integer overflow may happen causing an
infinite loop in this function, easily reproducible using fstest generic/039.

This commit fixes this issue by unconditionally initializing the structure
in function ext4_es_find_extent_range().

Thanks to Zhang Yi, for figuring out the real problem!

Fixes: 8016e29f43 ("ext4: fast commit recovery path")
Signed-off-by: Luis Henriques (SUSE) <luis.henriques@linux.dev>
Reviewed-by: Zhang Yi <yi.zhang@huawei.com>
Link: https://patch.msgid.link/20240515082857.32730-1-luis.henriques@linux.dev
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2024-06-27 10:26:28 -04:00
Jos Wang
fc1d1a712b usb: dwc3: core: Workaround for CSR read timeout
This is a workaround for STAR 4846132, which only affects
DWC_usb31 version2.00a operating in host mode.

There is a problem in DWC_usb31 version 2.00a operating
in host mode that would cause a CSR read timeout When CSR
read coincides with RAM Clock Gating Entry. By disable
Clock Gating, sacrificing power consumption for normal
operation.

Cc: stable <stable@kernel.org> # 5.10.x: 1e43c86d: usb: dwc3: core: Add DWC31 version 2.00a controller
Signed-off-by: Jos Wang <joswang@lenovo.com>
Acked-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
Link: https://lore.kernel.org/r/20240619114529.3441-1-joswang1221@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-06-27 16:25:38 +02:00
Ferry Toth
c50814a288 Revert "usb: gadget: u_ether: Replace netif_stop_queue with netif_device_detach"
This reverts commit f49449fbc2.

This commit breaks u_ether on some setups (at least Merrifield). The fix
"usb: gadget: u_ether: Re-attach netif device to mirror detachment" party
restores u-ether. However the netif usb: remains up even usb is switched
from device to host mode. This creates problems for user space as the
interface remains in the routing table while not realy present and network
managers (connman) not detecting a network change.

Various attempts to find the root cause were unsuccesful up to now. Therefore
revert until a solution is found.

Link: https://lore.kernel.org/linux-usb/20231006141231.7220-1-hgajjar@de.adit-jv.com/
Reported-by: Andy Shevchenko <andriy.shevchenko@intel.com>
Reported-by: Ferry Toth <fntoth@gmail.com>
Fixes: f49449fbc2 ("usb: gadget: u_ether: Replace netif_stop_queue with netif_device_detach")
Cc: stable@vger.kernel.org
Signed-off-by: Ferry Toth <fntoth@gmail.com>
Link: https://lore.kernel.org/r/20240620204832.24518-3-ftoth@exalondelft.nl
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-06-27 16:24:25 +02:00
Ferry Toth
24bf27b92b Revert "usb: gadget: u_ether: Re-attach netif device to mirror detachment"
This reverts commit 76c945730c.

Prerequisite revert for the reverting of the original commit f49449fbc2.

Fixes: 76c945730c ("usb: gadget: u_ether: Re-attach netif device to mirror detachment")
Fixes: f49449fbc2 ("usb: gadget: u_ether: Replace netif_stop_queue with netif_device_detach")
Reported-by: Ferry Toth <fntoth@gmail.com>
Cc: stable@vger.kernel.org
Signed-off-by: Ferry Toth <fntoth@gmail.com>
Link: https://lore.kernel.org/r/20240620204832.24518-2-ftoth@exalondelft.nl
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-06-27 16:24:25 +02:00
Dmitry Baryshkov
2ea6d07efe usb: typec: ucsi: add Lenovo Yoga C630 glue driver
The Lenovo Yoga C630 WOS laptop provides implements UCSI interface in
the onboard EC. Add glue driver to interface the platform's UCSI
implementation.

Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20240624-ucsi-yoga-ec-driver-v9-2-53af411a9bd6@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-06-27 16:21:33 +02:00
Greg Kroah-Hartman
6694d31702 Immutable branch between pdx86 lenovo c630 branch, power/supply and USB
subsystems due for the v6.11 merge window.
 
 platform-drivers-x86-ib-lenovo-c630-v6.11-2:
   platform-drivers-x86-ib-lenovo-c630-v6.11 +
 platform-drivers-x86-lenovo-c630
 for merging into the power/supply and USB subsystems for v6.11.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQSCSUwRdwTNL2MhaBlZrE9hU+XOMQUCZnmZJwAKCRBZrE9hU+XO
 MbzlAQDHlJQrZk3pn13QBVTG4gKhcFb+duafVkzFpxh0ADuDQwEA0IiH/X21CotF
 TKGAl6j/nMuRqUTGNYemAb29I/Vcwgk=
 =K9/Z
 -----END PGP SIGNATURE-----

Merge tag 'platform-drivers-x86-ib-lenovo-c630-v6.11-2' of https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86 into usb-next

Immutable branch between pdx86 lenovo c630 branch, power/supply and USB
subsystems due for the v6.11 merge window.

platform-drivers-x86-ib-lenovo-c630-v6.11-2:
  platform-drivers-x86-ib-lenovo-c630-v6.11 +
platform-drivers-x86-lenovo-c630
for merging into the power/supply and USB subsystems for v6.11.

* tag 'platform-drivers-x86-ib-lenovo-c630-v6.11-2' of https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86:
  platform/arm64: build drivers even on non-ARM64 platforms
  platform: arm64: add Lenovo Yoga C630 WOS EC driver
  dt-bindings: platform: Add Lenovo Yoga C630 EC
2024-06-27 16:20:49 +02:00
Kemeng Shi
b07855348b jbd2: remove unnecessary "should_sleep" in kjournald2
We only need to sleep if no running transaction is expired. Simply remove
unnecessary "should_sleep".

Signed-off-by: Kemeng Shi <shikemeng@huaweicloud.com>
Reviewed-by: Zhang Yi <yi.zhang@huawei.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Link: https://patch.msgid.link/20240514112438.1269037-10-shikemeng@huaweicloud.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2024-06-27 10:20:26 -04:00
Kemeng Shi
136d3e0703 jbd2: remove dead check of JBD2_UNMOUNT in kjournald2
We always set JBD2_UNMOUNT with j_state_lock held in journal_kill_thread.
In kjournald2, we check JBD2_UNMOUNT flag two times under the same
j_state_lock. Then the second check is unnecessary.

Signed-off-by: Kemeng Shi <shikemeng@huaweicloud.com>
Reviewed-by: Zhang Yi <yi.zhang@huawei.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Link: https://patch.msgid.link/20240514112438.1269037-9-shikemeng@huaweicloud.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2024-06-27 10:20:26 -04:00
Kemeng Shi
d5c545735a jbd2: remove dead equality check of j_commit_[sequence/request] in kjournald2
The j_commit_[sequence/request] are updated with j_state_lock held during
runtime. In kjournald2, two equality checks of j_commit_[sequence/request]
are under the same j_state_lock, then the second check is unnecessary.

Signed-off-by: Kemeng Shi <shikemeng@huaweicloud.com>
Reviewed-by: Zhang Yi <yi.zhang@huawei.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Link: https://patch.msgid.link/20240514112438.1269037-8-shikemeng@huaweicloud.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2024-06-27 10:20:26 -04:00
Kemeng Shi
4eb9bd13eb jbd2: use bh_in instead of jh2bh(jh_in) to simplify code
We save jh2bh(jh_in) to bh_in, so use bh_in directly instead of
jh2bh(jh_in) to simplify the code.

Signed-off-by: Kemeng Shi <shikemeng@huaweicloud.com>
Reviewed-by: Zhang Yi <yi.zhang@huawei.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Link: https://patch.msgid.link/20240514112438.1269037-7-shikemeng@huaweicloud.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2024-06-27 10:20:26 -04:00
Kemeng Shi
daabedd664 jbd2: remove unneeded kmap to do escape in jbd2_journal_write_metadata_buffer
The data to do escape could be accessed directly from b_frozen_data,
just remove unneeded kmap.

Signed-off-by: Kemeng Shi <shikemeng@huaweicloud.com>
Reviewed-by: Zhang Yi <yi.zhang@huawei.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Link: https://patch.msgid.link/20240514112438.1269037-6-shikemeng@huaweicloud.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2024-06-27 10:20:26 -04:00
Kemeng Shi
4c15129aaa jbd2: jump to new copy_done tag when b_frozen_data is created concurrently
If b_frozen_data is created concurrently, we can update new_folio and
new_offset with b_frozen_data and then move forward

Signed-off-by: Kemeng Shi <shikemeng@huaweicloud.com>
Reviewed-by: Zhang Yi <yi.zhang@huawei.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Link: https://patch.msgid.link/20240514112438.1269037-5-shikemeng@huaweicloud.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2024-06-27 10:20:26 -04:00
Kemeng Shi
5dd3e8c075 jbd2: remove unnedded "need_copy_out" in jbd2_journal_write_metadata_buffer
As we only need to copy out when we should do escape, need_copy_out
could be simply replaced by "do_escape".

Signed-off-by: Kemeng Shi <shikemeng@huaweicloud.com>
Reviewed-by: Zhang Yi <yi.zhang@huawei.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Link: https://patch.msgid.link/20240514112438.1269037-4-shikemeng@huaweicloud.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2024-06-27 10:20:26 -04:00
Kemeng Shi
abe48a5225 jbd2: remove unused return info from jbd2_journal_write_metadata_buffer
The done_copy_out info from jbd2_journal_write_metadata_buffer is not
used. Simply remove it.

Signed-off-by: Kemeng Shi <shikemeng@huaweicloud.com>
Reviewed-by: Zhang Yi <yi.zhang@huawei.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Link: https://patch.msgid.link/20240514112438.1269037-3-shikemeng@huaweicloud.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2024-06-27 10:20:26 -04:00
Kemeng Shi
cc102aa246 jbd2: avoid memleak in jbd2_journal_write_metadata_buffer
The new_bh is from alloc_buffer_head, we should call free_buffer_head to
free it in error case.

Signed-off-by: Kemeng Shi <shikemeng@huaweicloud.com>
Reviewed-by: Zhang Yi <yi.zhang@huawei.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Link: https://patch.msgid.link/20240514112438.1269037-2-shikemeng@huaweicloud.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2024-06-27 10:20:26 -04:00
Arnd Bergmann
94811b400a Reset controller fixes for v6.10
Fix a missing GPIOLIB dependency for the GPIO reset controller and add
 a missing MODULE_DESCRIPTION for the hi6220 reset driver to fix some
 build warnings.
 -----BEGIN PGP SIGNATURE-----
 
 iI0EABYIADUWIQRRO6F6WdpH1R0vGibVhaclGDdiwAUCZnw/wBcccC56YWJlbEBw
 ZW5ndXRyb25peC5kZQAKCRDVhaclGDdiwNALAQDg81oFpwecpJsl+2jBTrDthoEf
 oN0XsuX646C1eI+rwwD8D1qrgQZxSpSgxyrDdzUeZ120ohfvq0i6wasaYGF/1AU=
 =pPaN
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmZ9cxAACgkQYKtH/8kJ
 UiemuhAAiegSlsBpOsbY4V9006VipJjhQQ5R7m/zTRCd6GtSN3kMnQg8wKA9hZVM
 zla+DhAxIMY/o9ueiNLcfZoL247HTw8DGkSgEwErImeGOdWJ0YLLuLXlKgTTj/II
 HUz/Nvu3zYWb6FMAmjEvx5RnePmSl5HOQyfWkCrJWx+ae7vXaIUYC6h0h019ACfT
 Ef2+mcK0mE/VZ6/aFa6tmXE4JoAfhxOkJ12ad+OCIiwUmlC243XVaVRNuhTJClOQ
 oer4GQFu/YR0GPOXAp106/ksp4LsZIWe8n38o1Y9NWm7QWtKvag8/yry/9p+kvwi
 ZE3sXmZxhH/+CRkFWDDtCGblpPANoCxCzcgkgJ2/DBSrmlaP19gxnveasgkm0B4V
 /UfFYUCvrkkwpYBZfFDppgqvfdkVD1mRb+0qDTmHjxkTmsyE6KkDm4W0D7rtXgFu
 TCWQo0ywCE8wRS3jEa7HA5glbjU+Ob8DVFI811hnOfWlowTZ4n+rFWTjvdXJdjhl
 rmPlJBzYTurgpkMAjL0roE2fOobNEdJZur/ygnjOOW2IS4LNmQOfef0zjS5U9GLE
 Luh16MCb/g9tiJdPmJqD6xYpfJtx0fna8vbE4b+K5wUMG7hXP53O1wI0Z/x+8Utp
 3fRuakDKg3I6QP/9GEMCWKDVJAiZKlDhvoGy+5t7mm9AQScQxFI=
 =wSd4
 -----END PGP SIGNATURE-----

Merge tag 'reset-fixes-for-v6.10' of git://git.pengutronix.de/pza/linux into arm/fixes

Reset controller fixes for v6.10

Fix a missing GPIOLIB dependency for the GPIO reset controller and add
a missing MODULE_DESCRIPTION for the hi6220 reset driver to fix some
build warnings.

* tag 'reset-fixes-for-v6.10' of git://git.pengutronix.de/pza/linux:
  reset: hisilicon: hi6220: add missing MODULE_DESCRIPTION() macro
  reset: gpio: Fix missing gpiolib dependency for GPIO reset controller

Link: https://lore.kernel.org/r/20240626163443.61384-1-p.zabel@pengutronix.de
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-06-27 16:11:28 +02:00
Pooja Katiyar
fe1b01a82f usb: typec: ucsi: UCSI2.0 Get Error Status changes
Add support for UCSI 2.0 Get Error Status command to add connector
number field to the command structure.

Connector number field is extracted from the previous UCSI command
which has failed and is used to get the failure reason/Error using
Get Error Status command.

Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Signed-off-by: Pooja Katiyar <pooja.katiyar@intel.com>
Link: https://lore.kernel.org/r/20240624213359.1270018-1-pooja.katiyar@intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-06-27 16:10:19 +02:00
Pooja Katiyar
d58a767107 usb: typec: ucsi: UCSI2.0 Get Error Status data structure changes
Add support for UCSI 2.0 Get Error Status data structure changes
to add more error codes to the data structure.

Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Signed-off-by: Pooja Katiyar <pooja.katiyar@intel.com>
Link: https://lore.kernel.org/r/20240626185853.2956700-1-pooja.katiyar@intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-06-27 16:09:41 +02:00
Arnd Bergmann
53ed12744c RISC-V Devicetree fixes for v6.10-rc5+
T-Head:
 Jisheng hasn't got enough time to look after the platform, so Drew
 Fustini is going to take over.
 
 StarFive:
 A fix for a regulator voltage range that prevented using low performance
 SD cards.
 
 Canaan:
 Cleanup for some "over eager" aliases for serial ports that did not
 exist on some boards and I/O devices disabled on boards where they were
 not actually in use.
 
 Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQRh246EGq/8RLhDjO14tDGHoIJi0gUCZnWJ7wAKCRB4tDGHoIJi
 0pYNAP9f3zNfNJF+nIm10LzLnrX3U/sqYZaFlTPqpzQCpvdtTgEAvaxfN5x6zcR9
 6obpBSAlYN+7OlFVEtMfUf6UYq2rwwA=
 =AQmx
 -----END PGP SIGNATURE-----

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

RISC-V Devicetree fixes for v6.10-rc5+

T-Head:
Jisheng hasn't got enough time to look after the platform, so Drew
Fustini is going to take over.

StarFive:
A fix for a regulator voltage range that prevented using low performance
SD cards.

Canaan:
Cleanup for some "over eager" aliases for serial ports that did not
exist on some boards and I/O devices disabled on boards where they were
not actually in use.

Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-06-27 16:09:13 +02:00
Jameson Thies
22d96a2854 usb: typec: ucsi: Only set number of plug altmodes after registration
Move the setting of the plug's number of alternate modes into the
same condition as the plug's registration to prevent dereferencing the
connector's plug pointer while it is null.

Fixes: c313a44ac9 ("usb: typec: ucsi: Always set number of alternate modes")
Suggested-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Jameson Thies <jthies@google.com>
Reviewed-by: Benson Leung <bleung@chromium.org>
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Tested-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-by: Jon Hunter <jonathanh@nvidia.com>
Link: https://lore.kernel.org/r/20240625004607.3223757-1-jthies@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-06-27 16:09:10 +02:00
Xiaxi Shen
8dc9c3da79 ext4: fix uninitialized variable in ext4_inlinedir_to_tree
Syzbot has found an uninit-value bug in ext4_inlinedir_to_tree

This error happens because ext4_inlinedir_to_tree does not
handle the case when ext4fs_dirhash returns an error

This can be avoided by checking the return value of ext4fs_dirhash
and propagating the error,
similar to how it's done with ext4_htree_store_dirent

Signed-off-by: Xiaxi Shen <shenxiaxi26@gmail.com>
Reported-and-tested-by: syzbot+eaba5abe296837a640c0@syzkaller.appspotmail.com
Closes: https://syzkaller.appspot.com/bug?extid=eaba5abe296837a640c0
Link: https://patch.msgid.link/20240501033017.220000-1-shenxiaxi26@gmail.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2024-06-27 10:08:36 -04:00
Mathias Nyman
36b1235a8a xhci: sort out TRB Endpoint ID bitfield macros
xhci macros that read and write endpoint ID bitfields of TRBs are mixing
the 1-based Endpoint ID as described in the xHCI specification, and
0-based endpoint index used by driver as an array index.

Sort this out by naming macros that deal with 1 based Endpoint ID fields
to *_EP_ID_*, and 0 based endpoint index values to *_EP_INDEX_*.

Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20240626124835.1023046-22-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-06-27 16:08:06 +02:00
Reka Norman
b4c87bc5ce xhci: Apply XHCI_RESET_TO_DEFAULT quirk to TGL
TGL systems have the same issue as ADL, where a large boot firmware
delay is seen if USB ports are left in U3 at shutdown. So apply the
XHCI_RESET_TO_DEFAULT quirk to TGL as well.

The issue it fixes is a ~20s boot time delay when booting from S5. It
affects TGL devices, and TGL support was added starting from v5.3.

Cc: stable@vger.kernel.org
Signed-off-by: Reka Norman <rekanorman@chromium.org>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20240626124835.1023046-21-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-06-27 16:08:06 +02:00
Niklas Neronin
1b349f214a usb: xhci: add 'goto' for halted endpoint check in handle_tx_event()
Add 'goto' statement for a halted endpoint, streamlining the error
handling process. In future handle_tx_event() changes this 'goto'
statement will have more uses.

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/20240626124835.1023046-20-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-06-27 16:08:06 +02:00
Niklas Neronin
c43e43e8a7 usb: xhci: move process TD code out of the while loop
This part is and should only performed once, so it's moved out of the
while loop to improve code readability.

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/20240626124835.1023046-19-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-06-27 16:08:06 +02:00
Niklas Neronin
132dcf65fc usb: xhci: remove infinite loop prevention
If a buggy HW reports some unpredicted event (for example, an overrun event
following a MSE event while the EP ring is actually not empty), the driver
will never find the TD, and it will loop until the TD list is empty.

Before commits [1][2], the spin lock was released when giving back a URB in
the do-while loop. This could cause more TD to be added to TD list, causing
an infinite loop.

Because of commits [1][2] the spin lock is not released any more, thus the
infinite loop prevention is unnecessary and is removed.

[1], commit 0c03d89d0c ("xhci: Giveback urb in finish_td directly")
[2], commit 36dc01657b ("usb: host: xhci: Support running urb giveback in
			   tasklet context")

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/20240626124835.1023046-18-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-06-27 16:08:06 +02:00
Niklas Neronin
5ea8a885c8 usb: xhci: remove false xhci_giveback_urb_in_irq() header comment
The function doesn't releases and re-acquires the lock, this was removed
in commit 36dc01657b ("usb: host: xhci: Support running urb giveback in
tasklet context")

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/20240626124835.1023046-17-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-06-27 16:08:06 +02:00
Niklas Neronin
d56b0b2ab1 usb: xhci: ensure skipped isoc TDs are returned when isoc ring is stopped
Missed service event tells the driver that the hardware wasn't able to
process some queued isoc TDs in their right time slots, and some TDs will
be skipped. The driver sets a 'skip' flag to indicate that the next
transfer event after this event will point to some future TD instead of
the next queued TD. Once the driver receives the next event, it will skip
and give back all those hardware skipped TDs.

However, should this subsequent event be a stop endpoint which does not
point to the next pending TD, the driver fails to return the skipped TDs.
Instead, it loops for a period before outputting an erroneous message.

Fix this by repositioning the 'stop endpoint' check to follow the isoc
skip check, ensuring the skipped TDs are properly returned.

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/20240626124835.1023046-16-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-06-27 16:08:06 +02:00
Mathias Nyman
21b224d747 xhci: rework xhci internal endpoint halt state detection.
When xhci_requires_manual_halt_cleanup() was written it wasn't clear
that the xhci internal endpoint halt state always needs to be cleared
with a reset endpoint command. Functional stall cases additionally halt
the device side endpoint which requires class driver to clear the device
side halt with a CLEAR_FEATURE(ENDPOINT_HALT) request as well.

Clean up, rename, and make sure the new function always return true
when internal endpoint state is halted, including stall cases.

Based on related cleanup suggestion code by Niklas Neronin

cc: Niklas Neronin <niklas.neronin@linux.intel.com>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20240626124835.1023046-15-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-06-27 16:08:05 +02:00
Niklas Neronin
bde66d2dc4 usb: xhci: remove obsolete sanity check debug messages
Remove debug messages that served as sanity checks during the initial
implementation phase of underrun/overrun completion codes. These checks
are now unnecessary.

Instead, improve the default debug messages for underrun/overrun events,
so that they are consistent with the reset of the completion codes.

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/20240626124835.1023046-14-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-06-27 16:08:05 +02:00
Niklas Neronin
43061949ec usb: xhci: improve error message for targetless transfer event
Improve error message for unknown transfer event without a TRB, by also
printing the event code number. This removes the inevitable question;
"what was the unknown event code exactly?"

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/20240626124835.1023046-13-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-06-27 16:08:05 +02:00
Niklas Neronin
2acd0c2223 usb: xhci: move untargeted transfer event handling to a separate function
Move handling transfer events without a target transfer TRB into
handle_transferless_tx_event(), this type of event does not utilize the
rest of handle_tx_event() and as a result it's better to separate it
into a dedicated function.

Additionally, this change reduces handle_tx_event()'s size and makes it
more readable.

[Mathias: Simplify code to return helper function value directly. This
removes the second xhci_err() message for untargeted and unexpected
event completion types]

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/20240626124835.1023046-12-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-06-27 16:08:05 +02:00
Niklas Neronin
bbdd82c752 usb: xhci: move all segment re-numbering to xhci_link_rings()
This is a preparation patch for switching from custom segment list
handling to using list.h functions.

Contain all segment re-numbering in xhci_link_rings() which links two
segments lists together, and performs all necessary adjustments for
them to fit together.

No need to send segment number to xhci_alloc_segments_for_ring()
as a parameter after this.

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/20240626124835.1023046-11-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-06-27 16:08:05 +02:00
Niklas Neronin
7476a2215c usb: xhci: move link chain bit quirk checks into one helper function.
Older 0.95 xHCI hosts and some other specific newer hosts require the
chain bit to be set for Link TRBs even if the link TRB is not in the
middle of a transfer descriptor (TD).

move the checks for all those cases  into one xhci_link_chain_quirk()
function to clean up and avoid code duplication.

No functional changes.

[skip renaming chain_links flag, reword commit message -Mathias]

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/20240626124835.1023046-10-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-06-27 16:08:05 +02:00
Niklas Neronin
2c0df12a3e usb: xhci: remove unused argument from handle_port_status()
Argument struct 'xhci_interrupter *ir' is not used, and as a consequence
is removed.

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/20240626124835.1023046-9-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-06-27 16:08:05 +02:00
Niklas Neronin
ec3cdfd6d9 usb: xhci: remove unused argument from xhci_handle_cmd_config_ep()
Argument u32 'cmd_comp_code' is not used, and as a consequence
is removed.

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/20240626124835.1023046-8-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-06-27 16:08:05 +02:00
Niklas Neronin
3dd91ff610 usb: xhci: remove unused 'xhci' argument
Remove argument 'struct xhci_hcd *xhci' from functions which do not
utilize it. This change contributes to a simpler codebase by avoiding
redundant arguments.

Functions which have the argument removed:
  check_interval()
  xhci_num_trbs_free()
  xhci_handle_cmd_enable_slot()
  xhci_clear_interrupt_pending()
  xhci_requires_manual_halt_cleanup()

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/20240626124835.1023046-7-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-06-27 16:08:05 +02:00
Niklas Neronin
81c8c07815 usb: xhci: remove 'num_trbs' from struct 'xhci_td'
Remove 'num_trbs' from 'xhci_td' as it's no longer used following the
removal of 'num_trbs_free' tracking in commit 2710f8186f ("xhci: Stop
unnecessary tracking of free trbs in a ring").

Tracking of 'num_trbs_free' is still performed in xhci DbC, but it does not
utilize 'num_trbs'.

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/20240626124835.1023046-6-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-06-27 16:08:05 +02:00
Uday M Bhat
de3edd47a1 xhci: dbc: Allow users to modify DbC poll interval via sysfs
xhci DbC driver polls the host controller for DbC events at a reduced
rate when DbC is enabled but there are no active data transfers.

Allow users to modify this reduced poll interval via dbc_poll_interval_ms
sysfs entry. Unit is milliseconds and accepted range is 0 to 5000.
Max interval of 5000 ms is selected as it matches the common 5 second
timeout used in usb stack.
Default value is 64 milliseconds.

A long interval is useful when users know there won't be any activity
on systems connected via DbC for long periods, and want to avoid
battery drainage due to unnecessary CPU usage.

Example being Android Debugger (ADB) usage over DbC on ChromeOS systems
running Android Runtime.

[minor changes and rewording -Mathias]

Co-developed-by: Samuel Jacob <samjaco@google.com>
Signed-off-by: Samuel Jacob <samjaco@google.com>
Signed-off-by: Uday M Bhat <uday.m.bhat@intel.com>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20240626124835.1023046-5-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-06-27 16:08:05 +02:00
Mathias Nyman
7b59c0362a xhci: Set correct transferred length for cancelled isoc transfers
The transferred length is incorrectly zeroed for cancelled isoc
transfer TDs when the transfer ring stops on a cancelled TD with
a 'Stop - Length Invalid' completion code.

Length was always set to zero in these cases even if it should be
set to the sum of the TRB transfer block lengths up to
the TRB the ring stopped on, _excluding_ the one stopped on.

No issues reported due to this isoc case. Found while inspecting
related case in bulk transfer 'Stop - Length Invalid' handling.

Change this so that 'Stop - Length Invalid' transfer completion
cases always sum up TRB lengths instead of report a zero length.

Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20240626124835.1023046-4-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-06-27 16:08:05 +02:00
Mathias Nyman
fef267a6c2 xhci: show usb device name in xhci urb tracing
parsing xhci traces on systems with several xHCI controllers and connected
usb devices is difficult as entries are all interleaved.

showing usb devname in urb tracing reveals both which device, and which
bus/controller the entry is for.

old:
xhci_urb_enqueue: ep2in-bulk: urb 0000000039224498  ...

new:
xhci_urb_enqueue: 3-9.4 ep1in-bulk: urb 0000000013bf21e7 ...

Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20240626124835.1023046-3-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-06-27 16:08:05 +02:00
Hector Martin
e6092feacf xhci: Remove dead code in xhci_move_dequeue_past_td()
This codepath is trivially dead, since the function is never called with
a non-NULL td (the only callsite is immediately preceded by a NULL guard).

[remove unused label 'deq_found' -Mathias]

Signed-off-by: Hector Martin <marcan@marcan.st>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20240626124835.1023046-2-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-06-27 16:08:05 +02:00
Ma Ke
ee0d382feb usb: gadget: aspeed_udc: validate endpoint index for ast udc
We should verify the bound of the array to assure that host
may not manipulate the index to point past endpoint array.

Found by static analysis.

Signed-off-by: Ma Ke <make24@iscas.ac.cn>
Reviewed-by: Andrew Jeffery <andrew@codeconstruct.com.au>
Acked-by: Andrew Jeffery <andrew@codeconstruct.com.au>
Link: https://lore.kernel.org/r/20240625022306.2568122-1-make24@iscas.ac.cn
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-06-27 16:07:30 +02:00