Hi, I am trying to build a SATA driver for our Fiasco.OC personality. The h/w is a Intel 82801J IOCH in a PC platform.
I get can pick up the device in the PCI, get BAR5 and map in the control registers. I then initialize the card (into AHCI mode), set up memory (command list and command tables) and try to do an IDENTIFY_DEVICE command. The command issues, and returns a PIO Setup FIS (type 5f). PxTFD.STS.DRQ=1 PxTFD.STS.BSY=0 PxSERR=0 PxSACT=1. The PIO setup FIS indicates a transfer count of 512 bytes (which is correct). All good so far, but then no interrupt happens and no more FISes appear - and I don't know what to do next. The same behavior occurs on another PC platform with a IOCH9 controller.
I have not done anything w.r.t. configuring or re-routing IRQs in the PCI subsystem (a black hole to me). Is there something that is a must that I'm clearly missing here??
Any clues, much appreciated.
Daniel