It's possible that the recently-added sys/dev/ic/mvsata driver might
work better, but I'm not at all sure of the value to which some of the
fields in the struct mvsata_product should be initialized. (What is the
'hc' member? Is 'ports' the number of ports? Is it more likely to be a
gen1 or gen2e?)
Page down to the definition of mvsata_attach().
If it is a SATA II controller then it looks like it should be 'gen2',
you know that it is PCIe as well.
Why not start with the minimum number of ports and controllers and work
up ? Is the drive plugged into the lowest numbered connector ?