08 Mar, 2020

1 commit

  • Merge Linux stable release v5.4.24 into imx_5.4.y

    * tag 'v5.4.24': (3306 commits)
    Linux 5.4.24
    blktrace: Protect q->blk_trace with RCU
    kvm: nVMX: VMWRITE checks unsupported field before read-only field
    ...

    Signed-off-by: Jason Liu

    Conflicts:
    arch/arm/boot/dts/imx6sll-evk.dts
    arch/arm/boot/dts/imx7ulp.dtsi
    arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi
    drivers/clk/imx/clk-composite-8m.c
    drivers/gpio/gpio-mxc.c
    drivers/irqchip/Kconfig
    drivers/mmc/host/sdhci-of-esdhc.c
    drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c
    drivers/net/can/flexcan.c
    drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
    drivers/net/ethernet/mscc/ocelot.c
    drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
    drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
    drivers/net/phy/realtek.c
    drivers/pci/controller/mobiveil/pcie-mobiveil-host.c
    drivers/perf/fsl_imx8_ddr_perf.c
    drivers/tee/optee/shm_pool.c
    drivers/usb/cdns3/gadget.c
    kernel/sched/cpufreq.c
    net/core/xdp.c
    sound/soc/fsl/fsl_esai.c
    sound/soc/fsl/fsl_sai.c
    sound/soc/sof/core.c
    sound/soc/sof/imx/Kconfig
    sound/soc/sof/loader.c

    Jason Liu
     

29 Feb, 2020

1 commit

  • commit dfa9a5efe8b932a84b3b319250aa3ac60c20f876 upstream.

    The rawmidi state flags (opened, append, active_sensing) are stored in
    bit fields that can be potentially racy when concurrently accessed
    without any locks. Although the current code should be fine, there is
    also no any real benefit by keeping the bitfields for this kind of
    short number of members.

    This patch changes those bit fields flags to the simple bool fields.
    There should be no size increase of the snd_rawmidi_substream by this
    change.

    Reported-by: syzbot+576cc007eb9f2c968200@syzkaller.appspotmail.com
    Link: https://lore.kernel.org/r/20200214111316.26939-4-tiwai@suse.de
    Signed-off-by: Takashi Iwai
    Signed-off-by: Greg Kroah-Hartman

    Takashi Iwai
     

11 Feb, 2020

1 commit

  • commit 4d024fe8f806e20e577cc934204c5784c7063293 upstream.

    It turned out that the recent simplification of HD-audio bus access
    helpers caused a regression on the virtual HD-audio device on QEMU
    with ARM platforms. The driver got a CORB/RIRB timeout and couldn't
    probe any codecs.

    The essential difference that caused a problem was the enforced
    aligned MMIO accesses by simplification. Since snd-hda-tegra driver
    is enabled on ARM, it enables CONFIG_SND_HDA_ALIGNED_MMIO, which makes
    the all HD-audio drivers using the aligned MMIO accesses. While this
    is mandatory for snd-hda-tegra, it seems that snd-hda-intel on ARM
    gets broken by this access pattern.

    For addressing the regression, this patch introduces a new flag,
    aligned_mmio, to hdac_bus object, and applies the aligned MMIO only
    when this flag is set. This change affects only platforms with
    CONFIG_SND_HDA_ALIGNED_MMIO set, i.e. mostly only for ARM platforms.

    Unfortunately the patch became a big bigger than it should be, just
    because the former calls didn't take hdac_bus object in the argument,
    hence we had to extend the call patterns.

    Fixes: 19abfefd4c76 ("ALSA: hda: Direct MMIO accesses")
    BugLink: https://bugzilla.opensuse.org/show_bug.cgi?id=1161152
    Cc:
    Link: https://lore.kernel.org/r/20200120104127.28985-1-tiwai@suse.de
    Signed-off-by: Takashi Iwai
    Signed-off-by: Greg Kroah-Hartman

    Takashi Iwai
     

18 Jan, 2020

