Re: WIP: ATA to CAM integration

From: Alexander Motin <mav_at_FreeBSD.org>
Date: Fri, 05 Jun 2009 20:05:34 +0300
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
Received on Fri Jun 05 2009 - 15:05:43 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:49 UTC