18 Sep, 2019

1 commit

  • Pull sound updates from Takashi Iwai:
    "As shown in diffstat and logs, it was again a busy development cycle
    at this time, too. The most significant changes are still on-going
    refactoring / modernization works for ASoC core and drivers, but there
    are lots of other changes as well. Here we go, some highlights below:

    ASoC:

    - Quite a lot of cleanup / refactoring of ASoC core and APIs; most of
    them are systematic, but also including cleanups and modernization

    - A bulk of updates for some ASoC platforms, Freescale, sunxi and
    Intel SST/SOF

    - Initial support for Sound Open Firmware on i.MX8

    - Removal of deprecated w90x900 and nuc900 drivers

    - New support for Cirrus Logic CS47L15 and CS47L92, Freescale i.MX
    7ULP and 8MQ, Meson G12A and NXP UDA1334

    USB-audio:

    - More validations of descriptor units for hardening against bugs
    reported by fuzzers

    - PCM device assignment workaround for a past call-order change

    - Scarlett Gen2 mixer interface, a few more more quirks

    HD-audio:

    - Support for audio component with AMD/ATI and Nvidia HDMI codecs

    - Clean up HD-audio core and remove indirect access ops for Intel SOF

    - DMIC detection at probe; it would make systems automatically
    falling back to SST/SOF driver on devices that need DMIC handling.
    Needs a new Kconfig to set, and beware that it's still new and a
    bit experimental

    FireWire:

    - Lots of code refactoring and cleanups"

    * tag 'sound-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (521 commits)
    ASoC: sdm845: remove unneeded semicolon
    ASoC: fsl_sai: Implement set_bclk_ratio
    ASoC: dmaengine: Replace strncpy() with strscpy_pad() for pcm->name
    ASoC: wcd9335: remove redundant use of ret variable
    ALSA: firewire-tascam: check intermediate state of clock status and retry
    ALSA: firewire-tascam: handle error code when getting current source of clock
    ASoC: hdmi-codec: Add an op to set callback function for plug event
    ASoC: rt5677: keep analog power register at SND_SOC_BIAS_OFF
    ASoC: rt5677: Remove magic number register writes
    ASoC: soc-core: self contained soc_unbind_aux_dev()
    ASoC: soc-core: add soc_unbind_aux_dev()
    ASoC: soc-core: self contained soc_bind_aux_dev()
    ASoC: soc-core: move soc_probe_link_dais() next to soc_remove_link_dais()
    ASoC: soc-core: self contained soc_probe_link_dais()
    ASoC: soc-core: add new soc_link_init()
    ASoC: soc-core: move soc_probe_dai() next to soc_remove_dai()
    ASoC: soc-core: self contained soc_remove_link_dais()
    ASoC: soc-core: self contained soc_remove_link_components()
    ASoC: soc-core: self contained soc_probe_link_components()
    ASoC: rt1308: make array pd static const, makes object smaller
    ...

    Linus Torvalds
     

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
     

28 Aug, 2019

1 commit


09 Aug, 2019

1 commit

  • [ This is rather a revival of the patch Tomas sent in months ago, but
    applying only with the quirk model option -- tiwai ]

    Hard coded coefficients to make Huawuei Matebook X right speaker
    work. The Matebook X has a ALC298, please refer to bug 197801 on
    how these numbers were reverse engineered from the Windows driver

    The reversed engineered sequence represents a repeating pattern
    of verbs, and the only values that are changing periodically are
    written on indexes 0x23 and 0x25:

    0x500, 0x23
    0x400, VALUE1
    0x500, 0x25
    0x400, VALUE2

    * skipped reading sequences (0x500 - 0xc00 sequences are ignored)
    * static values from reverse engineering are used

    NOTE: since a significant risk is still considered, this is provided
    as an experimental fix that isn't applied as default for now. For
    enabling the fix, you'll have to choose huawei-mbx-stereo via model
    option of snd-hda-intel module.

    If we get feedback from users that this works stably, we may apply it
    per default.

    [ Some coding style fixes and replacement with AC_VERB_* by tiwai ]

    BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=197801
    Signed-off-by: Tomas Espeleta
    Signed-off-by: Takashi Iwai

    Tomas Espeleta
     

