On 4/10/25 23:04, Niklas Cassel wrote: > On Thu, Apr 10, 2025 at 03:02:33PM +0200, Niklas Cassel wrote: >> >> I guess now when we do have access to the information, the most consistent >> thing would be to fill all field we can in qc->result_tf... but, to do this >> for every IO might slow things down. >> >> So is there perhaps some logic to only filling LBA (in addition to STATUS >> and ERROR, which are filled for all NCQ commands), since that is the only >> field that can change, as per the specs. > > Looking at this more closely: > https://github.com/torvalds/linux/blob/v6.15-rc1/include/linux/libata.h#L574-L577 > > FEATURE is a union with ERROR, so we cannot save it in qc->result_tf. > > COMMAND is a union with STATUS, so we cannot save it in qc->result_tf. > > > The sense data descriptor does not provide AUXILIARY, nor DEVICE, > so we cannot save these. > > > I will send a v3 that does populate COUNT (7:0) and COUNT (15:8), > since it is only so few fields that we do have, we might as well > populate them properly. +1 > > > Kind regards, > Niklas -- Damien Le Moal Western Digital Research