04 Dec, 2020

1 commit


28 Nov, 2020

3 commits

  • HP Spectre x360 Convertible 15" version (SSID 103c:827f) needs the
    same quirk to make the mute LED working like other models.
    System Information
    Manufacturer: HP
    Product Name: HP Spectre x360 Convertible 15-bl1XX

    Sound Codec:
    Codec: Realtek ALC295
    Vendor Id: 0x10ec0295
    Subsystem Id: 0x103c827f
    Revision Id: 0x100002

    Reported-by:
    Cc:
    Link: https://lore.kernel.org/r/20201128090015.7743-1-tiwai@suse.de
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • ASUS Zephyrus G14 has two speaker pins, and the auto-parser tries to
    assign an individual DAC to each pin as much as possible.
    Unfortunately the third DAC has no volume control unlike the two DACs,
    and this resulted in the inconsistent speaker volumes.

    As a workaround, wire both speaker pins to the same DAC by modifying
    the existing quirk (ALC289_FIXUP_ASUS_GA401) applied to this device.
    Since this quirk entry is chained by another, we need to avoid
    applying the DAC assignment change for it. Luckily, there is another
    quirk entry (ALC289_FIXUP_ASUS_GA502) doing the very same thing, so we
    can chain to the GA502 quirk instead.

    Note that this patch uses a new flag of the generic parser,
    obey_preferred_dacs, for enforcing the DACs.

    BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=210359
    Cc:
    Link: https://lore.kernel.org/r/20201127141104.11041-2-tiwai@suse.de
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • The generic parser accepts the preferred_dacs[] pairs as a hint for
    assigning a DAC to each pin, but this hint doesn't work always
    effectively. Currently it's merely a secondary choice after the trial
    with the path index failed. This made sometimes it difficult to
    assign DACs without mimicking the connection list and/or the badness
    table.

    This patch adds a new flag, obey_preferred_dacs, that changes the
    behavior of the parser. As its name stands, the parser obeys the
    given preferred_dacs[] pairs by skipping the path index matching and
    giving a high penalty if no DAC is assigned by the pairs. This mode
    will help for assigning the fixed DACs forcibly from the codec
    driver.

    Cc:
    Link: https://lore.kernel.org/r/20201127141104.11041-1-tiwai@suse.de
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

27 Nov, 2020

3 commits


26 Nov, 2020

1 commit


25 Nov, 2020

1 commit

  • Fix to return a negative error code from the error handling case
    instead of 0 in function wm_adsp_load(), as done elsewhere in this
    function.

    Fixes: 170b1e123f38 ("ASoC: wm_adsp: Add support for new Halo core DSPs")
    Reported-by: Hulk Robot
    Signed-off-by: Luo Meng
    Acked-by: Richard Fitzgerald
    Link: https://lore.kernel.org/r/20201123133839.4073787-1-luomeng12@huawei.com
    Signed-off-by: Mark Brown

    Luo Meng
     

24 Nov, 2020

2 commits

  • Some laptops like ASUS UX482EG & B9400CEA's headset audio does not work
    until the quirk ALC294_FIXUP_ASUS_HPE is applied.

    Signed-off-by: Jian-Hong Pan
    Cc:
    Link: https://lore.kernel.org/r/20201124092024.179540-1-jhp@endlessos.org
    Signed-off-by: Takashi Iwai

    Jian-Hong Pan
     
  • Fix enabling BCLK and LRCLK only when LPAIF is invalid state and
    bit clock in enable state.
    In device suspend/resume scenario LPAIF is going to reset state.
    which is causing LRCLK disable and BCLK enable.
    Avoid such inconsitency by removing unnecessary cpu dai prepare API,
    which is doing LRCLK enable, and by maintaining BLCK state information.

    Fixes: 7e6799d8f87d ("ASoC: qcom: lpass-cpu: Enable MI2S BCLK and LRCLK together")

    Signed-off-by: V Sujith Kumar Reddy
    Signed-off-by: Srinivasa Rao Mandadapu
    Link: https://lore.kernel.org/r/1606148273-17325-1-git-send-email-srivasam@codeaurora.org
    Signed-off-by: Mark Brown

    Srinivasa Rao Mandadapu
     

