25 Sep, 2019

1 commit

  • Pull sound fixes from Takashi Iwai:
    "A few small remaining wrap-up for this merge window.

    Most of patches are device-specific (HD-audio and USB-audio quirks,
    FireWire, pcm316a, fsl, rsnd, Atmel, and TI fixes), while there is a
    simple fix (actually two commits) for ASoC core"

    * tag 'sound-fix-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
    ALSA: usb-audio: Add DSD support for EVGA NU Audio
    ALSA: hda - Add laptop imic fixup for ASUS M9V laptop
    ASoC: ti: fix SND_SOC_DM365_VOICE_CODEC dependencies
    ASoC: pcm3168a: The codec does not support S32_LE
    ASoC: core: use list_del_init and move it back to soc_cleanup_component
    ALSA: hda/realtek - PCI quirk for Medion E4254
    ALSA: hda - Apply AMD controller workaround for Raven platform
    ASoC: rsnd: do error check after rsnd_channel_normalization()
    ASoC: atmel_ssc_dai: Remove wrong spinlock usage
    ASoC: core: delete component->card_list in soc_remove_component only
    ASoC: fsl_sai: Fix noise when using EDMA
    ALSA: usb-audio: Add Hiby device family to quirks for native DSD support
    ALSA: hda/realtek - Fix alienware headset mic
    ALSA: dice: fix wrong packet parameter for Alesis iO26

    Linus Torvalds
     

24 Sep, 2019

2 commits


23 Sep, 2019

1 commit

  • Pull MIPS updates from Paul Burton:
    "Main MIPS changes:

    - boot_mem_map is removed, providing a nice cleanup made possible by
    the recent removal of bootmem.

    - Some fixes to atomics, in general providing compiler barriers for
    smp_mb__{before,after}_atomic plus fixes specific to Loongson CPUs
    or MIPS32 systems using cmpxchg64().

    - Conversion to the new generic VDSO infrastructure courtesy of
    Vincenzo Frascino.

    - Removal of undefined behavior in set_io_port_base(), fixing the
    behavior of some MIPS kernel configurations when built with recent
    clang versions.

    - Initial MIPS32 huge page support, functional on at least Ingenic
    SoCs.

    - pte_special() is now supported for some configurations, allowing
    among other things generic fast GUP to be used.

    - Miscellaneous fixes & cleanups.

    And platform specific changes:

    - Major improvements to Ingenic SoC support from Paul Cercueil,
    mostly enabled by the inclusion of the new TCU (timer-counter unit)
    drivers he's spent a very patient year or so working on. Plus some
    fixes for X1000 SoCs from Zhou Yanjie.

    - Netgear R6200 v1 systems are now supported by the bcm47xx platform.

    - DT updates for BMIPS, Lantiq & Microsemi Ocelot systems"

    * tag 'mips_5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux: (89 commits)
    MIPS: Detect bad _PFN_SHIFT values
    MIPS: Disable pte_special() for MIPS32 with RiXi
    MIPS: ralink: deactivate PCI support for SOC_MT7621
    mips: compat: vdso: Use legacy syscalls as fallback
    MIPS: Drop Loongson _CACHE_* definitions
    MIPS: tlbex: Remove cpu_has_local_ebase
    MIPS: tlbex: Simplify r3k check
    MIPS: Select R3k-style TLB in Kconfig
    MIPS: PCI: refactor ioc3 special handling
    mips: remove ioremap_cachable
    mips/atomic: Fix smp_mb__{before,after}_atomic()
    mips/atomic: Fix loongson_llsc_mb() wreckage
    mips/atomic: Fix cmpxchg64 barriers
    MIPS: Octeon: remove duplicated include from dma-octeon.c
    firmware: bcm47xx_nvram: Allow COMPILE_TEST
    firmware: bcm47xx_nvram: Correct size_t printf format
    MIPS: Treat Loongson Extensions as ASEs
    MIPS: Remove dev_err() usage after platform_get_irq()
    MIPS: dts: mscc: describe the PTP ready interrupt
    MIPS: dts: mscc: describe the PTP register range
    ...

    Linus Torvalds
     

