20 Jan, 2021

1 commit

  • commit f373a811fd9a69fc8bafb9bcb41d2cfa36c62665 upstream.

    Return -ETIMEDOUT if the dsp boot times out instead of returning
    success.

    Fixes: cb6a55284629 ("ASoC: Intel: cnl: Add sst library functions for cnl platform")
    Signed-off-by: Dan Carpenter
    Reviewed-by: Cezary Rojewski
    Link: https://lore.kernel.org/r/X9NEvCzuN+IObnTN@mwanda
    Signed-off-by: Mark Brown
    Signed-off-by: Greg Kroah-Hartman

    Dan Carpenter
     

30 Dec, 2020

2 commits

  • [ Upstream commit 0d7f2459ae926a964ab211aac413d72074131727 ]

    Speaker amp's SSP bclk configuration was changed in the topology file to be
    based on 12.288MHz and dai_ops->hw_params is based on s32le format.
    But, the TDM slot size remained set to 24 bits.
    This inconsistency created audible noises and needs to be corrected.
    This patch updates TDM slot width to 32.

    Fixes: bc7477fc2ab4 ("ASoC: Intel: Boards: tgl_max98373: Update TDM configuration in hw_params")

    Signed-off-by: Sathyanarayana Nujella
    Reviewed-by: Pierre-Louis Bossart
    Signed-off-by: Ranjani Sridharan
    Link: https://lore.kernel.org/r/20201201211150.433472-1-ranjani.sridharan@linux.intel.com
    Signed-off-by: Mark Brown
    Signed-off-by: Sasha Levin

    Sathyanarayana Nujella
     
  • [ Upstream commit 9a207228bdf0a4933b794c944d7111564353ea94 ]

    The Intel Keem Bay audio module is only present on Intel Keem Bay SoCs.
    Hence add a dependency on ARCH_KEEMBAY, to prevent asking the user about
    this driver when configuring a kernel without Intel Keem Bay platform
    support.

    Fixes: c544912bcc2dc806 ("ASoC: Intel: Add makefiles and kconfig changes for KeemBay")
    Signed-off-by: Geert Uytterhoeven
    Link: https://lore.kernel.org/r/20201110145001.3280479-1-geert+renesas@glider.be
    Signed-off-by: Mark Brown
    Signed-off-by: Sasha Levin

    Geert Uytterhoeven
     

19 Nov, 2020