22 Nov, 2020

1 commit


20 Nov, 2020

3 commits

  • This platform only had one audio jack.
    If it plugged speaker then replug with speaker or headset, the sound
    tone will change to abnormal.
    Headset Mic also can't record when this issue was happen.

    [ Added a short comment about the COEF by tiwai ]

    Signed-off-by: Kailang Yang
    Cc:
    Link: https://lore.kernel.org/r/593c777dcfef4546aa050e105b8e53b5@realtek.com
    Signed-off-by: Takashi Iwai

    Kailang Yang
     
  • …t/broonie/sound into for-linus

    ASoC: Fixes for v5.11

    A collection of driver specific fixes, mostly for x86 systems (or CODECs
    used mostly on x86) and all for relatively minor issues, the biggest one
    being fixing S24_LE format on Keem Bay systems.

    Takashi Iwai
     
  • The code change for switching to non-atomic mode brought the
    unexpected mutex deadlock in get_msg(). It converted the spinlock
    with the existing mutex, but there were calls with the already holding
    the mutex. Since the only place that needs the extra lock is the code
    path from snd_mixart_send_msg(), remove the mutex lock in get_msg()
    and apply in the caller side for fixing the mutex deadlock.

    Fixes: 8d3a8b5cb57d ("ALSA: mixart: Use nonatomic PCM ops")
    Reported-by: Dan Carpenter
    Cc:
    Link: https://lore.kernel.org/r/20201119121440.18945-1-tiwai@suse.de
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

19 Nov, 2020

3 commits

  • The HP Pavilion x2 Detachable line comes in many variants:

    1. Bay Trail SoC + AXP288 PMIC, Micro-USB charging (10-k010nz, ...)
    DMI_SYS_VENDOR: "Hewlett-Packard"
    DMI_PRODUCT_NAME: "HP Pavilion x2 Detachable PC 10"
    DMI_BOARD_NAME: "8021"

    2. Bay Trail SoC + AXP288 PMIC, Type-C charging (10-n000nd, 10-n010nl, ...)
    DMI_SYS_VENDOR: "Hewlett-Packard"
    DMI_PRODUCT_NAME: "HP Pavilion x2 Detachable"
    DMI_BOARD_NAME: "815D"

    3. Cherry Trail SoC + AXP288 PMIC, Type-C charging (10-n101ng, ...)
    DMI_SYS_VENDOR: "HP"
    DMI_PRODUCT_NAME: "HP Pavilion x2 Detachable"
    DMI_BOARD_NAME: "813E"

    4. Cherry Trail SoC + TI PMIC, Type-C charging (10-p002nd, 10-p018wm, ...)
    DMI_SYS_VENDOR: "HP"
    DMI_PRODUCT_NAME: "HP x2 Detachable 10-p0XX"
    DMI_BOARD_NAME: "827C"

    5. Cherry Trail SoC + TI PMIC, Type-C charging (x2-210-g2, ...)
    DMI_SYS_VENDOR: "HP"
    DMI_PRODUCT_NAME: "HP x2 210 G2"
    DMI_BOARD_NAME: "82F4"

    Variant 1 needs the exact same quirk as variant 2, so relax the DMI check
    for the existing quirk a bit so that it matches both variant 1 and 2
    (note the other variants will still not match).

    Variant 2 already has an existing quirk (which now also matches variant 1)

    Variant 3 uses a cx2072x codec, so is not applicable here.

    Variant 4 almost works with the defaults, but it also needs a quirk to
    fix jack-detection, add a new quirk for this.

    Variant 5 does use a RT5640 codec (based on old dmesg output), but was
    otherwise not tested, keep using the defaults for this variant.

    Fixes: ec8e8418ff7d ("ASoC: Intel: bytcr_rt5640: Add quirks for various devices")
    Signed-off-by: Hans de Goede
    Acked-by: Pierre-Louis Bossart
    Link: https://lore.kernel.org/r/20201118121515.11441-1-hdegoede@redhat.com
    Signed-off-by: Mark Brown

    Hans de Goede
     
  • CONFIG_PCI=n leads to a compile warning like:
    sound/pci/hda/patch_ca0132.c:8214:10: warning: no case matching constant switch condition '0'
    due to the missed handling of QUIRK_NONE in ca0132_mmio_init().
    Fix it.

    Fixes: bf2aa9ccc8e5 ("ALSA: hda/ca0132 - Cleanup ca0132_mmio_init function.")
    Reported-by: kernel test robot
    Link: https://lore.kernel.org/r/20201119120404.16833-1-tiwai@suse.de
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • In kabylake_set_bias_level(), enabling mclk may fail if the clock has
    already been enabled by the firmware. Attempts to disable that clock
    later will fail with a warning backtrace.

    mclk already disabled
    WARNING: CPU: 2 PID: 108 at drivers/clk/clk.c:952 clk_core_disable+0x1b6/0x1cf
    ...
    Call Trace:
    clk_disable+0x2d/0x3a
    kabylake_set_bias_level+0x72/0xfd [snd_soc_kbl_rt5663_rt5514_max98927]
    snd_soc_card_set_bias_level+0x2b/0x6f
    snd_soc_dapm_set_bias_level+0xe1/0x209
    dapm_pre_sequence_async+0x63/0x96
    async_run_entry_fn+0x3d/0xd1
    process_one_work+0x2a9/0x526
    ...

    Only disable the clock if it has been enabled.

    Fixes: 15747a802075 ("ASoC: eve: implement set_bias_level function for rt5514")
    Cc: Brent Lu
    Cc: Curtis Malainey
    Signed-off-by: Guenter Roeck
    Link: https://lore.kernel.org/r/20201111205434.207610-1-linux@roeck-us.net
    Signed-off-by: Mark Brown

    Guenter Roeck
     

