Your best bet would be to look at other people's code to see what they might be setting that you aren't - you only have to get one thing wrong for the DMA engine not to run. You might find something in this thread:
http://forum.osdev.org/viewtopic.php?f=1&t=28944 where someone had a similar problem as a result of not setting some obscure register. If you've gone through all the steps listed there and still can't get it working I'll take a closer look at what you're doing - I haven't worked with HDA for a while and have forgotten a lot of the details, so I'd need to do a bit of revision.