Hi Jacob, On Sun, Jun 28, 2009 at 04:50:41PM +0000, Jacob Meuser wrote: > the audio codec is the same. the bus architecture differs. cs4231(4) > uses sbus while ce4231(4) uses ebus.
I can't send a diff, as my disk died. Hopefully new one on the way soon. I can describe what I have gathered so far. Comments encouraged, as I am not very confident with kernel hacking yet: a) The mixer controls need to be reversed. A lower mixer control is louder to the card (or something elsewhere is reversing the controls). b) The range of volumes on the card is 0-64, where 0 is max. In the patch you sent you were multiplying by 4 (<< 2). I think it need to be divided by 4 (>> 2). c) The set_port() function seems to write straight to the card, whereas the cs4231 (sparc/dev) driver only modifies the volumes struct here. It must be updating later. Didn't get a chance to look before the disk died. Which do you think is right? d) It seems the current ce4231 driver modifies the master volume control whereas the cs4231 code changes one of the aux ports. Again, did not get a chance to test. Any ideas which is correct? It did seem that the master volume was clashing with that you told the dac to be. Sorry it is vague in areas. I blame the disk :) Thanks -- Best Regards Edd Barrett (Freelance software developer / technical writer / open-source developer) http://students.dec.bmth.ac.uk/ebarrett