Skip to content
Permalink
Joerg-Schambac…
Switch branches/tags

Commits on Jan 10, 2022

  1. ASoC: adds component driver for TAS575xM digital amplifiers

    Adds a minimum component driver to run the amplifier in I2S master
    mode only from standard audio clocks. Therefore, it only allows
    44.1, 88.2, 176.4, 48, 96 and 192ksps with 16, 20, 24 and 32 bits
    sample size. Digital volume control and the -6dB and +0.8dB switches
    are supported.
    
    Signed-off-by: Joerg Schambacher <joerg@hifiberry.com>
    j-schambacher authored and intel-lab-lkp committed Jan 10, 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

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. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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. 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
  2. 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
  3. 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
  4. ASoC: wm_adsp: Add support for "toggle" preloaders

    In the case a device can support retaining the firmware memory across
    low power states it is useful for the preloader widget to only power up
    whilst actually loading/unloading the core, as opposed to the normal
    operation where the widget is powered for the entire time a firmware is
    preloaded onto the core. Add support for this mode and a flag to enable
    it.
    
    Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
    Link: https://lore.kernel.org/r/20220105113026.18955-7-ckeepax@opensource.cirrus.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    charleskeepax authored and broonie committed Jan 5, 2022
  5. firmware: cs_dsp: Clear core reset for cache

    If the Halo registers are kept in the register cache the
    HALO_CORE_RESET bit will be retained as 1 after reset is triggered in
    cs_dsp_halo_start_core. This will cause subsequent writes to reset
    the core which is not desired. Apart from this bit the rest of the
    register bits are cacheable, so for safety sake clear the bit to
    ensure the cache is consistent.
    
    Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
    Link: https://lore.kernel.org/r/20220105113026.18955-6-ckeepax@opensource.cirrus.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    charleskeepax authored and broonie committed Jan 5, 2022
  6. ASoC: cs35l41: Correct handling of some registers in the cache

    It makes no sense to cache the test/user key registers, since they
    require values written at specific times, mark them volatile. It is
    probably best if they can't be accessed from user-space either, so
    mark them precious as well.
    
    The interrupt force, edge, polarity and debounce are all settings
    applied to the IRQ rather than status bits and as such should not be
    volatile.
    
    The OTP trim values will require re-application in the event of a
    cache sync and as such should not be volatile. The OTPID however
    should be volatile.
    
    The DSP scratch registers are used to read back an error/debug code
    from the DSP on shutdown, as such these should be marked volatile.
    
    Finally, add some missing defaults, add TST_FS_MON0, and allow the
    DSP core control register to be cached.
    
    Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
    Link: https://lore.kernel.org/r/20220105113026.18955-5-ckeepax@opensource.cirrus.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    charleskeepax authored and broonie committed Jan 5, 2022
  7. ASoC: cs35l41: Correct DSP power down

    The wm_adsp_event should be called before the early_event on power
    down, event stops the core running and early_event then powers down
    the core. Additionally, the core should only be stopped if it was
    actually running in the first place.
    
    Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
    Link: https://lore.kernel.org/r/20220105113026.18955-4-ckeepax@opensource.cirrus.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    charleskeepax authored and broonie committed Jan 5, 2022
  8. ASoC: cs35l41: Remove incorrect comment

    The IRQ is not used for the PDN_DONE bit, this is polled during the DAPM
    sequence, remove the misleading comment.
    
    Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
    Link: https://lore.kernel.org/r/20220105113026.18955-3-ckeepax@opensource.cirrus.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    charleskeepax authored and broonie committed Jan 5, 2022
  9. ASoC: cs35l41: Add cs35l51/53 IDs

    Add IDs for the CS35L51/53 variants, the functionality is shared with
    CS35L41.
    
    Signed-off-by: David Rhodes <david.rhodes@cirrus.com>
    Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
    Link: https://lore.kernel.org/r/20220105113026.18955-2-ckeepax@opensource.cirrus.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    drhodescirrus authored and broonie committed Jan 5, 2022