17 Nov, 2020

6 commits

  • Found one more Logitech device, BCC950 ConferenceCam, which needs
    the same delay here. This makes 3 out of 3 devices I have tried.

    Therefore, add a delay for all Logitech devices as it does not hurt.

    Signed-off-by: Joakim Tjernlund
    Cc: # 4.19.y, 5.4.y
    Link: https://lore.kernel.org/r/20201117122803.24310-1-joakim.tjernlund@infinera.com
    Signed-off-by: Takashi Iwai

    Joakim Tjernlund
     
  • Mark Brown
     
  • During stream start DSP firmware requires LPCS disabled as that moment in
    time is resource heavy. Currently high-clock is selected on start of
    second stream onwards while low-clock is re-selected before stream
    actually leaves RESUME state i.e. PAUSE_STREAM call. Fix this by always
    updating clock before RESUME_STREAM and directly after PAUSE_STREAM.

    Fixes: a126750fc865 ("ASoC: Intel: catpt: PCM operations")
    Signed-off-by: Cezary Rojewski
    Link: https://lore.kernel.org/r/20201116133332.8530-3-cezary.rojewski@intel.com
    Signed-off-by: Mark Brown

    Cezary Rojewski
     
  • Playing with very low period sizes may lead to timeouts when awaiting
    RESET_STREAM reply for offload streams. This is caused by NOTIFY_POSITION
    appearing in the middle of trigger(stop).

    Stream is unprepared during trigger(stop) where PAUSE_STREAM IPC gets
    invoked. However, all data that is already mixed in DSP firmware's mixer
    stream will still be played regardless of the pause. For offload streams,
    this means possibility for another NOTIFY_POSITION to process. Keep these
    notifications in check by only handling them when stream is in prepared
    state.

    Fixes: a126750fc865 ("ASoC: Intel: catpt: PCM operations")
    Signed-off-by: Cezary Rojewski
    Link: https://lore.kernel.org/r/20201116133332.8530-2-cezary.rojewski@intel.com
    Signed-off-by: Mark Brown

    Cezary Rojewski
     
  • lpass_pcm_data is not freed in error paths. Free it in
    error paths to avoid memory leak.

    Fixes: 022d00ee0b55 ("ASoC: lpass-platform: Fix broken pcm data usage")
    Signed-off-by: Pavel Machek
    Signed-off-by: V Sujith Kumar Reddy
    Signed-off-by: Srinivasa Rao Mandadapu
    Link: https://lore.kernel.org/r/1605416210-14530-1-git-send-email-srivasam@codeaurora.org
    Signed-off-by: Mark Brown

    Srinivasa Rao Mandadapu
     
  • S24_LE is 24 bit audio in 32 bit container configuration
    Fixing the configuration to match the data arrangement of
    this audio format.

    Fixes: c5477e966728 ("ASoC: Intel: Add KeemBay platform driver")

    Signed-off-by: Michael Sit Wei Hong
    Reviewed-by: Pierre-Louis Bossart
    Link: https://lore.kernel.org/r/20201116061905.32431-2-michael.wei.hong.sit@intel.com
    Signed-off-by: Mark Brown

    Michael Sit Wei Hong
     

