From: Kefan Bai Date: Thu, 21 May 2026 09:55:10 +0000 (+0800) Subject: docs/zh_CN: Add dwc3.rst translation X-Git-Tag: v7.2-rc1~68^2~57 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c5ae290c534e916252510c0e92b857c3523e7e7c;p=thirdparty%2Flinux.git docs/zh_CN: Add dwc3.rst translation Translate .../usb/dwc3.rst into Chinese Update the translation through commit ecefae6db042 ("docs: usb: rename files to .rst and add them to drivers-api") Reviewed-by: Yanteng Si Signed-off-by: Kefan Bai Link: https://patch.msgid.link/1fd5678e36ebeb4f37e224a59136ef4f4dcc8340.1779355170.git.baikefan@leap-io-kernel.com Signed-off-by: Greg Kroah-Hartman --- diff --git a/Documentation/translations/zh_CN/usb/dwc3.rst b/Documentation/translations/zh_CN/usb/dwc3.rst new file mode 100644 index 0000000000000..3468ce50c5baa --- /dev/null +++ b/Documentation/translations/zh_CN/usb/dwc3.rst @@ -0,0 +1,63 @@ +.. SPDX-License-Identifier: GPL-2.0 +.. include:: ../disclaimer-zh_CN.rst + +:Original: Documentation/usb/dwc3.rst + +:翻译: + + 白钶凡 Kefan Bai + +:校译: + + +========= +DWC3 驱动 +========= + + +待办 +~~~~ + +阅读时如果想顺手认领点任务,可以从下面挑一项 :) + +- 将中断处理程序改为每个端点各自使用线程化 IRQ + + 事实证明,有些 DWC3 命令大约需要 ``~1 ms`` 才能完成。 + 当前代码会一直自旋等待命令完成,这种设计并不好。 + + 实现思路: + + - DWC 核心实现了一个按端点对中断进行解复用的 IRQ 控制器。 + 中断号在探测(``probe``)阶段分配,并归属于该设备。 + 如果硬件通过 ``MSI`` 为每个端点提供独立中断, + 那么这个“虚拟”IRQ 控制器就可以被真实的端点中断取代。 + + - 在调用 ``usb_ep_enable()`` 时请求并分配中断资源, + 在调用 ``usb_ep_disable()`` 时释放中断资源。 + 最坏情况下需要 32 个中断,最少是 ``ep0/1`` 的两个中断。 + - ``dwc3_send_gadget_ep_cmd()`` 将在 ``wait_for_completion_timeout()`` + 中休眠,直到命令完成。 + - 中断处理程序分为以下几个部分: + + - 设备级主中断处理程序 + 遍历每个事件,并对其调用 ``generic_handle_irq()``。 + 从 ``generic_handle_irq()`` 返回后,确认事件计数器,使中断最终消失。 + + - 设备级线程化处理程序 + 无。 + + - 端点中断的主处理程序 + 读取事件并尽量处理它。凡是需要睡眠的操作都交给线程处理。 + 事件保存在每个端点的数据结构中。 + 还要注意,一旦把某项工作交给线程处理, + 就不要再在主处理程序里处理它, + 以免出现优先级反转之类的问题。 + + - 端点中断的线程化处理程序 + 处理剩余的端点工作,这些工作可能会睡眠,例如等待命令完成。 + + 延迟: + + 不应增加延迟,因为中断线程具有较高优先级, + 会在普通用户态任务之前运行 + (除非用户更改了调度优先级)。 diff --git a/Documentation/translations/zh_CN/usb/index.rst b/Documentation/translations/zh_CN/usb/index.rst index e6d0a4fceff7b..7c739627077b5 100644 --- a/Documentation/translations/zh_CN/usb/index.rst +++ b/Documentation/translations/zh_CN/usb/index.rst @@ -20,10 +20,10 @@ USB 支持 acm authorization chipidea + dwc3 Todolist: -* dwc3 * ehci * usbmon * functionfs