Hi, I'm (again) considering adding NCQ support to the ATA subsystem.
I've gained some experience with out of order transaction completion in a virtio block driver I've worked on, however that was rather simplistic compared to shoehorning it into existing and somewhat dissimilar code. I am rather bewildered by the prospects of redesigning the whole ATA subsystem. Basically, I am looking for ideas on a proper design of NCQ support, so any pointers on where to start would be appreciated. Jonathan Kollasch