Skip to content
Permalink
Jaroslav-Kysel…
Switch branches/tags

Commits on Jan 13, 2022

  1. ALSA: pcm: accept the OPEN state for snd_pcm_stop()

    It may be useful to completely invalidate streaming under some
    circumstances like the USB gadget detach. This case is a bit different
    than the complete disconnection. The applications should be notified
    that the PCM streaming is no longer available, but the recovery may be
    expected.
    
    This patch adds support for SNDRV_PCM_STATE_OPEN passed
    to snd_pcm_stop() function. Only the hw_free ioctl is allowed to free
    the buffers in this state for a full recovery operation or the PCM file
    handle must be closed.
    
    In the OPEN state, ioctls return EBADFD error (with the added hw_free
    exception above). The applications which are not aware about this new
    state transition (and recovery) will fail with an error. This operation
    is expected.
    
    Link: https://lore.kernel.org/alsa-devel/4e17c99b-1d8a-8ebe-972c-9b1299952ff8@ivitera.com/
    Cc: Pavel Hofman <pavel.hofman@ivitera.com>
    Signed-off-by: Jaroslav Kysela <perex@perex.cz>
    perexg authored and intel-lab-lkp committed Jan 13, 2022

Commits on Jan 11, 2022

  1. ALSA: hda: cs35l41: fix double free on error in probe()

    If we encounter an error after the kfree(acpi_hw_cfg); then the goto
    err; will result in a double free.
    
    Fixes: 7b2f3eb ("ALSA: hda: cs35l41: Add support for CS35L41 in HDA systems")
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Link: https://lore.kernel.org/r/20220111072232.GG11243@kili
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    error27 authored and tiwai committed Jan 11, 2022

Commits on Jan 10, 2022

  1. Merge tag 'asoc-v5.17-2' of https://git.kernel.org/pub/scm/linux/kern…

    …el/git/broonie/sound into for-linus
    
    ASoC: Updates for v5.17
    
    A few more updates for v5.17, nothing hugely stand out in the few days
    since the initial pull request was sent.
    tiwai committed Jan 10, 2022

Commits on Jan 9, 2022

  1. ALSA: hda: Fix dependencies of CS35L41 on SPI/I2C buses

    CS35L41 SPI and I2C drivers depend on those buses, hence they have to
    have dependencies in Kconfig; otherwise it may result in missing
    symbols.
    
    Fixes: 7b2f3eb ("ALSA: hda: cs35l41: Add support for CS35L41 in HDA systems")
    Reported-by: kernel test robot <lkp@intel.com>
    Link: https://lore.kernel.org/r/20220109081337.30623-1-tiwai@suse.de
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    tiwai committed Jan 9, 2022

Commits on Jan 8, 2022

  1. ALSA: hda: Fix dependency on ASoC cs35l41 codec

    The recently added support for CS35L41 codec unconditionally selects
    CONFIG_SND_SOC_CS35L41_LIB, but this can't work unless the top-level
    CONFIG_SND_SOC is enabled.  This patch adds the proper dependency.
    
    Fixes: 7b2f3eb ("ALSA: hda: cs35l41: Add support for CS35L41 in HDA systems")
    Link: https://lore.kernel.org/r/20220107092647.20258-1-tiwai@suse.de
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    tiwai committed Jan 8, 2022

Commits on Jan 7, 2022

  1. ASoC: cs35l41: Add support for hibernate memory retention mode

    The cs35l41 supports a low power DSP memory retention mode. Add support
    for entering this mode when then device is not in use.
    
    Co-authored-by: David Rhodes <david.rhodes@cirrus.com>
    Signed-off-by: David Rhodes <david.rhodes@cirrus.com>
    Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
    Link: https://lore.kernel.org/r/20220107160636.6555-3-ckeepax@opensource.cirrus.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    2 people authored and broonie committed Jan 7, 2022
  2. ASoC: cs35l41: Update handling of test key registers

    In preparation for the addition of PM runtime support move the test
    key out of the register patches themselves. This is necessary to
    allow the test key to be held during cache synchronisation, which is
    required by the OTP settings which were unpacked from the device and
    written by the driver.
    
    Also whilst at it, the driver uses a mixture of accessing the test key
    register by name and by address, consistently use the name.
    
    Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
    Link: https://lore.kernel.org/r/20220107160636.6555-2-ckeepax@opensource.cirrus.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    charleskeepax authored and broonie committed Jan 7, 2022
  3. ALSA: intel_hdmi: Check for error num after setting mask

    To maintain the consistency of the code, it should be better to add the
    sanity check after calling dma_set_mask_and_coherent(), like
    tegra_pcm_dma_allocate() in `sound/soc/tegra/tegra_pcm.c`.
    
    Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn>
    Link: https://lore.kernel.org/r/20220107020851.3095591-1-jiasheng@iscas.ac.cn
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    JiangJias authored and tiwai committed Jan 7, 2022

