Cover Letter Detail
Show a cover letter.
GET /api/1.2/covers/2234091/?format=api
{ "id": 2234091, "url": "http://patchwork.ozlabs.org/api/1.2/covers/2234091/?format=api", "web_url": "http://patchwork.ozlabs.org/project/uboot/cover/20260507092843.358908-1-jens.wiklander@linaro.org/", "project": { "id": 18, "url": "http://patchwork.ozlabs.org/api/1.2/projects/18/?format=api", "name": "U-Boot", "link_name": "uboot", "list_id": "u-boot.lists.denx.de", "list_email": "u-boot@lists.denx.de", "web_url": null, "scm_url": null, "webscm_url": null, "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20260507092843.358908-1-jens.wiklander@linaro.org>", "list_archive_url": null, "date": "2026-05-07T09:27:07", "name": "[RFC,v2,00/64] drivers: usb: dwc3: sync code with Linux v6.16-rc7", "submitter": { "id": 66201, "url": "http://patchwork.ozlabs.org/api/1.2/people/66201/?format=api", "name": "Jens Wiklander", "email": "jens.wiklander@linaro.org" }, "mbox": "http://patchwork.ozlabs.org/project/uboot/cover/20260507092843.358908-1-jens.wiklander@linaro.org/mbox/", "series": [ { "id": 503140, "url": "http://patchwork.ozlabs.org/api/1.2/series/503140/?format=api", "web_url": "http://patchwork.ozlabs.org/project/uboot/list/?series=503140", "date": "2026-05-07T09:27:07", "name": "drivers: usb: dwc3: sync code with Linux v6.16-rc7", "version": 2, "mbox": "http://patchwork.ozlabs.org/series/503140/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/covers/2234091/comments/", "headers": { "Return-Path": "<u-boot-bounces@lists.denx.de>", "X-Original-To": "incoming@patchwork.ozlabs.org", "Delivered-To": "patchwork-incoming@legolas.ozlabs.org", "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256\n header.s=google header.b=fUyTG6bH;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de\n (client-ip=85.214.62.61; helo=phobos.denx.de;\n envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org)", "phobos.denx.de;\n dmarc=pass (p=none dis=none) header.from=linaro.org", "phobos.denx.de;\n spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de", "phobos.denx.de;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=linaro.org header.i=@linaro.org header.b=\"fUyTG6bH\";\n\tdkim-atps=neutral", "phobos.denx.de;\n dmarc=pass (p=none dis=none) header.from=linaro.org", "phobos.denx.de;\n spf=pass smtp.mailfrom=jens.wiklander@linaro.org" ], "Received": [ "from phobos.denx.de (phobos.denx.de [85.214.62.61])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4gB6QJ0hd9z1yCg\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 07 May 2026 19:29:12 +1000 (AEST)", "from h2850616.stratoserver.net (localhost [IPv6:::1])\n\tby phobos.denx.de (Postfix) with ESMTP id 3CF0584A29;\n\tThu, 7 May 2026 11:29:08 +0200 (CEST)", "by phobos.denx.de (Postfix, from userid 109)\n id C9DAD84A40; Thu, 7 May 2026 11:29:03 +0200 (CEST)", "from mail-lf1-x12a.google.com (mail-lf1-x12a.google.com\n [IPv6:2a00:1450:4864:20::12a])\n (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits))\n (No client certificate requested)\n by phobos.denx.de (Postfix) with ESMTPS id EAC6784A17\n for <u-boot@lists.denx.de>; Thu, 7 May 2026 11:28:55 +0200 (CEST)", "by mail-lf1-x12a.google.com with SMTP id\n 2adb3069b0e04-5a748d5ece4so519764e87.2\n for <u-boot@lists.denx.de>; Thu, 07 May 2026 02:28:55 -0700 (PDT)", "from rayden.urgonet (h-79-136-84-34.A175.priv.bahnhof.se.\n [79.136.84.34]) by smtp.gmail.com with ESMTPSA id\n 2adb3069b0e04-5a8914953d6sm696937e87.73.2026.05.07.02.28.50\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Thu, 07 May 2026 02:28:51 -0700 (PDT)" ], "X-Spam-Checker-Version": "SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de", "X-Spam-Level": "", "X-Spam-Status": "No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,\n DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED,\n SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=linaro.org; s=google; t=1778146132; x=1778750932; darn=lists.denx.de;\n h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n :to:from:from:to:cc:subject:date:message-id:reply-to;\n bh=HlVi512RfxiQlBkIO/4co82v6RdZ9TzgrSDQR044eT4=;\n b=fUyTG6bH4CeIVga0Lfn6aaioNrD5Nyi4Zola0FhmidufCi5n5et1XJ3CWsQ29geL86\n YofXAAeFE5mlBNuACISJWvCbXkEhfkEOBAQgbjW750+ijVsXZwtb1/Oan60h+v9E+iCh\n gtbZsgthicPj9VLn5pHKAxbjshkiXy671LN23piTwXa1iS34nGwdToehDdqpGsR8UkG6\n Gd2ZkH9AfdTAacbCfQDqucyYbeXBybdcoYwUVH/Qu2QzH4Gw71QdTzvUYOQjAh0StHBB\n DFcVlZudQSF6Ib1peinupPTbDV8tRjJKP8ON1tSSIJJBc3iHuaSD5zN6hn9oP55UlvsX\n i7WQ==", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1778146132; x=1778750932;\n h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n :message-id:reply-to;\n bh=HlVi512RfxiQlBkIO/4co82v6RdZ9TzgrSDQR044eT4=;\n b=q8J3BvZcRr2QxFQErTwAqsa/tq3YBkM7UlltURzhucZuRCfgaUeQPNuh96DtE+Yqos\n kXGFEMYzWkcwdH6kGeP24OilqWNnLNgOm+AL1Wiwe4icMp8y6mPyL4YOuHvd8tC1Sfnd\n c1RJQ/AKAO1sjEQRGc6phq6dyZ76lUO3O31h9fcR8DoTS6Gdvx/oRIPTeRNDJgalytmd\n p7f3iGFn5rQFXD6qyZCH6IrdROUoRoAbObWPtokKLS9DN0+MormevPH/G2Rw3/XK9H7g\n k8Nkaz41KXPxZl1A7mizHkVcYGm/hEy6KbqVwSmcCmnlnwEMvrZaG5ShTzZATu3bxUkh\n eDrw==", "X-Gm-Message-State": "AOJu0YwnKNpjqiREZG2qaPKUeu4/0kHB3ywWoQ0t/zjAzpwl1nAoTzrM\n KbgW14zWAcvHecDM0m9aXOUvb1e6D9Bsknt+yQ6fMwXjS0uJ2FZNjVUUleQC5FchR/Dxc2E0zJA\n NE0KpUf6xgg==", "X-Gm-Gg": "AeBDieuBfRRylUf7JH5oC+RxKnXpBp/CtpUR1C76s8+WYWw9m6S/U3TaGqhHz/Sx9cC\n b169f/f3o8ANBun/YpjrdOMP88k1EzxS5c78IjxrAF50TBPpBWCOzdC/zN6uKs3SHD4INpylQS6\n M0zoDyvZu/F68O6PopwuFpPjxQirOqftsvrUG9tYe0O4tbRnc7e4fvZr3+wkyUj3fs3pR02soNB\n 1ZpbQIARseZL6xFVLHpydTNz1iIOIPhOV9XDYsYG/z5yewVxJVR1l1qxW7otCo7IQwbDZFuXtkl\n BkITmkUDdXbYWft3wRZIr2bTtY1PVClrt+CLheoWGSUeDvwfIx6bGAyQXBVeyBZ97cxBrYZSmLm\n QzjTz7C5xTQXIuVeu/Tkg1FX4wb9yQ3eUjWSLs5UICiG0Pt0/MRgAOIthZVGlFDOmr1TBLllBkJ\n Aduwx3KdEjy9ncY6r08XWhmR/UaduVVd3gwkL8nWAerQ7L3jxD60KGNmrVo/zS1keVMy7C6CShz\n PFHVO4IL5tZ2Q8JElKxHgkOpQOfgPCwtv5vGgqwJ6Oh1cQ9DA9p8HHpbKpYx/k=", "X-Received": "by 2002:a05:6512:2247:b0:5a8:8df8:1dca with SMTP id\n 2adb3069b0e04-5a88df8291emr1825912e87.29.1778146131914;\n Thu, 07 May 2026 02:28:51 -0700 (PDT)", "From": "Jens Wiklander <jens.wiklander@linaro.org>", "To": "u-boot@lists.denx.de,\n\tMarek Vasut <marex@denx.de>", "Cc": "Ilias Apalodimas <ilias.apalodimas@linaro.org>,\n Andre Przywara <andre.przywara@arm.com>,\n Andrew Goodbody <andrew.goodbody@linaro.org>,\n Anshul Dalal <anshuld@ti.com>, Bin Meng <bmeng.cn@gmail.com>,\n Casey Connolly <casey.connolly@linaro.org>,\n Chunfeng Yun <chunfeng.yun@mediatek.com>,\n Eddie Cai <eddie.cai.linux@gmail.com>,\n GSS_MTK_Uboot_upstream <GSS_MTK_Uboot_upstream@mediatek.com>,\n Ion Agorria <ion@agorria.com>, Junhui Liu <junhui.liu@pigmoral.tech>,\n Kongyang Liu <seashell11234455@gmail.com>, Lukasz Majewski <lukma@denx.de>,\n Mattijs Korpershoek <mkorpershoek@kernel.org>,\n Neil Armstrong <neil.armstrong@linaro.org>,\n Patrice Chotard <patrice.chotard@foss.st.com>,\n Quentin Schulz <quentin.schulz@cherry.de>,\n Rasmus Villemoes <ravi@prevas.dk>, Ryder Lee <ryder.lee@mediatek.com>,\n Simon Glass <sjg@chromium.org>,\n Stephan Gerhold <stephan.gerhold@linaro.org>,\n Svyatoslav Ryhel <clamor95@gmail.com>, Tom Rini <trini@konsulko.com>,\n Varadarajan Narayanan <quic_varada@quicinc.com>,\n Weijie Gao <weijie.gao@mediatek.com>, Zixun LI <admin@hifiphile.com>,\n Jerome Forissier <jerome.forissier@arm.com>,\n Jens Wiklander <jens.wiklander@linaro.org>", "Subject": "[RFC PATCH v2 00/64] drivers: usb: dwc3: sync code with Linux\n v6.16-rc7", "Date": "Thu, 7 May 2026 11:27:07 +0200", "Message-ID": "<20260507092843.358908-1-jens.wiklander@linaro.org>", "X-Mailer": "git-send-email 2.43.0", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "X-BeenThere": "u-boot@lists.denx.de", "X-Mailman-Version": "2.1.39", "Precedence": "list", "List-Id": "U-Boot discussion <u-boot.lists.denx.de>", "List-Unsubscribe": "<https://lists.denx.de/options/u-boot>,\n <mailto:u-boot-request@lists.denx.de?subject=unsubscribe>", "List-Archive": "<https://lists.denx.de/pipermail/u-boot/>", "List-Post": "<mailto:u-boot@lists.denx.de>", "List-Help": "<mailto:u-boot-request@lists.denx.de?subject=help>", "List-Subscribe": "<https://lists.denx.de/listinfo/u-boot>,\n <mailto:u-boot-request@lists.denx.de?subject=subscribe>", "Errors-To": "u-boot-bounces@lists.denx.de", "Sender": "\"U-Boot\" <u-boot-bounces@lists.denx.de>", "X-Virus-Scanned": "clamav-milter 0.103.8 at phobos.denx.de", "X-Virus-Status": "Clean" }, "content": "Hi,\n\nThis is a follow-up to Jerome's patchset [1], addressing previous feedback\nregarding the monolithic nature of the driver update.\n\nThe DWC3 USB driver was forked from the Linux kernel v3.19-rc1 eleven years\nago by commit 85d5e7075f33 (\"usb: dwc3: add dwc3 folder from linux kernel\nto u-boot\"). Since then, not many kernel changes have been ported back into\nU-Boot.\n\nThis series synchronizes the DWC3 core with Linux v6.16-rc7. To provide \na clear audit trail and maintain bisectability, I have structured the \nseries as follows:\n\n1. Restore to Baseline: The first commit reverts U-Boot-specific changes \n to drivers/usb/dwc3 to return the directory to a clean v3.19-rc1 state.\n2. Milestone Imports: A sequence of 50+ commits follows, each performing \n a \"snapshot\" import of the drivers/usb/dwc3 directory for every major \n kernel version (v3.19 through v6.16-rc7). \n3. U-Boot Adaptation: The final commits (based on Jerome's original work) \n re-introduce the necessary glue code, XHCI/UDC updates, and build fixes \n required for U-Boot integration.\n\nThe final diff is identical to [1]. I decided to stick with that for now to\nfocus on the method of how we import or update the code.\n\nNote that this is compile-tested only. The CI pipeline on source.denx.de\nwas used as an OK/NOK indicator [2]. \n\nThe previous patchset was tested on xilinx_zynqmp_kria_defconfig and since\nthis diff is identical to the previous, it should still work on that\nplatform. With the help of a custom build script [3] and with an additional\npatch [4], I could boot the Kria KV260 board and make it detect a USB SSD\nplugged into one of its USB 3.0 ports. It certainly doesn't mean all\nplatforms using the DWC3 driver are still OK, but at least there is some\nhope. If this breaks your platform I'd like to know, and if you can send a\nfix it's even better.\n\nI tried cherry-picking all the 1000+ patches in v3.19-rc1..v6.16-rc7. There\nwere a few conflicts, even when backing out the original U-Boot patches on\ntop of the original v3.19-rc1 import. However, the resulting state still\ndiverged significantly from [1].\n\nInstead, I've imported each new kernel in a separate commit. That way it's\nvery clear which kernel patches are included. Since there aren't too many\npatches for each kernel I'm listing the relevant commits in the U-Boot\ncommit message for easier reference. I did this with a script so it's easy\nto make changes, if the approach is OK but we need to tune it. With this\napproach it should be easy to tell if a Fixes patch for the kernel might\nalso be needed here.\n\nThanks,\nJens\n\n[1] https://lore.kernel.org/all/20251121153812.2076440-1-jerome.forissier@linaro.org/\n[2] https://source.denx.de/u-boot/custodians/u-boot-tpm/-/pipelines/30004\n[3] https://source.denx.de/u-boot/u-boot-extras/-/raw/master/contrib/jforissier/zynqmp_kv260_build.sh\n[4] https://gitlab.com/Linaro/trustedsubstrate/meta-ts/-/raw/master/meta-trustedsubstrate/recipes-bsp/u-boot/u-boot/zynqmp-kria-starter/0001-kv260-fix-usb.patch\n\nRFC v1 -> RFC v2:\n- Split the v1 (\"usb: dwc3: re-import from kernel v6.16-rc7\") into (\"usb:\n dwc3: restore to original v3.19-rc1 kernel import\"), (\"usb: dwc3: import\n from kernel v3.19)..(\"usb: dwc3: import from kernel v6.16-rc7\")\n\nJens Wiklander (60):\n usb: dwc3: restore to original v3.19-rc1 kernel import\n usb: dwc3: import from kernel v3.19\n usb: dwc3: import from kernel v4.0\n usb: dwc3: import from kernel v4.1\n usb: dwc3: import from kernel v4.2\n usb: dwc3: import from kernel v4.3\n usb: dwc3: import from kernel v4.4\n usb: dwc3: import from kernel v4.5\n usb: dwc3: import from kernel v4.6\n usb: dwc3: import from kernel v4.7\n usb: dwc3: import from kernel v4.8\n usb: dwc3: import from kernel v4.9\n usb: dwc3: import from kernel v4.10\n usb: dwc3: import from kernel v4.11\n usb: dwc3: import from kernel v4.12\n usb: dwc3: import from kernel v4.13\n usb: dwc3: import from kernel v4.14\n usb: dwc3: import from kernel v4.15\n usb: dwc3: import from kernel v4.16\n usb: dwc3: import from kernel v4.17\n usb: dwc3: import from kernel v4.18\n usb: dwc3: import from kernel v4.19\n usb: dwc3: import from kernel v4.20\n usb: dwc3: import from kernel v5.0\n usb: dwc3: import from kernel v5.1\n usb: dwc3: import from kernel v5.2\n usb: dwc3: import from kernel v5.3\n usb: dwc3: import from kernel v5.4\n usb: dwc3: import from kernel v5.5\n usb: dwc3: import from kernel v5.6\n usb: dwc3: import from kernel v5.7\n usb: dwc3: import from kernel v5.8\n usb: dwc3: import from kernel v5.9\n usb: dwc3: import from kernel v5.10\n usb: dwc3: import from kernel v5.11\n usb: dwc3: import from kernel v5.12\n usb: dwc3: import from kernel v5.13\n usb: dwc3: import from kernel v5.14\n usb: dwc3: import from kernel v5.15\n usb: dwc3: import from kernel v5.16\n usb: dwc3: import from kernel v5.17\n usb: dwc3: import from kernel v5.18\n usb: dwc3: import from kernel v5.19\n usb: dwc3: import from kernel v6.0\n usb: dwc3: import from kernel v6.1\n usb: dwc3: import from kernel v6.2\n usb: dwc3: import from kernel v6.3\n usb: dwc3: import from kernel v6.4\n usb: dwc3: import from kernel v6.5\n usb: dwc3: import from kernel v6.6\n usb: dwc3: import from kernel v6.7\n usb: dwc3: import from kernel v6.8\n usb: dwc3: import from kernel v6.9\n usb: dwc3: import from kernel v6.10\n usb: dwc3: import from kernel v6.11\n usb: dwc3: import from kernel v6.12\n usb: dwc3: import from kernel v6.13\n usb: dwc3: import from kernel v6.14\n usb: dwc3: import from kernel v6.15\n usb: dwc3: import from kernel v6.16-rc7\n\nJerome Forissier (4):\n usb: host: re-import xhci-ext-caps.h from kernel v6.16-rc7\n usb: gadget: re-import epautoconf.c from kernel v6.16-rc7\n usb: udc: re-import udc-core.c from kernel v6.16-rc7\n usb: fix build after resync of DWC3 with kernel v6.16-rc7\n\n drivers/usb/cdns3/ep0.c | 8 +-\n drivers/usb/common/common.c | 23 +\n drivers/usb/dwc3/Makefile | 57 +-\n drivers/usb/dwc3/core.c | 1780 ++++++----\n drivers/usb/dwc3/core.h | 1120 +++++--\n drivers/usb/dwc3/debug.h | 432 +++\n drivers/usb/dwc3/dwc3-omap.c | 2 -\n drivers/usb/dwc3/ep0.c | 737 +++--\n drivers/usb/dwc3/gadget.c | 4152 ++++++++++++++++--------\n drivers/usb/dwc3/gadget.h | 124 +-\n drivers/usb/dwc3/glue.h | 36 +\n drivers/usb/dwc3/io.h | 29 +-\n drivers/usb/dwc3/linux-compat.h | 16 -\n drivers/usb/dwc3/samsung_usb_phy.c | 77 -\n drivers/usb/dwc3/ti_usb_phy.c | 2 -\n drivers/usb/gadget/at91_udc.c | 46 -\n drivers/usb/gadget/atmel_usba_udc.c | 102 +-\n drivers/usb/gadget/ci_udc.c | 419 ---\n drivers/usb/gadget/composite.c | 2 +-\n drivers/usb/gadget/dwc2_udc_otg.c | 174 +-\n drivers/usb/gadget/epautoconf.c | 289 +-\n drivers/usb/gadget/ether.c | 21 +-\n drivers/usb/gadget/f_acm.c | 20 +-\n drivers/usb/gadget/f_fastboot.c | 10 +-\n drivers/usb/gadget/f_mass_storage.c | 5 +-\n drivers/usb/gadget/f_rockusb.c | 11 +-\n drivers/usb/gadget/f_sdp.c | 12 +-\n drivers/usb/gadget/f_thor.c | 19 +-\n drivers/usb/gadget/udc/Makefile | 1 +\n drivers/usb/gadget/udc/udc-core.c | 1096 ++++++-\n drivers/usb/host/xhci-dwc3.c | 4 +-\n drivers/usb/host/xhci-ext-caps.h | 158 +\n drivers/usb/host/xhci-exynos5.c | 2 +-\n drivers/usb/mtu3/mtu3_gadget_ep0.c | 16 +-\n drivers/usb/musb-new/musb_gadget_ep0.c | 24 +-\n drivers/usb/musb-new/musb_uboot.c | 39 -\n include/dm/device_compat.h | 13 +\n include/dm/read.h | 46 +\n include/linux/compat.h | 15 +\n include/linux/usb/ch9.h | 25 +-\n include/linux/usb/gadget.h | 520 +--\n include/linux/usb/otg.h | 10 +\n include/linux/usb/phy.h | 56 +\n 43 files changed, 7659 insertions(+), 4091 deletions(-)\n create mode 100644 drivers/usb/dwc3/debug.h\n create mode 100644 drivers/usb/dwc3/glue.h\n delete mode 100644 drivers/usb/dwc3/linux-compat.h\n delete mode 100644 drivers/usb/dwc3/samsung_usb_phy.c\n create mode 100644 drivers/usb/host/xhci-ext-caps.h\n\n\nbase-commit: 0f865ab5d68484b4dc1724809de1be06edc85df1" }