From nobody Sat Jun 6 20:17:48 2026 X-Original-To: dev-commits-src-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 4gXqNr5YKFz6gL9B for ; Sat, 06 Jun 2026 20:17:48 +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 "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gXqNr4z0cz49dM for ; Sat, 06 Jun 2026 20:17:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780777068; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LwugEEKCRm6fS4/wj82JLCWZTEeZiEY/2feanLxLMG4=; b=tWge/K6ro3yhurLY6DS4LcvLPj4e3ckPGXZlX6JGbR4rWd+p0Zgi88hO9rMGmJpvVqtcNd CWeIZvmQJE7crdPS1t0jY0cf4JT5vuRhlAOZUZj7daEe0GbCzYhAtkYceuDAybX9T+BMAZ fw8Qyd3cZybY/v/dLdn6HPNijEZpTRLDhLcebw+nTeFJ1sHYAmB9n0ezg+Pks+GOw0tQU3 t+G7GKibTqTafq8gGEqKdR4Ncvza+/0GsKYbuqJbi7PIZogGdI96OhPBXgs7uLCiPl2s1q OzEEr81Ws95itGxsWpaK8xbonsiOGS1TrfUyKlpiLnZLVIMR8DtrQ21Gzc05vA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780777068; a=rsa-sha256; cv=none; b=SCD13rP/uuquGNDMFgOhN/3pj/50w90SLb1iqFkaHN2OI9U8ZDdedCPdBy0XJXNIkOIl23 aCxxajLADq1UYeIZdzIDwLYU8ygOIKhDZRt+QdkYrGNoliig712YiJEpZOW5eUqVMluron ADxompKTB5m0zsL8dkqzwIuC+9m2WMVMcthoSTOVBM3VKVmoyAKprcKRaag8WGS+i3Hzn0 bHeSnNtWbg2QraIDdyNOgnB7m3kBoKaV3El9IoWW6H6mCKkO/4LVSqCd2km/ayK484sE2J /KFwjIwkCRo8HL/RPqeAODIWtB0GJNZR1wKkYWQI4azcds8zJGEODYtRvIC0+w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780777068; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LwugEEKCRm6fS4/wj82JLCWZTEeZiEY/2feanLxLMG4=; b=mSi7h/Gvp6Ux34vHb779QRfKZRnodHnZA/j0RL0n+DJuqa3k+zW53u5z8hmi+v+5zRjjoo /11u1RB9H2aJlaOWswQpDwSlGo9ku6SX2H2/uCBYRaJpie7RCQAIdFRw0QnvNSj13opI3z fOtxA3gIkHiUp7nANDvauUwLNvsA0WICcv9nDipaNgYinyHbehN95hBXMvaFZDVhvFkIYN 208Rc5IH1NNH5Du3yWF4XOc8GiQcBcFwBVnnNd5R5yLqA4emgLduNWo21EclX0mJOppYwx +A1Cuhb/yIbJh6e2kgdxRuGk2rOvZXDn+ZGZOlvLns9Fqugnl19yTS+DHGUOug== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gXqNr4NMQzDSx for ; Sat, 06 Jun 2026 20:17:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 41a0b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 06 Jun 2026 20:17:48 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Abdelkader Boudih From: Adrian Chadd Subject: git: 4a299ef19c7e - main - firewire: clean up XXX comments List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4a299ef19c7ed20aca6593a1c01b2dc16d9af1a0 Auto-Submitted: auto-generated Date: Sat, 06 Jun 2026 20:17:48 +0000 Message-Id: <6a24806c.41a0b.604df11a@gitrepo.freebsd.org> The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=4a299ef19c7ed20aca6593a1c01b2dc16d9af1a0 commit 4a299ef19c7ed20aca6593a1c01b2dc16d9af1a0 Author: Abdelkader Boudih AuthorDate: 2026-06-06 20:17:18 +0000 Commit: Adrian Chadd CommitDate: 2026-06-06 20:17:18 +0000 firewire: clean up XXX comments Remove stale and misleading XXX comments throughout firewire.c. Most were from the original 2002 codebase and either described correct behavior or noted aspirational improvements that never happended. Two actionable items retained as TODO: config ROM CRC validation and pending xfer cleanup on detach. Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D57466 --- sys/dev/firewire/firewire.c | 25 +++++++++---------------- 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/sys/dev/firewire/firewire.c b/sys/dev/firewire/firewire.c index a4316a636720..079a50413ffa 100644 --- a/sys/dev/firewire/firewire.c +++ b/sys/dev/firewire/firewire.c @@ -204,7 +204,7 @@ fw_asyreq(struct firewire_comm *fc, int sub, struct fw_xfer *xfer) return EINVAL; } - /* XXX allow bus explore packets only after bus rest */ + /* Reject non-CSR transactions until bus exploration completes */ if ((fc->status < FWBUSEXPLORE) && ((tcode != FWTCODE_RREQQ) || (fp->mode.rreqq.dest_hi != 0xffff) || (fp->mode.rreqq.dest_lo < 0xf0000000) || @@ -305,7 +305,7 @@ fw_asystart(struct fw_xfer *xfer) xfer->q->queued++; #endif FW_GUNLOCK(fc); - /* XXX just queue for mbuf */ + /* Kick DMA for non-mbuf xfers */ if (xfer->mbuf == NULL) xfer->q->start(fc); return; @@ -531,7 +531,7 @@ firewire_detach(device_t dev) callout_stop(&fc->bmr_callout); callout_stop(&fc->busprobe_callout); - /* XXX xfer_free and untimeout on all xfers */ + /* TODO: cancel pending xfers in atq/ats queues */ for (fwdev = STAILQ_FIRST(&fc->devices); fwdev != NULL; fwdev = fwdev_next) { fwdev_next = STAILQ_NEXT(fwdev, link); @@ -688,7 +688,7 @@ fw_reset_crom(struct firewire_comm *fc) bzero(root, sizeof(struct crom_chunk)); crom_add_chunk(src, NULL, root, 0); - crom_add_entry(root, CSRKEY_NCAP, 0x0083c0); /* XXX */ + crom_add_entry(root, CSRKEY_NCAP, 0x0083c0); /* private company_id */ crom_add_entry(root, CSRKEY_VENDOR, CSRVAL_VENDOR_PRIVATE); crom_add_simple_text(src, root, &buf->vendor, "FreeBSD Project"); @@ -1249,7 +1249,6 @@ fw_phy_config(struct firewire_comm *fc, int root_node, int gap_count) if (gap_count >= 0) fp->mode.ld[1] |= (1 << 22) | (gap_count & 0x3f) << 16; fp->mode.ld[2] = ~fp->mode.ld[1]; -/* XXX Dangerous, how to pass PHY packet to device driver */ fp->mode.common.tcode |= FWTCODE_PHY; if (firewire_debug) @@ -1328,7 +1327,6 @@ void fw_sidrcv(struct firewire_comm *fc, uint32_t *sid, u_int len) node = self_id->p0.phy_id; if (fc->max_node < node) fc->max_node = self_id->p0.phy_id; - /* XXX I'm not sure this is the right speed_map */ fc->speed_map->speed[node][node] = self_id->p0.phy_speed; for (j = 0; j < node; j++) { @@ -1477,7 +1475,7 @@ fw_explore_csrblock(struct fw_device *fwdev, int offset, int recur) if (err) return (-1); - /* XXX check CRC */ + /* TODO: validate directory CRC */ off = CSRROMOFF + offset + sizeof(uint32_t) * (dir->crc_len - 1); if (fwdev->rommax < off) @@ -2062,10 +2060,8 @@ fw_rcv(struct fw_rcv_buf *rb) printf("receive queue is full\n"); return; } - /* XXX get xfer from xfer queue, we don't need copy for - per packet mode */ - rb->xfer = fw_xfer_alloc_buf(M_FWXFER, 0, /* XXX */ - vec[0].iov_len); + rb->xfer = fw_xfer_alloc_buf(M_FWXFER, 0, + vec[0].iov_len); if (rb->xfer == NULL) return; fw_rcv_copy(rb) @@ -2170,7 +2166,7 @@ fw_try_bmr(void *arg) #ifdef FW_VMACCESS /* * Software implementation for physical memory block access. - * XXX:Too slow, useful for debug purpose only. + * Debug only, too slow for production use. */ static void fw_vmaccess(struct fw_xfer *xfer) @@ -2193,7 +2189,6 @@ fw_vmaccess(struct fw_xfer *xfer) } rfp = (struct fw_pkt *)xfer->recv.buf; switch (rfp->mode.hdr.tcode) { - /* XXX need fix for 64bit arch */ case FWTCODE_WREQB: xfer->send.buf = malloc(12, M_FW, M_NOWAIT); xfer->send.len = 12; @@ -2287,15 +2282,13 @@ fw_bmr(struct firewire_comm *fc) /* Check to see if the current root node is cycle master capable */ self_id = fw_find_self_id(fc, fc->max_node); if (fc->max_node > 0) { - /* XXX check cmc bit of businfo block rather than contender */ if (self_id->p0.link_active && self_id->p0.contender) cmstr = fc->max_node; else { device_printf(fc->bdev, "root node is not cycle master capable\n"); - /* XXX shall we be the cycle master? */ + /* TODO: issue PHY config to force root change + bus reset */ cmstr = fc->nodeid; - /* XXX need bus reset */ } } else cmstr = -1;