Re: Initial ahci(4) NCQ support on jdolecek-ncq branch, test/review wanted

2017-04-19 Thread Jonathan A. Kollasch
On Thu, Apr 20, 2017 at 12:25:47AM +0200, Jaromír Doleček wrote:
> Hi,
> 
> I've committed the initial NCQ support, it's available at jdolecek-ncq
> branch (branch only over sys). It works under Parallels for now, and
> is ready for brave adventurers. There is sys/dev/ata/TODO.ncq which
> you might want to check, also.
> 
> If people want to try it out and give feedback, I'd really appreciate it.
> 
> I'll be busy for next 2-3 weeks elsewhere, so probably won't have too
> much time for bugfixing during the time. After that I plan to start
> testing with real hardware, and look on remaining bugs.
> 
> One of the more annoying bugs right now is that AHCI NCQ transfers
> pretty frequently timeout for me under Parallels. Maybe interrupt
> handling is not quite right yet in the driver. I only got so far to
> note that every transfer gets two interrupts, one with IS 0x8 and one
> 0x0 The 0x8 is Set device bit and is expected for NCQ, the other not
> so much.
> My understanding of ATA and AHCI specs is not good enough yet, so if
> somebody could look there and sanity check, I would be really glad.
> 
> Also, I've not modified mvsata(4) and siisata(4) drivers yet to enable
> NCQ. While the drivers seem to be mostly prepared, I lack the
> hardware, so have no way to test. I would really appreciate if folks
> with the hardware could check it out and possibly provide patches to
> enable the support there.

I plan to look at siisata(4).  I've got mvsata(4) hardware too.

> Last but not least, there is simply no consideration in AHCI for PMP
> in the changes. I have no idea if it needs special support. I hope
> not, but would be nice if our PMP experts would sanity check.
 
I've also got a port multiplier enclosure.  I suspect there may need to
be adjustments to the PMP paths.

Thanks for looking at this!  I'd been threatening to look at this for a
decade!

Jonathan Kollasch


Initial ahci(4) NCQ support on jdolecek-ncq branch, test/review wanted

2017-04-19 Thread Jaromír Doleček
Hi,

I've committed the initial NCQ support, it's available at jdolecek-ncq
branch (branch only over sys). It works under Parallels for now, and
is ready for brave adventurers. There is sys/dev/ata/TODO.ncq which
you might want to check, also.

If people want to try it out and give feedback, I'd really appreciate it.

I'll be busy for next 2-3 weeks elsewhere, so probably won't have too
much time for bugfixing during the time. After that I plan to start
testing with real hardware, and look on remaining bugs.

One of the more annoying bugs right now is that AHCI NCQ transfers
pretty frequently timeout for me under Parallels. Maybe interrupt
handling is not quite right yet in the driver. I only got so far to
note that every transfer gets two interrupts, one with IS 0x8 and one
0x0 The 0x8 is Set device bit and is expected for NCQ, the other not
so much.
My understanding of ATA and AHCI specs is not good enough yet, so if
somebody could look there and sanity check, I would be really glad.

Also, I've not modified mvsata(4) and siisata(4) drivers yet to enable
NCQ. While the drivers seem to be mostly prepared, I lack the
hardware, so have no way to test. I would really appreciate if folks
with the hardware could check it out and possibly provide patches to
enable the support there.

Last but not least, there is simply no consideration in AHCI for PMP
in the changes. I have no idea if it needs special support. I hope
not, but would be nice if our PMP experts would sanity check.

Jaromir