2 commits

  • The HP Pavilion x2 Detachable line comes in many variants:

    1. Bay Trail SoC + AXP288 PMIC, Micro-USB charging (10-k010nz, ...)
    DMI_SYS_VENDOR: "Hewlett-Packard"
    DMI_PRODUCT_NAME: "HP Pavilion x2 Detachable PC 10"
    DMI_BOARD_NAME: "8021"

    2. Bay Trail SoC + AXP288 PMIC, Type-C charging (10-n000nd, 10-n010nl, ...)
    DMI_SYS_VENDOR: "Hewlett-Packard"
    DMI_PRODUCT_NAME: "HP Pavilion x2 Detachable"
    DMI_BOARD_NAME: "815D"

    3. Cherry Trail SoC + AXP288 PMIC, Type-C charging (10-n101ng, ...)
    DMI_SYS_VENDOR: "HP"
    DMI_PRODUCT_NAME: "HP Pavilion x2 Detachable"
    DMI_BOARD_NAME: "813E"

    4. Cherry Trail SoC + TI PMIC, Type-C charging (10-p002nd, 10-p018wm, ...)
    DMI_SYS_VENDOR: "HP"
    DMI_PRODUCT_NAME: "HP x2 Detachable 10-p0XX"
    DMI_BOARD_NAME: "827C"

    5. Cherry Trail SoC + TI PMIC, Type-C charging (x2-210-g2, ...)
    DMI_SYS_VENDOR: "HP"
    DMI_PRODUCT_NAME: "HP x2 210 G2"
    DMI_BOARD_NAME: "82F4"

    Variant 1 needs the exact same quirk as variant 2, so relax the DMI check
    for the existing quirk a bit so that it matches both variant 1 and 2
    (note the other variants will still not match).

    Variant 2 already has an existing quirk (which now also matches variant 1)

    Variant 3 uses a cx2072x codec, so is not applicable here.

    Variant 4 almost works with the defaults, but it also needs a quirk to
    fix jack-detection, add a new quirk for this.

    Variant 5 does use a RT5640 codec (based on old dmesg output), but was
    otherwise not tested, keep using the defaults for this variant.

    Fixes: ec8e8418ff7d ("ASoC: Intel: bytcr_rt5640: Add quirks for various devices")
    Signed-off-by: Hans de Goede
    Acked-by: Pierre-Louis Bossart
    Link: https://lore.kernel.org/r/20201118121515.11441-1-hdegoede@redhat.com
    Signed-off-by: Mark Brown

    Hans de Goede
     
  • In kabylake_set_bias_level(), enabling mclk may fail if the clock has
    already been enabled by the firmware. Attempts to disable that clock
    later will fail with a warning backtrace.

    mclk already disabled
    WARNING: CPU: 2 PID: 108 at drivers/clk/clk.c:952 clk_core_disable+0x1b6/0x1cf
    ...
    Call Trace:
    clk_disable+0x2d/0x3a
    kabylake_set_bias_level+0x72/0xfd [snd_soc_kbl_rt5663_rt5514_max98927]
    snd_soc_card_set_bias_level+0x2b/0x6f
    snd_soc_dapm_set_bias_level+0xe1/0x209
    dapm_pre_sequence_async+0x63/0x96
    async_run_entry_fn+0x3d/0xd1
    process_one_work+0x2a9/0x526
    ...

    Only disable the clock if it has been enabled.

    Fixes: 15747a802075 ("ASoC: eve: implement set_bias_level function for rt5514")
    Cc: Brent Lu
    Cc: Curtis Malainey
    Signed-off-by: Guenter Roeck
    Link: https://lore.kernel.org/r/20201111205434.207610-1-linux@roeck-us.net
    Signed-off-by: Mark Brown

    Guenter Roeck
     

17 Nov, 2020

4 commits

  • Mark Brown
     
  • During stream start DSP firmware requires LPCS disabled as that moment in
    time is resource heavy. Currently high-clock is selected on start of
    second stream onwards while low-clock is re-selected before stream
    actually leaves RESUME state i.e. PAUSE_STREAM call. Fix this by always
    updating clock before RESUME_STREAM and directly after PAUSE_STREAM.

    Fixes: a126750fc865 ("ASoC: Intel: catpt: PCM operations")
    Signed-off-by: Cezary Rojewski
    Link: https://lore.kernel.org/r/20201116133332.8530-3-cezary.rojewski@intel.com
    Signed-off-by: Mark Brown

    Cezary Rojewski
     
  • Playing with very low period sizes may lead to timeouts when awaiting
    RESET_STREAM reply for offload streams. This is caused by NOTIFY_POSITION
    appearing in the middle of trigger(stop).

    Stream is unprepared during trigger(stop) where PAUSE_STREAM IPC gets
    invoked. However, all data that is already mixed in DSP firmware's mixer
    stream will still be played regardless of the pause. For offload streams,
    this means possibility for another NOTIFY_POSITION to process. Keep these
    notifications in check by only handling them when stream is in prepared
    state.

    Fixes: a126750fc865 ("ASoC: Intel: catpt: PCM operations")
    Signed-off-by: Cezary Rojewski
    Link: https://lore.kernel.org/r/20201116133332.8530-2-cezary.rojewski@intel.com
    Signed-off-by: Mark Brown

    Cezary Rojewski
     
  • S24_LE is 24 bit audio in 32 bit container configuration
    Fixing the configuration to match the data arrangement of
    this audio format.

    Fixes: c5477e966728 ("ASoC: Intel: Add KeemBay platform driver")

    Signed-off-by: Michael Sit Wei Hong
    Reviewed-by: Pierre-Louis Bossart
    Link: https://lore.kernel.org/r/20201116061905.32431-2-michael.wei.hong.sit@intel.com
    Signed-off-by: Mark Brown

    Michael Sit Wei Hong
     

