[alsa-devel] [PATCH 4/4 v4] ALSA: usb-audio: Scarlett mixer interface for 6i6, 18i6, 18i8 and 18i20
Chris J Arges
chris.j.arges at canonical.com
Tue Nov 4 20:51:05 CET 2014
On Tue, Nov 04, 2014 at 02:16:13PM +0100, Tobias Hoffmann wrote:
<snip>
> @Chris:
> The original get_ctl_value (after cleanup:
> snd_usb_get_cur_mix_value) contained this:
> > // quirk: write 2bytes, but read 1byte
> > if ( (elem->index == 0x01)|| // input impedance and
> >input pad switch
> > ((elem->index == 0x0a)&&(elem->wValue < 0x0200))|| //
> >bus mutes
> > (elem->index == 0x32)||(elem->index == 0x33) ) { // mux
> > val_len = 1;
> > }
> Is it removed(AFAICT) intentionally in your patches?
> The windows mixer software did read-back some values (but only after
> they had been written once, IIRC), and had this asymmetry that
> certain registers used 2-byte writes but 1-byte reads...
> I'm quite unsure about just reading 2 bytes, i.e. whether the device
> would actually return the correct values.
> OTOH, we should only hit the cache because of the zero-initialization(?).
>
> Tobias
>
Tobias,
I've notcied that the controls work just fine without this hack (at least on my 18i8);
however I can look more closely into this to see what the extra byte that's being read actually is.
--chris
More information about the Alsa-devel
mailing list