20 Sep, 2019

8 commits

  • The same fixup to enable laptop imic is needed for ASUS M9V with AD1986A
    codec like another HP machine.

    Signed-off-by: Shih-Yuan Lee (FourDollars)
    Cc:
    Link: https://lore.kernel.org/r/20190920134052.GA8035@localhost
    Signed-off-by: Takashi Iwai

    Shih-Yuan Lee (FourDollars)
     
  • SND_SOC_DM365_VOICE_CODEC is a 'bool' option in a choice statement,
    meaning it cannot be set to =m, but it selects two other drivers
    that we may want to be loadable modules after all:

    WARNING: unmet direct dependencies detected for SND_SOC_CQ0093VC
    Depends on [m]: SOUND [=m] && !UML && SND [=m] && SND_SOC [=m]
    Selected by [y]:
    - SND_SOC_DM365_VOICE_CODEC [=y] &&
    Selected by [m]:
    - SND_SOC_ALL_CODECS [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && COMPILE_TEST [=y]

    Add an intermediate symbol that sets SND_SOC_CQ0093VC and
    MFD_DAVINCI_VOICECODEC to =m if SND_SOC=m.

    Signed-off-by: Arnd Bergmann
    Link: https://lore.kernel.org/r/20190920075046.3210393-1-arnd@arndb.de
    Signed-off-by: Mark Brown

    Arnd Bergmann
     
  • 24 bits is supported in all modes and 16 bit only when the codec is slave
    and the DAI is set to RIGHT_J.

    Remove the unsupported sample format.

    Signed-off-by: Peter Ujfalusi
    Link: https://lore.kernel.org/r/20190919071652.31724-1-peter.ujfalusi@ti.com
    Signed-off-by: Mark Brown

    Peter Ujfalusi
     
  • commit a0a4bf57a977 ("ASoC: core: delete component->card_list in soc_remove_component only")
    was trying to fix a kernel oops when list_del was called twice without
    re-init the list. Use list_del_init() can solve it, too. Besides, it
    will be more readable if we cleanup all component related resource at
    soc_cleanup_component().

    Suggested-by: Kuninori Morimoto
    Signed-off-by: Bard liao
    Link: https://lore.kernel.org/r/20190918133131.15045-1-yung-chuan.liao@linux.intel.com
    Signed-off-by: Mark Brown

    Bard liao
     
  • The laptop has a combined jack to attach headsets on the right.
    The BIOS encodes them as two different colored jacks at the front,
    but otherwise it seems to be configured ok. But any adaption of
    the pins config on its own doesn't fix the jack detection to work
    in Linux. Still Windows works correct.

    This is somehow fixed by chaining ALC256_FIXUP_ASUS_HEADSET_MODE,
    which seems to register the microphone jack as a headset part and
    also results in fixing jack sensing, visible in dmesg as:

    -snd_hda_codec_realtek hdaudioC0D0: Mic=0x19
    +snd_hda_codec_realtek hdaudioC0D0: Headset Mic=0x19

    [ Actually the essential change is the location of the jack; the
    driver created "Front Mic Jack" without the matching volume / mute
    control element due to its jack location, which confused PA.
    -- tiwai ]

    Signed-off-by: Jan-Marek Glogowski
    Cc:
    Link: https://lore.kernel.org/r/8f4f9b20-0aeb-f8f1-c02f-fd53c09679f1@fbihome.de
    Signed-off-by: Takashi Iwai

    Jan-Marek Glogowski
     
  • It's reported that the garbled sound on HP Envy x360 13z-ag000 (Ryzen
    Laptop) is fixed by the same workaround applied to other AMD chips.
    Update the driver_data entry for Raven (1022:15e3) to use the newly
    introduced preset, AZX_DCAPS_PRESET_AMD_SB. Since it already contains
    AZX_DCAPS_PM_RUNTIME, we can drop that bit, too.

    Reported-and-tested-by: Dennis Padiernos
    Cc:
    Link: https://lore.kernel.org/r/20190920073040.31764-1-tiwai@suse.de
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • …ernel/git/chrome-platform/linux

    Pull chrome platform updates from Benson Leung:
    "CrOS EC / MFD Migration:
    - Move cros_ec core driver from mfd into chrome platform.

    Wilco EC:
    - Add batt_ppid_info command to Wilco telemetry driver.

    CrOS EC:
    - cros_ec_rpmsg : Add support to inform EC of suspend/resume status
    - cros_ec_rpmsg : Fix race condition on probe failed
    - cros_ec_chardev : Add a poll handler to receive MKBP events

    Misc:
    - bugfixes in cros_usbpd_logger and cros_ec_ishtp"

    * tag 'tag-chrome-platform-for-v5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux:
    platform/chrome: cros_usbpd_logger: null check create_singlethread_workqueue
    platform/chrome: cros_ec_chardev: Add a poll handler to receive MKBP events
    platform/chrome: cros_ec_rpmsg: Fix race with host command when probe failed
    platform/chrome: chromeos_tbmc: Report wake events
    mfd: cros_ec: Use mfd_add_hotplug_devices() helper
    mfd: cros_ec: Add convenience struct to define autodetectable CrOS EC subdevices
    mfd: cros_ec: Add convenience struct to define dedicated CrOS EC MCUs
    mfd: cros_ec: Use kzalloc and cros_ec_cmd_xfer_status helper
    mfd / platform: cros_ec: Reorganize platform and mfd includes
    mfd / platform: cros_ec: Rename config to a better name
    mfd: cros_ec: Switch to use the new cros-ec-chardev driver
    mfd / platform: cros_ec: Miscellaneous character device to talk with the EC
    mfd / platform: cros_ec: Move cros-ec core driver out from MFD
    mfd / platform: cros_ec: Handle chained ECs as platform devices
    platform/chrome: cros_ec_rpmsg: Add host command AP sleep state support
    platform/chrome: chromeos_laptop: drop checks of NULL-safe functions
    platform/chrome: wilco_ec: Add batt_ppid_info command to telemetry driver

    Linus Torvalds
     
  • Pull dma-mapping updates from Christoph Hellwig:

    - add dma-mapping and block layer helpers to take care of IOMMU merging
    for mmc plus subsequent fixups (Yoshihiro Shimoda)

    - rework handling of the pgprot bits for remapping (me)

    - take care of the dma direct infrastructure for swiotlb-xen (me)

    - improve the dma noncoherent remapping infrastructure (me)

    - better defaults for ->mmap, ->get_sgtable and ->get_required_mask
    (me)

    - cleanup mmaping of coherent DMA allocations (me)

    - various misc cleanups (Andy Shevchenko, me)

    * tag 'dma-mapping-5.4' of git://git.infradead.org/users/hch/dma-mapping: (41 commits)
    mmc: renesas_sdhi_internal_dmac: Add MMC_CAP2_MERGE_CAPABLE
    mmc: queue: Fix bigger segments usage
    arm64: use asm-generic/dma-mapping.h
    swiotlb-xen: merge xen_unmap_single into xen_swiotlb_unmap_page
    swiotlb-xen: simplify cache maintainance
    swiotlb-xen: use the same foreign page check everywhere
    swiotlb-xen: remove xen_swiotlb_dma_mmap and xen_swiotlb_dma_get_sgtable
    xen: remove the exports for xen_{create,destroy}_contiguous_region
    xen/arm: remove xen_dma_ops
    xen/arm: simplify dma_cache_maint
    xen/arm: use dev_is_dma_coherent
    xen/arm: consolidate page-coherent.h
    xen/arm: use dma-noncoherent.h calls for xen-swiotlb cache maintainance
    arm: remove wrappers for the generic dma remap helpers
    dma-mapping: introduce a dma_common_find_pages helper
    dma-mapping: always use VM_DMA_COHERENT for generic DMA remap
    vmalloc: lift the arm flag for coherent mappings to common code
    dma-mapping: provide a better default ->get_required_mask
    dma-mapping: remove the dma_declare_coherent_memory export
    remoteproc: don't allow modular build
    ...

    Linus Torvalds
     

