18 Dec, 2019

1 commit

  • commit 59a126aa3113fc23f03fedcafe3705f1de5aff50 upstream.

    Even if isochronous resources reservation fails, error code doesn't return
    in pcm.hw_params callback.

    Cc: #5.3+
    Fixes: 4f380d007052 ("ALSA: oxfw: configure packet format in pcm.hw_params callback")
    Signed-off-by: Takashi Sakamoto
    Link: https://lore.kernel.org/r/20191209151655.GA8090@workstation
    Signed-off-by: Takashi Iwai
    Signed-off-by: Greg Kroah-Hartman

    Takashi Sakamoto
     

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
     

26 Aug, 2019

2 commits

  • When userspace application calls ioctl(2) to configure hardware for PCM
    playback substream, ALSA OXFW driver handles incoming AMDTP stream.
    In this case, outgoing AMDTP stream should be handled.

    This commit fixes the bug for v5.3-rc kernel.

    Fixes: 4f380d007052 ("ALSA: oxfw: configure packet format in pcm.hw_params callback")
    Signed-off-by: Takashi Sakamoto
    Signed-off-by: Takashi Iwai

    Takashi Sakamoto
     
  • ALSA oxfw driver supports Griffin FireWave. This device supports one
    isochronous stream for PCM playback. Current driver executes code to
    wait event for stream structure of opposite direction. This causes
    NULL pointer dereference.

    This commit fixes the bug.

    Fixes: ac5d77864cfc ("ALSA: oxfw: support AMDTP domain")
    Signed-off-by: Takashi Sakamoto
    Signed-off-by: Takashi Iwai

    Takashi Sakamoto
     

06 Aug, 2019

1 commit


08 Jul, 2019

1 commit

  • …/sound into for-linus

    ASoC: Updates for v5.3

    This is a very big update, mainly thanks to Morimoto-san's refactoring
    work and some fairly large new drivers.

    - Lots more work on moving towards a component based framework from
    Morimoto-san.
    - Support for force disconnecting muxes from Jerome Brunet.
    - New drivers for Cirrus Logic CS47L35, CS47L85 and CS47L90, Conexant
    CX2072X, Realtek RT1011 and RT1308.

    Signed-off-by: Takashi Iwai <tiwai@suse.de>

    Takashi Iwai
     

07 Jul, 2019

1 commit

  • In IEC 61883-6, several types of sampling data can be multiplexed into
    payload of common isochronous packet (CIP). For typical audio and music
    units, PCM samples and MIDI messages are multiplexed into one packet
    streaming.

    ALSA oxfw driver allows applications of rawmidi interface to start
    packet streaming for transmission of MIDI messages. However at error
    path, the reference count of stream functionality is not operated
    correctly. This can brings a bug that packet streaming is not stopped
    when all referrers release the count.

    This commit fixes the bug.

    Fixes: 4f380d007052 ("ALSA: oxfw: configure packet format in pcm.hw_params callback")
    Signed-off-by: Takashi Sakamoto
    Signed-off-by: Takashi Iwai

    Takashi Sakamoto
     

01 Jul, 2019

1 commit


21 Jun, 2019

1 commit


17 Jun, 2019

1 commit

  • In current implementation, establishment connection corresponds to
    allocation of isochronous resources. Although this is an ideal
    implementation of CMP described in IEC 61883-1, it's not enough
    efficient to recover PCM substream multiplexed in packet streaming.
    The packet streaming can always restart on the same allocated
    isochronous resources even if the previous packet streaming
    corrupted.

    This commit splits allocation of isochronous resources from
    establishment of connection so that CMP runs with allocated
    isochronous resources.

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

    Takashi Sakamoto
     

14 Jun, 2019

1 commit

  • Pull sound fixes from Takashi Iwai:
    "It might feel like deja vu to receive a bulk of changes at rc5, and it
    happens again; we've got a collection of fixes for ASoC. Most of fixes
    are targeted for the newly merged SOF (Sound Open Firmware) stuff and
    the relevant fixes for Intel platforms.

    Other than that, there are a few regression fixes for the recent ASoC
    core changes and HD-audio quirk, as well as a couple of FireWire fixes
    and for other ASoC codecs"

    * tag 'sound-5.2-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (54 commits)
    Revert "ALSA: hda/realtek - Improve the headset mic for Acer Aspire laptops"
    ALSA: ice1712: Check correct return value to snd_i2c_sendbytes (EWS/DMX 6Fire)
    ALSA: oxfw: allow PCM capture for Stanton SCS.1m
    ALSA: firewire-motu: fix destruction of data for isochronous resources
    ASoC: Intel: sst: fix kmalloc call with wrong flags
    ASoC: core: Fix deadlock in snd_soc_instantiate_card()
    SoC: rt274: Fix internal jack assignment in set_jack callback
    ALSA: hdac: fix memory release for SST and SOF drivers
    ASoC: SOF: Intel: hda: use the defined ppcap functions
    ASoC: core: move DAI pre-links initiation to snd_soc_instantiate_card
    ASoC: Intel: cht_bsw_rt5672: fix kernel oops with platform_name override
    ASoC: Intel: cht_bsw_nau8824: fix kernel oops with platform_name override
    ASoC: Intel: bytcht_es8316: fix kernel oops with platform_name override
    ASoC: Intel: cht_bsw_max98090: fix kernel oops with platform_name override
    ASoC: sun4i-i2s: Add offset to RX channel select
    ASoC: sun4i-i2s: Fix sun8i tx channel offset mask
    ASoC: max98090: remove 24-bit format support if RJ is 0
    ASoC: da7219: Fix build error without CONFIG_I2C
    ASoC: SOF: Intel: hda: Fix COMPILE_TEST build error
    ASoC: SOF: fix DSP oops definitions in FW ABI
    ...

    Linus Torvalds
     