16 Nov, 2020

2 commits


14 Nov, 2020

1 commit

  • The spin_lock/unlock_irq() functions cannot be nested. The problem is
    that presumably we would want the IRQs to be re-enabled on the second
    call the spin_unlock_irq() but instead it will be enabled at the first
    call so IRQs will be enabled earlier than expected.

    In this situation the copy_resp_to_buf() function is only called from
    one function and it is called with IRQs disabled. We can just use
    the regular spin_lock/unlock() functions.

    Fixes: 555e8a8f7f14 ("ALSA: fireworks: Add command/response functionality into hwdep interface")
    Signed-off-by: Dan Carpenter
    Acked-by: Takashi Sakamoto
    Cc:
    Link: https://lore.kernel.org/r/20201113101241.GB168908@mwanda
    Signed-off-by: Takashi Iwai

    Dan Carpenter
     

13 Nov, 2020

4 commits

  • To meet the most platform, the detection time should be increased to
    avoid that the flushing DAC data fails.

    Signed-off-by: Shuming Fan
    Link: https://lore.kernel.org/r/20201113092125.19206-1-shumingf@realtek.com
    Signed-off-by: Mark Brown

    Shuming Fan
     
  • When processing request to add/replace user-defined element set, check
    of given element identifier and decision of numeric identifier is done
    in "__snd_ctl_add_replace()" helper function. When the result of check
    is wrong, the helper function returns error code. The error code shall
    be returned to userspace application.

    Current implementation includes bug to return zero to userspace application
    regardless of the result. This commit fixes the bug.

    Cc:
    Fixes: e1a7bfe38079 ("ALSA: control: Fix race between adding and removing a user element")
    Signed-off-by: Takashi Sakamoto
    Link: https://lore.kernel.org/r/20201113092043.16148-1-o-takashi@sakamocchi.jp
    Signed-off-by: Takashi Iwai

    Takashi Sakamoto
     
  • System boot or warm boot with plugged headset.
    If it turn on power save mode, Headset Mic will lose.
    This patch will solve this issue.

    Signed-off-by: Kailang Yang
    Cc:
    Link: https://lore.kernel.org/r/1ae4d98e92c147b780ace3911c4e1d73@realtek.com
    Signed-off-by: Takashi Iwai

    Kailang Yang
     
  • HP Pavilion x360 Convertible machine, it supported mute led.
    GPIO4 high will turn on led.
    The patch will enable control led via GPIO4 pin.

    Signed-off-by: Kailang Yang
    Cc:
    Link: https://lore.kernel.org/r/1ae4d98e92c147b780ace3911c4e1d73@realtek.com
    Signed-off-by: Takashi Iwai

    Kailang Yang
     

11 Nov, 2020

1 commit


09 Nov, 2020

1 commit


07 Nov, 2020

1 commit


06 Nov, 2020

2 commits


05 Nov, 2020

2 commits


04 Nov, 2020

2 commits