19 Sep, 2019

1 commit


18 Sep, 2019

3 commits

  • A potential bug was reported in the email "[BUG] atmel_ssc_dai: a
    possible sleep-in-atomic bug in atmel_ssc_shutdown"[1]

    Indeed in the function atmel_ssc_shutdown() free_irq() was called in a
    critical section protected by spinlock.

    However this spinlock is only used in atmel_ssc_shutdown() and
    atmel_ssc_startup() functions. After further analysis, it occurred that
    the call to these function are already protected by mutex used on the
    calling functions.

    Then we can remove the spinlock which will fix this bug as a side
    effect. Thanks to this patch the following message disappears:

    "BUG: sleeping function called from invalid context at
    kernel/locking/mutex.c:909"

    [1]: https://www.spinics.net/lists/alsa-devel/msg71286.html

    Reviewed-by: Alexandre Belloni
    Signed-off-by: Gregory CLEMENT
    Link: https://lore.kernel.org/r/20190918100344.23629-1-gregory.clement@bootlin.com
    Signed-off-by: Mark Brown

    Gregory CLEMENT
     
  • …anaszewski/linux-leds

    Pull LED updates from Jacek Anaszewski:
    "In this cycle we've finally managed to contribute the patch set
    sorting out LED naming issues. Besides that there are many changes
    scattered among various LED class drivers and triggers.

    LED naming related improvements:

    - add new 'function' and 'color' fwnode properties and deprecate
    'label' property which has been frequently abused for conveying
    vendor specific names that have been available in sysfs anyway

    - introduce a set of standard LED_FUNCTION* definitions

    - introduce a set of standard LED_COLOR_ID* definitions

    - add a new {devm_}led_classdev_register_ext() API with the
    capability of automatic LED name composition basing on the
    properties available in the passed fwnode; the function is
    backwards compatible in a sense that it uses 'label' data, if
    present in the fwnode, for creating LED name

    - add tools/leds/get_led_device_info.sh script for retrieving LED
    vendor, product and bus names, if applicable; it also performs
    basic validation of an LED name

    - update following drivers and their DT bindings to use the new LED
    registration API:

    - leds-an30259a, leds-gpio, leds-as3645a, leds-aat1290, leds-cr0014114,
    leds-lm3601x, leds-lm3692x, leds-lp8860, leds-lt3593, leds-sc27xx-blt

    Other LED class improvements:

    - replace {devm_}led_classdev_register() macros with inlines

    - allow to call led_classdev_unregister() unconditionally

    - switch to use fwnode instead of be stuck with OF one

    LED triggers improvements:

    - led-triggers:
    - fix dereferencing of null pointer
    - fix a memory leak bug

    - ledtrig-gpio:
    - GPIO 0 is valid

    Drop superseeded apu2/3 support from leds-apu since for apu2+ a newer,
    more complete driver exists, based on a generic driver for the AMD
    SOCs gpio-controller, supporting LEDs as well other devices:

    - drop profile field from priv data

    - drop iosize field from priv data

    - drop enum_apu_led_platform_types

    - drop superseeded apu2/3 led support

    - add pr_fmt prefix for better log output

    - fix error message on probing failure

    Other misc fixes and improvements to existing LED class drivers:

    - leds-ns2, leds-max77650:
    - add of_node_put() before return

    - leds-pwm, leds-is31fl32xx:
    - use struct_size() helper

    - leds-lm3697, leds-lm36274, leds-lm3532:
    - switch to use fwnode_property_count_uXX()

    - leds-lm3532:
    - fix brightness control for i2c mode
    - change the define for the fs current register
    - fixes for the driver for stability
    - add full scale current configuration
    - dt: Add property for full scale current.
    - avoid potentially unpaired regulator calls
    - move static keyword to the front of declarations
    - fix optional led-max-microamp prop error handling

    - leds-max77650:
    - add of_node_put() before return
    - add MODULE_ALIAS()
    - Switch to fwnode property API

    - leds-as3645a:
    - fix misuse of strlcpy

    - leds-netxbig:
    - add of_node_put() in netxbig_leds_get_of_pdata()
    - remove legacy board-file support

    - leds-is31fl319x:
    - simplify getting the adapter of a client

    - leds-ti-lmu-common:
    - fix coccinelle issue
    - move static keyword to the front of declaration

    - leds-syscon:
    - use resource managed variant of device register

    - leds-ktd2692:
    - fix a typo in the name of a constant

    - leds-lp5562:
    - allow firmware files up to the maximum length

    - leds-an30259a:
    - fix typo

    - leds-pca953x:
    - include the right header"

    * tag 'leds-for-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds: (72 commits)
    leds: lm3532: Fix optional led-max-microamp prop error handling
    led: triggers: Fix dereferencing of null pointer
    leds: ti-lmu-common: Move static keyword to the front of declaration
    leds: lm3532: Move static keyword to the front of declarations
    leds: trigger: gpio: GPIO 0 is valid
    leds: pwm: Use struct_size() helper
    leds: is31fl32xx: Use struct_size() helper
    leds: ti-lmu-common: Fix coccinelle issue in TI LMU
    leds: lm3532: Avoid potentially unpaired regulator calls
    leds: syscon: Use resource managed variant of device register
    leds: Replace {devm_}led_classdev_register() macros with inlines
    leds: Allow to call led_classdev_unregister() unconditionally
    leds: lm3532: Add full scale current configuration
    dt: lm3532: Add property for full scale current.
    leds: lm3532: Fixes for the driver for stability
    leds: lm3532: Change the define for the fs current register
    leds: lm3532: Fix brightness control for i2c mode
    leds: Switch to use fwnode instead of be stuck with OF one
    leds: max77650: Switch to fwnode property API
    led: triggers: Fix a memory leak bug
    ...

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

    ASoC:

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

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

    - Initial support for Sound Open Firmware on i.MX8

    - Removal of deprecated w90x900 and nuc900 drivers

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

    USB-audio:

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

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

    - Scarlett Gen2 mixer interface, a few more more quirks

    HD-audio:

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

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

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

    FireWire:

    - Lots of code refactoring and cleanups"

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

    Linus Torvalds
     

