tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

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



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


Home | Main Index | Thread Index | Old Index