Hi,

This is part one of two. It resets the DWC3 driver and imports it up to
Linux v6.16. Part two [2] follows right after this one and makes the
tree build and work again.

Part one on its own breaks the build for every board that enables DWC3,
and USB gadget stops working. That is expected. The two parts have to go
in together.

Part two lists the boards that were tested on hardware, with both parts
applied.

The driver was forked from the kernel v3.19-rc1 eleven years ago, in
commit 85d5e7075f33 ("usb: dwc3: add dwc3 folder from linux kernel to
u-boot"). After that almost no kernel changes came back to U-Boot.

Part one is three steps:

1. Re-import xhci-ext-caps.h from v6.16. Marek asked for this one to come
   first, since the dwc3 imports build on it.

2. Restore drivers/usb/dwc3 to the v3.19-rc1 import. U-Boot only files
   like dwc3-generic.c and samsung_usb_phy.c stay.

3. Import the dwc3 directory once per major kernel version, from v3.19
   up to v6.16. Each commit is a raw snapshot from that kernel. The last
   two patches re-import epautoconf.c and udc-core.c the same way.

The import commits are raw kernel snapshots. This is on purpose. It
makes it easy to see what comes from which kernel version, and to
compare each import with the matching kernel release. The commit
messages say this too.

The branch has both parts [1].

[1] https://github.com/roxell/u-boot/tree/usb_dwc3_sync_v10
[2] part two, subject: [PATCH v10 00/30] usb: dwc3: part 2, make the
    resynced code work
[3] v7 part one: 
https://lore.kernel.org/u-boot/[email protected]/
[4] Marek on v9 part two: 
https://lore.kernel.org/u-boot/[email protected]/

v7 -> v10:
- Skipped v8 and v9, so both parts have the same version.
- Rebased on 8649a54d301a, since v7 did not apply anymore. The restore
  commit conflicted on dwc3-am62.c after commit 83abf9120071 ("usb:
  dwc3-am62: check dev_remap_addr_index() for NULL"). It still deletes
  the file, and part two brings the fix back.
- The restore commit keeps samsung_usb_phy.c now, instead of a patch in
  part two that brought it back. It is U-Boot code and was never part
  of the kernel import. Marek asked for this [4]. I kept Mattijs'
  Reviewed-by, since the commit only deletes one file less.
- The other 62 patches are unchanged.

Older changes are listed in v7 [3].

Cheers,
Anders

Jens Wiklander (60):
  usb: dwc3: restore to original v3.19-rc1 kernel import
  usb: dwc3: import from kernel v3.19
  usb: dwc3: import from kernel v4.0
  usb: dwc3: import from kernel v4.1
  usb: dwc3: import from kernel v4.2
  usb: dwc3: import from kernel v4.3
  usb: dwc3: import from kernel v4.4
  usb: dwc3: import from kernel v4.5
  usb: dwc3: import from kernel v4.6
  usb: dwc3: import from kernel v4.7
  usb: dwc3: import from kernel v4.8
  usb: dwc3: import from kernel v4.9
  usb: dwc3: import from kernel v4.10
  usb: dwc3: import from kernel v4.11
  usb: dwc3: import from kernel v4.12
  usb: dwc3: import from kernel v4.13
  usb: dwc3: import from kernel v4.14
  usb: dwc3: import from kernel v4.15
  usb: dwc3: import from kernel v4.16
  usb: dwc3: import from kernel v4.17
  usb: dwc3: import from kernel v4.18
  usb: dwc3: import from kernel v4.19
  usb: dwc3: import from kernel v4.20
  usb: dwc3: import from kernel v5.0
  usb: dwc3: import from kernel v5.1
  usb: dwc3: import from kernel v5.2
  usb: dwc3: import from kernel v5.3
  usb: dwc3: import from kernel v5.4
  usb: dwc3: import from kernel v5.5
  usb: dwc3: import from kernel v5.6
  usb: dwc3: import from kernel v5.7
  usb: dwc3: import from kernel v5.8
  usb: dwc3: import from kernel v5.9
  usb: dwc3: import from kernel v5.10
  usb: dwc3: import from kernel v5.11
  usb: dwc3: import from kernel v5.12
  usb: dwc3: import from kernel v5.13
  usb: dwc3: import from kernel v5.14
  usb: dwc3: import from kernel v5.15
  usb: dwc3: import from kernel v5.16
  usb: dwc3: import from kernel v5.17
  usb: dwc3: import from kernel v5.18
  usb: dwc3: import from kernel v5.19
  usb: dwc3: import from kernel v6.0
  usb: dwc3: import from kernel v6.1
  usb: dwc3: import from kernel v6.2
  usb: dwc3: import from kernel v6.3
  usb: dwc3: import from kernel v6.4
  usb: dwc3: import from kernel v6.5
  usb: dwc3: import from kernel v6.6
  usb: dwc3: import from kernel v6.7
  usb: dwc3: import from kernel v6.8
  usb: dwc3: import from kernel v6.9
  usb: dwc3: import from kernel v6.10
  usb: dwc3: import from kernel v6.11
  usb: dwc3: import from kernel v6.12
  usb: dwc3: import from kernel v6.13
  usb: dwc3: import from kernel v6.14
  usb: dwc3: import from kernel v6.15
  usb: dwc3: import from kernel v6.16

Jerome Forissier (3):
  usb: host: re-import xhci-ext-caps.h from kernel v6.16
  usb: gadget: re-import epautoconf.c from kernel v6.16
  usb: udc: re-import udc-core.c from kernel v6.16

 drivers/usb/dwc3/core.c           | 2961 +++++++++++++-----
 drivers/usb/dwc3/core.h           | 1087 +++++--
 drivers/usb/dwc3/debug.h          |  432 +++
 drivers/usb/dwc3/dwc3-am62.c      |  424 ++-
 drivers/usb/dwc3/ep0.c            |  763 +++--
 drivers/usb/dwc3/gadget.c         | 4776 +++++++++++++++++++++--------
 drivers/usb/dwc3/gadget.h         |  114 +-
 drivers/usb/dwc3/glue.h           |   36 +
 drivers/usb/dwc3/io.h             |   51 +-
 drivers/usb/dwc3/linux-compat.h   |   16 -
 drivers/usb/gadget/epautoconf.c   |  292 +-
 drivers/usb/gadget/udc/udc-core.c | 1890 ++++++++++--
 drivers/usb/host/xhci-ext-caps.h  |  158 +
 13 files changed, 9864 insertions(+), 3136 deletions(-)
 create mode 100644 drivers/usb/dwc3/debug.h
 create mode 100644 drivers/usb/dwc3/glue.h
 delete mode 100644 drivers/usb/dwc3/linux-compat.h
 create mode 100644 drivers/usb/host/xhci-ext-caps.h

-- 
2.53.0

Reply via email to