A lot of reports about aspire one issues lead me to think the mic IC processing is the same as on this acer ferrari one 200.
Looking at alsa-driver-aspire_one-v1.09 assembly I see that it setup the bdl entries to point to a capture buffer which it then split in two buffers : namely mic and speaker . This split happens by moving the first 32 bits to mic , the next 32 to speaker , then to mic and so forth. azx_pcm_hw formats is set to S16 LE. I was wondering about the the 32 bits step between mic and speaker buffer and ended up on azx_pcm_preapre where for the capture case snd_hda_calc_stream_format is hardcoded a number of channels of 4.
My issue is I attempted the same trick and it seems I still miss something . Ie the azx_dev->format passed in azx_setup_controller to SD_FORMAT registry is incremented by 3 namely 0x33 . Though I still miss half of each samples same as when I was passing runtime->channels ie 2 and 0x31.
The codec is ALC272X ATI SB.
Best regards, Alban Browaeys