On Tue, Oct 5, 2010 at 10:06 AM, Tejun Heo <htejun@xxxxxxxxx> wrote: > Hello, > > On 10/05/2010 04:06 PM, Mark Lord wrote: >> Yeah, maybe something like that. >> >> But do note that I have verified that "hdparm -C" does work correctly, >> and is dependent upon correctly returned result_tf values. >> >> It's not a PIO "data" command, though. Does it get issued the same way? > > PIO Setup FIS is not used for nodata commands. IIRC, nodata uses D2H > Reg FIS for command completion. I think the only exception is PIO > data commands. The weird hack is to satisfy PIO data command protocol > timing requirement stemming from PATA specification. Eh... ugly. >From my reading of the SATA spec, with the PIO data-in protocol, the device can raise a D2H register FIS prior to transmitting data if the command is aborted due to an error, but for normal completion, the state machine just goes back to idle after the last data FIS is transmitted and there's no final D2H register FIS - the final status is set by the last PIO Setup FIS received. According to the AHCI spec, the host adapter is supposed to copy the PIO Setup FIS to memory as well. Presumably when retrieving the result taskfile for such PIO data-in transfers we should be pulling it from that area, not the D2H register FIS area, at least if the device transferred any data? -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html