01 Aug, 2019

1 commit


17 Jul, 2019

1 commit


03 Apr, 2019

1 commit


28 Feb, 2019

1 commit

  • …ie/sound into for-next

    ASoC: More changes for v5.1

    Another batch of changes for ASoC, no big core changes - it's mainly
    small fixes and improvements for individual drivers.

    - A big refresh and cleanup of the Samsung drivers, fixing a number of
    issues which allow the driver to be used with a wider range of
    userspaces.
    - Fixes for the Intel drivers to make them more standard so less likely
    to get bitten by core issues.
    - New driver for Cirrus Logic CS35L26.

    Takashi Iwai
     

20 Feb, 2019

2 commits


08 Feb, 2019

1 commit


02 Feb, 2019

1 commit

  • We used to pass NULL to memory allocators for ISA devices due to
    historical reasons. But we prefer rather a proper device object to be
    assigned, so let's fix it by replacing snd_dma_isa_data() call with
    card->dev reference, and kill snd_dma_isa_data() definition.

    Reviewed-by: Christoph Hellwig
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

16 Jan, 2019

1 commit


21 Nov, 2018

1 commit

  • Whilst making an unrelated change to some Documentation, Linus sayeth:

    | Afaik, even in Britain, "whilst" is unusual and considered more
    | formal, and "while" is the common word.
    |
    | [...]
    |
    | Can we just admit that we work with computers, and we don't need to
    | use þe eald Englisc spelling of words that most of the world never
    | uses?

    dictionary.com refers to the word as "Chiefly British", which is
    probably an undesirable attribute for technical documentation.

    Replace all occurrences under Documentation/ with "while".

    Cc: David Howells
    Cc: Liam Girdwood
    Cc: Chris Wilson
    Cc: Michael Halcrow
    Cc: Jonathan Corbet
    Reported-by: Linus Torvalds
    Signed-off-by: Will Deacon
    Signed-off-by: Jonathan Corbet

    Will Deacon
     

18 Oct, 2018

1 commit

  • Slightly brushing up and throw the old dust away from my ancient
    writing-an-alsa-driver document. The contents aren't changed so much
    but the obsoleted parts are dropped.

    Also, remove the date and the version number. It's useless.

    Reviewed-by: Takashi Sakamoto
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

07 Oct, 2018

1 commit


13 Aug, 2018

1 commit

  • …e/sound into for-linus

    ASoC: Updates for v4.19

    A fairly big update, including quite a bit of core activity this time
    around (which is good to see) along with a fairly large set of new
    drivers.

    - A new snd_pcm_stop_xrun() helper which is now used in several
    drivers.
    - Support for providing name prefixes to generic component nodes.
    - Quite a few fixes for DPCM as it gains a bit wider use and more
    robust testing.
    - Generalization of the DIO2125 support to a simple amplifier driver.
    - Accessory detection support for the audio graph card.
    - DT support for PXA AC'97 devices.
    - Quirks for a number of new x86 systems.
    - Support for AM Logic Meson, Everest ES7154, Intel systems with
    RT5682, Qualcomm QDSP6 and WCD9335, Realtek RT5682 and TI TAS5707.

    Takashi Iwai
     

27 Jul, 2018

1 commit


27 Jun, 2018

5 commits


26 Jun, 2018

4 commits


07 Jun, 2018

