04 Apr, 2020

1 commit

  • Pull SPDX updates from Greg KH:
    "Here are three SPDX patches for 5.7-rc1.

    One fixes up the SPDX tag for a single driver, while the other two go
    through the tree and add SPDX tags for all of the .gitignore files as
    needed.

    Nothing too complex, but you will get a merge conflict with your
    current tree, that should be trivial to handle (one file modified by
    two things, one file deleted.)

    All three of these have been in linux-next for a while, with no
    reported issues other than the merge conflict"

    * tag 'spdx-5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/spdx:
    ASoC: MT6660: make spdxcheck.py happy
    .gitignore: add SPDX License Identifier
    .gitignore: remove too obvious comments

    Linus Torvalds
     

03 Apr, 2020

1 commit

  • Pull sound updates from Takashi Iwai:
    "This became again a busy development cycle. There are few ALSA core
    updates (merely API cleanups and sparse fixes), with the majority of
    other changes are found in ASoC scene.

    Here are some highlights:

    ALSA core:
    - More helper macros for sparse warning fixes (e.g. bitwise types)
    - Slight optimization of PCM OSS locks
    - Make common handling for PCM / compress buffers (for SOF)

    ASoC:
    - Lots of code refactoring and modernization for (still ongoing)
    componentization works
    - Conversion of SND_SOC_ALL_CODECS to use imply
    - Continued refactoring and fixing of the Intel SOF/SST support,
    including the initial (but still incomplete) SoundWire support
    - SoundWire and more advanced clocking support for Realtek RT5682
    - Support for amlogic GX, Meson 8, Meson 8B and T9015 DAC, Broadcom
    DSL/PON, Ingenic JZ4760 and JZ4770, Realtek RL6231, and TI TAS2563
    and TLV320ADCX140

    HD-audio:
    - Optimizations in HDMI jack handling
    - A few new quirks and fixups for Realtek codecs

    USB-audio:
    - Delayed registration support
    - New quirks for Motu, Kingston, Presonus"

    * tag 'sound-5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (415 commits)
    ALSA: usb-audio: Fix case when USB MIDI interface has more than one extra endpoint descriptor
    Revert "ALSA: uapi: Drop asound.h inclusion from asoc.h"
    ALSA: hda/realtek - Remove now-unnecessary XPS 13 headphone noise fixups
    ALSA: hda/realtek - Set principled PC Beep configuration for ALC256
    ALSA: doc: Document PC Beep Hidden Register on Realtek ALC256
    ALSA: hda/realtek - a fake key event is triggered by running shutup
    ALSA: hda: default enable CA0132 DSP support
    ASoC: amd: acp3x-pcm-dma: clean up two indentation issues
    ASoC: tlv320adcx140: Remove undocumented property
    ASoC: Intel: sof_sdw: Add Volteer support with RT5682 SNDW helper function
    ASoC: Intel: common: add match table for TGL RT5682 SoundWire driver
    ASoC: Intel: boards: add sof_sdw machine driver
    ASoC: Intel: soc-acpi: update topology and driver name for SoundWire platforms
    ASoC: rt5682: move DAI clock registry to I2S mode
    ASoC: pxa: magician: convert to use i2c_new_client_device()
    ASoC: SOF: Intel: hda-ctrl: add reset cycle before parsing capabilities
    Asoc: SOF: Intel: hda: check SoundWire wakeen interrupt in irq thread
    ASoC: SOF: Intel: hda: add WAKEEN interrupt support for SoundWire
    ASoC: SOF: Intel: hda: add parameter to control SoundWire clock stop quirks
    ASoC: SOF: Intel: hda: merge IPC, stream and SoundWire interrupt handlers
    ...

    Linus Torvalds
     

01 Apr, 2020

1 commit

  • Pull networking updates from David Miller:
    "Highlights:

    1) Fix the iwlwifi regression, from Johannes Berg.

    2) Support BSS coloring and 802.11 encapsulation offloading in
    hardware, from John Crispin.

    3) Fix some potential Spectre issues in qtnfmac, from Sergey
    Matyukevich.

    4) Add TTL decrement action to openvswitch, from Matteo Croce.

    5) Allow paralleization through flow_action setup by not taking the
    RTNL mutex, from Vlad Buslov.

    6) A lot of zero-length array to flexible-array conversions, from
    Gustavo A. R. Silva.

    7) Align XDP statistics names across several drivers for consistency,
    from Lorenzo Bianconi.

    8) Add various pieces of infrastructure for offloading conntrack, and
    make use of it in mlx5 driver, from Paul Blakey.

    9) Allow using listening sockets in BPF sockmap, from Jakub Sitnicki.

    10) Lots of parallelization improvements during configuration changes
    in mlxsw driver, from Ido Schimmel.

    11) Add support to devlink for generic packet traps, which report
    packets dropped during ACL processing. And use them in mlxsw
    driver. From Jiri Pirko.

    12) Support bcmgenet on ACPI, from Jeremy Linton.

    13) Make BPF compatible with RT, from Thomas Gleixnet, Alexei
    Starovoitov, and your's truly.

    14) Support XDP meta-data in virtio_net, from Yuya Kusakabe.

    15) Fix sysfs permissions when network devices change namespaces, from
    Christian Brauner.

    16) Add a flags element to ethtool_ops so that drivers can more simply
    indicate which coalescing parameters they actually support, and
    therefore the generic layer can validate the user's ethtool
    request. Use this in all drivers, from Jakub Kicinski.

    17) Offload FIFO qdisc in mlxsw, from Petr Machata.

    18) Support UDP sockets in sockmap, from Lorenz Bauer.

    19) Fix stretch ACK bugs in several TCP congestion control modules,
    from Pengcheng Yang.

    20) Support virtual functiosn in octeontx2 driver, from Tomasz
    Duszynski.

    21) Add region operations for devlink and use it in ice driver to dump
    NVM contents, from Jacob Keller.

    22) Add support for hw offload of MACSEC, from Antoine Tenart.

    23) Add support for BPF programs that can be attached to LSM hooks,
    from KP Singh.

    24) Support for multiple paths, path managers, and counters in MPTCP.
    From Peter Krystad, Paolo Abeni, Florian Westphal, Davide Caratti,
    and others.

    25) More progress on adding the netlink interface to ethtool, from
    Michal Kubecek"

    * git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next: (2121 commits)
    net: ipv6: rpl_iptunnel: Fix potential memory leak in rpl_do_srh_inline
    cxgb4/chcr: nic-tls stats in ethtool
    net: dsa: fix oops while probing Marvell DSA switches
    net/bpfilter: remove superfluous testing message
    net: macb: Fix handling of fixed-link node
    net: dsa: ksz: Select KSZ protocol tag
    netdevsim: dev: Fix memory leak in nsim_dev_take_snapshot_write
    net: stmmac: add EHL 2.5Gbps PCI info and PCI ID
    net: stmmac: add EHL PSE0 & PSE1 1Gbps PCI info and PCI ID
    net: stmmac: create dwmac-intel.c to contain all Intel platform
    net: dsa: bcm_sf2: Support specifying VLAN tag egress rule
    net: dsa: bcm_sf2: Add support for matching VLAN TCI
    net: dsa: bcm_sf2: Move writing of CFP_DATA(5) into slicing functions
    net: dsa: bcm_sf2: Check earlier for FLOW_EXT and FLOW_MAC_EXT
    net: dsa: bcm_sf2: Disable learning for ASP port
    net: dsa: b53: Deny enslaving port 7 for 7278 into a bridge
    net: dsa: b53: Prevent tagged VLAN on port 7 for 7278
    net: dsa: b53: Restore VLAN entries upon (re)configuration
    net: dsa: bcm_sf2: Fix overflow checks
    hv_netvsc: Remove unnecessary round_up for recv_completion_cnt
    ...

    Linus Torvalds
     