Commits on Jan 6, 2022

  1. ASoC: imx-card: several improvement and fixes

    Merge series from Shengjiu Wang <shengjiu.wang@nxp.com>:
    
    Several improvement and fixes for AK codecs supported on i.MX platfroms
    broonie committed Jan 6, 2022
  2. ASoC: wcd9335: Keep a RX port value for each SLIM RX mux

    Currently, rx_port_value is a single unsigned int that gets overwritten
    when slim_rx_mux_put() is called for any RX mux, then the same value is
    read when slim_rx_mux_get() is called for any of them. This results in
    slim_rx_mux_get() reporting the last value set by slim_rx_mux_put()
    regardless of which SLIM RX mux is in question.
    
    Turn rx_port_value into an array and store a separate value for each
    SLIM RX mux.
    
    Signed-off-by: Yassine Oudjana <y.oudjana@protonmail.com>
    Link: https://lore.kernel.org/r/20220104033356.343685-1-y.oudjana@protonmail.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Tooniis authored and broonie committed Jan 6, 2022
  3. ASoC: amd: acp: acp-mach: Change default RT1019 amp dev id

    RT1019 components was initially registered with i2c1 and i2c2 but
    now changed to i2c0 and i2c1 in most of our AMD platforms. Change
    default rt1019 components to 10EC1019:00 and 10EC1019:01 which is
    aligned with most of AMD machines.
    
    Any exception to rt1019 device ids in near future board design can
    be handled using dmi based quirk for that machine.
    
    Signed-off-by: Ajit Kumar Pandey <AjitKumar.Pandey@amd.com>
    Link: https://lore.kernel.org/r/20220106150525.396170-1-AjitKumar.Pandey@amd.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    ajitkupandey authored and broonie committed Jan 6, 2022
  4. ALSA: virmidi: Remove duplicated code

    seq_virmidi.c: snd_virmidi_new() is already setting seq_mode to
    SNDRV_VIRMIDI_SEQ_DISPATCH.
    
    Signed-off-by: Stefan Sauer <st_kost@gmx.de>
    Link: https://lore.kernel.org/r/20220106123821.16691-1-st_kost@gmx.de
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Stefan Sauer authored and tiwai committed Jan 6, 2022
  5. ALSA: seq: virmidi: Add a drain operation

    If a driver does not supply a drain operation for outputs, a default code
    path will execute msleep(50). Especially for a virtual midi device
    this severely limmits the throughput.
    
    This implementation for the virtual midi driver simply flushes the output
    workqueue.
    
    Signed-off-by: Stefan Sauer <st_kost@gmx.de>
    Link: https://lore.kernel.org/r/20220106124145.17254-1-st_kost@gmx.de
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Stefan Sauer authored and tiwai committed Jan 6, 2022
  6. ASoC: topology: Fix typo

    change 'postion' to 'position'
    
    Signed-off-by: Qinghua Jin <qhjin.dev@gmail.com>
    Link: https://lore.kernel.org/r/20220106092847.357035-1-qhjin.dev@gmail.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    qhjindev authored and broonie committed Jan 6, 2022
  7. ASoC: fsl_asrc: refine the check of available clock divider

    According to RM, the clock divider range is from 1 to 8, clock
    prescaling ratio may be any power of 2 from 1 to 128.
    So the supported divider is not all the value between
    1 and 1024, just limited value in that range.
    
    Create table for the supported divder and add function to
    check the clock divider is available by comparing with
    the table.
    
    Fixes: d0250cf ("ASoC: fsl_asrc: Add an option to select internal ratio mode")
    Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
    Link: https://lore.kernel.org/r/1641380883-20709-1-git-send-email-shengjiu.wang@nxp.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    TE-N-ShengjiuWang authored and broonie committed Jan 6, 2022
  8. ASoC: Intel: bytcr_rt5640: Add support for external GPIO jack-detect

    Some boards have the codec IRQ hooked-up as normally, so the driver can
    still do things like headset vs headphones and button-press detection,
    but instead of using one of the JD pins of the codec, an external GPIO
    is used to report the jack-presence switch status of the jack.
    
    Add support for boards which have this setup and which specify which
    external GPIO to use in the special Android AMCR0F28 ACPI device.
    
    And add a quirk for the Asus TF103C tablet which uses this setup.
    
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
    Link: https://lore.kernel.org/r/20220106110128.66049-7-hdegoede@redhat.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    jwrdegoede authored and broonie committed Jan 6, 2022
  9. ASoC: Intel: bytcr_rt5640: Support retrieving the codec IRQ from the …

    …AMCR0F28 ACPI dev
    
    Some X86 tablets, which ship with Android as factory installed OS,
    specify codec IRQs/GPIOS in a special Android AMCR0F28 ACPI device.
    
    Add support for retrieving the codec IRQ from this ACPI device instead
    of from the 10EC5640 device describing the codec itself and enable this
    on Asus MemoPad 7 ME176C tablets.
    
    This fixes jack-detect not working on these tablets.
    
    Cc: Stephan Gerhold <stephan@gerhold.net>
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
    Link: https://lore.kernel.org/r/20220106110128.66049-6-hdegoede@redhat.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    jwrdegoede authored and broonie committed Jan 6, 2022
  10. ASoC: rt5640: Add support for boards with an external jack-detect GPIO

    Some boards have the codec IRQ hooked-up as normally, so the driver can
    still do things like headset vs headphones and button-press detection,
    but instead of using one of the JD pins of the codec, an external GPIO
    is used to report the jack-presence switch status of the jack.
    
    Add support for this.
    
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
    Link: https://lore.kernel.org/r/20220106110128.66049-5-hdegoede@redhat.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    jwrdegoede authored and broonie committed Jan 6, 2022
  11. ASoC: rt5640: Allow snd_soc_component_set_jack() to override the code…

    …c IRQ
    
    On some boards where the firmware/fwnode information is in essence
    read-only (x86 + ACPI boards) the i2c_client for the codec may contain
    the wrong IRQ or no IRQ at all.
    
    Since we only request the IRQ once snd_soc_component_set_jack() gets
    called, allow machine drivers to override the IRQ with the proper one
    through the data parameter to snd_soc_component_set_jack().
    
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
    Link: https://lore.kernel.org/r/20220106110128.66049-4-hdegoede@redhat.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    jwrdegoede authored and broonie committed Jan 6, 2022
  12. ASoC: rt5640: Change jack_work to a delayed_work

    Change jack_work from a struct work_struct to a struct delayed_work, this
    is a preparation patch for adding support for boards where an external
    GPIO is used for jack-detect, rather then one of the JD pins of the codec.
    
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
    Link: https://lore.kernel.org/r/20220106110128.66049-3-hdegoede@redhat.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    jwrdegoede authored and broonie committed Jan 6, 2022
  13. ASoC: rt5640: Fix possible NULL pointer deref on resume

    Commit 2b9c8d2 ("ASoC: rt5640: Add the HDA header support") adds
    re-queuing of the jack_work on resume when rt5640->jd_src != 0.
    
    But the jack_work will unconditionally deref rt5640->jack and that might
    be NULL. E.g. the sound/soc/intel/boards/bytcr_rt5640.c machine driver
    call snd_soc_component_set_jack(codec, NULL, NULL) from pre_suspend to
    disable the IRQ to avoid spurious wakeups, so when rt5640_resume()
    runs rt5640->jack will be NULL in this case.
    
    Make the queueing of the work conditional on rt5640->jack instead of
    on rt5640->jd_src to fix this.
    
    Fixes: 2b9c8d2 ("ASoC: rt5640: Add the HDA header support")
    Cc: Oder Chiou <oder_chiou@realtek.com>
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
    Link: https://lore.kernel.org/r/20220106110128.66049-2-hdegoede@redhat.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    jwrdegoede authored and broonie committed Jan 6, 2022
  14. ASoC: imx-card: improve the sound quality for low rate

    According to RM, on auto mode:
    For codec AK4458 and AK4497, the lowest ratio of MLCK/FS is 256
    if sample rate is 8kHz-48kHz,
    For codec AK5558, the lowest ratio of MLCK/FS is 512 if sample
    rate is 8kHz-48kHz.
    
    With these setting the sound quality for 8kHz-48kHz can be improved.
    
    Fixes: aa73670 ("ASoC: imx-card: Add imx-card machine driver")
    Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
    Link: https://lore.kernel.org/r/1641292835-19085-4-git-send-email-shengjiu.wang@nxp.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    TE-N-ShengjiuWang authored and broonie committed Jan 6, 2022
  15. ASoC: imx-card: Fix mclk calculation issue for akcodec

    Transfer the refined slots and slot_width to akcodec_get_mclk_rate()
    for mclk calculation, otherwise the mclk frequency does not match
    with the slots and slot_width for S16_LE format, because the default
    slot_width is 32.
    
    Fixes: aa73670 ("ASoC: imx-card: Add imx-card machine driver")
    Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
    Link: https://lore.kernel.org/r/1641292835-19085-3-git-send-email-shengjiu.wang@nxp.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    TE-N-ShengjiuWang authored and broonie committed Jan 6, 2022
  16. ASoC: imx-card: Need special setting for ak4497 on i.MX8MQ

    The SAI on i.MX8MQ don't support one2one ratio for mclk:bclk, so
    the mclk frequency exceeds the supported range of codec for
    the case that sample rate is larger than 705kHZ and format is
    S32_LE. Update the supported width for such case.
    
    Fixes: aa73670 ("ASoC: imx-card: Add imx-card machine driver")
    Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
    Link: https://lore.kernel.org/r/1641292835-19085-2-git-send-email-shengjiu.wang@nxp.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    TE-N-ShengjiuWang authored and broonie committed Jan 6, 2022