17 Sep, 2019

6 commits

  • We add component->card_list in the end of soc_probe_component(). In
    other words, component->card_list will not be added if there is an
    error in the soc_probe_component() function. So we can't delete
    component->card_list in the error handling of soc_probe_component().

    Fixes: 22d1423187e5 ("ASoC: soc-core: add soc_cleanup_component()")
    Signed-off-by: Bard Liao
    Reviewed-by: Pierre-Louis Bossart
    Link: https://lore.kernel.org/r/20190916210353.6318-1-yung-chuan.liao@linux.intel.com
    Signed-off-by: Mark Brown

    Bard Liao
     
  • EDMA requires the period size to be multiple of maxburst. Otherwise the
    remaining bytes are not transferred and thus noise is produced.

    We can handle this issue by adding a constraint on
    SNDRV_PCM_HW_PARAM_PERIOD_SIZE to be multiple of tx/rx maxburst value.

    Signed-off-by: Mihai Serban
    Signed-off-by: Daniel Baluta
    Acked-by: Nicolin Chen
    Link: https://lore.kernel.org/r/20190913192807.8423-2-daniel.baluta@nxp.com
    Signed-off-by: Mark Brown

    Mihai Serban
     
  • This patch adds quirk VID ID for Hiby portable players family with
    native DSD playback support.

    Signed-off-by: Ilya Pshonkin
    Cc:
    Link: https://lore.kernel.org/r/20190917074937.157802-1-ilya.pshonkin@netforce.ua
    Signed-off-by: Takashi Iwai

    Ilya Pshonkin
     
  • Headset microphone quirk for alienware 15r3. Without this using
    a headset with mic attached will not work.

    Signed-off-by: James McDonnell
    Link: https://lore.kernel.org/r/QB1PR01MB2337D0367C2E3ADB0010134F808C0@QB1PR01MB2337.CANPRD01.PROD.OUTLOOK.COM
    Signed-off-by: Takashi Iwai

    James McDonnell
     
  • At higher sampling rate (e.g. 192.0 kHz), Alesis iO26 transfers 4 data
    channels per data block in CIP.

    Both iO14 and iO26 have the same contents in their configuration ROM.
    For this reason, ALSA Dice driver attempts to distinguish them according
    to the value of TX0_AUDIO register at probe callback. Although the way is
    valid at lower and middle sampling rate, it's lastly invalid at higher
    sampling rate because because the two models returns the same value for
    read transaction to the register.

    In the most cases, users just plug-in the device and ALSA dice driver
    detects it. In the case, the device runs at lower sampling rate and
    the driver detects expectedly. For this reason, this commit leaves the
    way to detect as is.

    Fixes: 28b208f600a3 ("ALSA: dice: add parameters of stream formats for models produced by Alesis")
    Cc: # v4.18+
    Signed-off-by: Takashi Sakamoto
    Link: https://lore.kernel.org/r/20190916101851.30409-1-o-takashi@sakamocchi.jp
    Signed-off-by: Takashi Iwai

    Takashi Sakamoto
     
  • Pull GPIO updates from Linus Walleij:
    "This is the bulk of changes in the GPIO subsystem for the v5.4 kernel
    cycle.

    Core changes:

    - Support hierarchical GPIO irqchips.

    We now have three consumers that can use this: Intel IXP4xx,
    ThunderX and Qualcomm SPMI GPIO (in the pinctrl subsystem).

    The support code has been long in the making and hashed out so it
    should be easily adaptable for all hierarchical irqchip parents.
    The code only gets compiled in if hierarchical irqchip is used at
    the topmost irq controller at least, as the hierarchical irqchip
    requires strict hierarchy all the way up in the system.

    - Determine the need for a "valid_mask" for GPIO lines on the
    gpio_chip and conversely for the "valid_mask" for the GPIO
    interrupt chip interrupt lines by looking for a .init_valid_mask()
    callback in the main chip or GPIO interrupt chip respectively.
    Allocate it with bitmap_alloc().

    - Isolate the device tree/open firmware GPIO description code out in
    its own file properly.

    - Isolate the ACPI GPIO description code out in its own file
    properly.

    - Drop a whole lot of #ifdef:s in the main includes: it does not hurt
    to keep the include items around, and we get quicker and clearer
    compile failures if the appropriate kernel symbols are not selected
    for drivers.

    New/deleted drivers:

    - New driver for Aspeed SGPIO.

    - The KS8695 driver is deleted as the platform gets deleted from
    arch/arm in this kernel cycle.

    - The Cirrus Logic Madera driver now supports CS47L92 and CS47L15.

    - The Freescale MPC8xxx now supports LS1028A and LS1088A.

    Driver improvements:

    - We pass the GPIO irqchip intialization by directly filling in the
    struct instead of using set-up functions (the new way) for Intel
    MID, Lynxpoint, Merrifield, XLP, HLWD, Aspeed, ZX, VF610, TQMX86,
    MT7621, Zynq and EP93xx.

    Out-of-band changes:

    - Fix a GPIO header inclusion in Unicore - no response from
    maintainer.

    - Drop FMC subsystem from MAINTAINERS - was deleted in the GPIO tree
    last cycle so let's mop up the shards"

    * tag 'gpio-v5.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (82 commits)
    gpiolib: of: add a fallback for wlf,reset GPIO name
    gpio: htc-egpio: Remove unused exported htc_egpio_get_wakeup_irq()
    gpio: remove explicit comparison with 0
    gpio: creg-snps: use devm_platform_ioremap_resource() to simplify code
    gpio: devres: Switch to EXPORT_SYMBOL_GPL()
    gpio: of: Switch to EXPORT_SYMBOL_GPL()
    gpio: of: Make of_gpio_simple_xlate() private
    gpio: of: Make of_get_named_gpiod_flags() private
    gpio: aspeed: Add in ast2600 details to Aspeed driver
    gpio: aspeed: Use ngpio property from device tree if available
    gpio: aspeed: Setup irqchip dynamically
    gpio/aspeed: Fix incorrect number of banks
    gpio: aspeed: Update documentation with ast2600 controllers
    gpio: Initialize the irqchip valid_mask with a callback
    gpiolib: acpi: make acpi_can_fallback_to_crs() static
    gpio: Fix further merge errors
    gpio: Fix up merge collision in include file
    gpio: of: Normalize return code variable name
    gpio: gpiolib: Normalize return code variable name
    gpio: ep93xx: Pass irqchip when adding gpiochip
    ...

    Linus Torvalds
     