1 commit

  • commit 4bbee14d8e5487e3d2662138e3767cf4678cdf57 upstream.

    When debug is enabled compiler cannot find the definition of
    clk_get_rate resulting in the following error:

    ./include/sound/simple_card_utils.h:168:40: note: previous implicit
    declaration of ‘clk_get_rate’ was here
    dev_dbg(dev, "%s clk %luHz\n", name, clk_get_rate(dai->clk));
    ./include/sound/simple_card_utils.h:168:3: note: in expansion of macro
    ‘dev_dbg’
    dev_dbg(dev, "%s clk %luHz\n", name, clk_get_rate(dai->clk));

    Fix this by including the appropriate header.

    Fixes: 0580dde59438686d ("ASoC: simple-card-utils: add asoc_simple_debug_info()")
    Signed-off-by: Daniel Baluta
    Link: https://lore.kernel.org/r/20191009153615.32105-2-daniel.baluta@nxp.com
    Signed-off-by: Mark Brown
    Signed-off-by: Greg Kroah-Hartman

    Daniel Baluta
     

18 Dec, 2019

2 commits


16 Dec, 2019

1 commit

  • This is the 5.4.3 stable release

    Conflicts:
    drivers/cpufreq/imx-cpufreq-dt.c
    drivers/spi/spi-fsl-qspi.c

    The conflict is very minor, fixed it when do the merge. The imx-cpufreq-dt.c
    is just one line code-style change, using upstream one, no any function change.

    The spi-fsl-qspi.c has minor conflicts when merge upstream fixes: c69b17da53b2
    spi: spi-fsl-qspi: Clear TDH bits in FLSHCR register

    After merge, basic boot sanity test and basic qspi test been done on i.mx

    Signed-off-by: Jason Liu

    Jason Liu
     

13 Dec, 2019

1 commit

  • commit e38e486d66e2a3b902768fd71c32dbf10f77e1cb upstream.

    The recent commit in HD-audio stream management for changing the
    stripe control seems causing a regression on some platforms. The
    stripe control is currently used only by HDMI codec, and applying the
    stripe mask unconditionally may lead to scratchy and static noises as
    seen on some MacBooks.

    For addressing the regression, this patch changes the stream
    management code to apply the stripe mask conditionally only when the
    codec driver requested.

    Fixes: 9b6f7e7a296e ("ALSA: hda: program stripe bits for controller")
    BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=204477
    Tested-by: Michael Pobega
    Cc:
    Link: https://lore.kernel.org/r/20191202074947.1617-1-tiwai@suse.de
    Signed-off-by: Takashi Iwai
    Signed-off-by: Greg Kroah-Hartman

    Takashi Iwai
     

02 Dec, 2019

1 commit


28 Nov, 2019

2 commits


27 Nov, 2019

3 commits


25 Nov, 2019

1 commit


21 Oct, 2019

1 commit


10 Oct, 2019

1 commit

  • asoc_simple_debug_info and asoc_simple_debug_dai must be static
    otherwise we might a compilation error if the compiler decides
    not to inline the given function.

    Fixes: 0580dde59438686d ("ASoC: simple-card-utils: add asoc_simple_debug_info()")
    Signed-off-by: Daniel Baluta
    Link: https://lore.kernel.org/r/20191009153615.32105-3-daniel.baluta@nxp.com
    Signed-off-by: Mark Brown

    Daniel Baluta
     

07 Oct, 2019

1 commit

  • Fix potential DMA hang upon starting playback on devices in HDA mode
    on Intel platforms (Gemini Lake/Whiskey Lake/Comet Lake/Ice Lake). It
    doesn't affect platforms before Gemini Lake or any Intel device in
    non-HDA mode.

    The reset value for the LOSDIV register is all output streams valid.
    Clear this register to invalidate non-existent streams when the bus
    is powered up.

    Signed-off-by: Rander Wang
    Signed-off-by: Pierre-Louis Bossart
    Link: https://lore.kernel.org/r/20190930142945.7805-1-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Takashi Iwai

    Rander Wang
     

10 Sep, 2019

1 commit

  • ASoC: Updates for v5.4

    Quite a big update this time around, particularly in the core
    where we've had a lot of cleanups from Morimoto-san - there's
    not much functional change but quite a bit of modernization
    going on. We've also seen a lot of driver work, a lot of it
    cleanups but also some particular drivers.

    - Lots and lots of cleanups from Morimoto-san and Yue Haibing.
    - Lots of cleanups and enhancements to the Freescale, sunxi dnd
    Intel rivers.
    - Initial Sound Open Firmware suppot for i.MX8.
    - Removal of w90x900 and nuc900 drivers as the platforms are
    being removed.
    - New support for Cirrus Logic CS47L15 and CS47L92, Freescale
    i.MX 7ULP and 8MQ, Meson G12A and NXP UDA1334

    Takashi Iwai
     