12 Jun, 2019

9 commits


11 Jun, 2019

1 commit

  • Stanton SCS.1m can transfer isochronous packet with Multi Bit Linear
    Audio data channels, therefore it allows software to capture PCM
    substream. However, ALSA oxfw driver doesn't.

    This commit changes the driver to add one PCM substream for capture
    direction.

    Fixes: de5126cc3c0b ("ALSA: oxfw: add stream format quirk for SCS.1 models")
    Cc: # v4.5+
    Signed-off-by: Takashi Sakamoto
    Signed-off-by: Takashi Iwai

    Takashi Sakamoto
     

05 Jun, 2019

1 commit

  • Based on 1 normalized pattern(s):

    licensed under the terms of the gnu general public license version 2

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-only

    has been chosen to replace the boilerplate/reference in 88 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Alexios Zavras
    Reviewed-by: Allison Randal
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190530000437.521539229@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     

21 May, 2019

1 commit


07 Feb, 2019

1 commit


13 Nov, 2018

1 commit

  • This commit adds support for APOGEE duet FireWire, launched 2007, already
    discontinued. This model uses Oxford Semiconductor FW971 as its
    communication engine. Below is information on Configuration ROM of this
    unit. The unit supports some AV/C commands defined by Audio subunit
    specification and vendor dependent commands.

    $ ./hinawa-config-rom-printer /dev/fw1
    { 'bus-info': { 'adj': False,
    'bmc': False,
    'chip_ID': 42949742248,
    'cmc': False,
    'cyc_clk_acc': 255,
    'generation': 0,
    'imc': False,
    'isc': True,
    'link_spd': 3,
    'max_ROM': 0,
    'max_rec': 64,
    'name': '1394',
    'node_vendor_ID': 987,
    'pmc': False},
    'root-directory': [ ['VENDOR', 987],
    ['DESCRIPTOR', 'Apogee Electronics'],
    ['MODEL', 122333],
    ['DESCRIPTOR', 'Duet'],
    [ 'NODE_CAPABILITIES',
    { 'addressing': {'64': True, 'fix': True, 'prv': False},
    'misc': {'int': False, 'ms': False, 'spt': True},
    'state': { 'atn': False,
    'ded': False,
    'drq': True,
    'elo': False,
    'init': False,
    'lst': True,
    'off': False},
    'testing': {'bas': False, 'ext': False}}],
    [ 'UNIT',
    [ ['SPECIFIER_ID', 41005],
    ['VERSION', 65537],
    ['MODEL', 122333],
    ['DESCRIPTOR', 'Duet']]]]}

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

    Takashi Sakamoto
     

10 Oct, 2018

3 commits


04 Oct, 2018

3 commits

  • ALSA oxfw driver allocates memory objects for cache of stream formats.
    The objects are used to maintain packet streaming by components for
    ALSA rawMIDI/PCM interface. They can be released as managed-resource
    of 'struct snd_card.card_dev'.

    This commit uses managed-resource of the sound card device for this
    purpose.

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

    Takashi Sakamoto
     
  • ALSA oxfw driver allocates memory objects for data specific to some
    models. These objects are used to maintain functionalities specific
    to the models for ALSA rawMIDI/control interfaces. They can be
    released as managed-resource of 'struct snd_card.card_dev'.

    This commit uses managed-resource of the sound card device for this
    purpose.

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

    Takashi Sakamoto
     
  • At present, private data of each driver in ALSA firewire stack is
    allocated/freed by kernel slab allocator for corresponding unit on
    IEEE 1394 bus. In this case, resource-managed slab allocator is
    available to release memory object automatically just before releasing
    device structure for the unit. This idea can prevent runtime from
    memory leak due to programming mistakes.

    This commit uses the allocator for the private data. These drivers
    already use reference counter to maintain lifetime of device structure
    for the unit by a pair of fw_unit_get()/fw_unit_put(). The private data
    is safely released in a callback of 'struct snd_card.private_free().

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

    Takashi Sakamoto
     