Commits on Jan 4, 2022

  1. ASoC: fsl_mqs: fix MODULE_ALIAS

    modprobe can't handle spaces in aliases.
    
    Fixes: 9e28f65 ("ASoC: fsl_mqs: Add MQS component driver")
    Signed-off-by: Alyssa Ross <hi@alyssa.is>
    Link: https://lore.kernel.org/r/20220104132218.1690103-1-hi@alyssa.is
    Signed-off-by: Mark Brown <broonie@kernel.org>
    alyssais authored and broonie committed Jan 4, 2022

Commits on Dec 31, 2021

  1. ASoC: mediatek: mt8195: repair pcmif BE dai

    Merge series from Trevor Wu <trevor.wu@mediatek.com>:
    
    This series of patches repairs some problems for pcmif BE dai.
    The unexpected control flow is corrected, and the missing playback
    support of DPCM is added.
    broonie committed Dec 31, 2021
  2. ASoC: Add support for CS35L41 in HDA systems

    Merge series from Lucas Tanure <tanureal@opensource.cirrus.com>:
    
    Initial refactoring to support use of cs35l41 from the HDA driver stack.
    broonie committed Dec 31, 2021
  3. ASoC: Merge fixes

    So we can send to Linus.
    broonie committed Dec 31, 2021
  4. ASoC: cs35l41: Create shared function for boost configuration

    ASoC and HDA will use the same registers to configure
    internal boost for the device
    
    Signed-off-by: Lucas Tanure <tanureal@opensource.cirrus.com>
    Link: https://lore.kernel.org/r/20211217115708.882525-7-tanureal@opensource.cirrus.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    lucastanure authored and broonie committed Dec 31, 2021
  5. ASoC: cs35l41: Create shared function for setting channels

    ASoC and HDA will use the same register to set channels
    for the device
    
    Signed-off-by: Lucas Tanure <tanureal@opensource.cirrus.com>
    Link: https://lore.kernel.org/r/20211217115708.882525-6-tanureal@opensource.cirrus.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    lucastanure authored and broonie committed Dec 31, 2021
  6. ASoC: cs35l41: Create shared function for errata patches

    ASoC and HDA systems require the same errata patches, so
    move it to the shared code using a function the correctly
    applies the patches by revision
    
    Also, move CS35L41_DSP1_CCM_CORE_CTRL write to errata
    patch function as is required to be written at boot,
    but not in regmap_register_patch sequence as will affect
    waking up from hibernation
    
    Signed-off-by: Lucas Tanure <tanureal@opensource.cirrus.com>
    Link: https://lore.kernel.org/r/20211217115708.882525-5-tanureal@opensource.cirrus.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    lucastanure authored and broonie committed Dec 31, 2021
  7. ASoC: cs35l41: Move power initializations to reg_sequence

    ASoC and HDA systems for all revisions of CS35L41 will benefit
    from having this initialization, so add it to reg_sequence of
    each revision
    
    By moving to reg_sequence all gains are set to zero. And boost,
    monitoring parts, and class D amplifier are disabled.
    
    Signed-off-by: Lucas Tanure <tanureal@opensource.cirrus.com>
    Link: https://lore.kernel.org/r/20211217115708.882525-4-tanureal@opensource.cirrus.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    lucastanure authored and broonie committed Dec 31, 2021
  8. ASoC: cs35l41: Move cs35l41_otp_unpack to shared code

    ASoC and HDA will do the same cs35l41_otp_unpack, so move it
    to shared code
    
    Signed-off-by: Lucas Tanure <tanureal@opensource.cirrus.com>
    Link: https://lore.kernel.org/r/20211217115708.882525-3-tanureal@opensource.cirrus.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    lucastanure authored and broonie committed Dec 31, 2021
Older