16 Sep, 2019

1 commit


15 Sep, 2019

3 commits


14 Sep, 2019

1 commit


13 Sep, 2019

1 commit

  • This is to allow machine drivers to set a certain bitclk rate
    which might not be exactly rate * frame size.

    Cc: NXP Linux Team
    Signed-off-by: Viorel Suman
    Signed-off-by: Daniel Baluta
    Acked-by: Nicolin Chen
    Link: https://lore.kernel.org/r/20190830215910.31590-1-daniel.baluta@nxp.com
    Signed-off-by: Mark Brown

    Viorel Suman
     

11 Sep, 2019

2 commits


10 Sep, 2019

3 commits

  • 2 bytes in MSB of register for clock status is zero during intermediate
    state after changing status of sampling clock in models of TASCAM FireWire
    series. The duration of this state differs depending on cases. During the
    state, it's better to retry reading the register for current status of
    the clock.

    In current implementation, the intermediate state is checked only when
    getting current sampling transmission frequency, then retry reading.
    This care is required for the other operations to read the register.

    This commit moves the codes of check and retry into helper function
    commonly used for operations to read the register.

    Fixes: e453df44f0d6 ("ALSA: firewire-tascam: add PCM functionality")
    Cc: # v4.4+
    Signed-off-by: Takashi Sakamoto
    Link: https://lore.kernel.org/r/20190910135152.29800-3-o-takashi@sakamocchi.jp
    Signed-off-by: Takashi Iwai

    Takashi Sakamoto
     
  • The return value of snd_tscm_stream_get_clock() is ignored. This commit
    checks the value and handle error.

    Fixes: e453df44f0d6 ("ALSA: firewire-tascam: add PCM functionality")
    Cc: # v4.4+
    Signed-off-by: Takashi Sakamoto
    Link: https://lore.kernel.org/r/20190910135152.29800-2-o-takashi@sakamocchi.jp
    Signed-off-by: Takashi Iwai

    Takashi Sakamoto
     
  • ASoC: Updates for v5.4

    Quite a big update this time around, particularly in the core
    where we've had a lot of cleanups from Morimoto-san - there's
    not much functional change but quite a bit of modernization
    going on. We've also seen a lot of driver work, a lot of it
    cleanups but also some particular drivers.

    - Lots and lots of cleanups from Morimoto-san and Yue Haibing.
    - Lots of cleanups and enhancements to the Freescale, sunxi dnd
    Intel rivers.
    - Initial Sound Open Firmware suppot for i.MX8.
    - Removal of w90x900 and nuc900 drivers as the platforms are
    being removed.
    - New support for Cirrus Logic CS47L15 and CS47L92, Freescale
    i.MX 7ULP and 8MQ, Meson G12A and NXP UDA1334

    Takashi Iwai
     