17 Sep, 2018

2 commits


13 Sep, 2018

1 commit

  • Although private data of sound card instance is usually allocated in the
    tail of the instance, drivers in ALSA firewire stack allocate the private
    data before allocating the instance. In this case, the private data
    should be released explicitly at .private_free callback of the instance.

    This commit fixes memory leak following to the above design.

    Fixes: 6c29230e2a5f ('ALSA: oxfw: delayed registration of sound card')
    Cc: # v4.7+
    Signed-off-by: Takashi Sakamoto
    Signed-off-by: Takashi Iwai

    Takashi Sakamoto
     

18 Jul, 2018

1 commit

  • snd_pcm_lib_mmap_vmalloc() was supposed to be implemented with
    somewhat special for vmalloc handling, but in the end, this turned to
    just the default handler, i.e. NULL. As the situation has never
    changed over decades, let's rip it off.

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

    Takashi Iwai
     

28 May, 2018

1 commit

  • Convert the S_ symbolic permissions to their octal equivalents as
    using octal and not symbolic permissions is preferred by many as more
    readable.

    see: https://lkml.org/lkml/2016/8/2/1945

    Done with automated conversion via:
    $ ./scripts/checkpatch.pl -f --types=SYMBOLIC_PERMS --fix-inplace

    Miscellanea:

    o Wrapped one multi-line call to a single line

    Signed-off-by: Joe Perches
    Acked-by: Vinod Koul
    Signed-off-by: Takashi Iwai

    Joe Perches
     

22 May, 2018

1 commit


12 Feb, 2018

1 commit

  • This is the mindless scripted replacement of kernel use of POLL*
    variables as described by Al, done by this script:

    for V in IN OUT PRI ERR RDNORM RDBAND WRNORM WRBAND HUP RDHUP NVAL MSG; do
    L=`git grep -l -w POLL$V | grep -v '^t' | grep -v /um/ | grep -v '^sa' | grep -v '/poll.h$'|grep -v '^D'`
    for f in $L; do sed -i "-es/^\([^\"]*\)\(\\)/\\1E\\2/" $f; done
    done

    with de-mangling cleanups yet to come.

    NOTE! On almost all architectures, the EPOLL* constants have the same
    values as the POLL* constants do. But they keyword here is "almost".
    For various bad reasons they aren't the same, and epoll() doesn't
    actually work quite correctly in some cases due to this on Sparc et al.

    The next patch from Al will sort out the final differences, and we
    should be all done.

    Scripted-by: Al Viro
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

28 Nov, 2017

1 commit


25 Oct, 2017

1 commit

  • …READ_ONCE()/WRITE_ONCE()

    Please do not apply this to mainline directly, instead please re-run the
    coccinelle script shown below and apply its output.

    For several reasons, it is desirable to use {READ,WRITE}_ONCE() in
    preference to ACCESS_ONCE(), and new code is expected to use one of the
    former. So far, there's been no reason to change most existing uses of
    ACCESS_ONCE(), as these aren't harmful, and changing them results in
    churn.

    However, for some features, the read/write distinction is critical to
    correct operation. To distinguish these cases, separate read/write
    accessors must be used. This patch migrates (most) remaining
    ACCESS_ONCE() instances to {READ,WRITE}_ONCE(), using the following
    coccinelle script:

    ----
    // Convert trivial ACCESS_ONCE() uses to equivalent READ_ONCE() and
    // WRITE_ONCE()

    // $ make coccicheck COCCI=/home/mark/once.cocci SPFLAGS="--include-headers" MODE=patch

    virtual patch

    @ depends on patch @
    expression E1, E2;
    @@

    - ACCESS_ONCE(E1) = E2
    + WRITE_ONCE(E1, E2)

    @ depends on patch @
    expression E;
    @@

    - ACCESS_ONCE(E)
    + READ_ONCE(E)
    ----

    Signed-off-by: Mark Rutland <mark.rutland@arm.com>
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: davem@davemloft.net
    Cc: linux-arch@vger.kernel.org
    Cc: mpe@ellerman.id.au
    Cc: shuah@kernel.org
    Cc: snitzer@redhat.com
    Cc: thor.thayer@linux.intel.com
    Cc: tj@kernel.org
    Cc: viro@zeniv.linux.org.uk
    Cc: will.deacon@arm.com
    Link: http://lkml.kernel.org/r/1508792849-3115-19-git-send-email-paulmck@linux.vnet.ibm.com
    Signed-off-by: Ingo Molnar <mingo@kernel.org>

    Mark Rutland