Commits on Jan 5, 2022

  1. ALSA: hda: ALC287: Add Lenovo IdeaPad Slim 9i 14ITL5 speaker quirk

    The speaker fixup that is used for the Yoga 7 14ITL5 also applies to
    the IdeaPad Slim 9i 14ITL5. The attached patch applies the quirk to
    initialise the amplifier on the IdeaPad Slim 9i as well.
    
    This is validated to work on my laptop.
    
    [ corrected the quirk entry position by tiwai ]
    
    Signed-off-by: Bart Kroon <bart@tarmack.eu>
    Cc: <stable@vger.kernel.org>
    Link: https://lore.kernel.org/r/JAG24R.7NLJGWBF4G8U@tarmack.eu
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    tarmack authored and tiwai committed Jan 5, 2022
  2. ASoC: ak4375: Fix unused function error

    A randconfig caught a compile warning that is now treated as a fatal
    error:
      sound/soc/codecs/ak4375.c:415:13: error: ‘ak4375_power_off’ defined but not used [-Werror=unused-function]
    
    where ak4375_power_off() is used only from the PM handler.
    
    As both suspend and resumes are already marked with __maybe_unused,
    let's rip off the superfluous ifdef CONFIG_PM, so that the error above
    can be avoided.
    
    Fixes: 53778b8 ("ASoC: Add AK4375 support")
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Link: https://lore.kernel.org/r/20220105162409.20635-1-tiwai@suse.de
    Signed-off-by: Mark Brown <broonie@kernel.org>
    tiwai authored and broonie committed Jan 5, 2022
  3. ALSA: hda/realtek: Add CS35L41 support for Thinkpad laptops

    Add support for two CS35L41 using I2C bus and the component
    binding method
    
    [ Fix the entries to be sorted order by tiwai ]
    
    Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com>
    Signed-off-by: Lucas Tanure <tanureal@opensource.cirrus.com>
    Link: https://lore.kernel.org/r/20211217115708.882525-11-tanureal@opensource.cirrus.com
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Stefan Binding authored and tiwai committed Jan 5, 2022
  4. ALSA: hda/realtek: Add support for Legion 7 16ACHg6 laptop

    Add Support for CS35L41 using the component binding
    method
    
    [ corrected the quirk entry position by tiwai ]
    
    Signed-off-by: Lucas Tanure <tanureal@opensource.cirrus.com>
    Link: https://lore.kernel.org/r/20211217115708.882525-10-tanureal@opensource.cirrus.com
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    lucastanure authored and tiwai committed Jan 5, 2022
  5. ALSA: hda: cs35l41: Add support for CS35L41 in HDA systems

    Add support for CS35L41 using a new separated driver
    that can be used in all upcoming designs
    
    Signed-off-by: Lucas Tanure <tanureal@opensource.cirrus.com>
    Link: https://lore.kernel.org/r/20211217115708.882525-8-tanureal@opensource.cirrus.com
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    lucastanure authored and tiwai committed Jan 5, 2022
  6. ALSA: hda/realtek: Re-order quirk entries for Lenovo

    The recent few quirk entries for Lenovo haven't been put in the right
    order.  Let's arrange the table again.
    
    Fixes: ad7cc2d ("ALSA: hda/realtek: Quirks to enable speaker output...")
    Fixes: 6dc8697 ("ALSA: hda/realtek: Add speaker fixup for some Yoga 15ITL5 devices")
    Fixes: 8f4c904 ("ALSA: hda/realtek: Add quirk for Legion Y9000X 2020")
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    tiwai committed Jan 5, 2022
  7. Add low power hibernation support to cs35l41

    Merge series from Charles Keepax <ckeepax@opensource.cirrus.com>:
    
    This patch series adds support for the low power hibernation feature
    on cs35l41. This allows the DSP memory to be retained whilst the
    device enters a very low power state.
    broonie committed Jan 5, 2022
  8. ALSA: hda/realtek: Add quirk for Legion Y9000X 2020

    Legion Y9000X 2020 has a speaker, but the speaker doesn't work.
    This can be fixed by applying alc285_fixup_ideapad_s740_coef
    to fix the speaker's coefficients.
    Besides, to support the transition between the speaker and the headphone,
    alc287_fixup_legion_15imhg05_speakers needs to be run.
    
    Signed-off-by: Baole Fang <fbl718@163.com>
    Cc: <stable@vger.kernel.org>
    Link: https://lore.kernel.org/r/20220105140856.4855-1-fbl718@163.com
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    fbl718 authored and tiwai committed Jan 5, 2022
  9. Merge tag 'asoc-v5.17' of https://git.kernel.org/pub/scm/linux/kernel…

    …/git/broonie/sound into for-linus
    
    ASoC: Updates for v5.17
    
    Not much going on framework release this time, but a big update for
    drivers especially the Intel and SOF ones.
    
     - Refinements and cleanups around the delay() APIs.
     - Wider use of dev_err_probe().
     - Continuing cleanups and improvements to the SOF code.
     - Support for pin switches in simple-card derived cards.
     - Support for AMD Renoir ACP, Asahi Kasei Microdevices AKM4375, Intel
       systems using NAU8825 and MAX98390, Mediatek MT8915, nVidia Tegra20
       S/PDIF, Qualcomm systems using ALC5682I-VS and Texas Instruments
       TLV320ADC3xxx.
    tiwai committed Jan 5, 2022
  10. Merge branch 'for-next' into for-linus

    Pull 5.17 materials.
    
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    tiwai committed Jan 5, 2022
  11. ASoC: cs4265: Add a remove() function

    When the reset_gpio GPIO is used, it is better to put the codec
    back into reset state when the driver unbinds.
    
    Add a remove() function to accomplish that.
    
    Suggested-by: Charles Keepax <ckeepax@opensource.cirrus.com>
    Signed-off-by: Fabio Estevam <festevam@denx.de>
    Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com>
    Link: https://lore.kernel.org/r/20220104180613.639317-1-festevam@gmail.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Fabio Estevam authored and broonie committed Jan 5, 2022
Older