09 Sep, 2019

7 commits

  • Mark Brown
     
  • Mark Brown
     
  • Add an op in hdmi_codec_ops so codec driver can register callback
    function to handle plug event.

    Driver in DRM can use this callback function to report connector status.

    Signed-off-by: Cheng-Yi Chiang
    Link: https://lore.kernel.org/r/20190717083327.47646-2-cychiang@chromium.org
    Reviewed-by: Tzung-Bi Shih
    Signed-off-by: Mark Brown

    Cheng-Yi Chiang
     
  • Instead of clearing RT5677_PWR_ANLG2 (MX-64h) to 0 at SND_SOC_BIAS_OFF,
    we only clear the RT5677_PWR_CORE bit which is set at SND_SOC_BIAS_PREPARE.
    MICBIAS control bits are left unchanged.

    This fixed the bug where if MICBIAS1 widget is forced on, MICBIAS
    control bits will be cleared at suspend and never turned back on again,
    since DAPM thinks the widget is always on.

    Signed-off-by: Ben Zhang
    Signed-off-by: Curtis Malainey
    Link: https://lore.kernel.org/r/20190906194636.217881-3-cujomalainey@chromium.org
    Signed-off-by: Mark Brown

    Ben Zhang
     
  • In order to simplify understanding what register values are being
    written to the codec for debugging more advanced features (such as
    hotwording) it is best to remove magic numbers

    Signed-off-by: Curtis Malainey
    Link: https://lore.kernel.org/r/20190906194636.217881-2-cujomalainey@chromium.org
    Signed-off-by: Mark Brown

    Curtis Malainey
     
  • Current soc_unbind_aux_dev() implementation is very half,
    thus it is very unreadable.

    for_each_comp_order(order) {
    for_each_card_auxs_safe(card, comp, _comp) {

    (1) if (comp->driver->remove_order == order) {
    ...
    => soc_unbind_aux_dev(comp);
    }
    }

    soc_unbind_aux_dev() itself is not related to remove_order (1).
    And, it is called from soc_remove_aux_devices(), even though
    its paired function soc_bind_aux_dev() is called from
    snd_soc_instantiate_card().
    It is very unbalance, and very difficult to understand.

    This patch do
    1) update soc_bind_aux_dev() to self contained
    2) call it from soc_cleanup_card_resources() to make up balance

    Signed-off-by: Kuninori Morimoto
    Link: https://lore.kernel.org/r/87r24wor0z.wl-kuninori.morimoto.gx@renesas.com
    Signed-off-by: Mark Brown

    Kuninori Morimoto
     
  • It is easy to read code if it is cleanly using paired function/naming,
    like start stop, register unregister, etc, etc.
    But, current ALSA SoC code is very random, unbalance, not paired, etc.
    It is easy to create bug at the such code, and it will be difficult to
    debug.

    soc-core.c has soc_bind_aux_dev(), but, there is no its paired
    soc_unbind_aux_dev().
    This patch adds soc_unbind_aux_dev().

    Signed-off-by: Kuninori Morimoto
    Link: https://lore.kernel.org/r/87sgpcor14.wl-kuninori.morimoto.gx@renesas.com
    Signed-off-by: Mark Brown

    Kuninori Morimoto