1 commit

  • Pull sound updates from Takashi Iwai:
    "We've got many code additions at this cycle as a result of quite a few
    new drivers. Below are highlights:

    Core stuff:
    - Fix the long-standing issue with the device registration order; the
    control device is now registered at last
    - PCM locking code cleanups for RT kernels
    - Fixes for possible races in ALSA timer resolution accesses
    - TLV offset definitions in uapi

    ASoC:
    - Many fixes for the topology stuff, including fixes for v4 ABI
    compatibility
    - Lots of cleanups / quirks for Intel platforms based on Realtek
    CODECs
    - Continued componentization works, removing legacy CODEC stuff
    - Conversion of OMAP DMA to the new, more standard SDMA-PCM driver
    - Fixes and updates to Cirrus Logic SoC drivers
    - New Qualcomm DSP support
    - New drivers for Analog SSM2305, Atmel I2S controllers, Mediatek
    MT6351, MT6797 and MT7622, Qualcomm DSPs, Realtek RT1305, RT1306
    and RT5668 and TI TSCS454

    HD-audio:
    - Finally better support for some CA0132 boards, allowing Windows
    firmware
    - HP Spectre x360 support along with a bulk of COEF stuff
    - Blacklisting power save default some known boards reported on
    Fedora

    USB-audio:
    - Continued improvements on UAC3 support; now BADD is supported
    - Fixes / improvements for Dell WD15 dock
    - Allow DMA coherent pages for PCM buffers for ARCH, MIPS & co

    Others:
    - New Xen sound frontend driver support
    - Cache implementation and other improvements for FireWire DICE
    - Conversions to octal permissions in allover places"

    * tag 'sound-4.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (386 commits)
    ASoC: dapm: delete dapm_kcontrol_data paths list before freeing it
    ALSA: usb-audio: remove redundant check on err
    ASoC: topology: Move skl-tplg-interface.h to uapi
    ASoC: topology: Move v4 manifest header data structures to uapi
    ASoC: topology: Improve backwards compatibility with v4 topology files
    ALSA: pci/hda: Remove unused, broken, header file
    ASoC: TSCS454: Add Support
    ASoC: Intel: kbl: Move codec sysclk config to codec_init function
    ASoC: simple-card: set cpu dai clk in hw_params
    ALSA: hda - Handle kzalloc() failure in snd_hda_attach_pcm_stream()
    ALSA: oxygen: use match_string() helper
    ASoC: dapm: use match_string() helper
    ASoC: max98095: use match_string() helper
    ASoC: max98088: use match_string() helper
    ASoC: Intel: bytcr_rt5651: Set card long_name based on quirks
    ASoC: mt6797-mt6351: add hostless phone call path
    ASoC: mt6797: add Hostless DAI
    ASoC: mt6797: add PCM interface
    ASoC: mediatek: export mtk-afe symbols as needed
    ASoC: codecs: PCM1789: include gpio/consumer.h
    ...

    Linus Torvalds
     

05 Jun, 2018

1 commit

  • ASoC: Updates for v4.18

    This is a very big update, mainly due to a huge set of new drivers some
    of which are individually very large. We also have a lot of fixes for
    the topology stuff, several of the users have stepped up and fixed some
    the serious issues there, and continued progress on the transition away
    from CODEC specific drivers to generic component drivers.

    - Many fixes for the topology code, including fixes for the half done
    v4 ABI compatibility from Guenter Roeck and other ABI fixes from
    Kirill Marinushkin.
    - Lots of cleanup for Intel platforms based on Realtek CODECs from Hans
    de Goode.
    - More followups on removing legacy CODEC things and transitioning to
    components from Morimoto-san.
    - Conversion of OMAP DMA to the new, more standard SDMA-PCM driver.
    - A series of fixes and updates to the rather elderly Cirrus Logic SoC
    drivers from Alexander Sverdlin.
    - Qualcomm DSP support from Srinivas Kandagatla.
    - New drivers for Analog SSM2305, Atmel I2S controllers, Mediatek
    MT6351, MT6797 and MT7622, Qualcomm DSPs, Realtek RT1305, RT1306 and
    RT5668 and TI TSCS454

    Takashi Iwai
     

29 May, 2018

1 commit

  • Currently, USB-audio driver allocates the PCM buffer via vmalloc(), as
    this serves merely as an intermediate buffer that is copied to each
    URB transfer buffer. This works well in general on x86, but on some
    archs this may result in cache coherency issues when mmap is used.
    OTOH, it works also on such arch unless mmap is used.

    This patch is a step for mitigating the inconvenience; a new module
    option "use_vmalloc" is provided so that user can choose to allocate
    the DMA coherent buffer instead of the existing vmalloc buffer.
    The drawback is that it'd be the standard dma_alloc_coherent() calls
    and the system would require contiguous pages on non-x86 archs.

    Note that it's a global option and not dynamically switchable since
    the buffer is pre-allocated at the probe time. In theory, it's
    possible to be switchable, but it'd be trickier and racier.

    As default use_vmalloc option is set to true, so that the old behavior
    is kept. For allowing the coherent mmap on ARM or MIPS, pass
    use_vmalloc=0 option explicitly.

    Reported-and-tested-by: Daniel Danzberger
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

