Date: Fri, 05 Jun 2009 20:05:34 +0300 From: Alexander Motin <mav@FreeBSD.org> To: Gary Corcoran <gcorcoran@rcn.com> Cc: FreeBSD-Current <freebsd-current@freebsd.org>, freebsd-arch@freebsd.org Subject: Re: WIP: ATA to CAM integration Message-ID: <4A29505E.6070902@FreeBSD.org> In-Reply-To: <4A294AD1.6040809@rcn.com> References: <4A254B45.8050800@mavhome.dp.ua> <200906050703.n5573x5Q071765@apollo.backplane.com> <200906051601.n55G10Mi075734@apollo.backplane.com> <4A294AD1.6040809@rcn.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Gary Corcoran wrote: > suggests strongly that you many not send multiple commands out to a single > port multiplier. However, I agree that it's not crystal clear, and may not > be what was intended. AHCI rev. 1.3: 9.3 FIS-based Switching FIS-based switching requires the HBA to keep track of additional device specific context within each HBA port. The HBA must be able to issue commands to a device while there are still commands outstanding to other devices that are connected to the same host port through the Port Multiplier. The HBA must be able to switch DMA context on the fly; e.g. a Data FIS is received from target X, followed by a Data FIS from target X+1. 9.3.1.1.1 Enable When FIS-based switching is enabled, the hardware shall maintain a distinct BSY/DRQ bit for up to 16 devices. These bits are distinguished in the state machine as the pBsy and pDrq arrays. Hardware shall fetch commands in such a way as to try to ensure commands are issued to all devices that have BSY/DRQ cleared to ‘0’ and have commands in the command list. Instances of the BSY/DRQ bits are updated based on the Port Multiplier port field in Device to Host FISes. -- Alexander Motin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4A29505E.6070902>