* [GIT PULL] sound updates for 4.21
@ 2018-12-20 15:38 Takashi Iwai
2018-12-25 23:20 ` pr-tracker-bot
2018-12-27 3:31 ` Linus Torvalds
0 siblings, 2 replies; 18+ messages in thread
From: Takashi Iwai @ 2018-12-20 15:38 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Mark Brown, Liam Girdwood, Linux Kernel Mailing List
Linus,
please pull sound updates for v4.21 from:
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git tags/sound-4.21-rc1
The topmost commit is d82b51c855a20eb456ac09f2f40ea98312373263
----------------------------------------------------------------
sound updates for 4.21
There are no intensive changes in both ALSA and ASoC core parts while
rather most of changes are a bunch of driver fixes and updates.
A large diff pattern appears in ASoC TI part which now merges both
OMAP and DaVinci stuff, but the rest spreads allover the places.
Note that this pull request includes also some updates for LED trigger
and platform drivers for mute LEDs, appearing in the diffstat as well.
Some highlights:
ASoC:
- Preparatory work for merging the audio-graph and audio-graph-scu
cards
- A merge of TI OMAP and DaVinci directories, as both product lines
get merged together. Also including a few architecture changes as
well.
- Major cleanups of the Maxim MAX9867 driver
- Small fixes for tablets & co with Intel BYT/CHT chips
- Lots of rsnd updates as usual
- Support for Asahi Kaesi AKM4118, AMD ACP3x, Intel platforms with
RT5660, Meson AXG S/PDIF inputs, several Qualcomm IPs and Xilinx I2S
controllers
HD-audio:
- Introduce audio-mute LED trigger for replacing the former hackish
dynamic binding
- Huawei WMI hotkey and mute LED support
- Refactoring of PM code and display power controls
- Headset button support in the generic jack code
- A few updates for Tegra
- Fixups for HP EliteBook and ASUS UX391UA
- Lots of updates for Intel ASoC HD-audio, including the improved DSP
detection and the fallback binding from ASoC SST to legacy HD-audio
controller drivers
Others:
- Updates for FireWire TASCAM and Fireface devices, some other fixes
- A few potential Spectre v1 fixes that are all trivial
----------------------------------------------------------------
Adrien Charruel (1):
ASoC: ak4118: Add support for AK4118 S/PDIF transceiver
Arnd Bergmann (6):
ASoC: wm97xx: fix uninitialized regmap pointer problem
ASoC: Intel: mrfld: fix uninitialized variable access
ASoC: pxa: change ac97 dependencies
ASoC: sdm845: add rt5663 codec select
ASoC: simple-card-utils: fix build warning without CONFIG_OF
ALSA: hda/ca0132 - make pci_iounmap() call conditional
Axel Lin (1):
ASoC: ak5558: Remove redundant snd_soc_component_read32 calls
Ayman Bagabas (3):
ALSA: hda: fix front speakers on Huawei MBXP
platform/x86: add support for Huawei WMI hotkeys
ALSA: hda: add support for Huawei WMI micmute LED
Bard liao (2):
ASoC: Intel: common: add SOF information for APL RVP
ASoC: Intel: hdac_hdmi: add Icelake support
Chen-Yu Tsai (2):
ASoC: dt-bindings: sun50i-codec-analog: Add headphone amp regulator supply
ASoC: sunxi: sun50i-codec-analog: Add support for cpvdd regulator supply
Cheng-Yi Chiang (7):
ASoC: rt5663: Add regulator support
ASoC: rt5663: Add documentation for power supply support
ASoC: rt5663: Fix error handling of regulator_set_load
ASoC: qcom: sdm845: Add board specific dapm widgets
ASoC: qcom: sdm845: Create and setup jack in init callback
ASoC: sdm845: Add TDM configuration for speaker
ASoC: sdm845: Add configuration for headset codec
Clément Péron (1):
ASoC: dt-bindings: add bindings for AK4118 transceiver
Colin Ian King (8):
ASoC: stm32: sai: fix less than zero comparison on unsigned int
ASoC: amd: fix memory leak of i2s_data on error return
ASoC: tlv320aic31xx: asihpi: clean up indentation, remove extraneous tab
ASoC: tlv320dac33: clean up indentation, remove extraneous tab
ASoC: arizona: fix indentation issue with return statement
ASoC: qcom: clean up indentation, remove extraneous tab
ASoC: amd: fix spelling mistake "Inavlid" -> "Invalid"
ALSA: asihpi: clean up indentation, replace spaces with tab
Dan Carpenter (1):
ASoC: amd: Fix a NULL vs IS_ERR() check in probe
Daniel Mack (5):
ASoC: pxa: remove raumfeld machine driver
ASoC: dt-bindings: cs4270: use 'reset-gpios' rather than 'reset-gpio'
ASoC: codecs: cs4270: move to GPIO consumer API
ASoC: dt-bindings: ak4104: use 'reset-gpios' rather than 'reset-gpio'
ASoC: codecs: ak4104: move to GPIO consumer API
David Lin (2):
ASoC: nau8822: convert to SPDX identifiers
ASoC: nau8822: convert to SPDX identifiers
Dimitris Papavasiliou (1):
ASoC: pcm512x: Implement the digital_mute interface
Fabio Estevam (2):
ASoC: fsl: Fix SND_SOC_EUKREA_TLV320 build error on i.MX8M
ASoC: fsl-sai: Fix typo in "transmitter"
Fabrizio Castro (1):
ASoC: rsnd: Add r8a774c0 support
Gustavo A. R. Silva (4):
ALSA: emux: Fix potential Spectre v1 vulnerabilities
ALSA: pcm: Fix potential Spectre v1 vulnerability
ALSA: rme9652: Fix potential Spectre v1 vulnerability
ALSA: emu10k1: Fix potential Spectre v1 vulnerabilities
Hans de Goede (4):
ASoC: intel: cht_bsw_max98090_ti: Add pmc_plt_clk_0 quirk for Chromebook Clapper
ASoC: intel: cht_bsw_max98090_ti: Add pmc_plt_clk_0 quirk for Chromebook Gnawty
ASoC: Intel: bytcr_rt5640: Add quirk for the Prowise PT301 tablet
ASoC: Intel: bytcr_rt5640: Add quirk for the Point of View Mobii TAB-P1005W-232
Hiroyuki Yokoyama (1):
ASoC: rsnd: Add device tree support for r8a77995
Hui Wang (2):
ASoC: rt5660: Add a new ACPI match ID
ASoC: Intel: kbl_rt5660: Add a new machine driver for kbl with rt5660
Jenny TC (2):
ASoC: dmic: introduce mode switch delay
ASoC: dmic: introduce module_param wakeup_delay
Jerome Brunet (5):
ASoC: meson: axg-toddr: add support for spdifin backend
ASoC: meson: add axg spdif input DT binding documentation
ASoC: meson: add axg spdif input
MAINTAINERS: Add Amlogic sound drivers entry
ASoC: meson: fix do_div warning in spdifin
Jiada Wang (1):
ASoC: pcm3168a: Don't disable pcm3168a when CONFIG_PM defined
Julia Lawall (4):
ASoC: smd845: constify snd_soc_ops structure
ASoC: qdsp6: q6afe-dai: constify snd_soc_dai_ops structures
ASoC: codecs: constify snd_soc_dai_ops structures
ASoC: AMD: constify regulator_desc structure
Kailang Yang (1):
ALSA: hda/realtek - Enable headset button support for new codec
Keyon Jie (1):
ALSA: HDA: export process_unsol_events()
Kirill Marinushkin (3):
ASoC: pcm3060: Add DT property for single-ended output
ASoC: Add documentation for pcm3060 property out-single-ended
ASoC: pcm3060: Add powersaving widgets for DAC and ADC
Kuninori Morimoto (65):
ASoC: pcm3168a: cleanup hw_constraint for LEFT_J/I2S
ASoC: rsnd: move .get_status under rsnd_mod_ops
ASoC: rsnd: add .get_id/.get_id_sub
ASoC: rsnd: rsnd_mod_name() handles both name and ID
ASoC: pcm3168a: remove read-only status register from snd_kcontrol_new
ASoC: audio-graph-card: remove endpoint bidirectional check
ASoC: audio-graph-scu-card: remove endpoint bidirectional check
ASoC: audio-graph-scu-card: remove error check which never happen
ASoC: rsnd: remove endpoint bidirectional check
ASoC: rsnd: rename rsnd_runtime_is_ssi_xxx()
ASoC: rsnd: use defined io_playback/io_capture
ASoC: rsnd: move HDMI information from ssi.c to core.c
ASoC: rsnd: handle DPCM converted rate/chan under core
ASoC: rsnd: tidyup Document for DT binding
ASoC: rsnd: add SSIU BUSIF support for Document
ASoC: rsnd: add SSIU BUSIF support
ASoC: rsnd: add TDM Split mode support for Document
ASoC: rsnd: add TDM Split mode support
ASoC: rsnd: use ring buffer for rsnd_mod_name()
ASoC: rsnd: tidyup rsnd_parse_connect_ssiu_compatible()
ASoC: rsnd: makes rsnd_ssi_is_dma_mode() static
ASoC: simple-card-utils: remove asoc_simple_card_clk_register()
ASoC: simple-card-utils: accept NULL parameter on asoc_simple_card_xxx()
ASoC: simple-card-utils: tidyup asoc_simple_card_parse_convert()
ASoC: simple_card_utils: remove "option" from asoc_simple_card_of_parse_routing()
ASoC: soc-core: add snd_soc_of_parse_node_prefix()
ASoC: simple-scu-card: tidyup "prefix" parsing on Doc
ASoC: simple-scu-card: tidyup "prefix" parsing
ASoC: audio-graph-scu-card: tidyup "prefix" parsing on Doc
ASoC: audio-graph-scu-card: tidyup "prefix" parsing
ASoC: audio-graph-scu-card: tidyup "convert-rate/channels" parsing on Doc
ASoC: audio-graph-scu-card: tidyup "convert-rate/channels" parsing
ASoC: audio-graph-scu-card: tidyup asoc_simple_card_parse_daifmt() timing
ASoC: audio-graph-card: tidyup typo SND_AUDIO_GRAPH_CARD
ASoC: audio-graph-card: tidyup define position
ASoC: rsnd: tidyup for SSIU subnode
ASoC: soc.h: makes snd_soc_of_parse_audio_prefix() inline
ASoC: rsnd: tidyup registering method for rsnd_kctrl_new()
ASoC: rsnd: indicates Channel and Mode for debug
ASoC: rsnd: fixup mod ID for CTU regmap read/write
ASoC: rsnd: add missing TDM Split mode support for simple-card
ASoC: simple-card-utils: fixup asoc_simple_card_get_dai_id() counting
ASoC: audio-graph-scu-card: care link / dai count
ASoC: audio-graph-scu-card: use cpu/codec pointer on graph_dai_props
ASoC: audio-graph-scu-card: care multi DPCM codec_conf
ASoC: audio-graph-card: use cpu/codec pointer on graph_dai_props
ASoC: simple-card: use cpu/codec pointer on simple_dai_props
ASoC: simple-scu-card: tidyup asoc_simple_card_parse_daifmt() timing
ASoC: simple-scu-card: add dai-link support
ASoC: simple-scu-card: care link / dai count
ASoC: simple-scu-card: tidyup "convert-rate/channels" parsing
ASoC: simple-scu-card: use cpu/codec pointer on graph_dai_props
ASoC: simple-scu-card: care multi DPCM codec_conf
ASoC: rsnd: remove RSND_REG_ from rsnd_reg
ASoC: simple-card-utils: fixup asoc_simple_card_get_dai_id() ID method
ASoC: audio-graph-card: merge audio-graph-scu-card on Doc
ASoC: audio-graph-card: merge audio-graph-scu-card
ASoC: audio-graph-card: tidyup mclk-fs method
ASoC: audio-graph-card: tidyup convert_rate/channel method
ASoC: audio-graph-card: tidyup prefix for snd_soc_codec_conf
ASoC: simple-card: merge simple-scu-card on Doc
ASoC: simple-card: merge simple-scu-card
ASoC: simple-card: tidyup mclk-fs method
ASoC: simple-card: tidyup convert_rate/channel method
ASoC: simple-card: tidyup prefix for snd_soc_codec_conf
Ladislav Michl (6):
ASoC: max9867: Fix whitespace
ASoC: max9867: Remove useless assignment
ASoC: max9867: Fix power management
ASoC: max9867: Calculate LRCLK divider
ASoC: max9867: Fix signal paths
ASoC: max9867: Add copyright and module author
Linus Walleij (1):
ALSA: usb-audio: Define registers for CM6206
Lubomir Rintel (1):
ASoC: dt-bindings: use a generic node name for rt5631
Mantas Mikulėnas (1):
ALSA: hda: add mute LED support for HP EliteBook 840 G4
Maruthi Srinivas Bayyavarapu (5):
ASoC: AMD: add ACP 3.x IP register header
ASoC: AMD: add ACP3.0 PCI driver
dt-bindings: ASoC: xlnx, i2s: Document i2s bindings
ASoC: xlnx: Add i2s driver
ASoC: xlnx: enable i2s driver build
Nathan Chancellor (1):
ASoC: simple-card: Dereference pointer for memcpy sizeof in asoc_simple_card_probe
Peter Ujfalusi (25):
ASoC: omap-mcbsp: On OMAP1 and OMAP2420 only 16bit format is supported
ASoC: omap: Remove unused machine driver for AM3517-evm
ASoC: omap-mcbsp: Clean up dma_data addr initialization code
ASoC: omap-mcbsp: Skip dma_data.maxburst initialization
ASoC: omap-mcbsp: Clean up the interrupt handlers
ASoC: omap-mcbsp: Simplify the mcbsp_start/_stop function parameters
ASoC: omap-mcbsp: Move out the FIFO check from set_threshold and get_delay
ASoC: omap-mcbsp: Re-arrange files for core McBSP and Sidetone function split
ASoC: omap-mcbsp: Remove redundant check for mcbsp->pdata
ASoC: omap-mcbsp: No need to initialize max_xx_thres when it is not used
ASoC: tlv320aic3x: Add support for CBM_CFS and CBS_CFM clocking modes
ASoC: davinci-mcasp: Clear TXSTAT register before activating serializers
ASoC: davinci-mcasp: Update PDIR (pin direction) register handling
ASoC: davinci-mcasp: Document dismod optional property
ASoC: davinci-mcasp: Implement configurable dismod handling
dt-bindings: sound: omap-mcpdm: Update documentation for pdmclk
ASoC: ti: Merge davinci and omap directories
MAINTAINERS: Add entry for sound/soc/ti and update the OMAP audio support
ARM: OMAP1: Makefile: Update for new MCBSP Kconfig option
ARM: OMAP2: Update for new MCBSP Kconfig option
ARM: davinci: dm365-evm: Update for the new ASoC Kcofnig options
ARM: omap2plus_defconfig: Update the audio options
ARM: omap1_defconfig: Do not select ASoC by default
ARM: davinci_all_defconfig: Update the audio options
ASoC: ti: Kconfig: Remove the deprecated options
Pierre-Louis Bossart (16):
ASoC: acpi: define common interface for machine driver configuration
ASoC: Intel: use standard interface for Hdaudio machine driver
ASoC: Intel: use standard interface for Atom machine drivers
ASoC: Intel: boards: fix Skylake typo
ASoC: Intel: remove GFP_ATOMIC, use GFP_KERNEL
ASoC: Intel: common: add quirk for APL RVP boards
ASoC: Intel: fix interface for Chromebook machine drivers
ASoC: Intel: use platform_data for machine drivers
ASoC: Intel: common: add ACPI matching tables for ICL
ASoC: Intel: Skylake: Harden DSP detection with PCI class/subclass info
ASoC: Intel: Skylake: stop probe if HDaudio capabilities don't exist
ASoC: Intel: Skylake: remove useless tests on HDaudio capabilities
ASoC: Intel: Skylake: add error logs on probe, remove dependency on NHLT
ASoC: Intel: Skylake: Add more platform granularity
ALSA: HD-Audio: SKL+: abort probe if DSP is present and Skylake driver selected
ALSA: HD-Audio: SKL+: force HDaudio legacy or SKL+ driver selection
Richard Fitzgerald (1):
ASoC: wm_adsp: Factor out common init code
Rob Herring (5):
ASoC: Convert a few more users to using %pOFn instead of device_node.name
ALSA: aoa: Use device_type helpers to access the node type
ALSA: aoa: Remove direct OF name and type accesses
ALSA: aoa: Use of_node_name_eq for node name comparisons
ASoC: Use of_node_name_eq for node name comparisons
Rohit kumar (7):
ASoC: sdm845: Update slot_width for Quaternary TDM port
ASoC: sdm845: Add support for Secondary MI2S interface
ASoC: core: Invoke pcm_new() for all DAI-link
ASoC: qdsp6: dt-bindings: Add q6afe display_port dt binding
ASoC: qdsp6: qdafe: add support for display_port_rx
ASoC: qdsp6: q6afe-dai: add support to Display port RX dais
ASoC: qdsp6: q6routing: add display_port_rx port routing
Ryan Lee (1):
ASoC: max98373: Added max98373_reset for stable amp reset
Sameer Pujar (1):
ALSA: hda/tegra: compatible string as shortname
Srinivas Kandagatla (5):
ALSA: soc-compress: add support to snd_compr_set_runtime_buffer()
ALSA: compress: make use of runtime buffer for copy
ASoC: q6asm-dai: dt-bindings: Add support to compress dais
ASoC: qdsp6: q6asm: add support to MP3 format
ASoC: qdsp6: q6asm-dai: Add support to compress offload
Subhransu S. Prusty (2):
ASoC: Intel: Skylake: Make DSP replies more human readable
ASoC: Intel: Skylake: Add FW reply for MCLK/SCLK IPC
Takashi Iwai (18):
ALSA: hda/ca0132 - Optimize for non-PCI configuration
ALSA: control: Consolidate helpers for adding and replacing ctl elements
leds: trigger: Introduce audio mute LED trigger
platform/x86: dell-laptop: Add micmute LED trigger support
platform/x86: thinkpad_acpi: Add audio mute LED classdev support
ALSA: hda - Support led audio trigger
platform/x86: dell-laptop: Drop superfluous exported function
platform/x86: thinkpad_acpi: Drop superfluous exported function
ALSA: hda - Add jack pointer and unsolicited event bits to callback
ALSA: hda - Add jack button support
ALSA: hda/intel: Refactoring PM code
ALSA: hda: Refactor display power management
ALSA: hda/intel: Drop superfluous AZX_DCAPS_I915_POWERWELL checks
ALSA: hda/intel: Properly free the display power at error path
ALSA: hda: Make snd_hdac_display_power() void function
ASoC: hdac_hdmi: Add missing display power-off at driver removal
ALSA: hda/hdmi: Always set display_power_control for Intel HSW+ codecs
ASoC: Intel: Skylake: Add CFL-S support
Takashi Sakamoto (24):
ALSA: oxfw: add support for APOGEE duet FireWire
ALSA: firewire-tascam: pick up data of state from tx isochronous pakcets
ALSA: firewire-tascam: add new hwdep ioctl command to get state image
ALSA: firewire-tascam: queue events for change of control surface
ALSA: firewire-tascam: apply small refactoring to handle several type of event for hwdep interface
ALSA: firewire-tascam: notify events of change of state for userspace applications
ALSA: fireface: share some registers for status of clock synchronization
ALSA: fireface: share status and configuration dump
ALSA: fireface: share helper function to get current sampling rate and clock source
ALSA: fireface: add support for second optical interface for ADAT stream
ALSA: fireface: share register for async transaction of MIDI messages
ALSA: fireface: add driver data for register for MIDI high address
ALSA: fireface: localize a handler for MIDI messages on tx transaction
ALSA: fireface: add support for Fireface 800 with MIDI functionality only
ALSA: firewire-lib: fix wrong handling payload_length as payload_quadlet
ALSA: firewire-lib: fix wrong assignment for 'out_packet_without_header' tracepoint
ALSA: firewire-lib: use the same print format for 'without_header' tracepoints
ALSA: fireface: fix for state to fetch PCM frames
ALSA: fireface: share helper function to switch fetching mode
ALSA: fireface: code refactoring to handle multiplier mode
ALSA: fireface: allocate isochronous resources in mode-specific implementation
ALSA: fireface: add support for packet streaming on Fireface 800
ALSA: fireface: code refactoring to handle model-specific registers
ALSA: bebob: fix model-id of unit for Apogee Ensemble
Thierry Reding (2):
ALSA: hda/tegra - Probe up to 8 codecs
ALSA: hda/hdmi - Add Tegra186 and Tegra194 support
Vasily Khoruzhick (2):
ASoC: dt-bindings: add regulator property to simple amplifier
ASoC: simple-amplifier: add VCC regulator widget
Vijendar Mukunda (11):
ASoC: amd: create ACP3x PCM platform device
ASoC: amd: add ACP3x PCM platform driver
ASoC: amd: Interrupt handler changes for ACP3x DMA driver
ASoC: amd: add acp3x pcm driver dma ops
ASoC: amd: add acp3x i2s ops
ASoC: amd: add acp3x tdm mode support
ASoC: amd: add acp3x runtime pm ops
ASoC: amd: add acp3x system resume pm op
ASoC: amd: enable acp3x drivers build
ASoC: amd: Fixed build errors
ASoC: amd: Switch to SPDX identifier
Wandrille RONCE (1):
ALSA: hda/realtek: Enable audio jacks of ASUS UX391UA with ALC294
Wei Yongjun (1):
ASoC: stm32: sai: fix invalid use of sizeof in stm32_sai_add_mclk_provider()
Yangtao Li (2):
ASoC: nau8825: remove unnecessary unlikely()
ASoC: fsl_ssi: Change to use DEFINE_SHOW_ATTRIBUTE macro
Young_X (1):
ASoC: au8540: use 64-bit arithmetic instead of 32-bit
Yu Zhao (2):
ASoC: use DMA addr rather than CPU pa for acp_audio_dma
ASoC: use dma_ops of parent device for acp_audio_dma
YueHaibing (1):
ASoC: amd: remove set but not used variable 'dma_buffer'
Zhuohao Lee (1):
ASoC: Intel: kbl_da7219_max98927: fix the audio jack button remapping
---
Documentation/devicetree/bindings/sound/ak4104.txt | 4 +-
Documentation/devicetree/bindings/sound/ak4118.txt | 22 +
.../bindings/sound/amlogic,axg-spdifin.txt | 22 +
.../devicetree/bindings/sound/audio-graph-card.txt | 205 ++++
.../bindings/sound/audio-graph-scu-card.txt | 4 +-
Documentation/devicetree/bindings/sound/cs4270.txt | 4 +-
.../bindings/sound/davinci-mcasp-audio.txt | 5 +
Documentation/devicetree/bindings/sound/dmic.txt | 2 +
.../devicetree/bindings/sound/fsl-sai.txt | 8 +-
.../devicetree/bindings/sound/omap-mcpdm.txt | 10 +
.../devicetree/bindings/sound/pcm3060.txt | 6 +
.../devicetree/bindings/sound/qcom,q6asm.txt | 27 +
.../devicetree/bindings/sound/renesas,rsnd.txt | 395 ++++---
Documentation/devicetree/bindings/sound/rt5631.txt | 4 +-
Documentation/devicetree/bindings/sound/rt5663.txt | 6 +
.../devicetree/bindings/sound/simple-amplifier.txt | 5 +
.../devicetree/bindings/sound/simple-card.txt | 137 +++
.../devicetree/bindings/sound/simple-scu-card.txt | 2 +-
.../bindings/sound/sun50i-codec-analog.txt | 2 +
.../devicetree/bindings/sound/xlnx,i2s.txt | 28 +
MAINTAINERS | 18 +-
arch/arm/configs/davinci_all_defconfig | 5 +-
arch/arm/configs/omap1_defconfig | 2 -
arch/arm/configs/omap2plus_defconfig | 14 +-
arch/arm/mach-davinci/board-dm365-evm.c | 4 +-
arch/arm/mach-omap1/Makefile | 2 +-
arch/arm/mach-omap2/Makefile | 2 +-
arch/arm/mach-omap2/pdata-quirks.c | 4 +-
drivers/leds/trigger/Kconfig | 7 +
drivers/leds/trigger/Makefile | 1 +
drivers/leds/trigger/ledtrig-audio.c | 44 +
drivers/platform/x86/Kconfig | 21 +
drivers/platform/x86/Makefile | 1 +
drivers/platform/x86/dell-laptop.c | 27 +-
drivers/platform/x86/huawei-wmi.c | 208 ++++
drivers/platform/x86/thinkpad_acpi.c | 67 +-
include/dt-bindings/sound/qcom,q6afe.h | 1 +
include/linux/dell-led.h | 7 -
include/linux/leds.h | 20 +
include/linux/platform_data/davinci_asp.h | 1 +
include/linux/thinkpad_acpi.h | 16 -
include/sound/compress_driver.h | 19 +
include/sound/hda_codec.h | 1 +
include/sound/hda_component.h | 11 +-
include/sound/hdaudio.h | 14 +-
include/sound/simple_card_utils.h | 6 +-
include/sound/soc-acpi-intel-match.h | 1 +
include/sound/soc-acpi.h | 15 +
include/sound/soc.h | 14 +-
include/uapi/sound/firewire.h | 20 +
sound/aoa/fabrics/layout.c | 6 +-
sound/aoa/soundbus/core.c | 4 +-
sound/aoa/soundbus/i2sbus/core.c | 6 +-
sound/aoa/soundbus/sysfs.c | 34 +-
sound/core/compress_offload.c | 18 +-
sound/core/control.c | 123 +--
sound/core/pcm.c | 2 +
sound/firewire/Kconfig | 2 +
sound/firewire/amdtp-stream-trace.h | 4 +-
sound/firewire/amdtp-stream.c | 4 +-
sound/firewire/bebob/bebob.c | 2 +-
sound/firewire/fireface/Makefile | 3 +-
sound/firewire/fireface/ff-pcm.c | 35 +-
sound/firewire/fireface/ff-proc.c | 193 +++-
sound/firewire/fireface/ff-protocol-ff400.c | 341 ++----
sound/firewire/fireface/ff-protocol-ff800.c | 143 +++
sound/firewire/fireface/ff-stream.c | 126 ++-
sound/firewire/fireface/ff-transaction.c | 157 +--
sound/firewire/fireface/ff.c | 25 +-
sound/firewire/fireface/ff.h | 42 +-
sound/firewire/oxfw/oxfw.c | 8 +
sound/firewire/tascam/amdtp-tascam.c | 51 +-
sound/firewire/tascam/tascam-hwdep.c | 115 +-
sound/firewire/tascam/tascam.h | 9 +
sound/hda/hdac_bus.c | 7 +-
sound/hda/hdac_component.c | 39 +-
sound/hda/hdac_device.c | 17 -
sound/pci/asihpi/asihpi.c | 2 +-
sound/pci/emu10k1/emufx.c | 5 +
sound/pci/hda/Kconfig | 62 ++
sound/pci/hda/dell_wmi_helper.c | 48 -
sound/pci/hda/hda_codec.c | 16 +-
sound/pci/hda/hda_controller.c | 11 -
sound/pci/hda/hda_controller.h | 8 +-
sound/pci/hda/hda_generic.c | 31 +
sound/pci/hda/hda_generic.h | 2 +
sound/pci/hda/hda_intel.c | 274 +++--
sound/pci/hda/hda_jack.c | 56 +-
sound/pci/hda/hda_jack.h | 12 +-
sound/pci/hda/hda_tegra.c | 22 +-
sound/pci/hda/patch_ca0132.c | 207 ++--
sound/pci/hda/patch_conexant.c | 1 +
sound/pci/hda/patch_hdmi.c | 14 +-
sound/pci/hda/patch_realtek.c | 106 +-
sound/pci/hda/thinkpad_helper.c | 43 +-
sound/pci/rme9652/hdsp.c | 10 +-
sound/ppc/pmac.c | 4 +-
sound/ppc/tumbler.c | 4 +-
sound/soc/Kconfig | 4 +-
sound/soc/Makefile | 4 +-
sound/soc/amd/Kconfig | 6 +
sound/soc/amd/Makefile | 1 +
sound/soc/amd/acp-da7219-max98357a.c | 2 +-
sound/soc/amd/acp-pcm-dma.c | 22 +-
sound/soc/amd/acp.h | 2 +-
sound/soc/amd/raven/Makefile | 6 +
sound/soc/amd/raven/acp3x-pcm-dma.c | 777 ++++++++++++++
sound/soc/amd/raven/acp3x.h | 58 +
sound/soc/amd/raven/chip_offset_byte.h | 639 +++++++++++
sound/soc/amd/raven/pci-acp3x.c | 156 +++
sound/soc/codecs/Kconfig | 6 +
sound/soc/codecs/Makefile | 2 +
sound/soc/codecs/ak4104.c | 22 +-
sound/soc/codecs/ak4118.c | 438 ++++++++
sound/soc/codecs/ak4458.c | 2 +-
sound/soc/codecs/ak5558.c | 19 +-
sound/soc/codecs/cs4270.c | 23 +-
sound/soc/codecs/dmic.c | 40 +
sound/soc/codecs/hdac_hda.c | 2 +-
sound/soc/codecs/hdac_hdmi.c | 87 +-
sound/soc/codecs/max98373.c | 35 +-
sound/soc/codecs/max9867.c | 505 ++++-----
sound/soc/codecs/max9867.h | 41 +-
sound/soc/codecs/nau8540.c | 2 +-
sound/soc/codecs/nau8822.c | 26 +-
sound/soc/codecs/nau8822.h | 9 +-
sound/soc/codecs/nau8825.c | 4 +-
sound/soc/codecs/pcm3060.c | 28 +-
sound/soc/codecs/pcm3060.h | 3 +
sound/soc/codecs/pcm3168a.c | 40 +-
sound/soc/codecs/pcm512x.c | 121 ++-
sound/soc/codecs/pcm512x.h | 2 +
sound/soc/codecs/rt5660.c | 1 +
sound/soc/codecs/rt5663.c | 75 +-
sound/soc/codecs/simple-amplifier.c | 4 +
sound/soc/codecs/tas6424.c | 2 +-
sound/soc/codecs/tlv320aic31xx.c | 2 +-
sound/soc/codecs/tlv320aic3x.c | 10 +
sound/soc/codecs/tlv320dac33.c | 2 +-
sound/soc/codecs/wm8998.c | 2 +-
sound/soc/codecs/wm9705.c | 10 +-
sound/soc/codecs/wm9712.c | 10 +-
sound/soc/codecs/wm9713.c | 10 +-
sound/soc/codecs/wm_adsp.c | 14 +-
sound/soc/davinci/Kconfig | 106 --
sound/soc/davinci/Makefile | 16 -
sound/soc/fsl/Kconfig | 2 +-
sound/soc/fsl/fsl-asoc-card.c | 6 +-
sound/soc/fsl/fsl_ssi_dbg.c | 14 +-
sound/soc/generic/Kconfig | 4 +-
sound/soc/generic/audio-graph-card.c | 465 +++++++--
sound/soc/generic/audio-graph-scu-card.c | 262 +++--
sound/soc/generic/simple-card-utils.c | 45 +-
sound/soc/generic/simple-card.c | 402 +++++--
sound/soc/generic/simple-scu-card.c | 264 +++--
sound/soc/intel/Kconfig | 79 +-
sound/soc/intel/atom/sst/sst_acpi.c | 4 +
sound/soc/intel/atom/sst/sst_loader.c | 8 +-
sound/soc/intel/atom/sst/sst_pvt.c | 4 +-
sound/soc/intel/boards/Kconfig | 26 +-
sound/soc/intel/boards/Makefile | 2 +
sound/soc/intel/boards/bytcr_rt5640.c | 33 +-
sound/soc/intel/boards/bytcr_rt5651.c | 6 +-
sound/soc/intel/boards/cht_bsw_max98090_ti.c | 14 +
sound/soc/intel/boards/cht_bsw_rt5645.c | 6 +-
sound/soc/intel/boards/cht_bsw_rt5672.c | 2 +-
sound/soc/intel/boards/glk_rt5682_max98357a.c | 2 +-
sound/soc/intel/boards/kbl_da7219_max98927.c | 14 +-
sound/soc/intel/boards/kbl_rt5660.c | 543 ++++++++++
sound/soc/intel/boards/kbl_rt5663_max98927.c | 14 +-
.../soc/intel/boards/kbl_rt5663_rt5514_max98927.c | 10 +-
sound/soc/intel/boards/skl_hda_dsp_generic.c | 22 +-
sound/soc/intel/boards/skl_nau88l25_max98357a.c | 14 +-
sound/soc/intel/boards/skl_nau88l25_ssm4567.c | 14 +-
sound/soc/intel/common/Makefile | 2 +-
sound/soc/intel/common/soc-acpi-intel-bxt-match.c | 36 +
sound/soc/intel/common/soc-acpi-intel-icl-match.c | 32 +
sound/soc/intel/common/soc-acpi-intel-kbl-match.c | 10 +
sound/soc/intel/skylake/skl-messages.c | 8 +
sound/soc/intel/skylake/skl-nhlt.c | 3 +
sound/soc/intel/skylake/skl-sst-ipc.c | 50 +-
sound/soc/intel/skylake/skl.c | 202 ++--
sound/soc/intel/skylake/skl.h | 3 -
sound/soc/mediatek/mt6797/mt6797-afe-pcm.c | 2 +-
sound/soc/mediatek/mt8173/mt8173-afe-pcm.c | 2 +-
sound/soc/meson/Kconfig | 9 +-
sound/soc/meson/Makefile | 2 +
sound/soc/meson/axg-fifo.h | 3 +-
sound/soc/meson/axg-spdifin.c | 521 +++++++++
sound/soc/meson/axg-toddr.c | 15 +-
sound/soc/omap/Kconfig | 129 ---
sound/soc/omap/Makefile | 32 -
sound/soc/omap/am3517evm.c | 141 ---
sound/soc/omap/mcbsp.c | 1104 --------------------
sound/soc/pxa/Kconfig | 26 +-
sound/soc/pxa/Makefile | 1 -
sound/soc/pxa/raumfeld.c | 318 ------
sound/soc/qcom/Kconfig | 2 +
sound/soc/qcom/lpass-platform.c | 2 +-
sound/soc/qcom/qdsp6/q6afe-dai.c | 30 +-
sound/soc/qcom/qdsp6/q6afe.c | 4 +
sound/soc/qcom/qdsp6/q6asm-dai.c | 372 ++++++-
sound/soc/qcom/qdsp6/q6asm.c | 5 +
sound/soc/qcom/qdsp6/q6routing.c | 9 +
sound/soc/qcom/sdm845.c | 186 +++-
sound/soc/sh/rcar/adg.c | 38 +-
sound/soc/sh/rcar/cmd.c | 11 +-
sound/soc/sh/rcar/core.c | 256 ++++-
sound/soc/sh/rcar/ctu.c | 138 +--
sound/soc/sh/rcar/dma.c | 84 +-
sound/soc/sh/rcar/dvc.c | 21 +-
sound/soc/sh/rcar/gen.c | 49 +-
sound/soc/sh/rcar/mix.c | 3 +-
sound/soc/sh/rcar/rsnd.h | 382 +++----
sound/soc/sh/rcar/src.c | 67 +-
sound/soc/sh/rcar/ssi.c | 269 ++---
sound/soc/sh/rcar/ssiu.c | 300 ++++--
sound/soc/soc-core.c | 13 +-
sound/soc/stm/stm32_sai.c | 8 +-
sound/soc/stm/stm32_sai_sub.c | 3 +-
sound/soc/sunxi/sun50i-codec-analog.c | 2 +
sound/soc/ti/Kconfig | 209 ++++
sound/soc/ti/Makefile | 44 +
sound/soc/{omap => ti}/ams-delta.c | 0
sound/soc/{davinci => ti}/davinci-evm.c | 4 +-
sound/soc/{davinci => ti}/davinci-i2s.c | 0
sound/soc/{davinci => ti}/davinci-i2s.h | 0
sound/soc/{davinci => ti}/davinci-mcasp.c | 123 ++-
sound/soc/{davinci => ti}/davinci-mcasp.h | 30 +-
sound/soc/{davinci => ti}/davinci-vcif.c | 0
sound/soc/{davinci => ti}/edma-pcm.c | 0
sound/soc/{davinci => ti}/edma-pcm.h | 4 +-
sound/soc/{omap => ti}/n810.c | 0
sound/soc/{omap => ti}/omap-abe-twl6040.c | 0
sound/soc/{omap => ti}/omap-dmic.c | 0
sound/soc/{omap => ti}/omap-dmic.h | 0
.../soc/{omap/omap-hdmi-audio.c => ti/omap-hdmi.c} | 0
sound/soc/{omap/mcbsp.h => ti/omap-mcbsp-priv.h} | 126 +--
sound/soc/ti/omap-mcbsp-st.c | 516 +++++++++
sound/soc/{omap => ti}/omap-mcbsp.c | 857 ++++++++++++---
sound/soc/{omap => ti}/omap-mcbsp.h | 8 +-
sound/soc/{omap => ti}/omap-mcpdm.c | 0
sound/soc/{omap => ti}/omap-mcpdm.h | 0
sound/soc/{omap => ti}/omap-twl4030.c | 0
sound/soc/{omap => ti}/omap3pandora.c | 0
sound/soc/{omap => ti}/osk5912.c | 0
sound/soc/{omap => ti}/rx51.c | 0
sound/soc/{omap => ti}/sdma-pcm.c | 0
sound/soc/{omap => ti}/sdma-pcm.h | 4 +-
sound/soc/xilinx/Kconfig | 8 +
sound/soc/xilinx/Makefile | 2 +
sound/soc/xilinx/xlnx_i2s.c | 185 ++++
sound/synth/emux/emux_hwdep.c | 7 +-
sound/usb/quirks.c | 129 ++-
254 files changed, 11685 insertions(+), 5080 deletions(-)
create mode 100644 Documentation/devicetree/bindings/sound/ak4118.txt
create mode 100644 Documentation/devicetree/bindings/sound/amlogic,axg-spdifin.txt
create mode 100644 Documentation/devicetree/bindings/sound/xlnx,i2s.txt
create mode 100644 drivers/leds/trigger/ledtrig-audio.c
create mode 100644 drivers/platform/x86/huawei-wmi.c
delete mode 100644 include/linux/dell-led.h
delete mode 100644 include/linux/thinkpad_acpi.h
create mode 100644 sound/firewire/fireface/ff-protocol-ff800.c
delete mode 100644 sound/pci/hda/dell_wmi_helper.c
create mode 100644 sound/soc/amd/raven/Makefile
create mode 100644 sound/soc/amd/raven/acp3x-pcm-dma.c
create mode 100644 sound/soc/amd/raven/acp3x.h
create mode 100644 sound/soc/amd/raven/chip_offset_byte.h
create mode 100644 sound/soc/amd/raven/pci-acp3x.c
create mode 100644 sound/soc/codecs/ak4118.c
delete mode 100644 sound/soc/davinci/Kconfig
delete mode 100644 sound/soc/davinci/Makefile
create mode 100644 sound/soc/intel/boards/kbl_rt5660.c
create mode 100644 sound/soc/intel/common/soc-acpi-intel-icl-match.c
create mode 100644 sound/soc/meson/axg-spdifin.c
delete mode 100644 sound/soc/omap/Kconfig
delete mode 100644 sound/soc/omap/Makefile
delete mode 100644 sound/soc/omap/am3517evm.c
delete mode 100644 sound/soc/omap/mcbsp.c
delete mode 100644 sound/soc/pxa/raumfeld.c
create mode 100644 sound/soc/ti/Kconfig
create mode 100644 sound/soc/ti/Makefile
rename sound/soc/{omap => ti}/ams-delta.c (100%)
rename sound/soc/{davinci => ti}/davinci-evm.c (99%)
rename sound/soc/{davinci => ti}/davinci-i2s.c (100%)
rename sound/soc/{davinci => ti}/davinci-i2s.h (100%)
rename sound/soc/{davinci => ti}/davinci-mcasp.c (94%)
rename sound/soc/{davinci => ti}/davinci-mcasp.h (95%)
rename sound/soc/{davinci => ti}/davinci-vcif.c (100%)
rename sound/soc/{davinci => ti}/edma-pcm.c (100%)
rename sound/soc/{davinci => ti}/edma-pcm.h (91%)
rename sound/soc/{omap => ti}/n810.c (100%)
rename sound/soc/{omap => ti}/omap-abe-twl6040.c (100%)
rename sound/soc/{omap => ti}/omap-dmic.c (100%)
rename sound/soc/{omap => ti}/omap-dmic.h (100%)
rename sound/soc/{omap/omap-hdmi-audio.c => ti/omap-hdmi.c} (100%)
rename sound/soc/{omap/mcbsp.h => ti/omap-mcbsp-priv.h} (70%)
create mode 100644 sound/soc/ti/omap-mcbsp-st.c
rename sound/soc/{omap => ti}/omap-mcbsp.c (51%)
rename sound/soc/{omap => ti}/omap-mcbsp.h (92%)
rename sound/soc/{omap => ti}/omap-mcpdm.c (100%)
rename sound/soc/{omap => ti}/omap-mcpdm.h (100%)
rename sound/soc/{omap => ti}/omap-twl4030.c (100%)
rename sound/soc/{omap => ti}/omap3pandora.c (100%)
rename sound/soc/{omap => ti}/osk5912.c (100%)
rename sound/soc/{omap => ti}/rx51.c (100%)
rename sound/soc/{omap => ti}/sdma-pcm.c (100%)
rename sound/soc/{omap => ti}/sdma-pcm.h (85%)
create mode 100644 sound/soc/xilinx/Kconfig
create mode 100644 sound/soc/xilinx/Makefile
create mode 100644 sound/soc/xilinx/xlnx_i2s.c
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [GIT PULL] sound updates for 4.21
2018-12-20 15:38 [GIT PULL] sound updates for 4.21 Takashi Iwai
@ 2018-12-25 23:20 ` pr-tracker-bot
2018-12-27 3:31 ` Linus Torvalds
1 sibling, 0 replies; 18+ messages in thread
From: pr-tracker-bot @ 2018-12-25 23:20 UTC (permalink / raw)
To: Takashi Iwai
Cc: Linus Torvalds, Mark Brown, Liam Girdwood, Linux Kernel Mailing List
The pull request you sent on Thu, 20 Dec 2018 16:38:30 +0100:
> git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git tags/sound-4.21-rc1
has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/8e61e7b5c4de2bea534438bd7a008accd85492b0
Thank you!
--
Deet-doot-dot, I am a bot.
https://korg.wiki.kernel.org/userdoc/prtracker
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [GIT PULL] sound updates for 4.21
2018-12-20 15:38 [GIT PULL] sound updates for 4.21 Takashi Iwai
2018-12-25 23:20 ` pr-tracker-bot
@ 2018-12-27 3:31 ` Linus Torvalds
2018-12-28 12:43 ` Ingo Molnar
1 sibling, 1 reply; 18+ messages in thread
From: Linus Torvalds @ 2018-12-27 3:31 UTC (permalink / raw)
To: Takashi Iwai, Pierre-Louis Bossart
Cc: Mark Brown, Liam Girdwood, Linux Kernel Mailing List
On Thu, Dec 20, 2018 at 7:38 AM Takashi Iwai <tiwai@suse.de> wrote:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git tags/sound-4.21-rc1
Hmm.
It turns out that commit c337104b1a16 ("ALSA: HD-Audio: SKL+: abort
probe if DSP is present and Skylake driver selected") causes my laptop
(XPS13 9350) to no longer suspend.
The screen goes dark, but the power light never turns off. There's
nothing in the logs.
> Pierre-Louis Bossart (16):
> ALSA: HD-Audio: SKL+: abort probe if DSP is present and Skylake driver selected
Sadly, that commit does not revert cleanly, since it's preparatory for
a lot of other changes.
Here's the lspci output:
/sbin/lspci -s 0:1f.3 -vn
00:1f.3 0403: 8086:9d70 (rev 21) (prog-if 80)
Subsystem: 1028:0704
Flags: bus master, fast devsel, latency 32, IRQ 16
Memory at dc328000 (64-bit, non-prefetchable) [size=16K]
Memory at dc300000 (64-bit, non-prefetchable) [size=64K]
Capabilities: <access denied>
Kernel driver in use: snd_soc_skl
Kernel modules: snd_hda_intel, snd_soc_skl
and it's a bog-standard Intel i7-6560U laptop.
I have no real information, except that I bisected the (reliable)
behavior to this commit. Before that commit, suspend/resume works
fine. After that commit, suspend just hangs and leaves a dead machine.
Linus
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [GIT PULL] sound updates for 4.21
2018-12-27 3:31 ` Linus Torvalds
@ 2018-12-28 12:43 ` Ingo Molnar
2018-12-28 17:07 ` Takashi Iwai
0 siblings, 1 reply; 18+ messages in thread
From: Ingo Molnar @ 2018-12-28 12:43 UTC (permalink / raw)
To: Linus Torvalds
Cc: Takashi Iwai, Pierre-Louis Bossart, Mark Brown, Liam Girdwood,
Linux Kernel Mailing List
* Linus Torvalds <torvalds@linux-foundation.org> wrote:
> On Thu, Dec 20, 2018 at 7:38 AM Takashi Iwai <tiwai@suse.de> wrote:
> >
> > git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git tags/sound-4.21-rc1
>
> Hmm.
>
> It turns out that commit c337104b1a16 ("ALSA: HD-Audio: SKL+: abort
> probe if DSP is present and Skylake driver selected") causes my laptop
> (XPS13 9350) to no longer suspend.
Just a wild guess, I can see two ways in which that commit could make a
difference on your setup:
1)
If any of these is not set in your .config:
+ select SND_HDA_INTEL_DSP_DETECTION_SKL if SND_SOC_INTEL_SKL
+ select SND_HDA_INTEL_DSP_DETECTION_APL if SND_SOC_INTEL_APL
+ select SND_HDA_INTEL_DSP_DETECTION_KBL if SND_SOC_INTEL_KBL
+ select SND_HDA_INTEL_DSP_DETECTION_GLK if SND_SOC_INTEL_GLK
+ select SND_HDA_INTEL_DSP_DETECTION_CNL if SND_SOC_INTEL_CNL
+ select SND_HDA_INTEL_DSP_DETECTION_CFL if SND_SOC_INTEL_CFL
I.e. I'd enable all of the SND_SOC_INTEL_* options to cover this angle.
2)
There's the added logic of checking whether the DSP is enabled:
+ /* check if this driver can be used on SKL+ Intel platforms */
+ if ((pci_id->driver_data & AZX_DCAPS_INTEL_SHARED) &&
+ pci->class != 0x040300)
+ return -ENODEV;
+
if pci->class is not 0x040300 the driver could end up not detecting the
device while previously it would.
That code goes through several transformations later on - but the hack
below should make the commit an invariant. I think. Totally untested
though.
Thanks,
Ingo
==============>
sound/pci/hda/hda_intel.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
index e42cc2230977..f9e9c87f6d15 100644
--- a/sound/pci/hda/hda_intel.c
+++ b/sound/pci/hda/hda_intel.c
@@ -2056,7 +2056,7 @@ static int azx_probe(struct pci_dev *pci,
if (pci_id->driver_data & AZX_DCAPS_INTEL_SHARED) {
switch (skl_pci_binding) {
case SND_SKL_PCI_BIND_AUTO:
- if (pci->class != 0x040300) {
+ if (0 && pci->class != 0x040300) {
dev_info(&pci->dev, "The DSP is enabled on this platform, aborting probe\n");
return -ENODEV;
}
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [GIT PULL] sound updates for 4.21
2018-12-28 12:43 ` Ingo Molnar
@ 2018-12-28 17:07 ` Takashi Iwai
2018-12-28 19:04 ` Linus Torvalds
0 siblings, 1 reply; 18+ messages in thread
From: Takashi Iwai @ 2018-12-28 17:07 UTC (permalink / raw)
To: Ingo Molnar
Cc: Linus Torvalds, Takashi Iwai, Pierre-Louis Bossart, Mark Brown,
Liam Girdwood, Linux Kernel Mailing List
On Fri, 28 Dec 2018 13:43:03 +0100,
Ingo Molnar wrote:
>
>
> * Linus Torvalds <torvalds@linux-foundation.org> wrote:
>
> > On Thu, Dec 20, 2018 at 7:38 AM Takashi Iwai <tiwai@suse.de> wrote:
> > >
> > > git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git tags/sound-4.21-rc1
> >
> > Hmm.
> >
> > It turns out that commit c337104b1a16 ("ALSA: HD-Audio: SKL+: abort
> > probe if DSP is present and Skylake driver selected") causes my laptop
> > (XPS13 9350) to no longer suspend.
>
> Just a wild guess, I can see two ways in which that commit could make a
> difference on your setup:
>
> 1)
>
> If any of these is not set in your .config:
>
> + select SND_HDA_INTEL_DSP_DETECTION_SKL if SND_SOC_INTEL_SKL
> + select SND_HDA_INTEL_DSP_DETECTION_APL if SND_SOC_INTEL_APL
> + select SND_HDA_INTEL_DSP_DETECTION_KBL if SND_SOC_INTEL_KBL
> + select SND_HDA_INTEL_DSP_DETECTION_GLK if SND_SOC_INTEL_GLK
> + select SND_HDA_INTEL_DSP_DETECTION_CNL if SND_SOC_INTEL_CNL
> + select SND_HDA_INTEL_DSP_DETECTION_CFL if SND_SOC_INTEL_CFL
>
> I.e. I'd enable all of the SND_SOC_INTEL_* options to cover this angle.
>
> 2)
>
> There's the added logic of checking whether the DSP is enabled:
>
> + /* check if this driver can be used on SKL+ Intel platforms */
> + if ((pci_id->driver_data & AZX_DCAPS_INTEL_SHARED) &&
> + pci->class != 0x040300)
> + return -ENODEV;
> +
>
> if pci->class is not 0x040300 the driver could end up not detecting the
> device while previously it would.
>
> That code goes through several transformations later on - but the hack
> below should make the commit an invariant. I think. Totally untested
> though.
Yes, Linus pointed out a similar "fix" to make things working again in
a later thread without Cc to ML.
The problem seems to be that this laptop doesn't work with ASoC Intel
SST driver now we're trying to bind when DSP is available. From
heuristics, it's identified from PCI class number, but this doesn't
seem enough on some models, unfortunately.
And, the old behavior (bind with "legacy" HDA-Intel driver) should be
achieved simply by passing pci_binding=1 option to snd-hda-intel
module, i.e. a patch like below would be enough:
--- a/sound/pci/hda/hda_intel.c
+++ b/sound/pci/hda/hda_intel.c
@@ -172,7 +172,7 @@ module_param_array(beep_mode, bool, NULL, 0444);
MODULE_PARM_DESC(beep_mode, "Select HDA Beep registration mode "
"(0=off, 1=on) (default=1).");
#endif
-static int skl_pci_binding;
+static int skl_pci_binding = 1;
module_param_named(pci_binding, skl_pci_binding, int, 0444);
MODULE_PARM_DESC(pci_binding, "PCI binding (0=auto, 1=only legacy, 2=only asoc");
===
Actually, there are two aspects wrt this problem:
1) Whether ASoC driver cannot work with these Dell machines at all
2) Whether we want to keep binding with the legacy HDA driver even if
DSP is available
AFAIK, the problem seems specific to some Dell models (XPS13 or such),
and I thought Intel already tested with these laptops. But maybe the
behavior differs depending on the model number or BIOS. IIRC, XPS13
already showed a drastic change of the HD-audio binding by BIOS
upgrades in the past, too. So (1) might be some machine-specific
fixes in the end.
But, even if (1) is fixed somehow, the user-visible behavior may be
slightly different from the earlier kernels (e.g. routing setup
required, etc), and this might annoy existing users. That's the
question in (2).
If we prefer being conservative and keeping the binding with the
legacy HDA driver as-is, it'd be reasonable to provide (yet) another
Kconfig to choose the default option value above.
Or, we may add some blacklisting (e.g. via DMI matching) in HDA-Intel
driver side to skip the faulty PCI class check.
I'm not sure which solution we'll take in the end, but certainly it's
a bug that has to be fixed soonish.
thanks,
Takashi
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [GIT PULL] sound updates for 4.21
2018-12-28 17:07 ` Takashi Iwai
@ 2018-12-28 19:04 ` Linus Torvalds
2018-12-30 9:21 ` Takashi Iwai
0 siblings, 1 reply; 18+ messages in thread
From: Linus Torvalds @ 2018-12-28 19:04 UTC (permalink / raw)
To: Takashi Iwai
Cc: Ingo Molnar, Pierre-Louis Bossart, Mark Brown, Liam Girdwood,
Linux Kernel Mailing List
On Fri, Dec 28, 2018 at 9:07 AM Takashi Iwai <tiwai@suse.de> wrote:
>
> 1) Whether ASoC driver cannot work with these Dell machines at all
I'm willing to test patches.
Right now, the reason it fails to even load is that "codec_mask" is 0x0001.
And the skl_hda_dsp_generic.c code requires
// This will be 1 for 0x0001
codec_count = hweight_long(codec_mask);
if (codec_count == 1 && codec_mask & IDISP_CODEC_MASK) {
.. this is ok ..
} else if (codec_count == 2 && codec_mask & IDISP_CODEC_MASK) {
.. as is this ..
} else {
.. but here we return -EINVAL;
}
and that basically requires that IDISP_CODEC_MASK be part of
codec_mask. Which it isn't (IDISP_CODEC_MASK is 0x4).
Anyway, as long as the ASoC driver refuses to touch this, the default
pretty much *has* to be the legacy PCI driver.
Linus
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [GIT PULL] sound updates for 4.21
2018-12-28 19:04 ` Linus Torvalds
@ 2018-12-30 9:21 ` Takashi Iwai
[not found] ` <82bb7f60-c3c2-4715-a0a0-f1f2a8b14c74@linux.intel.com>
0 siblings, 1 reply; 18+ messages in thread
From: Takashi Iwai @ 2018-12-30 9:21 UTC (permalink / raw)
To: Linus Torvalds
Cc: Takashi Iwai, Ingo Molnar, Pierre-Louis Bossart, Mark Brown,
Liam Girdwood, Linux Kernel Mailing List
On Fri, 28 Dec 2018 20:04:48 +0100,
Linus Torvalds wrote:
>
> On Fri, Dec 28, 2018 at 9:07 AM Takashi Iwai <tiwai@suse.de> wrote:
> >
> > 1) Whether ASoC driver cannot work with these Dell machines at all
>
> I'm willing to test patches.
>
> Right now, the reason it fails to even load is that "codec_mask" is 0x0001.
>
> And the skl_hda_dsp_generic.c code requires
>
> // This will be 1 for 0x0001
> codec_count = hweight_long(codec_mask);
>
> if (codec_count == 1 && codec_mask & IDISP_CODEC_MASK) {
> .. this is ok ..
> } else if (codec_count == 2 && codec_mask & IDISP_CODEC_MASK) {
> .. as is this ..
> } else {
> .. but here we return -EINVAL;
> }
>
> and that basically requires that IDISP_CODEC_MASK be part of
> codec_mask. Which it isn't (IDISP_CODEC_MASK is 0x4).
>
> Anyway, as long as the ASoC driver refuses to touch this, the default
> pretty much *has* to be the legacy PCI driver.
Thanks, the above seems to be the likely cause.
This is a good news and a bad news, actually. The good news is that
we know the cause, and this can be detected earlier, too. The bad
news is that the possible detection (the probe of codec mask) is done
in an async probe work in the legacy HDA driver, hence the PCI driver
probe() call cannot return -ENODEV for this.
And, it brings me a question: does the audio routing work without
iDISP at all? The current code looks mandating the iDISP, and I
thought this is a core part of HD-audio routing on DSP.
Intel people, could you clarify this?
If iDISP is mandatory and really missing on these machines, we need
another way to identify such systems without codec mask checks.
Maybe DMI or such listing; ugly but should be still manageable since
the number of devices hitting the problem must be fairly low.
Or, an alternative is to let ASoC driver bind at first, e.g. by
changing the driver name from snd-soc-skl to snd-hda-asoc, and drop
the selective binding from snd-hda-intel, so that it'd work as
catch-all after binding with ASoC fails.
The above would work for the modules, but for built-in, we need to
rearrange the link order, too, supposedly.
(For the mixed case with built-in and module? I don't know, maybe we
may forgive us by the presence of module options to control the
binding.)
BTW, one thing I'd really like to avoid is to rearrange the probe
procedure of the legacy HDA driver (so that we can get codec_mask
during pci probe() call). The async probe is the result of the many
struggles with the various and complex configurations. Moving the
codec probe to the beginning isn't trivial and quite risky to break
something else.
thanks,
Takashi
^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2019-01-05 2:12 UTC | newest]
Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-12-20 15:38 [GIT PULL] sound updates for 4.21 Takashi Iwai
2018-12-25 23:20 ` pr-tracker-bot
2018-12-27 3:31 ` Linus Torvalds
2018-12-28 12:43 ` Ingo Molnar
2018-12-28 17:07 ` Takashi Iwai
2018-12-28 19:04 ` Linus Torvalds
2018-12-30 9:21 ` Takashi Iwai
[not found] ` <82bb7f60-c3c2-4715-a0a0-f1f2a8b14c74@linux.intel.com>
2018-12-31 0:19 ` Linus Torvalds
2018-12-31 0:54 ` Pierre-Louis Bossart
2018-12-31 8:11 ` Takashi Iwai
2018-12-31 10:24 ` Pierre-Louis Bossart
2018-12-31 18:15 ` Takashi Iwai
2018-12-31 20:10 ` Pierre-Louis Bossart
2018-12-31 21:02 ` Hans de Goede
2018-12-31 13:43 ` Azat Khuzhin
2018-12-31 15:22 ` Pierre-Louis Bossart
2019-01-05 0:34 ` Azat Khuzhin
2019-01-05 2:12 ` Pierre-Louis Bossart
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.