[PATCH v2 05/25] docs/zh_CN: Add dwc3.rst translation
#UpdatedFrom:macrofun <baikefan@leap-io-kernel.com>
Date:
Message-ID:<4a79847a217b15e5192df733d0339c19a66e1f31.1763897036.git.baikefan@leap-io-kernel.com>
Patch:v2 · 5/25
Language:zh_CN
Patch-ID:7dae3f205bcd6c13affecbd53a15ca3bf959b2ad
Files:
Documentation/translations/zh_CN/usb/dwc3.rstLinks:lore message ↗ · raw mail ↗
Patch content 1 changed file
Translate .../usb/dwc3.rst into Chinese. Update the translation through commit ecefae6db042("docs: usb: rename files to .rst and add them to drivers-api") Signed-off-by: macrofun <baikefan@leap-io-kernel.com>--- Documentation/translations/zh_CN/usb/dwc3.rst | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 Documentation/translations/zh_CN/usb/dwc3.rst diff --git a/Documentation/translations/zh_CN/usb/dwc3.rst b/Documentation/translations/zh_CN/usb/dwc3.rstnew file mode 100644index 000000000000..63ee43278ffe--- /dev/null+++ b/Documentation/translations/zh_CN/usb/dwc3.rst@@ -0,0 +1,59 @@+.. SPDX-License-Identifier: GPL-2.0+.. include:: ../disclaimer-zh_CN.rst++:Original: Documentation/usb/dwc3.rst+:翻译:++ 白钶凡 Kefan Bai <baikefan@leap-io-kernel.com>++:校译:++++==========+DWC3 驱动+==========+++待完成+~~~~~~++阅读时请随便挑点儿东西做 :)++- 将中断处理程序转换为基于每端点线程的IRQ++ 事实证明,一些DWC3命令大约需要~1ms才能完成。+ 当前代码会一直自旋等待命令完成,这是不好的设计。++ 实现思路:++ - DWC core实现了一个用于按端点解复用中断的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()返回后,确认事件计数器,使中断最终消失。++ - 设备的中断处理线程+ 无++ - EP中断的处理主程序+ 读取事件并尝试处理它。所有需要休眠的操作都交给线程处理。+ 事件保存在每个端点的数据结构中。+ 需要注意:一旦将某些处理交给线程,就不要在这里继续处理事件,+ 避免出现处理事件X优先级高于Y而X > Y的情况。++ - EP中断的处理线程+ 处理剩余的EP工作,这些工作可能会休眠,例如等待命令完成。++ 延迟:++ 延迟不应该增加,因为中断线程具有较高优先级,会在用户空间普通任务之前运行+ (除非用户更改了调度优先级)。-- 2.52.0