22 May, 2018

1 commit


09 May, 2018

1 commit

  • commit ef050bece1b55 ("ASoC: Remove platform code now everything is
    componentised") removed platform code, but it didn't care
    about platform documentation.
    This patch convert platform explanation to component

    Signed-off-by: Kuninori Morimoto
    Reviewed-by: Charles Keepax
    Signed-off-by: Mark Brown

    Kuninori Morimoto
     

17 Apr, 2018

1 commit


16 Apr, 2018

1 commit


15 Nov, 2017

1 commit

  • Pull sound updates from Takashi Iwai:
    "There are no big surprising changes in this cycle, yet not too boring,
    either. The biggest change from diffstat POV is the removal of the
    legacy OSS driver codes that have been already disabled for a long
    time. This will bring a few trivial merge conflicts.

    As new features in ASoC side, there are two things: a new AC97 bus
    implementation and AMD Stony platform support. Both include the
    relevant changes shared with other subsystems, e.g. AC97 MFD changes
    and DRM AMD changes.

    Some other highlighted topics are:

    - A bunch of USB-audio drivers got the hardening against the
    malicious device accesses with a new helper code for endpoint
    sanity check

    - Lots of cleanups for ASoC Intel platform code, including support
    for their open source audio firmware

    - Continued ASoC core componentization works

    - Support for scaling MCLK with sample rate in ASoC simple-card

    - Stabler PCM hot-unplug capability, especially for ASoC usages"

    * tag 'sound-4.15-rc1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (302 commits)
    Documentation: sound: hd-audio: notes.rst
    ASoC: bcm2835: Support left/right justified and DSP modes
    ASoC: bcm2835: Enforce full symmetry
    ASoC: bcm2835: Support additional samplerates up to 384kHz
    ASoC: bcm2835: Add support for TDM modes
    ASoC: add mclk-fs support to audio graph card
    ASoC: add mclk-fs to audio graph card binding
    ASoC: rt5514: work around link error
    ASoC: rt5514: mark PM functions as __maybe_unused
    ASoC: rt5663: Check the JD status in the button pushing
    ASoC: amd: Modified DMA transfer Mechanism for Playback
    ASoC: rt5645: Wait for 400msec before concluding on value of RT5645_VENDOR_ID2
    ASoC: sun4i-codec: fixed 32bit audio capture support for H3/H2+
    ASoC: da7213: add support for DSP modes
    ASoC: sun8i-codec: Add a comment on the LRCK inversion
    ASoC: sun8i-codec: Set the BCLK divider
    ASoC: rt5663: Delay and retry reading rt5663 ID register
    ASoC: amd: use do_div rather than 64 bit division to fix 32 bit builds
    ASoC: cs42l56: Fix reset GPIO name in example DT binding
    ASoC: rt5514-spi: check irq status to schedule data copy in resume function
    ...

    Linus Torvalds
     

14 Nov, 2017

1 commit


31 Oct, 2017

1 commit

  • Since no complaints have been raised after disabling the build of OSS
    (Open Sound System) by the commit 31cbee6a5611 ("sound: Disable the
    build of OSS drivers"), let's finally drop the whole code and
    documentation.

    Some glue codes are still left intact since sound/oss/dmasound stuff
    remains -- which is an independent implementation solely for m68k, and
    it's not covered by ALSA yet.

    Also, a couple of API header files (linux/sound.h and
    linux/soundcard.h) are kept remaining as well, since the OSS API
    itself is still supported by ALSA OSS emulation, and applications can
    refer to these.

    Where we're at it, some help texts in the top-level Kconfig are
    adjusted, too (who still needs to specify I/O port in kbuild
    nowadays?).

    Reviewed-by: Jaroslav Kysela
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

18 Oct, 2017

1 commit


13 Oct, 2017

2 commits