31 Mar, 2020

4 commits

  • The Miditech MIDIFACE 16x16 (USB ID 1290:1749) has more than one extra
    endpoint descriptor.

    The first extra descriptor is: 0x06 0x30 0x00 0x00 0x00 0x00

    As the code in snd_usbmidi_get_ms_info() looks only at the
    first extra descriptor to find USB_DT_CS_ENDPOINT the device
    as such is recognized but there is neither input nor output
    configured.

    The patch iterates through the extra descriptors to find the
    proper one. With this patch the device is correctly configured.

    Signed-off-by: Andreas Steinmetz
    Link: https://lore.kernel.org/r/1c3b431a86f69e1d60745b6110cdb93c299f120b.camel@domdv.de
    Signed-off-by: Takashi Iwai

    Andreas Steinmetz
     
  • patch_realtek.c has historically failed to properly configure the PC
    Beep Hidden Register for the ALC256 codec (among others). Depending on
    your kernel version, symptoms of this misconfiguration can range from
    chassis noise, picked up by a poorly-shielded PCBEEP trace, getting
    amplified and played on your internal speaker and/or headphones to loud
    feedback, which responds to the "Headphone Mic Boost" ALSA control,
    getting played through your headphones. For details of the problem, see
    the patch in this series titled "ALSA: hda/realtek - Set principled PC
    Beep configuration for ALC256", which fixes the configuration.

    These symptoms have been most noticed on the Dell XPS 13 9350 and 9360,
    popular laptops that use the ALC256. As a result, several model-specific
    fixups have been introduced to try and fix the problem, the most
    egregious of which locks the "Headphone Mic Boost" control as a hack to
    minimize noise from a feedback loop that shouldn't have been there in
    the first place.

    Now that the underlying issue has been fixed, remove all these fixups.
    Remaining fixups needed by the XPS 13 are all picked up by existing pin
    quirks.

    This change should, for the XPS 13 9350/9360

    - Significantly increase volume and audio quality on headphones
    - Eliminate headphone popping on suspend/resume
    - Allow "Headphone Mic Boost" to be set again, making the headphone
    jack fully usable as a microphone jack too.

    Fixes: 8c69729b4439 ("ALSA: hda - Fix headphone noise after Dell XPS 13 resume back from S3")
    Fixes: 423cd785619a ("ALSA: hda - Fix headphone noise on Dell XPS 13 9360")
    Fixes: e4c9fd10eb21 ("ALSA: hda - Apply headphone noise quirk for another Dell XPS 13 variant")
    Fixes: 1099f48457d0 ("ALSA: hda/realtek: Reduce the Headphone static noise on XPS 9350/9360")
    Cc: stable@vger.kernel.org
    Signed-off-by: Thomas Hebb
    Link: https://lore.kernel.org/r/b649a00edfde150cf6eebbb4390e15e0c2deb39a.1585584498.git.tommyhebb@gmail.com
    Signed-off-by: Takashi Iwai

    Thomas Hebb
     
  • The Realtek PC Beep Hidden Register[1] is currently set by
    patch_realtek.c in two different places:

    In alc_fill_eapd_coef(), it's set to the value 0x5757, corresponding to
    non-beep input on 1Ah and no 1Ah loopback to either headphones or
    speakers. (Although, curiously, the loopback amp is still enabled.) This
    write was added fairly recently by commit e3743f431143 ("ALSA:
    hda/realtek - Dell headphone has noise on unmute for ALC236") and is a
    safe default. However, it happens in the wrong place:
    alc_fill_eapd_coef() runs on module load and cold boot but not on S3
    resume, meaning the register loses its value after suspend.

    Conversely, in alc256_init(), the register is updated to unset bit 13
    (disable speaker loopback) and set bit 5 (set non-beep input on 1Ah).
    Although this write does run on S3 resume, it's not quite enough to fix
    up the register's default value of 0x3717. What's missing is a set of
    bit 14 to disable headphone loopback. Without that, we end up with a
    feedback loop where the headphone jack is being driven by amplified
    samples of itself[2].

    This change eliminates the update in alc256_init() and replaces it with
    the 0x5757 write from alc_fill_eapd_coef(). Kailang says that 0x5757 is
    supposed to be the codec's default value, so using it will make
    debugging easier for Realtek.

    Affects the ALC255, ALC256, ALC257, ALC235, and ALC236 codecs.

    [1] Newly documented in Documentation/sound/hd-audio/realtek-pc-beep.rst

    [2] Setting the "Headphone Mic Boost" control from userspace changes
    this feedback loop and has been a widely-shared workaround for headphone
    noise on laptops like the Dell XPS 13 9350. This commit eliminates the
    feedback loop and makes the workaround unnecessary.

    Fixes: e1e8c1fdce8b ("ALSA: hda/realtek - Dell headphone has noise on unmute for ALC236")
    Cc: stable@vger.kernel.org
    Signed-off-by: Thomas Hebb
    Link: https://lore.kernel.org/r/bf22b417d1f2474b12011c2a39ed6cf8b06d3bf5.1585584498.git.tommyhebb@gmail.com
    Signed-off-by: Takashi Iwai

    Thomas Hebb
     
  • Pull perf updates from Ingo Molnar:
    "The main changes in this cycle were:

    Kernel side changes:

    - A couple of x86/cpu cleanups and changes were grandfathered in due
    to patch dependencies. These clean up the set of CPU model/family
    matching macros with a consistent namespace and C99 initializer
    style.

    - A bunch of updates to various low level PMU drivers:
    * AMD Family 19h L3 uncore PMU
    * Intel Tiger Lake uncore support
    * misc fixes to LBR TOS sampling

    - optprobe fixes

    - perf/cgroup: optimize cgroup event sched-in processing

    - misc cleanups and fixes

    Tooling side changes are to:

    - perf {annotate,expr,record,report,stat,test}

    - perl scripting

    - libapi, libperf and libtraceevent

    - vendor events on Intel and S390, ARM cs-etm

    - Intel PT updates

    - Documentation changes and updates to core facilities

    - misc cleanups, fixes and other enhancements"

    * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (89 commits)
    cpufreq/intel_pstate: Fix wrong macro conversion
    x86/cpu: Cleanup the now unused CPU match macros
    hwrng: via_rng: Convert to new X86 CPU match macros
    crypto: Convert to new CPU match macros
    ASoC: Intel: Convert to new X86 CPU match macros
    powercap/intel_rapl: Convert to new X86 CPU match macros
    PCI: intel-mid: Convert to new X86 CPU match macros
    mmc: sdhci-acpi: Convert to new X86 CPU match macros
    intel_idle: Convert to new X86 CPU match macros
    extcon: axp288: Convert to new X86 CPU match macros
    thermal: Convert to new X86 CPU match macros
    hwmon: Convert to new X86 CPU match macros
    platform/x86: Convert to new CPU match macros
    EDAC: Convert to new X86 CPU match macros
    cpufreq: Convert to new X86 CPU match macros
    ACPI: Convert to new X86 CPU match macros
    x86/platform: Convert to new CPU match macros
    x86/kernel: Convert to new CPU match macros
    x86/kvm: Convert to new CPU match macros
    x86/perf/events: Convert to new CPU match macros
    ...

    Linus Torvalds
     

30 Mar, 2020

3 commits

  • * pm-qos: (30 commits)
    PM: QoS: annotate data races in pm_qos_*_value()
    Documentation: power: fix pm_qos_interface.rst format warning
    PM: QoS: Make CPU latency QoS depend on CONFIG_CPU_IDLE
    Documentation: PM: QoS: Update to reflect previous code changes
    PM: QoS: Update file information comments
    PM: QoS: Drop PM_QOS_CPU_DMA_LATENCY and rename related functions
    sound: Call cpu_latency_qos_*() instead of pm_qos_*()
    drivers: usb: Call cpu_latency_qos_*() instead of pm_qos_*()
    drivers: tty: Call cpu_latency_qos_*() instead of pm_qos_*()
    drivers: spi: Call cpu_latency_qos_*() instead of pm_qos_*()
    drivers: net: Call cpu_latency_qos_*() instead of pm_qos_*()
    drivers: mmc: Call cpu_latency_qos_*() instead of pm_qos_*()
    drivers: media: Call cpu_latency_qos_*() instead of pm_qos_*()
    drivers: hsi: Call cpu_latency_qos_*() instead of pm_qos_*()
    drm: i915: Call cpu_latency_qos_*() instead of pm_qos_*()
    x86: platform: iosf_mbi: Call cpu_latency_qos_*() instead of pm_qos_*()
    cpuidle: Call cpu_latency_qos_limit() instead of pm_qos_request()
    PM: QoS: Add CPU latency QoS API wrappers
    PM: QoS: Adjust pm_qos_request() signature and reorder pm_qos.h
    PM: QoS: Simplify definitions of CPU latency QoS trace events
    ...

    Rafael J. Wysocki
     
  • …/sound into for-linus

    ASoC: Updates for v5.7

    This is a very big update for the core since Morimoto-san has been
    rather busy continuing his refactorings to clean up a lot of the cruft
    that we have accumilated over the years. We've also gained several new
    drivers, including initial (but still not complete) parts of the Intel
    SoundWire support.

    - Lots of refactorings to modernize the code from Morimoto-san.
    - Conversion of SND_SOC_ALL_CODECS to use imply from Geert Uytterhoeven.
    - Continued refactoring and fixing of the Intel support.
    - Soundwire and more advanced clocking support for Realtek RT5682.
    - Support for amlogic GX, Meson 8, Meson 8B and T9015 DAC, Broadcom
    DSL/PON, Ingenic JZ4760 and JZ4770, Realtek RL6231, and TI TAS2563 and
    TLV320ADCX140.

    Takashi Iwai
     
  • Takashi Iwai
     

29 Mar, 2020

2 commits

  • On the Lenovo X1C7 machines, after we plug the headset, the rt_resume()
    and rt_suspend() of the codec driver will be called periodically, the
    driver can't stay in the rt_suspend state even users doen't use the
    sound card.

    Through debugging, I found when running rt_suspend(), it will call
    alc225_shutup(), in this function, it will change 3k pull down control
    by alc_update_coef_idx(codec, 0x4a, 0, 3 << 10), this will trigger a
    fake key event and that event will resume the codec, when codec
    suspend agin, it will trigger the fake key event one more time, this
    process will repeat.

    If disable the key event before changing the pull down control, it
    will not trigger fake key event. It also needs to restore the pull
    down control and re-enable the key event, otherwise the system can't
    get key event when codec is in rt_suspend state.

    Also move some functions ahead of alc225_shutup(), this can save the
    function declaration.

    Fixes: 76f7dec08fd6 (ALSA: hda/realtek - Add Headset Button supported for ThinkPad X1)
    Cc: Kailang Yang
    Cc:
    Signed-off-by: Hui Wang
    Link: https://lore.kernel.org/r/20200329082018.20486-1-hui.wang@canonical.com
    Signed-off-by: Takashi Iwai

    Hui Wang
     
  • If SND_HDA_CODEC_CA0132 is enabled, the DSP support should be enabled as
    well. Disabled DSP support leads to a hanging alsa system and no sound
    output on the card otherwise. Tested on:

    06:00.0 Audio device: Creative Labs Sound Core3D [Sound Blaster Recon3D / Z-Series] (rev 01)

    Signed-off-by: Rouven Czerwinski
    Link: https://lore.kernel.org/r/20200329053710.4276-1-r.czerwinski@pengutronix.de
    Signed-off-by: Takashi Iwai

    Rouven Czerwinski
     

28 Mar, 2020

9 commits

  • Mark Brown
     
  • Mark Brown
     
  • …rt <pierre-louis.bossart@linux.intel.com>:

    To handle multiple hardware combinations, this patchset suggests a
    single machine driver which will create and initialize dailinks
    dynamically. This allows us to support new configurations easily, as
    shown with the TigerLake rt5682 example.

    Each configuration updates the card component string, and UCM can test
    for the presence of components to configure them as needed.

    Since we use a single the machine driver name, all previous ACPI
    tables need to be updated. That should have no impact since the
    machine drivers listed at the time were not upstreamed and are no
    longer maintained.

    Naveen Manohar (2):
    ASoC: Intel: common: add match table for TGL RT5682 SoundWire driver
    ASoC: Intel: sof_sdw: Add Volteer support with RT5682 SNDW helper
    function

    Pierre-Louis Bossart (1):
    ASoC: Intel: boards: add sof_sdw machine driver

    Rander Wang (1):
    ASoC: Intel: soc-acpi: update topology and driver name for SoundWire
    platforms

    sound/soc/intel/boards/Kconfig | 24 +
    sound/soc/intel/boards/Makefile | 8 +-
    sound/soc/intel/boards/sof_sdw.c | 962 ++++++++++++++++++
    sound/soc/intel/boards/sof_sdw_common.h | 114 +++
    sound/soc/intel/boards/sof_sdw_dmic.c | 42 +
    sound/soc/intel/boards/sof_sdw_hdmi.c | 97 ++
    sound/soc/intel/boards/sof_sdw_rt1308.c | 151 +++
    sound/soc/intel/boards/sof_sdw_rt5682.c | 126 +++
    sound/soc/intel/boards/sof_sdw_rt700.c | 125 +++
    sound/soc/intel/boards/sof_sdw_rt711.c | 156 +++
    sound/soc/intel/boards/sof_sdw_rt715.c | 42 +
    .../intel/common/soc-acpi-intel-cml-match.c | 24 +-
    .../intel/common/soc-acpi-intel-icl-match.c | 6 +-
    .../intel/common/soc-acpi-intel-tgl-match.c | 30 +-
    14 files changed, 1896 insertions(+), 11 deletions(-)
    create mode 100644 sound/soc/intel/boards/sof_sdw.c
    create mode 100644 sound/soc/intel/boards/sof_sdw_common.h
    create mode 100644 sound/soc/intel/boards/sof_sdw_dmic.c
    create mode 100644 sound/soc/intel/boards/sof_sdw_hdmi.c
    create mode 100644 sound/soc/intel/boards/sof_sdw_rt1308.c
    create mode 100644 sound/soc/intel/boards/sof_sdw_rt5682.c
    create mode 100644 sound/soc/intel/boards/sof_sdw_rt700.c
    create mode 100644 sound/soc/intel/boards/sof_sdw_rt711.c
    create mode 100644 sound/soc/intel/boards/sof_sdw_rt715.c

    --
    2.20.1

    Mark Brown
     
  • There are a couple of statements that are not indented correctly,
    add in the missing tab and break the lines to address a checkpatch
    warning.

    Signed-off-by: Colin Ian King
    Link: https://lore.kernel.org/r/20200327141429.269191-1-colin.king@canonical.com
    Signed-off-by: Mark Brown

    Colin Ian King
     
  • Add support for Google Volteer device. As per new unified soundwire machine
    driver, add rt5682-sdw helper function, which configures codec to Link0.

    Signed-off-by: Pierre-Louis Bossart
    Signed-off-by: Naveen Manohar
    Link: https://lore.kernel.org/r/20200325220746.29601-5-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown

    Naveen Manohar
     
  • RT5682 is in SoundWire mode on link0.

    Signed-off-by: Pierre-Louis Bossart
    Signed-off-by: Naveen Manohar
    Link: https://lore.kernel.org/r/20200325220746.29601-4-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown

    Naveen Manohar
     
  • This machine driver provides support for different configurations:

    RT700, RT711, RT1308 (1x and 2x, I2S or SoundWire mode), and RT715
    CometLake, Icelake, TigerLake.
    PDM digital microphones
    HDMI

    To avoid introducing one driver per configuration, this common machine
    driver relies on platform-specific information, tables and quirks to
    dynamically create the relevant dailinks.

    Unlike a lot of machine drivers, we use different DAI links for
    SoundWire capture and playback since the Cadence PDIs can do capture
    OR playback, not both simultaneously.

    For each configuration, the card component string is updated so that UCM
    can select the relevant parts.

    Signed-off-by: Rander Wang
    Signed-off-by: Pierre-Louis Bossart
    Signed-off-by: Bard Liao
    Link: https://lore.kernel.org/r/20200325220746.29601-3-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown

    Pierre-Louis Bossart
     
  • Update topology and reflect change to unified machine driver for SoundWire.

    Signed-off-by: Rander Wang
    Signed-off-by: Pierre-Louis Bossart
    Link: https://lore.kernel.org/r/20200325220746.29601-2-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown

    Rander Wang
     
  • …e/sound into asoc-5.7

    Mark Brown
     

27 Mar, 2020

19 commits

  • …ri.morimoto.gx@renesas.com>:

    Hi Mark

    Now, CPU/Codec DAI(s) were replaced by rtd->dais.
    Thus, We don't need rtd->cpu/codec_dai{s} anymore.
    This pathset replaces it by new macro.

    Kuninori Morimoto (36):
    ASoC: soc-core: add asoc_rtd_to_cpu/codec() macro
    ASoC: amd: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
    ASoC: atmel: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
    ASoC: au1x: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
    ASoC: bcm: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
    ASoC: cirrus: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
    ASoC: dwc: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
    ASoC: fsl: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
    ASoC: generic: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
    ASoC: img: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
    ASoC: intel: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
    ASoC: kirkwood: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
    ASoC: mediatek: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
    ASoC: meson: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
    ASoC: mxs: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
    ASoC: pxa: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
    ASoC: qcom: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
    ASoC: rockchip: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
    ASoC: samsung: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
    ASoC: sh: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
    ASoC: sof: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
    ASoC: sprd: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
    ASoC: stm: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
    ASoC: sunxi: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
    ASoC: tegra: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
    ASoC: ti: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
    ASoC: txx9: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
    ASoC: uniphier: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
    ASoC: ux500: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
    ASoC: xtensa: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
    ASoC: arm: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
    ASoC: codecs: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
    ASoC: soc: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
    ASoC: soc-core: set rtd->num_cpu/codec at soc_new_pcm_runtime()
    ASoC: soc-core: tidyup soc_new_pcm_runtime() rtd setups
    ASoC: soc-core: remove cpu_dai/codec_dai/cpu_dais/codec_dais

    include/sound/soc.h | 30 +++++++------
    sound/arm/pxa2xx-pcm-lib.c | 8 ++--
    sound/soc/amd/acp-da7219-max98357a.c | 2 +-
    sound/soc/amd/acp-rt5645.c | 4 +-
    sound/soc/amd/acp3x-rt5682-max9836.c | 6 +--
    sound/soc/atmel/atmel-pcm-dma.c | 4 +-
    sound/soc/atmel/atmel-pcm-pdc.c | 2 +-
    sound/soc/atmel/atmel_wm8904.c | 2 +-
    sound/soc/atmel/mikroe-proto.c | 2 +-
    sound/soc/atmel/sam9g20_wm8731.c | 2 +-
    sound/soc/atmel/sam9x5_wm8731.c | 2 +-
    sound/soc/au1x/db1200.c | 2 +-
    sound/soc/au1x/dbdma2.c | 2 +-
    sound/soc/au1x/dma.c | 2 +-
    sound/soc/au1x/psc-ac97.c | 2 +-
    sound/soc/bcm/bcm63xx-pcm-whistler.c | 16 +++----
    sound/soc/bcm/cygnus-pcm.c | 22 +++++-----
    sound/soc/cirrus/edb93xx.c | 4 +-
    sound/soc/cirrus/snappercl15.c | 4 +-
    sound/soc/codecs/cs47l15.c | 4 +-
    sound/soc/codecs/cs47l24.c | 6 +--
    sound/soc/codecs/cs47l35.c | 6 +--
    sound/soc/codecs/cs47l85.c | 6 +--
    sound/soc/codecs/cs47l90.c | 6 +--
    sound/soc/codecs/cs47l92.c | 4 +-
    sound/soc/codecs/wm5110.c | 6 +--
    sound/soc/codecs/wm_adsp.c | 10 ++---
    sound/soc/dwc/dwc-pcm.c | 2 +-
    sound/soc/fsl/eukrea-tlv320.c | 4 +-
    sound/soc/fsl/fsl-asoc-card.c | 10 ++---
    sound/soc/fsl/fsl_asrc_dma.c | 6 +--
    sound/soc/fsl/fsl_spdif.c | 10 ++---
    sound/soc/fsl/fsl_ssi.c | 8 ++--
    sound/soc/fsl/imx-audmix.c | 8 ++--
    sound/soc/fsl/imx-mc13783.c | 4 +-
    sound/soc/fsl/imx-sgtl5000.c | 2 +-
    sound/soc/fsl/mpc5200_dma.c | 10 ++---
    sound/soc/fsl/mpc5200_psc_i2s.c | 2 +-
    sound/soc/fsl/mpc8610_hpcd.c | 4 +-
    sound/soc/fsl/mx27vis-aic32x4.c | 4 +-
    sound/soc/fsl/p1022_ds.c | 4 +-
    sound/soc/fsl/p1022_rdk.c | 4 +-
    sound/soc/fsl/wm1133-ev1.c | 6 +--
    sound/soc/generic/simple-card-utils.c | 12 +++---
    sound/soc/img/img-i2s-in.c | 2 +-
    sound/soc/img/img-i2s-out.c | 2 +-
    sound/soc/intel/atom/sst-mfld-platform-pcm.c | 6 +--
    sound/soc/intel/boards/bdw-rt5650.c | 6 +--
    sound/soc/intel/boards/bdw-rt5677.c | 6 +--
    sound/soc/intel/boards/broadwell.c | 4 +-
    sound/soc/intel/boards/bxt_da7219_max98357a.c | 8 ++--
    sound/soc/intel/boards/bxt_rt298.c | 8 ++--
    sound/soc/intel/boards/byt-max98090.c | 2 +-
    sound/soc/intel/boards/byt-rt5640.c | 4 +-
    sound/soc/intel/boards/bytcht_cx2072x.c | 10 ++---
    sound/soc/intel/boards/bytcht_da7213.c | 8 ++--
    sound/soc/intel/boards/bytcht_es8316.c | 8 ++--
    sound/soc/intel/boards/bytcht_nocodec.c | 4 +-
    sound/soc/intel/boards/bytcr_rt5640.c | 8 ++--
    sound/soc/intel/boards/bytcr_rt5651.c | 8 ++--
    sound/soc/intel/boards/cht_bsw_max98090_ti.c | 6 +--
    sound/soc/intel/boards/cht_bsw_nau8824.c | 4 +-
    sound/soc/intel/boards/cht_bsw_rt5645.c | 14 +++----
    sound/soc/intel/boards/cht_bsw_rt5672.c | 8 ++--
    sound/soc/intel/boards/cml_rt1011_rt5682.c | 6 +--
    sound/soc/intel/boards/glk_rt5682_max98357a.c | 10 ++---
    sound/soc/intel/boards/haswell.c | 2 +-
    sound/soc/intel/boards/kbl_da7219_max98357a.c | 8 ++--
    sound/soc/intel/boards/kbl_da7219_max98927.c | 6 +--
    sound/soc/intel/boards/kbl_rt5660.c | 6 +--
    sound/soc/intel/boards/kbl_rt5663_max98927.c | 8 ++--
    .../intel/boards/kbl_rt5663_rt5514_max98927.c | 8 ++--
    .../soc/intel/boards/skl_nau88l25_max98357a.c | 12 +++---
    sound/soc/intel/boards/skl_nau88l25_ssm4567.c | 16 +++----
    sound/soc/intel/boards/skl_rt286.c | 8 ++--
    sound/soc/intel/boards/sof_da7219_max98373.c | 8 ++--
    sound/soc/intel/boards/sof_pcm512x.c | 8 ++--
    sound/soc/intel/boards/sof_rt5682.c | 6 +--
    sound/soc/intel/haswell/sst-haswell-pcm.c | 26 ++++++------
    sound/soc/intel/skylake/skl-pcm.c | 10 ++---
    sound/soc/kirkwood/armada-370-db.c | 2 +-
    sound/soc/kirkwood/kirkwood-dma.c | 2 +-
    sound/soc/mediatek/common/mtk-afe-fe-dai.c | 10 ++---
    .../mediatek/common/mtk-afe-platform-driver.c | 2 +-
    sound/soc/mediatek/mt2701/mt2701-afe-pcm.c | 2 +-
    sound/soc/mediatek/mt2701/mt2701-cs42448.c | 4 +-
    sound/soc/mediatek/mt2701/mt2701-wm8960.c | 4 +-
    sound/soc/mediatek/mt6797/mt6797-afe-pcm.c | 2 +-
    sound/soc/mediatek/mt8173/mt8173-afe-pcm.c | 2 +-
    sound/soc/mediatek/mt8173/mt8173-max98090.c | 4 +-
    .../mediatek/mt8173/mt8173-rt5650-rt5514.c | 2 +-
    .../mediatek/mt8173/mt8173-rt5650-rt5676.c | 4 +-
    sound/soc/mediatek/mt8173/mt8173-rt5650.c | 6 +--
    sound/soc/mediatek/mt8183/mt8183-afe-pcm.c | 2 +-
    .../mediatek/mt8183/mt8183-da7219-max98357.c | 4 +-
    .../mt8183/mt8183-mt6358-ts3a227-max98357.c | 2 +-
    sound/soc/meson/aiu-fifo.c | 2 +-
    sound/soc/meson/axg-card.c | 8 ++--
    sound/soc/meson/axg-fifo.c | 2 +-
    sound/soc/meson/meson-card-utils.c | 2 +-
    sound/soc/mxs/mxs-sgtl5000.c | 4 +-
    sound/soc/pxa/brownstone.c | 4 +-
    sound/soc/pxa/corgi.c | 4 +-
    sound/soc/pxa/hx4700.c | 4 +-
    sound/soc/pxa/imote2.c | 4 +-
    sound/soc/pxa/magician.c | 8 ++--
    sound/soc/pxa/mioa701_wm9713.c | 4 +-
    sound/soc/pxa/mmp-pcm.c | 2 +-
    sound/soc/pxa/mmp-sspa.c | 2 +-
    sound/soc/pxa/poodle.c | 4 +-
    sound/soc/pxa/pxa2xx-i2s.c | 2 +-
    sound/soc/pxa/spitz.c | 4 +-
    sound/soc/pxa/ttc-dkb.c | 2 +-
    sound/soc/pxa/z2.c | 4 +-
    sound/soc/pxa/zylonite.c | 6 +--
    sound/soc/qcom/apq8016_sbc.c | 2 +-
    sound/soc/qcom/apq8096.c | 6 +--
    sound/soc/qcom/lpass-platform.c | 2 +-
    sound/soc/qcom/qdsp6/q6asm-dai.c | 4 +-
    sound/soc/qcom/qdsp6/q6routing.c | 2 +-
    sound/soc/qcom/sdm845.c | 22 +++++-----
    sound/soc/qcom/storm.c | 2 +-
    sound/soc/rockchip/rk3288_hdmi_analog.c | 4 +-
    sound/soc/rockchip/rk3399_gru_sound.c | 16 +++----
    sound/soc/rockchip/rockchip_max98090.c | 6 +--
    sound/soc/rockchip/rockchip_rt5645.c | 6 +--
    sound/soc/samsung/arndale.c | 6 +--
    sound/soc/samsung/bells.c | 16 +++----
    sound/soc/samsung/h1940_uda1380.c | 2 +-
    sound/soc/samsung/i2s.c | 2 +-
    sound/soc/samsung/jive_wm8750.c | 4 +-
    sound/soc/samsung/littlemill.c | 14 +++----
    sound/soc/samsung/lowland.c | 4 +-
    sound/soc/samsung/neo1973_wm8753.c | 10 ++---
    sound/soc/samsung/odroid.c | 2 +-
    sound/soc/samsung/pcm.c | 4 +-
    sound/soc/samsung/rx1950_uda1380.c | 2 +-
    sound/soc/samsung/s3c-i2s-v2.c | 2 +-
    sound/soc/samsung/s3c24xx_simtec.c | 4 +-
    sound/soc/samsung/s3c24xx_uda134x.c | 6 +--
    sound/soc/samsung/smartq_wm8987.c | 4 +-
    sound/soc/samsung/smdk_spdif.c | 2 +-
    sound/soc/samsung/smdk_wm8580.c | 2 +-
    sound/soc/samsung/smdk_wm8994.c | 2 +-
    sound/soc/samsung/smdk_wm8994pcm.c | 4 +-
    sound/soc/samsung/snow.c | 4 +-
    sound/soc/samsung/spdif.c | 8 ++--
    sound/soc/samsung/speyside.c | 8 ++--
    sound/soc/samsung/tm2_wm5110.c | 16 +++----
    sound/soc/samsung/tobermory.c | 8 ++--
    sound/soc/sh/dma-sh7760.c | 16 +++----
    sound/soc/sh/fsi.c | 2 +-
    sound/soc/sh/migor.c | 6 +--
    sound/soc/sh/rcar/core.c | 2 +-
    sound/soc/soc-compress.c | 36 ++++++++--------
    sound/soc/soc-core.c | 42 +++++++------------
    sound/soc/soc-dapm.c | 4 +-
    sound/soc/soc-generic-dmaengine-pcm.c | 6 +--
    sound/soc/soc-pcm.c | 30 ++++++-------
    sound/soc/sof/intel/hda-dai.c | 6 +--
    sound/soc/sof/intel/hda-dsp.c | 2 +-
    sound/soc/sprd/sprd-pcm-compress.c | 4 +-
    sound/soc/sprd/sprd-pcm-dma.c | 2 +-
    sound/soc/stm/stm32_adfsdm.c | 12 +++---
    sound/soc/stm/stm32_sai_sub.c | 2 +-
    sound/soc/sunxi/sun4i-spdif.c | 2 +-
    sound/soc/tegra/tegra_alc5632.c | 2 +-
    sound/soc/tegra/tegra_max98090.c | 2 +-
    sound/soc/tegra/tegra_rt5640.c | 2 +-
    sound/soc/tegra/tegra_rt5677.c | 2 +-
    sound/soc/tegra/tegra_sgtl5000.c | 2 +-
    sound/soc/tegra/tegra_wm8753.c | 2 +-
    sound/soc/tegra/tegra_wm8903.c | 6 +--
    sound/soc/tegra/trimslice.c | 2 +-
    sound/soc/ti/ams-delta.c | 4 +-
    sound/soc/ti/davinci-evm.c | 4 +-
    sound/soc/ti/davinci-vcif.c | 4 +-
    sound/soc/ti/n810.c | 2 +-
    sound/soc/ti/omap-abe-twl6040.c | 6 +--
    sound/soc/ti/omap-mcbsp-st.c | 2 +-
    sound/soc/ti/omap-mcbsp.c | 4 +-
    sound/soc/ti/omap-mcpdm.c | 2 +-
    sound/soc/ti/omap3pandora.c | 4 +-
    sound/soc/ti/osk5912.c | 2 +-
    sound/soc/ti/rx51.c | 2 +-
    sound/soc/txx9/txx9aclc.c | 2 +-
    sound/soc/uniphier/aio-compress.c | 22 +++++-----
    sound/soc/uniphier/aio-dma.c | 6 +--
    sound/soc/ux500/mop500_ab8500.c | 6 +--
    sound/soc/ux500/ux500_pcm.c | 8 ++--
    sound/soc/xtensa/xtfpga-i2s.c | 2 +-
    191 files changed, 573 insertions(+), 577 deletions(-)

    --
    2.17.1

    Mark Brown
     
  • … <pierre-louis.bossart@linux.intel.com>:

    This patchset provides the support for SoundWire support on Intel
    CometLake, IcelLake and TigerLake RVP platforms and form-factor
    devices to be released 'soon'.

    The bulk of the code is about detecting a valid SoundWire
    configuration from ACPI, and implementing the interfaces suggested in
    '[PATCH 0/8] soundwire: remove platform devices, add SOF interfaces'
    for interrupts, PCI wakes and clock-stop configurations.

    Since that SoundWire series will not be in 5.7, the build support for
    SOF w/ SoundWire is not provided for now, and fall-back functions will
    be used. This code is tested on a daily basis in the SOF tree and is
    not expected to change in significant ways.

    Changes since v2:
    Corrected error in ACPI table (thanks Amadeusz)
    Added patch 11 to add reset cycle required on some SoundWire platforms

    Bard Liao (1):
    ASoC: SOF: Intel: hda: merge IPC, stream and SoundWire interrupt
    handlers

    Pierre-Louis Bossart (8):
    ASoC: soc-acpi: expand description of _ADR-based devices
    ASoC: SOF: Intel: add SoundWire configuration interface
    ASoC: SOF: IPC: dai-intel: move ALH declarations in header file
    ASoC: SOF: Intel: hda: add SoundWire stream config/free callbacks
    ASoC: SOF: Intel: hda: initial SoundWire machine driver autodetect
    ASoC: SOF: Intel: hda: disable SoundWire interrupts on suspend
    ASoC: SOF: Intel: hda: add parameter to control SoundWire clock stop
    quirks
    ASoC: SOF: Intel: hda-ctrl: add reset cycle before parsing
    capabilities

    Rander Wang (2):
    ASoC: SOF: Intel: hda: add WAKEEN interrupt support for SoundWire
    Asoc: SOF: Intel: hda: check SoundWire wakeen interrupt in irq thread

    include/sound/soc-acpi.h | 39 +-
    include/sound/sof/dai-intel.h | 18 +-
    .../intel/common/soc-acpi-intel-cml-match.c | 87 +++-
    .../intel/common/soc-acpi-intel-icl-match.c | 97 ++++-
    .../intel/common/soc-acpi-intel-tgl-match.c | 49 ++-
    sound/soc/sof/intel/hda-ctrl.c | 25 +-
    sound/soc/sof/intel/hda-dsp.c | 2 +
    sound/soc/sof/intel/hda-loader.c | 31 ++
    sound/soc/sof/intel/hda.c | 400 ++++++++++++++++++
    sound/soc/sof/intel/hda.h | 66 +++
    10 files changed, 750 insertions(+), 64 deletions(-)

    --
    2.20.1

    Mark Brown
     
  • The SoundWire mode doesn't need the DAI clocks.
    Therefore, the DAI clock registry moves to I2S mode case.

    Signed-off-by: Shuming Fan
    Link: https://lore.kernel.org/r/20200327073849.18291-1-shumingf@realtek.com
    Signed-off-by: Mark Brown

    Shuming Fan
     
  • Move away from the deprecated API and return the shiny new ERRPTR where
    useful.

    Signed-off-by: Wolfram Sang
    Link: https://lore.kernel.org/r/20200326211010.13471-2-wsa+renesas@sang-engineering.com
    Signed-off-by: Mark Brown

    Wolfram Sang
     
  • Without this cycle, HDaudio capability parsing fails on some devices.

    Signed-off-by: Pierre-Louis Bossart
    Link: https://lore.kernel.org/r/20200325215027.28716-12-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown

    Pierre-Louis Bossart
     
  • If pci device is in D0, wakeen interrupt will be
    aggregated at cAVS level as interrupt. This commit
    check the wakeen status and process it in irq thread

    Signed-off-by: Pierre-Louis Bossart
    Signed-off-by: Rander Wang
    Link: https://lore.kernel.org/r/20200325215027.28716-11-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown

    Rander Wang
     
  • When a SoundWire link is in clock stop state, a Slave device may wake
    up the Master for some events such as jack detection. The WAKEEN
    interrupt will be triggered and processed by the audio pci device.

    If audio device is in D3, the interrupt will be routed to PME, or
    aggregated at cAVS level as interrupt when audio device is in D0. This
    patch only supports D3 case, where the audio pci device will be
    resumed by a PME event and the WAKEEN interrupt will be processed
    after audio pci device is powered up and ROM is initialized
    successfully.

    The WAKEEN handling is only enabled after the first boot due to
    dependencies on a shim_lock mutex being initialized.

    Signed-off-by: Pierre-Louis Bossart
    Signed-off-by: Rander Wang
    Link: https://lore.kernel.org/r/20200325215027.28716-10-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown

    Rander Wang
     
  • Add module parameter so that the different modes can be quickly tested.

    Signed-off-by: Pierre-Louis Bossart
    Link: https://lore.kernel.org/r/20200325215027.28716-9-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown

    Pierre-Louis Bossart
     
  • We have a single irq handler for SOF interrupts. We can further merge
    SoundWire ones to completely remove MSI interrupts handling issues
    leading to timeouts.

    Signed-off-by: Pierre-Louis Bossart
    Signed-off-by: Bard Liao
    Link: https://lore.kernel.org/r/20200325215027.28716-8-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown

    Bard Liao
     
  • Doing this avoid conflicts and errors reported on the bus.

    The interrupts are only re-enabled on resume after the firmware is
    downloaded, so the behavior is not fully symmetric

    Signed-off-by: Pierre-Louis Bossart
    Link: https://lore.kernel.org/r/20200325215027.28716-7-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown

    Pierre-Louis Bossart
     
  • For now we have a limited number of machine driver configurations, and
    we can detect them based on the link configuration returned after
    checking hardware and firmware (BIOS) configurations.

    The link configuration is checked with a link_mask as well as a list
    of _ADR descriptors for each link.

    There is a chance that in extreme cases where the BIOS contains too
    much information we would need to detect which Slave devices actually
    report as 'attached'. This would be more accurate than static
    table-based solutions, but it also introduces timing dependencies
    since we don't know when those devices might become attached, so will
    only be only be looked at if we see limitations with static methods
    and the usual quirks based e.g. on DMI information.

    Signed-off-by: Pierre-Louis Bossart
    Signed-off-by: Bard Liao
    Signed-off-by: Rander Wang
    Link: https://lore.kernel.org/r/20200325215027.28716-6-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown

    Pierre-Louis Bossart
     
  • These callbacks are invoked when a matching hw_params/hw_free() DAI
    operation takes place, and will result in IPC operations with the SOF
    firmware.

    Signed-off-by: Pierre-Louis Bossart
    Link: https://lore.kernel.org/r/20200325215027.28716-5-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown

    Pierre-Louis Bossart
     
  • Now that the SoundWire core supports the multi-step initialization,
    call the relevant APIs.

    The actual hardware enablement can be done in two places, ideally we'd
    want to startup the SoundWire IP as soon as possible (while still
    taking power rail dependencies into account)

    However when suspend/resume is implemented, the DSP device will be
    resumed first, and only when the DSP firmware is downloaded/booted
    would the SoundWire child devices be resumed, so there are only
    marginal benefits in starting the IP earlier for the first probe.

    Signed-off-by: Pierre-Louis Bossart
    Link: https://lore.kernel.org/r/20200325215027.28716-3-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown

    Pierre-Louis Bossart
     
  • For SoundWire, we need to know if endpoints needs to be 'aggregated'
    (MIPI parlance, meaning logically grouped), e.g. when two speaker
    amplifiers need to be handled as a single logical output.

    We don't necessarily have the information at the firmware (BIOS)
    level, so add a notion of endpoints and specify if a device/endpoint
    is part of a group, with a position.

    This may be expanded in future solutions, for now only provide a group
    and position information.

    Since we modify the header file, change all existing upstream tables
    as well to avoid breaking compilation/bisect.

    Signed-off-by: Pierre-Louis Bossart
    Link: https://lore.kernel.org/r/20200325215027.28716-2-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown

    Pierre-Louis Bossart
     
  • Signed-off-by: Kuninori Morimoto
    Tested-by: Pierre-Louis Bossart
    Link: https://lore.kernel.org/r/87wo7bhci3.wl-kuninori.morimoto.gx@renesas.com
    Signed-off-by: Mark Brown

    Kuninori Morimoto
     
  • Signed-off-by: Kuninori Morimoto
    Tested-by: Pierre-Louis Bossart
    Link: https://lore.kernel.org/r/87y2rrhcia.wl-kuninori.morimoto.gx@renesas.com
    Signed-off-by: Mark Brown

    Kuninori Morimoto
     
  • Signed-off-by: Kuninori Morimoto
    Tested-by: Pierre-Louis Bossart
    Link: https://lore.kernel.org/r/87zhc7hcih.wl-kuninori.morimoto.gx@renesas.com
    Signed-off-by: Mark Brown

    Kuninori Morimoto
     
  • Signed-off-by: Kuninori Morimoto
    Tested-by: Pierre-Louis Bossart
    Link: https://lore.kernel.org/r/871rpjir34.wl-kuninori.morimoto.gx@renesas.com
    Signed-off-by: Mark Brown

    Kuninori Morimoto
     
  • Signed-off-by: Kuninori Morimoto
    Tested-by: Pierre-Louis Bossart
    Link: https://lore.kernel.org/r/87369zir3b.wl-kuninori.morimoto.gx@renesas.com
    Signed-off-by: Mark Brown

    Kuninori Morimoto