09 Sep, 2019

3 commits


02 Sep, 2019

1 commit

  • It is easy to read code if it is cleanly using paired function/naming,
    like start stop, register unregister, etc, etc.
    But, current ALSA SoC code is very random, unbalance, not paired, etc.
    It is easy to create bug at the such code, and it will be difficult to
    debug.

    soc-dapm has snd_soc_dapm_free() which cleanups debugfs, widgets, list.
    But, there is no paired initialize function.
    This patch adds snd_soc_dapm_init() and initilaizing dapm

    Signed-off-by: Kuninori Morimoto
    Link: https://lore.kernel.org/r/87pnkw7lbj.wl-kuninori.morimoto.gx@renesas.com
    Signed-off-by: Mark Brown

    Kuninori Morimoto
     

28 Aug, 2019

2 commits

  • Most of the modern codecs supports 352.8KHz and 384KHz sample rates.
    Currenlty HW params fails to set 352.8Kz and 384KHz sample rate
    as these are not in known rates list.
    Add these new rates to known list to allow them.

    This patch also adds defines in pcm.h so that drivers can use it.

    Signed-off-by: Vidyakumar Athota
    Signed-off-by: Banajit Goswami
    Signed-off-by: Srinivas Kandagatla
    Link: https://lore.kernel.org/r/20190822095653.7200-2-srinivas.kandagatla@linaro.org
    Signed-off-by: Mark Brown

    Vidyakumar Athota
     
  • We use snd_soc_dapm_new_control_unlocked for topology and have local
    declaration, instead declare it properly in header like already declared
    snd_soc_dapm_new_control.

    Signed-off-by: Amadeusz Sławiński
    Link: https://lore.kernel.org/r/20190827141712.21015-4-amadeuszx.slawinski@linux.intel.com
    Reviewed-by: Pierre-Louis Bossart
    Signed-off-by: Mark Brown

    Amadeusz Sławiński
     

27 Aug, 2019

