There shouldn't be any addition of controls, etc, at this point. Just do load the firmware. This is the very first start.
I can help debugging or give review / advise. But obviously you are at the better position start writing it since you have the test hardware and the firmware data, both of which are missing for other developers (including me).
Once when a draft patch is ready or you face to a problem, let me know.
Ok, thanks. We do seem to be having problems in the DSP load prepare function:
void *(*load_dsp_prepare)(struct hda_codec *codec, unsigned int format, unsigned int byte_size);
This is the place where the buffer gets allocated, and BDL and DMA set up, and the pointer returned. Is there any sample code or other info you could provide, to give us a better idea of how the function and these actions should be implemented?
Thanks very much, - Ian