1. 10 12月, 2014 1 次提交
  2. 08 12月, 2014 2 次提交
    • M
      ASoC: wm5102: Initialize dac_comp_lock mutex · 47370022
      Mark Brown 提交于
      Commit d74bcaae (ASoC: wm5102: Move ultrasonic response settings
      lock to the driver level) created a driver local mutex for protecting
      the ultrasonic response settings but neglected to initialize that mutex,
      causing loud complaints from lockep and potential runtime failures. Fix
      this by initializing the mutex.
      Signed-off-by: NMark Brown <broonie@kernel.org>
      Acked-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com>
      47370022
    • M
      ASoC: samsung: Fix non-DT use of I2S controller · 3f024980
      Mark Brown 提交于
      The changes in commit a5a56871 (ASoC: samsung: add support for exynos7
      I2S controller) introduce a new variant_regs structure in the driver data
      which is now mandatory for accessing registers. Unfortunately this is only
      hooked up for DT platforms so non-DT platforms like my primary development
      platform for audio are broken by this change and crash on boot.
      
      Since the only non-DT user of these device is s3c64xx fix this by making
      the standard samsung-i2s device be of type I2Sv3 and add a new I2Sv4 name
      to the platform data section, currently using the I2Sv5 information which
      should be about right.
      Signed-off-by: NMark Brown <broonie@kernel.org>
      3f024980
  3. 07 12月, 2014 3 次提交
    • K
      ASoC: rsnd: rename SSI function name of PIO · 6cfad789
      Kuninori Morimoto 提交于
      Current R-Car sound SSI PIO/DMA mode are using interrupt.
      it is no longer "xxx_pio_xxx", rename it.
      Signed-off-by: NKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      6cfad789
    • K
      ASoC: rsnd: add salvage support for under/over flow error on SSI · 4e7d606c
      Kuninori Morimoto 提交于
      L/R channel will be switched if under/over flow error happen on
      Renesas R-Car sound device by the HW bugs. Then, HW restart is required
      for salvage. This patch add salvage support for SSI.
      Signed-off-by: NKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      4e7d606c
    • T
      ALSA: usb-audio: Don't resubmit pending URBs at MIDI error recovery · 66139a48
      Takashi Iwai 提交于
      In snd_usbmidi_error_timer(), the driver tries to resubmit MIDI input
      URBs to reactivate the MIDI stream, but this causes the error when
      some of URBs are still pending like:
      
       WARNING: CPU: 0 PID: 0 at ../drivers/usb/core/urb.c:339 usb_submit_urb+0x5f/0x70()
       URB ef705c40 submitted while active
       CPU: 0 PID: 0 Comm: swapper/0 Not tainted 3.16.6-2-desktop #1
       Hardware name: FOXCONN TPS01/TPS01, BIOS 080015  03/23/2010
        c0984bfa f4009ed4 c078deaf f4009ee4 c024c884 c09a135c f4009f00 00000000
        c0984bfa 00000153 c061ac4f c061ac4f 00000009 00000001 ef705c40 e854d1c0
        f4009eec c024c8d3 00000009 f4009ee4 c09a135c f4009f00 f4009f04 c061ac4f
       Call Trace:
        [<c0205df6>] try_stack_unwind+0x156/0x170
        [<c020482a>] dump_trace+0x5a/0x1b0
        [<c0205e56>] show_trace_log_lvl+0x46/0x50
        [<c02049d1>] show_stack_log_lvl+0x51/0xe0
        [<c0205eb7>] show_stack+0x27/0x50
        [<c078deaf>] dump_stack+0x45/0x65
        [<c024c884>] warn_slowpath_common+0x84/0xa0
        [<c024c8d3>] warn_slowpath_fmt+0x33/0x40
        [<c061ac4f>] usb_submit_urb+0x5f/0x70
        [<f7974104>] snd_usbmidi_submit_urb+0x14/0x60 [snd_usbmidi_lib]
        [<f797483a>] snd_usbmidi_error_timer+0x6a/0xa0 [snd_usbmidi_lib]
        [<c02570c0>] call_timer_fn+0x30/0x130
        [<c0257442>] run_timer_softirq+0x1c2/0x260
        [<c0251493>] __do_softirq+0xc3/0x270
        [<c0204732>] do_softirq_own_stack+0x22/0x30
        [<c025186d>] irq_exit+0x8d/0xa0
        [<c0795228>] smp_apic_timer_interrupt+0x38/0x50
        [<c0794a3c>] apic_timer_interrupt+0x34/0x3c
        [<c0673d9e>] cpuidle_enter_state+0x3e/0xd0
        [<c028bb8d>] cpu_idle_loop+0x29d/0x3e0
        [<c028bd23>] cpu_startup_entry+0x53/0x60
        [<c0bfac1e>] start_kernel+0x415/0x41a
      
      For avoiding these errors, check the pending URBs and skip
      resubmitting such ones.
      Reported-and-tested-by: NStefan Seyfried <stefan.seyfried@googlemail.com>
      Acked-by: NClemens Ladisch <clemens@ladisch.de>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      66139a48
  4. 06 12月, 2014 5 次提交
    • M
      ASoC: samsung: Fix error handling for clock lookup · ba56447c
      Mark Brown 提交于
      Return the error code we got from clk_get() and check to make sure that
      clk_prepare_enable() worked.
      Signed-off-by: NMark Brown <broonie@kernel.org>
      ba56447c
    • A
      ALSA: atmel_abdac: Add missing clock prepare · 04818454
      Alexander Stein 提交于
      Clocks must be prepared before enabling them. Do this in one step.
      Replace clk_enable with clk_prepare_enable and clk_disable with
      clk_disable_unprepare.
      Signed-off-by: NAlexander Stein <alexanders83@web.de>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      04818454
    • A
      ALSA: sound/atmel/ac97c.c: Add missing clock prepare · 1132015b
      Alexander Stein 提交于
      Clocks must be prepared before enabling them. Do this in one step.
      Replace clk_enable with clk_prepare_enable and clk_disable with
      clk_disable_unprepare. This fixes the following warning:
      ------------[ cut here ]------------
      WARNING: CPU: 0 PID: 1 at drivers/clk/clk.c:895 __clk_enable+0x24/0x9c()
      Modules linked in:
      CPU: 0 PID: 1 Comm: swapper Tainted: G        W      3.18.0-rc7+ #245
      [<c000dce8>] (unwind_backtrace) from [<c000bcf0>] (show_stack+0x10/0x14)
      [<c000bcf0>] (show_stack) from [<c001664c>] (warn_slowpath_common+0x60/0x80)
      [<c001664c>] (warn_slowpath_common) from [<c00166fc>] (warn_slowpath_null+0x18/0x20)
      [<c00166fc>] (warn_slowpath_null) from [<c02fd7ac>] (__clk_enable+0x24/0x9c)
      [<c02fd7ac>] (__clk_enable) from [<c02fdbb4>] (clk_enable+0x18/0x2c)
      [<c02fdbb4>] (clk_enable) from [<c0322688>] (atmel_ac97c_probe+0x154/0x694)
      [<c0322688>] (atmel_ac97c_probe) from [<c0235e08>] (platform_drv_probe+0x48/0x94)
      [<c0235e08>] (platform_drv_probe) from [<c02345f8>] (driver_probe_device+0x138/0x350)
      [<c02345f8>] (driver_probe_device) from [<c02348bc>] (__driver_attach+0x68/0x8c)
      [<c02348bc>] (__driver_attach) from [<c0232bd0>] (bus_for_each_dev+0x70/0x84)
      [<c0232bd0>] (bus_for_each_dev) from [<c0233cd8>] (bus_add_driver+0xfc/0x1f8)
      [<c0233cd8>] (bus_add_driver) from [<c0234f0c>] (driver_register+0x9c/0xe0)
      [<c0234f0c>] (driver_register) from [<c0008ac4>] (do_one_initcall+0x110/0x1c8)
      [<c0008ac4>] (do_one_initcall) from [<c053cd58>] (kernel_init_freeable+0xf8/0x1b8)
      [<c053cd58>] (kernel_init_freeable) from [<c03c0414>] (kernel_init+0x8/0xe4)
      [<c03c0414>] (kernel_init) from [<c00096d0>] (ret_from_fork+0x14/0x24)
      ---[ end trace cb88537fdc8fa201 ]---
      atmel_ac97c fffa0000.sound: AC'97 0 does not respond - RESET
      atmel_ac97c fffa0000.sound: AC'97 0 access is not valid [0xffffffff], removing mixer.
      ------------[ cut here ]------------
      Signed-off-by: NAlexander Stein <alexanders83@web.de>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      1132015b
    • T
      ALSA: hda - Fix built-in mic at resume on Lenovo Ideapad S210 · fedb2245
      Takashi Iwai 提交于
      The built-in mic boost volume gets almost muted after suspend/resume
      on Lenovo Ideapad S210.
      
      Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=88121Reported-and-tested-by: NRoman Kagan <rkagan@mail.ru>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      fedb2245
    • A
      ALSA: sound/atmel/ac97c.c: Fix device index for pcm · ca460cc2
      Alexander Stein 提交于
      chip->pdev->id is -1 by default. This is an invalid index resulting in
      device file names like /dev/snd/pcmC0D-1p.
      Signed-off-by: NAlexander Stein <alexanders83@web.de>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      ca460cc2
  5. 05 12月, 2014 5 次提交
    • D
      ASoC: rt5677: make volume TLV closer to reality · 40e3262e
      Dylan Reid 提交于
      The volume blocks have an step of 0.375dB, but TLV uses 0.01dB for
      units.  Only use the resolution supported, ignoring the LSB of the
      volume register.  This results in half the steps and 0.75dB per step,
      but reports accurate levels through TLV.  Update the masks to reflect
      that these are registers have the LSB ignored.
      Signed-off-by: NDylan Reid <dgreid@chromium.org>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      40e3262e
    • J
      ASoC: fsl_ssi: fix error path in probe · 4c9a8845
      Jiada Wang 提交于
      SSI component isn't unregistered if fsl_ssi_debugfs_create() fails
      in probe phase.
      
      To fix it, this commit replaces label error_asoc_register with
      error_irq.
      Signed-off-by: NJiada Wang <jiada_wang@mentor.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      4c9a8845
    • F
      ASoC: fsl_ssi: Fix module unbound · 2ffa5310
      Fabio Estevam 提交于
      Trying to remove the snd-soc-fsl-ssi module leads to the following warning:
      
      [   31.515336] ------------[ cut here ]------------
      [   31.520091] WARNING: CPU: 2 PID: 434 at fs/proc/generic.c:521 remove_proc_entry+0x14c/0x16c()
      [   31.528708] remove_proc_entry: removing non-empty directory 'irq/79', leaking at least '202c000.ss'
      [   31.537911] Modules linked in: snd_soc_wm8962 snd_soc_imx_wm8962 snd_soc_fsl_ssi(-) evbug
      [   31.546249] CPU: 2 PID: 434 Comm: rmmod Not tainted 3.18.0-rc6-00028-g3314bf6b-dirty #1
      [   31.554235] Backtrace:
      [   31.556816] [<80011ea8>] (dump_backtrace) from [<80012044>] (show_stack+0x18/0x1c)
      [   31.564416]  r6:80142c88 r5:00000000 r4:00000000 r3:00000000
      [   31.570267] [<8001202c>] (show_stack) from [<806980ec>] (dump_stack+0x88/0xa4)
      [   31.577588] [<80698064>] (dump_stack) from [<80029d78>] (warn_slowpath_common+0x70/0x94)
      [   31.585711]  r5:00000009 r4:bb61fd90
      [   31.589423] [<80029d08>] (warn_slowpath_common) from [<80029e40>] (warn_slowpath_fmt+0x38/0x40)
      [   31.598187]  r8:bb61fdfe r7:be05d76d r6:be05d9a8 r5:00000002 r4:be05d700
      [   31.605054] [<80029e0c>] (warn_slowpath_fmt) from [<80142c88>] (remove_proc_entry+0x14c/0x16c)
      [   31.613709]  r3:806a79c0 r2:808229a0
      [   31.617371] [<80142b3c>] (remove_proc_entry) from [<80070380>] (unregister_irq_proc+0x94/0xb8)
      [   31.625989]  r10:00000000 r8:8000ede4 r7:80955f2c r6:0000004f r5:8118e738 r4:be00af00
      [   31.633952] [<800702ec>] (unregister_irq_proc) from [<80069dac>] (free_desc+0x2c/0x64)
      [   31.641898]  r6:0000004f r5:80955f38 r4:be00af00
      [   31.646604] [<80069d80>] (free_desc) from [<80069e68>] (irq_free_descs+0x4c/0x8c)
      [   31.654092]  r7:00000081 r6:00000001 r5:0000004f r4:00000001
      [   31.659863] [<80069e1c>] (irq_free_descs) from [<8006fc3c>] (irq_dispose_mapping+0x40/0x5c)
      [   31.668247]  r6:be17b844 r5:be17b800 r4:0000004f r3:802c5ec0
      [   31.673998] [<8006fbfc>] (irq_dispose_mapping) from [<7f004ea4>] (fsl_ssi_remove+0x58/0x70 [snd_so)
      [   31.683948]  r4:bb5bba10 r3:00000001
      [   31.687618] [<7f004e4c>] (fsl_ssi_remove [snd_soc_fsl_ssi]) from [<803720a0>] (platform_drv_remove)
      [   31.697564]  r5:7f0064f8 r4:be17b810
      [   31.701195] [<80372080>] (platform_drv_remove) from [<80370494>] (__device_release_driver+0x78/0xc)
      [   31.710361]  r5:7f0064f8 r4:be17b810
      [   31.713987] [<8037041c>] (__device_release_driver) from [<80370d20>] (driver_detach+0xbc/0xc0)
      [   31.722631]  r5:7f0064f8 r4:be17b810
      [   31.726259] [<80370c64>] (driver_detach) from [<80370304>] (bus_remove_driver+0x54/0x98)
      [   31.734382]  r6:00000800 r5:00000000 r4:7f0064f8 r3:bb67f500
      [   31.740149] [<803702b0>] (bus_remove_driver) from [<80371398>] (driver_unregister+0x30/0x50)
      [   31.748617]  r4:7f0064f8 r3:bd9f7080
      [   31.752245] [<80371368>] (driver_unregister) from [<80371f3c>] (platform_driver_unregister+0x14/0x)
      [   31.761498]  r4:7f00655c r3:7f005a70
      [   31.765130] [<80371f28>] (platform_driver_unregister) from [<7f005a84>] (fsl_ssi_driver_exit+0x14/)
      [   31.776147] [<7f005a70>] (fsl_ssi_driver_exit [snd_soc_fsl_ssi]) from [<8008ed80>] (SyS_delete_mod)
      [   31.786553] [<8008ec64>] (SyS_delete_module) from [<8000ec20>] (ret_fast_syscall+0x0/0x48)
      [   31.794824]  r6:00c46d18 r5:00000800 r4:00c46d18
      [   31.799530] ---[ end trace 954e8a3a15379e52 ]---
      
      The cause of problem and solution are well explained by Lars-Peter:
      
      "The driver creates the mapping by calling irq_of_parse_and_map(), so it also
      has to dispose the mapping. But the easy way out is to simply use
      platform_get_irq() instead of irq_of_parse_map(). In this case the mapping is
      not managed by the device but by the of core, so the device has not to dispose
      the mapping."
      
      Tested on a imx6q-sabresd board.
      Reported-by: NJiada Wang <jiada_wang@mentor.com>
      Suggested-by: NLars-Peter Clausen <lars@metafoo.de>
      Signed-off-by: NFabio Estevam <fabio.estevam@freescale.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      2ffa5310
    • Q
      ASoC: soc-pcm: do not hw_free BE if it's still used · 36fba62c
      Qiao Zhou 提交于
      Do not free BE hw if it's still used by other FE during dpcm runtime
      shutdown. Otherwise the BE runtime state will be STATE_HW_FREE and
      won't be updated to STATE_CLOSE when shutdown ends, because BE dai
      shutdown function won't close pcm when detecting BE is still under
      use. With STATE_HW_FREE, BE can't be triggered start again.
      
      This corner case can easily appear when one BE is used by two FE,
      without this patch "ASoC: dpcm: Fix race between FE/BE updates and
      trigger"(ea9d0d77). One FE tries to
      shutdown but it's raced against xrun on another FE. It improves the
      be dai hw_free logic.
      Signed-off-by: NQiao Zhou <zhouqiao@marvell.com>
      Acked-by: NLiam Girdwood <liam.r.girdwood@linux.intel.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      36fba62c
    • P
      ASoC: Augment existing card DAPM routes in snd_soc_of_parse_audio_routing · f8781db8
      Peter Rosin 提交于
      If a snd_soc_card has any DAPM routes when it calls
      snd_soc_of_parse_audio_routing, those are clobbered without this change.
      Signed-off-by: NPeter Rosin <peda@axentia.se>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      f8781db8
  6. 04 12月, 2014 20 次提交
  7. 03 12月, 2014 4 次提交