1 commit

  • Currently we disallow the runtime PM of the HD-audio controller if
    it's bound with HDMI/DP on Nvidia / AMD unless it's for dGPU. This is
    for keeping the link up to get the proper notification for ELD
    hotplug.

    As explained in the commit 37a3a98ef601 ("ALSA: hda - Enable runtime
    PM only for discrete GPU"), this keep-power-up behavior is rather a
    stop-gap solution until the ELD notification via audio component.
    And now we finally got the audio component for these graphics drivers
    via commit ade49db337a9 ("ALSA: hda/hdmi - Allow audio component for
    AMD/ATI and Nvidia HDMI"), so it's time to change.

    This patch makes HD-audio controller again runtime-suspendable when
    the device gets bound with audio component in HDMI codec driver. For
    making it easier to access from the codec driver, move the flag into
    the common hda_bus object instead of hda_intel flag. Also rename it
    to keep_power, to indicate the actual meaning.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

23 Aug, 2019

1 commit


21 Aug, 2019

1 commit

  • snd_soc_initialize_card_lists() is doing card related
    INIT_LIST_HEAD(), but, it is already doing at
    snd_soc_register_card(). We don't need to do it separately.
    This patch merges these.

    Signed-off-by: Kuninori Morimoto
    Reviewed-by: Ranjani Sridharan
    Link: https://lore.kernel.org/r/877e781ldq.wl-kuninori.morimoto.gx@renesas.com
    Signed-off-by: Mark Brown

    Kuninori Morimoto
     

16 Aug, 2019

5 commits


15 Aug, 2019

3 commits

  • The pcm_mutex is used to prevent concurrent execution of snd_pcm_ops
    callbacks. This works fine most of the cases but it can not handle setups
    when the same DAI is used by different rtd, for example:
    pcm3168a have two DAIs: one for Playback and one for Capture.
    If the codec is connected to a single CPU DAI we need to have two dai_link
    to support both playback and capture.

    In this case the snd_pcm_ops callbacks can be executed in parallel causing
    unexpected races in DAI drivers.

    By moving the pcm_mutex up to card level this can be solved
    while - hopefully - not breaking other setups.

    Signed-off-by: Peter Ujfalusi
    Tested-by: Pierre-Louis Bossart
    Link: https://lore.kernel.org/r/20190813104532.16669-1-peter.ujfalusi@ti.com
    Signed-off-by: Mark Brown

    Peter Ujfalusi
     
  • Drop EXPORT_SYMBOL*() from a few more stuff in HD-audio core that
    aren't used outside. Particular the unsol event handler can be
    staticized now because the recent change removed all external
    callers.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • snd_hdac_bus_add_device() and snd_hdac_remove_device() are called only
    internally in hda-core. Let's drop the exports of them and move the
    declarations into local.h.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

10 Aug, 2019

4 commits

  • To be more readable code, this patch adds
    new for_each_xxx() macro for aux_dev.

    Signed-off-by: Kuninori Morimoto
    Link: https://lore.kernel.org/r/87ftmc6w8s.wl-kuninori.morimoto.gx@renesas.com
    Signed-off-by: Mark Brown

    Kuninori Morimoto
     
  • Now all drivers are using snd_soc_dai_link_component for aux_dev.
    Let's remove legacy style

    Signed-off-by: Kuninori Morimoto
    Link: https://lore.kernel.org/r/87h86s6w8x.wl-kuninori.morimoto.gx@renesas.com
    Signed-off-by: Mark Brown

    Kuninori Morimoto
     
  • To find aux_dev, ASoC is using .name, codec_name, codec_of_node.
    Here, .name is used to fallback in case of no codec.

    But, we already have this kind of component finding method by
    snd_soc_dai_link_component and soc_find_component().
    We shouldn't have duplicated implementation to do same things.
    This patch adds snd_soc_dai_link_component support to finding aux_dev.

    Now, no driver is using only .name.
    All drivers are using codec_name and/or codec_of_node.
    This means no driver is finding component from .name so far.
    (Actually almost all drivers are using .name as just "device name",
    not for finding component...)

    This patch
    1) add snd_soc_dai_link_component support for aux_dev. legacy style will
    be removed if all drivers are switched to new style.
    2) try to find component via snd_soc_dai_link_component.
    Then, it doesn't try to find via .name, because no driver is using
    it so far.

    Signed-off-by: Kuninori Morimoto
    Link: https://lore.kernel.org/r/87y3046wcf.wl-kuninori.morimoto.gx@renesas.com
    Signed-off-by: Mark Brown

    Kuninori Morimoto
     
  • Pull sound fixes from Takashi Iwai:
    "Lots of small fixes at this time since we've received the ASoC fix
    batch now.

    - Some coverage in ASoC core mostly for minor issues like NULL checks
    for DPCM and proper error handling in DAI instantiation

    - A collection of small device-specific changes in various ASoC codec
    and platform drivers

    - OF-tree refcount fixes in a few ASoC drivers

    - Fixes of memory leaks in the error paths of various ASoC / ALSA
    drivers

    - A workaround for a long-standing issue on AMD HD-audio device

    - Updates of MAINTAINERS, mail addresses, file permission fixups"

    * tag 'sound-5.3-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (38 commits)
    ALSA: firewire: fix a memory leak bug
    sound: fix a memory leak bug
    ALSA: hda - Workaround for crackled sound on AMD controller (1022:1457)
    ALSA: hiface: fix multiple memory leak bugs
    ALSA: hda - Don't override global PCM hw info flag
    ALSA: usb-audio: fix a memory leak bug
    ASoC: max98373: Remove executable bits
    ASoC: amd: acp3x: use dma address for acp3x dma driver
    ASoC: amd: acp3x: use dma_ops of parent device for acp3x dma driver
    ASoC: max98373: add 88200 and 96000 sampling rate support
    ASoC: sun4i-i2s: Incorrect SR and WSS computation
    MAINTAINERS: Update Intel ASoC drivers maintainers
    ASoC: ti: davinci-mcasp: Correct slot_width posed constraint
    ASoC: rockchip: Fix mono capture
    ASoC: Intel: Fix some acpi vs apci typo in somme comments
    ASoC: ti: davinci-mcasp: Fix clk PDIR handling for i2s master mode
    ASoC: Fail card instantiation if DAI format setup fails
    ASoC: SOF: Intel: hda: remove misleading error trace from IRQ thread
    ASoC: qcom: apq8016_sbc: Fix oops with multiple DAI links
    ASoC: dapm: fix a memory leak bug
    ...

    Linus Torvalds