From nobody Thu Jan 18 00:19:14 2024 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TFjzQ53r0z577hQ for ; Thu, 18 Jan 2024 00:19:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TFjzQ4WWZz4SLf; Thu, 18 Jan 2024 00:19:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1705537154; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=N57Zx1F/52UKU3tdwbxKWCeVyrbVmqgtzi3uyQPbRbk=; b=nTmy9BbKPd/fVLb1qL+U++C9SaOa1sZ3IZ8TTlWhAZblYHrdCKkVnoZHOP1+g0aI7sDLvx 5nxwCq0cGKYkxSOCCzDCw/+JDyLxa0uUVZD5iOOeieVNsiZXM2gUumQJur8UUmLp65wMda t6hwlhkgvsbJ/ALlzr96TMuoWB8VUFbM22TCDXJjZLkMREo/DRSWninKTFxv0AvZeOoQLN GXSRplPi2TSdLrqmntZGfm7AEH5IH7bwxQQwjVqv/BHzGlUlzdLWsK3vFTXr6fvVl6jbf9 cRObzVybI9V3iIj7kdvUvulQq4MZKVGyEhynBVjIBUVRrHyEULmX+X2Dwi2Ndw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1705537154; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=N57Zx1F/52UKU3tdwbxKWCeVyrbVmqgtzi3uyQPbRbk=; b=Guz0n/fP/Rh0hwZrKflyr/l8zsotJrf6mREh7aBR3aTz1WRWq2DJzZyt456ZHlvjg0zzbd vQdQY1/7gV5bHnQw5CqOisjEw1J2YJMWesUro8TPE/XiYLGOtbugr4YxJe/qKKfrnYwTh3 HfA5+qFWHyBkwOV7tSHN2zELO+tL/FyM7m+VtPvvt+mPNjkAtnVu8FkkeKRD4CvDwyitiF 1OfDWOdXqyQZL17wCqZJyC+GG3bCGeS4kYYphzD7XzoOEgZmHlpJPDIvnZbq/Rb+yg8fvs b1w9yuevhbrQQMJl2yEYmG+Zc/UyVk5Xx/q78/EWyGMLPdEaMzwXJ8KCdxgN3g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1705537154; a=rsa-sha256; cv=none; b=ArQutVvdVmxo6MY1G9Ije9W3uRkATIWi76SFODcdfEbWaWI2YI/x02qMtD5x5Z4oFDH8eL Ut+E8zvm6bKbrkSVOGSiefthpCr7PUKHO5Iu5lob3qI5a8m6qt7hdPVZKQv0DqauU+QUkN TVtgPJEHBeVGvc39N4jpno12GZCEwP+FwZubvnC3niXNGne/CEGxeg1shPK/fXnAn79o8/ dKYTeSVhlm5aF3EeaWjknOKCZV1TRd4SQHrl1R7vU0aEqRUBAZGKrvEvymo+EcZZSJjIgZ Z7ubnv/oRT44Y+6oFvbSWgiHp1xI9N/15ARkPPJTCQCVjRE4PcBbZJ/Fkf4L1Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TFjzQ3bLdzlMD; Thu, 18 Jan 2024 00:19:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 40I0JENr051968; Thu, 18 Jan 2024 00:19:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 40I0JEs9051965; Thu, 18 Jan 2024 00:19:14 GMT (envelope-from git) Date: Thu, 18 Jan 2024 00:19:14 GMT Message-Id: <202401180019.40I0JEs9051965@gitrepo.freebsd.org> To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: "Danilo G. Baio" Subject: git: d3c1b26d2f - main - arch-handbook/usb: Fix typo for USB List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-doc-all@freebsd.org X-BeenThere: dev-commits-doc-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dbaio X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d3c1b26d2fb352adb8e5ee74515ab38b99203d17 Auto-Submitted: auto-generated The branch main has been updated by dbaio: URL: https://cgit.FreeBSD.org/doc/commit/?id=d3c1b26d2fb352adb8e5ee74515ab38b99203d17 commit d3c1b26d2fb352adb8e5ee74515ab38b99203d17 Author: Shi-Xin Huang AuthorDate: 2024-01-04 04:55:30 +0000 Commit: Danilo G. Baio CommitDate: 2024-01-18 00:15:27 +0000 arch-handbook/usb: Fix typo for USB There's a missing space between "that" and "frame". Event: Advanced UNIX Programming Course (Fall’23) at NTHU Reviewed by: lwhsu Pull Request: https://github.com/freebsd/freebsd-doc/pull/322 --- documentation/content/en/books/arch-handbook/usb/_index.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/content/en/books/arch-handbook/usb/_index.adoc b/documentation/content/en/books/arch-handbook/usb/_index.adoc index f88db60bc8..13631b52b2 100644 --- a/documentation/content/en/books/arch-handbook/usb/_index.adoc +++ b/documentation/content/en/books/arch-handbook/usb/_index.adoc @@ -93,7 +93,7 @@ The UHCI host controller maintains a framelist with 1024 pointers to per frame d Each transfer consists of one or more packets. The UHCI driver splits large transfers into multiple packets. For every transfer, apart from isochronous transfers, a QH is allocated. For every type of transfer these QHs are collected at a QH for that type. Isochronous transfers have to be executed first because of the fixed latency requirement and are directly referred to by the pointer in the framelist. The last isochronous TD refers to the QH for interrupt transfers for that frame. All QHs for interrupt transfers point at the QH for control transfers, which in turn points at the QH for bulk transfers. The following diagram gives a graphical overview of this: -This results in the following schedule being run in each frame. After fetching the pointer for the current frame from the framelist the controller first executes the TDs for all the isochronous packets in that frame. The last of these TDs refers to the QH for the interrupt transfers for thatframe. The host controller will then descend from that QH to the QHs for the individual interrupt transfers. After finishing that queue, the QH for the interrupt transfers will refer the controller to the QH for all control transfers. It will execute all the subqueues scheduled there, followed by all the transfers queued at the bulk QH. To facilitate the handling of finished or failed transfers different types of interrupts are generated by the hardware at the end of each frame. In the last TD for a transfer the Interrupt-On Completion bit is set by the HC driver to flag an interrupt when the transfer has completed. An error interrupt is flagged if a TD reaches its maximum error count. If the sho rt packet detect bit is set in a TD and less than the set packet length is transferred this interrupt is flagged to notify the controller driver of the completed transfer. It is the host controller driver's task to find out which transfer has completed or produced an error. When called the interrupt service routine will locate all the finished transfers and call their callbacks. +This results in the following schedule being run in each frame. After fetching the pointer for the current frame from the framelist the controller first executes the TDs for all the isochronous packets in that frame. The last of these TDs refers to the QH for the interrupt transfers for that frame. The host controller will then descend from that QH to the QHs for the individual interrupt transfers. After finishing that queue, the QH for the interrupt transfers will refer the controller to the QH for all control transfers. It will execute all the subqueues scheduled there, followed by all the transfers queued at the bulk QH. To facilitate the handling of finished or failed transfers different types of interrupts are generated by the hardware at the end of each frame. In the last TD for a transfer the Interrupt-On Completion bit is set by the HC driver to flag an interrupt when the transfer has completed. An error interrupt is flagged if a TD reaches its maximum error count. If the sh ort packet detect bit is set in a TD and less than the set packet length is transferred this interrupt is flagged to notify the controller driver of the completed transfer. It is the host controller driver's task to find out which transfer has completed or produced an error. When called the interrupt service routine will locate all the finished transfers and call their callbacks. Refer to the UHCI Specification for a more elaborate description.