15 Oct, 2020

4 commits

  • Stress tests show that DSP may occasionally be late with signaling WAIT
    state when all pins are made use of simultaneously plus start/stop
    (pause) gets involved. While this isn't tied to standard audio scenarios
    where only System Pin (playback and capture) is involved, ensure user is
    not hindered when playing with more advanced scenarios.

    >From DSP perspective, clock acts as a resource: low clock equals less
    resources, high clock more resources. Relax clock selection procedure so
    only low -> high switch is allowed when awaiting WAIT signal times out.
    Once active stream count decreases, DSP will have more time internally to
    adjust thus low clock selection becomes possible again.

    Signed-off-by: Cezary Rojewski
    Link: https://lore.kernel.org/r/20201012103221.30759-2-cezary.rojewski@intel.com
    Signed-off-by: Mark Brown

    Cezary Rojewski
     
  • catpt_dai_pcm_new() invoked during new PCM runtime creation configures
    SSP by sending IPC to DSP firmware. For that to succeed device needs to
    be up and running. While components default probing behavior -
    snd_soc_catpt causing machine board module to load just after it - needs
    no changes, machine board's module may be unloaded and re-loaded at a
    different time e.g.: when catpt is already asleep.

    Wake device explicitly in catpt_dai_pcm_new() to ensure communication is
    established before sending any IPCs, enabling those advanced scenarios
    in the process.

    Signed-off-by: Cezary Rojewski
    Link: https://lore.kernel.org/r/20201012103221.30759-1-cezary.rojewski@intel.com
    Signed-off-by: Mark Brown

    Cezary Rojewski
     
  • SND_SST_IPC and its _PCI and _ACPI variants all target
    sound/soc/intel/atom solution alone. SND_SST_IPC is the core component,
    required for PCI and ACPI based atom platforms both. _PCI and _ACPI
    target Merrifield/Edison and Baytrial/Cherrytrail platforms
    respectively.

    On top of that, there is an equivalent set of configs targeting the same
    solution:
    - SND_SST_ATOM_HIFI2_PLATFORM (core)
    - SND_SST_ATOM_HIFI2_PLATFORM_PCI
    - SND_SST_ATOM_HIFI2_PLATFORM_ACPI

    As both sets do the same job - allow for granular platform selection -
    remove the duplicate set and rely on SND_SST_ATOM_HIFI2_PLATOFRM_XXX
    configs alone.

    Signed-off-by: Cezary Rojewski
    Acked-by: Hans de Goede
    Link: https://lore.kernel.org/r/20201012095005.29859-1-cezary.rojewski@intel.com
    Signed-off-by: Mark Brown

    Cezary Rojewski
     
  • This is a copy of commit 5c5f1baee85a ("ASoC: Intel:
    kbl_rt5663_rt5514_max98927: Fix kabylake_ssp_fixup function") applied to
    the kbl_rt5663_max98927 board file.

    Original explanation of the change:

    kabylake_ssp_fixup function uses snd_soc_dpcm to identify the
    codecs DAIs. The HW parameters are changed based on the codec DAI of the
    stream. The earlier approach to get snd_soc_dpcm was using container_of()
    macro on snd_pcm_hw_params.

    The structures have been modified over time and snd_soc_dpcm does not have
    snd_pcm_hw_params as a reference but as a copy. This causes the current
    driver to crash when used.

    This patch changes the way snd_soc_dpcm is extracted. snd_soc_pcm_runtime
    holds 2 dpcm instances (one for playback and one for capture). 2 codecs
    on the SSP are dmic (capture) and speakers (playback). Based on the
    stream direction, snd_soc_dpcm is extracted from snd_soc_pcm_runtime.

    Fixes a boot crash on a HP Chromebook x2:

    [ 16.582225] BUG: kernel NULL pointer dereference, address: 0000000000000050
    [ 16.582231] #PF: supervisor read access in kernel mode
    [ 16.582233] #PF: error_code(0x0000) - not-present page
    [ 16.582234] PGD 0 P4D 0
    [ 16.582238] Oops: 0000 [#1] PREEMPT SMP PTI
    [ 16.582241] CPU: 0 PID: 1980 Comm: cras Tainted: G C 5.4.58 #1
    [ 16.582243] Hardware name: HP Soraka/Soraka, BIOS Google_Soraka.10431.75.0 08/30/2018
    [ 16.582247] RIP: 0010:kabylake_ssp_fixup+0x19/0xbb [snd_soc_kbl_rt5663_max98927]
    [ 16.582250] Code: c6 6f c5 80 c0 44 89 f2 31 c0 e8 3e c9 4c d6 eb de 0f 1f 44 00 00 55 48 89 e5 41 57 41 56 53 48 89 f3 48 8b 46 c8 48 8b 4e d0 8b 49 10 4c 8b 78 10 4c 8b 31 4c 89 f7 48 c7 c6 4b c2 80 c0 e8
    [ 16.582252] RSP: 0000:ffffaf7e81e0b958 EFLAGS: 00010282
    [ 16.582254] RAX: ffffffff96f13e0d RBX: ffffaf7e81e0ba00 RCX: 0000000000000040
    [ 16.582256] RDX: ffffaf7e81e0ba00 RSI: ffffaf7e81e0ba00 RDI: ffffa3b208558028
    [ 16.582258] RBP: ffffaf7e81e0b970 R08: ffffa3b203b54160 R09: ffffaf7e81e0ba00
    [ 16.582259] R10: 0000000000000000 R11: ffffffffc080b345 R12: ffffa3b209fb6e00
    [ 16.582261] R13: ffffa3b1b1a47838 R14: ffffa3b1e6197f28 R15: ffffaf7e81e0ba00
    [ 16.582263] FS: 00007eb3f25aaf80(0000) GS:ffffa3b236a00000(0000) knlGS:0000000000000000
    [ 16.582265] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    [ 16.582267] CR2: 0000000000000050 CR3: 0000000246bc8006 CR4: 00000000003606f0
    [ 16.582269] Call Trace:
    [ 16.582275] snd_soc_link_be_hw_params_fixup+0x21/0x68
    [ 16.582278] snd_soc_dai_hw_params+0x25/0x94
    [ 16.582282] soc_pcm_hw_params+0x2d8/0x583
    [ 16.582288] dpcm_be_dai_hw_params+0x172/0x29e
    [ 16.582291] dpcm_fe_dai_hw_params+0x9f/0x12f
    [ 16.582295] snd_pcm_hw_params+0x137/0x41c
    [ 16.582298] snd_pcm_hw_params_user+0x3c/0x71
    [ 16.582301] snd_pcm_common_ioctl+0x2c6/0x565
    [ 16.582304] snd_pcm_ioctl+0x32/0x36
    [ 16.582307] do_vfs_ioctl+0x506/0x783
    [ 16.582311] ksys_ioctl+0x58/0x83
    [ 16.582313] __x64_sys_ioctl+0x1a/0x1e
    [ 16.582316] do_syscall_64+0x54/0x7e
    [ 16.582319] entry_SYSCALL_64_after_hwframe+0x44/0xa9
    [ 16.582322] RIP: 0033:0x7eb3f1886157
    [ 16.582324] Code: 8a 66 90 48 8b 05 11 dd 2b 00 64 c7 00 26 00 00 00 48 c7 c0 ff ff ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 b8 10 00 00 00 0f 05 3d 01 f0 ff ff 73 01 c3 48 8b 0d e1 dc 2b 00 f7 d8 64 89 01 48
    [ 16.582326] RSP: 002b:00007ffff7559818 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
    [ 16.582329] RAX: ffffffffffffffda RBX: 00005acc9188b140 RCX: 00007eb3f1886157
    [ 16.582330] RDX: 00007ffff7559940 RSI: 00000000c2604111 RDI: 000000000000001e
    [ 16.582332] RBP: 00007ffff7559840 R08: 0000000000000004 R09: 0000000000000000
    [ 16.582333] R10: 0000000000000000 R11: 0000000000000246 R12: 000000000000bb80
    [ 16.582335] R13: 00005acc91702e80 R14: 00007ffff7559940 R15: 00005acc91702e80
    [ 16.582337] Modules linked in: rfcomm cmac algif_hash algif_skcipher af_alg uinput hid_google_hammer snd_soc_kbl_rt5663_max98927 snd_soc_hdac_hdmi snd_soc_dmic snd_soc_skl_ssp_clk snd_soc_skl snd_soc_sst_ipc snd_soc_sst_dsp snd_soc_hdac_hda snd_soc_acpi_intel_match snd_soc_acpi snd_hda_ext_core snd_intel_dspcfg snd_hda_codec snd_hwdep snd_hda_core ipu3_cio2 ipu3_imgu(C) videobuf2_v4l2 videobuf2_common videobuf2_dma_sg videobuf2_memops snd_soc_rt5663 snd_soc_max98927 snd_soc_rl6231 ov5670 ov13858 acpi_als v4l2_fwnode dw9714 fuse xt_MASQUERADE iio_trig_sysfs cros_ec_light_prox cros_ec_sensors cros_ec_sensors_core cros_ec_sensors_ring industrialio_triggered_buffer kfifo_buf industrialio cros_ec_sensorhub cdc_ether usbnet btusb btrtl btintel btbcm bluetooth ecdh_generic ecc lzo_rle lzo_compress iwlmvm zram iwl7000_mac80211 r8152 mii iwlwifi cfg80211 joydev
    [ 16.584243] gsmi: Log Shutdown Reason 0x03
    [ 16.584246] CR2: 0000000000000050
    [ 16.584248] ---[ end trace c8511d090c11edff ]---

    Suggested-by: Łukasz Majczak
    Fixes: 2e5894d73789e ("ASoC: pcm: Add support for DAI multicodec")
    Signed-off-by: Tomasz Figa
    Acked-by: Pierre-Louis Bossart
    Link: https://lore.kernel.org/r/20201014141624.4143453-1-tfiga@chromium.org
    Signed-off-by: Mark Brown

    Tomasz Figa
     

09 Oct, 2020

2 commits

  • catpt selects DW_DMAC_CORE which requires DMADEVICES. Fix unmet direct
    dependencies warning by updating driver's depends-on list.

    Fixes: 6cbfa11d2694 ("ASoC: Intel: Select catpt and deprecate haswell")
    Reported-by: Randy Dunlap
    Signed-off-by: Cezary Rojewski
    Acked-by: Randy Dunlap
    Link: https://lore.kernel.org/r/20201007135701.20372-2-cezary.rojewski@intel.com
    Signed-off-by: Mark Brown

    Cezary Rojewski
     
  • module_is_live() is available only when CONFIG_MODULES is enabled.
    Replace its usage with try_module_get() which is present regardless of
    said config's status.

    Fixes: 7a10b66a5df9 ("ASoC: Intel: catpt: Device driver lifecycle")
    Reported-by: Randy Dunlap
    Signed-off-by: Cezary Rojewski
    Acked-by: Randy Dunlap
    Link: https://lore.kernel.org/r/20201007135701.20372-1-cezary.rojewski@intel.com
    Signed-off-by: Mark Brown

    Cezary Rojewski
     

06 Oct, 2020

18 commits

  • Linux 5.9-rc5

    Mark Brown
     
  • While sst_dsp_get_thread_context() is declared as solution-agnostic, it
    is only used by /skylake/ solution. Majority of thread_context field
    usages are direct accesses. Improve code cohesiveness and convert to
    single usage model.

    Signed-off-by: Cezary Rojewski
    Reviewed-by: Andy Shevchenko
    Acked-by: Liam Girdwood
    Link: https://lore.kernel.org/r/20201006064907.16277-14-cezary.rojewski@intel.com
    Signed-off-by: Mark Brown

    Cezary Rojewski
     
  • struct sst_pdata is unused among remaining /sound/soc/intel solution so
    remove it.

    Signed-off-by: Cezary Rojewski
    Reviewed-by: Andy Shevchenko
    Acked-by: Liam Girdwood
    Link: https://lore.kernel.org/r/20201006064907.16277-13-cezary.rojewski@intel.com
    Signed-off-by: Mark Brown

    Cezary Rojewski
     
  • With sound/soc/intel/haswell and /baytrail gone, registers left within
    sst-dsp header are atom-specific. Relocate these to atom internal header
    to make atom truely independent of sound/soc/common processing code.

    Signed-off-by: Cezary Rojewski
    Reviewed-by: Andy Shevchenko
    Acked-by: Liam Girdwood
    Link: https://lore.kernel.org/r/20201006064907.16277-12-cezary.rojewski@intel.com
    Signed-off-by: Mark Brown

    Cezary Rojewski
     
  • As sound/soc/intel/haswell and /baytrail are no more, all SST-legacy
    specific constants and registers are redundant so remove them.

    Signed-off-by: Cezary Rojewski
    Reviewed-by: Andy Shevchenko
    Acked-by: Liam Girdwood
    Link: https://lore.kernel.org/r/20201006064907.16277-11-cezary.rojewski@intel.com
    Signed-off-by: Mark Brown

    Cezary Rojewski
     
  • With redundant DSP operations removed, several fields for structures:
    sst_ops, sst_addr and sst_dsp become obsolete. Remove them too.

    Signed-off-by: Cezary Rojewski
    Reviewed-by: Andy Shevchenko
    Acked-by: Liam Girdwood
    Link: https://lore.kernel.org/r/20201006064907.16277-10-cezary.rojewski@intel.com
    Signed-off-by: Mark Brown

    Cezary Rojewski
     
  • sound/soc/intel/common/ declares several helper functions for /intel/
    solutions. In practice, differences between these - /haswell/ and
    /skylake/ especially - led to many of the helpers being used only by a
    single solution. As /skylake/ makes no use of these and /haswell/ and
    /baytail/ are no more, remove the unused functions.

    Signed-off-by: Cezary Rojewski
    Reviewed-by: Andy Shevchenko
    Acked-by: Liam Girdwood
    Link: https://lore.kernel.org/r/20201006064907.16277-9-cezary.rojewski@intel.com
    Signed-off-by: Mark Brown

    Cezary Rojewski
     
  • Skylake driver makes no use of ram_read or ram_write operation so remove
    the assignments. This prepares sound/soc/common/sst-dsp* for following
    removal of unused DSP operations.

    Signed-off-by: Cezary Rojewski
    Reviewed-by: Andy Shevchenko
    Acked-by: Liam Girdwood
    Link: https://lore.kernel.org/r/20201006064907.16277-8-cezary.rojewski@intel.com
    Signed-off-by: Mark Brown

    Cezary Rojewski
     
  • sst-firmware is host to many image loading over DMA operations. Majority
    of code targets sound/soc/intel/haswell solution as /baytrail/ never
    switched to DMA-based firmware loading. With /haswell/ removed this code
    serves no purpose. Address this redundancy.

    Signed-off-by: Cezary Rojewski
    Reviewed-by: Andy Shevchenko
    Acked-by: Liam Girdwood
    Link: https://lore.kernel.org/r/20201006064907.16277-7-cezary.rojewski@intel.com
    Signed-off-by: Mark Brown

    Cezary Rojewski
     
  • baytrail and haswell solutions present within sound/soc/intel are the
    only users of sst-acpi componenent and with them removed it becomes
    redundant so remove it too.

    Signed-off-by: Cezary Rojewski
    Reviewed-by: Andy Shevchenko
    Acked-by: Liam Girdwood
    Link: https://lore.kernel.org/r/20201006064907.16277-6-cezary.rojewski@intel.com
    Signed-off-by: Mark Brown

    Cezary Rojewski
     
  • sound/soc/intel/baytrail is a niche solution which supports limited
    number of BYT products - as described by
    snd_soc_acpi_intel_baytrail_legacy_machines table. For a long time it's
    deprecated in favor of sound/soc/intel/atom solution with SOF providing
    support for some products too effectively rendering /baytrail/ redundant.
    Remove deprecated code from ASoC tree.

    Signed-off-by: Cezary Rojewski
    Reviewed-by: Andy Shevchenko
    Acked-by: Liam Girdwood
    Link: https://lore.kernel.org/r/20201006064907.16277-5-cezary.rojewski@intel.com
    Signed-off-by: Mark Brown

    Cezary Rojewski
     
  • byt-rt5640 is deprecated in favor of bytcr_rt5640 used by
    sound/soc/intel/atom and SOF solutions both. Remove redundant machine
    board and all related code.

    Signed-off-by: Cezary Rojewski
    Reviewed-by: Andy Shevchenko
    Acked-by: Liam Girdwood
    Link: https://lore.kernel.org/r/20201006064907.16277-4-cezary.rojewski@intel.com
    Signed-off-by: Mark Brown

    Cezary Rojewski
     
  • byt-max98090 is deprecated in favor of cht-bsw-max98090 used by
    sound/soc/intel/atom and SOF solutions both. Remove redundant machine
    board and all related code.

    Signed-off-by: Cezary Rojewski
    Reviewed-by: Andy Shevchenko
    Acked-by: Liam Girdwood
    Link: https://lore.kernel.org/r/20201006064907.16277-3-cezary.rojewski@intel.com
    Signed-off-by: Mark Brown

    Cezary Rojewski
     
  • Newly added catpt solution found in sound/soc/intel/catpt is a direct
    replacement to sound/soc/intel/haswell. It covers all features supported
    by it and more - by aligning to recommended flows and requirement list
    based on Windows driver equivalent. No harm is done to userspace as
    catpt - similarly to haswell - loads no extenal topology files while
    sharing the exact same ADSP firmware binary.

    Given the above, existing haswell code is redundant so remove it.

    Signed-off-by: Cezary Rojewski
    Reviewed-by: Andy Shevchenko
    Acked-by: Liam Girdwood
    Link: https://lore.kernel.org/r/20201006064907.16277-2-cezary.rojewski@intel.com
    Signed-off-by: Mark Brown

    Cezary Rojewski
     
  • PCM operations for DAI links connected with DSP platform component
    involve communication with DSP firmware by IPCs. As IPC protocol may
    cause thread to sleep while waiting for a response from DSP, propagate
    that information to ALSA core by marking all FE DAIs as nonatomic.

    Signed-off-by: Cezary Rojewski
    Link: https://lore.kernel.org/r/20201004090609.29066-4-cezary.rojewski@intel.com
    Signed-off-by: Mark Brown

    Cezary Rojewski
     
  • PCM operations for DAI links connected with DSP platform component
    involve communication with DSP firmware by IPCs. As IPC protocol may
    cause thread to sleep while waiting for a response from DSP, propagate
    that information to ALSA core by marking all FE DAIs as nonatomic.

    Signed-off-by: Cezary Rojewski
    Link: https://lore.kernel.org/r/20201004090609.29066-3-cezary.rojewski@intel.com
    Signed-off-by: Mark Brown

    Cezary Rojewski
     
  • PCM operations for DAI links connected with DSP platform component
    involve communication with DSP firmware by IPCs. As IPC protocol may
    cause thread to sleep while waiting for a response from DSP, propagate
    that information to ALSA core by marking all FE DAIs as nonatomic.

    Signed-off-by: Cezary Rojewski
    Link: https://lore.kernel.org/r/20201004090609.29066-2-cezary.rojewski@intel.com
    Signed-off-by: Mark Brown

    Cezary Rojewski
     
  • PCM operations for DAI links connected with DSP platform component
    involve communication with DSP firmware by IPCs. As IPC protocol may
    cause thread to sleep while waiting for a response from DSP, propagate
    that information to ALSA core by marking all FE DAIs as nonatomic.

    Signed-off-by: Cezary Rojewski
    Acked-by: Pierre-Louis Bossart
    Link: https://lore.kernel.org/r/20201004090609.29066-1-cezary.rojewski@intel.com
    Signed-off-by: Mark Brown

    Cezary Rojewski
     

05 Oct, 2020

3 commits

  • RT715 and RT714 are essentially the same chip. In addition, there are
    two versions, one supporting SoundWire 1.1 and one supporting
    SoundWire 1.2 (SDCA).

    The previous configurations assumed that RT714 was SDCA-only, which
    isn't correct. Add support for the 4 possible combinations to avoid
    confusions.

    Signed-off-by: Pierre-Louis Bossart
    Reviewed-by: Bard Liao
    Reviewed-by: Jack Yu
    Reviewed-by: Guennadi Liakhovetski
    Link: https://lore.kernel.org/r/20201002211902.287692-5-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown

    Pierre-Louis Bossart
     
  • Without this string UCM cannot fetch the relevant configurations.

    Fixes: b75bea4b8834c ('ASoC: intel: sof_sdw: add rt711 rt1316 rt714 SDCA codec support')
    Signed-off-by: Pierre-Louis Bossart
    Reviewed-by: Bard Liao
    Link: https://lore.kernel.org/r/20201002211902.287692-3-pierre-louis.bossart@linux.intel.com
    Signed-off-by: Mark Brown

    Pierre-Louis Bossart
     
  • Apply same test as for other amplifiers - in case we enable feedback
    one day.

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

    Pierre-Louis Bossart
     

02 Oct, 2020

4 commits

  • Prevent sound/soc/intel/haswell code compile and select catpt instead as
    a recommended solution. Userspace-exposed members are compatible with
    what is exposed by deprecated solution thus no harm is done. The only
    visible difference is the newly added 'Loopback Mute' kcontrol.

    Signed-off-by: Cezary Rojewski
    Reviewed-by: Andy Shevchenko
    Link: https://lore.kernel.org/r/20200929141247.8058-15-cezary.rojewski@intel.com
    Signed-off-by: Mark Brown

    Cezary Rojewski
     
  • Remove code specific to sound/soc/intel/haswell. Update BE dai_link
    definition to provide seamless transition to catpt solution.

    Signed-off-by: Cezary Rojewski
    Reviewed-by: Andy Shevchenko
    Reviewed-by: Andy Shevchenko
    Link: https://lore.kernel.org/r/20200929141247.8058-14-cezary.rojewski@intel.com
    Signed-off-by: Mark Brown

    Cezary Rojewski
     
  • Remove code specific to sound/soc/intel/haswell. Update BE dai_link
    definition to provide seamless transition to catpt solution.

    Signed-off-by: Cezary Rojewski
    Reviewed-by: Andy Shevchenko
    Reviewed-by: Andy Shevchenko
    Link: https://lore.kernel.org/r/20200929141247.8058-13-cezary.rojewski@intel.com
    Signed-off-by: Mark Brown

    Cezary Rojewski
     
  • Remove code specific to sound/soc/intel/haswell. Update BE dai_link
    definition to provide seamless transition to catpt solution.

    Signed-off-by: Cezary Rojewski
    Reviewed-by: Andy Shevchenko
    Reviewed-by: Andy Shevchenko
    Link: https://lore.kernel.org/r/20200929141247.8058-12-cezary.rojewski@intel.com
    Signed-off-by: Mark Brown

    Cezary Rojewski