17 Jun, 2016

1 commit

  • To allow for structure randomisation, replace the in order struct
    initialisation style with explicit field style.

    The Coccinelle semantic patch used to make this change is as follows:

    @decl@
    identifier i1,fld;
    type T;
    field list[n] fs;
    @@

    struct i1 {
    fs
    T fld;
    ...};

    @@
    identifier decl.i1,i2,decl.fld;
    expression e;
    position bad.p, bad.fix;
    @@

    struct i1 i2@p = { ...,
    + .fld = e
    - e@fix
    ,...};

    Signed-off-by: Amitoj Kaur Chawla
    Signed-off-by: Takashi Iwai

    Amitoj Kaur Chawla
     

12 Apr, 2016

1 commit

  • This is Dell usb dock audio workaround.
    It was fixed the master volume keep lower.

    [Some background: the patch essentially skips the controls of a couple
    of FU volumes. Although the firmware exposes the dB and the value
    information via the usb descriptor, changing the values (we set the
    min volume as default) screws up the device. Although this has been
    fixed in the newer firmware, the devices are shipped with the old
    firmware, thus we need the workaround in the driver side. -- tiwai]

    Signed-off-by: Kailang Yang
    Cc:
    Signed-off-by: Takashi Iwai

    Kailang Yang
     

14 Dec, 2015

1 commit

  • AudioQuest DragonFly DAC reports a volume control range of 0..50
    (0x0000..0x0032) which in USB Audio means a range of 0 .. 0.2dB, which
    is obviously incorrect and would cause software using the dB information
    in e.g. volume sliders to have a massive volume difference in 100..102%
    range.

    Commit 2d1cb7f658fb ("ALSA: usb-audio: add dB range mapping for some
    devices") added a dB range mapping for it with range 0..50 dB.

    However, the actual volume mapping seems to be neither linear volume nor
    linear dB scale, but instead quite close to the cubic mapping e.g.
    alsamixer uses, with a range of approx. -53...0 dB.

    Replace the previous quirk with a custom dB mapping based on some basic
    output measurements, using a 10-item range TLV (which will still fit in
    alsa-lib MAX_TLV_RANGE_SIZE).

    Tested on AudioQuest DragonFly HW v1.2. The quirk is only applied if the
    range is 0..50, so if this gets fixed/changed in later HW revisions it
    will no longer be applied.

    v2: incorporated Takashi Iwai's suggestion for the quirk application
    method

    Signed-off-by: Anssi Hannula
    Cc:
    Signed-off-by: Takashi Iwai

    Anssi Hannula
     

29 Jul, 2015

1 commit


03 Jun, 2015

1 commit


19 Dec, 2014

1 commit

  • The Arcam rPAC seems to have the same problem - whenever anything
    (alsamixer, udevd, 3.9+ kernel from 60af3d037eb8c, ..) attempts to
    access mixer / control interface of the card, the firmware "locks up"
    the entire device, resulting in
    SNDRV_PCM_IOCTL_HW_PARAMS failed (-5): Input/output error
    from alsa-lib.

    Other operating systems can somehow read the mixer (there seems to be
    playback volume/mute), but any manipulation is ignored by the device
    (which has hardware volume controls).

    Cc:
    Signed-off-by: Jiri Jaburek
    Signed-off-by: Takashi Iwai

    Jiri Jaburek
     

11 Nov, 2014

1 commit


17 Feb, 2014

1 commit


20 Dec, 2013

1 commit

  • Plantronics Gamecom 780 headset has a firmware problem, and when the
    FU 0x09 volume is changed, it results in either too loud or silence
    except for a very narrow range. This patch provides a workaround,
    ignoring the node, initialize the volume in a sane value and keep
    untouched.

    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=65251
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

11 Feb, 2013

1 commit

  • Adds quirks and mixer support for the M-Audio Fast Track C600 USB
    audio interface. This device is very similar to the C400 - the C600
    simply has some more inputs and outputs, so the existing C400 support
    is extended to support this device as well.

    Signed-off-by: Matt Gruskin
    Signed-off-by: Takashi Iwai

    Matt Gruskin
     

14 Jan, 2013

1 commit


20 Jun, 2012

2 commits


15 Apr, 2012

1 commit


01 Jun, 2010

1 commit


12 Mar, 2010

1 commit