summaryrefslogtreecommitdiffstats
path: root/sound
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'for-linus' of ↵Linus Torvalds2011-11-176-61/+68
|\ | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: ALSA: hda - Fix the connection selection of ADCs on Cirrus codecs ALSA: hda - Update URLs in document ALSA: hda - move eld->spk_alloc fixup to hdmi_update_eld() ALSA: hda - delayed ELD repoll ALSA: hda - fix ELD memory leak ALSA: hda/realtek: remove redundant semicolon ALSA: hda - pwr_nids cleanup for IDT codecs
| * ALSA: hda - Fix the connection selection of ADCs on Cirrus codecsTakashi Iwai2011-11-161-10/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | spec->cur_adc isn't set until cs_capture_pcm_prepare() is called although the driver tries to select the connection at init time and at auto-mic switch. This results in the access to the widget NID 0, which is obviously invalid, also a wrong capture source. This patch fixes the issue by issuing the connect-select verb conditionally at appropriate places. Reported-and-tested-by: Dylan Reid <dgreid@chromium.org> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - move eld->spk_alloc fixup to hdmi_update_eld()Wu Fengguang2011-11-162-10/+8
| | | | | | | | | | | | | | It looks more natural and saves two lines of code. Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - delayed ELD repollWu Fengguang2011-11-161-7/+29
| | | | | | | | | | | | | | | | | | | | | | The Intel HDMI chips (ironlake at least) are found to have ~250ms delay between the ELD_Valid=1 hotplug event is send and the ELD buffer becomes actually readable. During the time the ELD buffer is mysteriously all 0. Fix it by scheduling a delayed work to re-read ELD buffer after 300ms. Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - fix ELD memory leakWu Fengguang2011-11-163-10/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | memset(eld) clears eld->proc_entry which will leak the struct snd_info_entry when unloading module. Fix it by - memset only the fields before eld->eld_buffer - set eld->eld_valid to true _after_ all eld fields have been filled Cc: <stable@kernel.org> Cc: Pierre-louis Bossart <pierre-louis.bossart@intel.com> Acked-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda/realtek: remove redundant semicolonJesper Juhl2011-11-141-1/+1
| | | | | | | | | | | | | | Having just one semicolon after a break statement is enough. Signed-off-by: Jesper Juhl <jj@chaosbits.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - pwr_nids cleanup for IDT codecsCharles Chin2011-11-111-24/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clean up and fix pwr_nids for 92HD71 / 73 / 83 family codecs; remove pwr_mapping which was incorrect. The original pwr_nids support of 92HD83xxx was incorrect and never actually worked before. Now we should have things working correctly without having to hack by DID anymore. It is also not necessary to explicitly turn on all the pins near the beginning of patch_stac92hd83xxx() now, the pins will go though initialization properly. Tested on 92HD66 / 71 / 73 / 75 / 83 / 89 / 91 demo boards. Signed-off-by: Charles Chin <Charles.Chin@idt.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'merge' of ↵Linus Torvalds2011-11-121-1/+1
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: powerpc/kvm: Fix build failure with HV KVM and CBE powerpc/ps3: Fix lv1_gpu_attribute hcall powerpc/ps3: Fix PS3 repository build warnings powerpc/ps3: irq: Remove IRQF_DISABLED powerpc/irq: Remove IRQF_DISABLED powerpc/numa: NUMA topology support for PowerNV powerpc: Add System RAM to /proc/iomem powerpc: Add KVM as module to defconfigs powerpc/kvm: Fix build with older toolchains powerpc, tqm5200: update tqm5200_defconfig to fit for charon board. powerpc/5200: add support for charon board
| * powerpc/ps3: Fix lv1_gpu_attribute hcallGeoff Levand2011-11-081-1/+1
| | | | | | | | | | | | | | | | | | | | The lv1_gpu_attribute hcall takes three, not five input arguments. Adjust the lv1 hcall table and all calls. Signed-off-by: Geoff Levand <geoff@infradead.org> CC: Takashi Iwai <tiwai@suse.de> Acked-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
* | Merge branch 'fix/misc' into for-linusTakashi Iwai2011-11-108-47/+122
|\ \
| * | ALSA: usb-audio: Use kmemdup rather than duplicating its implementationThomas Meyer2011-11-101-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use kmemdup rather than duplicating its implementation The semantic patch that makes this change is available in scripts/coccinelle/api/memdup.cocci. Signed-off-by: Thomas Meyer <thomas@m3y3r.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Re-enable the check NO_PRESENCE misc bitTakashi Iwai2011-11-103-7/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We disabled the check of NO_PRESENCE bit of the default pin-config in commit f4419172 temporarily. One problem was that the first implementation was wrong -- the bit after the shift must be checked. However, this would still give many regressions on machines with broken BIOS. They set this bit wrongly even on active pins. A workaround is to check whether all pins contain this bit. As far as I've checked, broken BIOSen set this bit on all pins, no matter whether active or not. In such a case, the driver should ignore this bit check. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: vmaster - Free slave-links when freeing the master elementTakashi Iwai2011-11-101-4/+14
| | | | | | | | | | | | | | | | | | | | | When freeing the vmaster master element, we should release slave-links properly, not only assumig that slaves will be freed soon later. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Don't add elements of other codecs to vmaster slaveTakashi Iwai2011-11-101-21/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a virtual mater control is created, the driver looks for slave elements from the assigned card instance. But this may include the elements of other codecs when multiple codecs are on the same HD-audio bus. This works at the first time, but it'll give Oops when it's once freed and re-created via reconfig sysfs. This patch changes the element-look-up strategy to limit only to the mixer elements of the same codec. Reported-by: David Henningsson <david.henningsson@canonical.com> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: intel8x0: improve virtual environment detectionKonstantin Ozerkov2011-11-091-10/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Detection code improved by PCI SSID usage. VM optimization now enabled only for known devcices (skip host devices forwarded to VM by VT-d or same kind of technology). For debug/troubleshooting purposes optimization can be forced (on/off) by module parameter: "inside_vm" (boolean). Known devices (PCI SSID): 1af4:1100: Reserved for KVM devices. Note this is not yet implemented for KVM's ICH/AC'97 emulation. 1ab8:xxxx: Parallels ICH/AC'97 emulated sound. [ fixed a minor coding-style issue by tiwai] Signed-off-by: Konstantin Ozerkov <kozerkov@parallels.com> Signed-off-by: Denis V. Lunev <den@openvz.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: intel8x0: move virtual environment detection code into one placeKonstantin Ozerkov2011-11-091-11/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | This is refactoring patch: preparation for add improved detection code. Now all detection code placed in one place. Signed-off-by: Konstantin Ozerkov <kozerkov@parallels.com> Signed-off-by: Denis V. Lunev <den@openvz.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: snd_usb_audio: add Logitech HD Webcam c510 to quirk-384Alexey Fisher2011-11-091-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Logitech HD Webcam c510 provide wrong mixer resolution. Add it to "res = 384" quirk. Signed-off-by: Alexey Fisher <bug-track@fisher-privat.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - fix internal mic on Dell Vostro 3500 laptopJulian Wollrath2011-11-091-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | Fix the not working internal mic on Dell Vostro 3500 laptop by introducing the new model dell-vostro-3500. Signed-off-by: Julian Wollrath <jwollrath@web.de> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | Merge branch 'fix/asoc' into for-linusTakashi Iwai2011-11-091-14/+29
|\ \ \ | |/ / |/| |
| * | Merge branch 'for-3.2' of ↵Mark Brown2011-11-081-14/+29
| |\ \ | | |/ | |/| | | | git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-3.2
| | * ASoC: Ensure we get an impedence reported for WM8958 jack detectMark Brown2011-11-041-11/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | Occasionally we may see an accessory reported before we have a stable impedance for the accessory. If this happens then reread the status in order to ensure that the handler can take the appropriate action for the status change. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| | * ASoC: Don't use wm8994->control_data when requesting IRQsMark Brown2011-11-041-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | The field is no longer initialised so this will crash if running on wm8958. Reported-by: Thomas Abraham <thomas.abraham@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| | * ASoC: Don't use wm8994->control_data in wm8994_readable_register()Mark Brown2011-11-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | The field is no longer initialised so this will crash if running on wm8958. Reported-by: Thomas Abraham <thomas.abraham@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@kernel.org
* | | ALSA: HDA: Remove quirk for Toshiba T110David Henningsson2011-11-091-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | According to the bug reporter, model=auto is needed to make the internal microphone work. BugLink: https://bugs.launchpad.net/bugs/819699 Reported-by: Andrej (agno01) Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: usb-audio - Fix the missing volume quirks at delayed initTakashi Iwai2011-11-081-50/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the recent usb-audio driver, the initialization of volume ranges may be delayed when the device doesn't respond well at the probing time. But the volume quirks for certain devices are applied only in mixer_ctl_feature_info() thus only at the very first probe and will be missing when the volume range is initialized later. This patch moves the volume quirk code to be always called from the volume-range extraction (get_min_max()), so that the quirks are properly applied in the later init time. Reported-and-tested-by: Alexey Fisher <bug-track@fisher-privat.net> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: hda - Mute unused capture sources for Realtek codecsTakashi Iwai2011-11-081-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a Realtek codec has a matrix-style capture-source selection, we need to scan all connections instead of only imux items. Otherwise some input might be kept unmuted. Although the corresponding input must be dead so there should be no input from it, it's still safer to mute the route completely. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: intel8x0: Improve comments for VM optimizationDenis V. Lunev2011-11-081-0/+7
|/ / | | | | | | | | | | | | | | | | | | | | | | The recently merged 228cf79376f1 looks a bit hackish while it is not. The change was quite simple. In a virtualized environment the patch unhacks old kludge introduced for old broken AC97 hardware. This patch adds proper comment to "unkludge" code. Signed-off-by: Denis V. Lunev <den@openvz.org> Signed-off-by: Konstantin Ozerkov <kozerkov@parallels.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'modsplit-Oct31_2011' of ↵Linus Torvalds2011-11-06295-98/+297
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux * 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits) Revert "tracing: Include module.h in define_trace.h" irq: don't put module.h into irq.h for tracking irqgen modules. bluetooth: macroize two small inlines to avoid module.h ip_vs.h: fix implicit use of module_get/module_put from module.h nf_conntrack.h: fix up fallout from implicit moduleparam.h presence include: replace linux/module.h with "struct module" wherever possible include: convert various register fcns to macros to avoid include chaining crypto.h: remove unused crypto_tfm_alg_modname() inline uwb.h: fix implicit use of asm/page.h for PAGE_SIZE pm_runtime.h: explicitly requires notifier.h linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h miscdevice.h: fix up implicit use of lists and types stop_machine.h: fix implicit use of smp.h for smp_processor_id of: fix implicit use of errno.h in include/linux/of.h of_platform.h: delete needless include <linux/module.h> acpi: remove module.h include from platform/aclinux.h miscdevice.h: delete unnecessary inclusion of module.h device_cgroup.h: delete needless include <linux/module.h> net: sch_generic remove redundant use of <linux/module.h> net: inet_timewait_sock doesnt need <linux/module.h> ... Fix up trivial conflicts (other header files, and removal of the ab3550 mfd driver) in - drivers/media/dvb/frontends/dibx000_common.c - drivers/media/video/{mt9m111.c,ov6650.c} - drivers/mfd/ab3550-core.c - include/linux/dmaengine.h
| * | sound: Add export.h for THIS_MODULE/EXPORT_SYMBOL where neededPaul Gortmaker2011-10-3145-0/+45
| | | | | | | | | | | | | | | | | | | | | | | | These aren't modules, but they do make use of these macros, so they will need export.h to get that definition. Previously, they got it via the implicit module.h inclusion. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
| * | sound: Add module.h to the previously silent sound usersPaul Gortmaker2011-10-31150-1/+151
| | | | | | | | | | | | | | | | | | | | | | | | Lots of sound drivers were getting module.h via the implicit presence of it in <linux/device.h> but we are going to clean that up. So fix up those users now. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
| * | sound: add moduleparam.h to users of module_param/MODULE_PARM_DESCPaul Gortmaker2011-10-313-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | These files were getting access to these two via the implicit presence of moduleparam.h everywhere. But that is being fixed, so get these guys what they need in advance. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
| * | sound: fix drivers needing module.h not moduleparam.hPaul Gortmaker2011-10-3197-97/+97
| | | | | | | | | | | | | | | | | | | | | | | | | | | The implicit presence of module.h lured several users into incorrectly thinking that they only needed/used modparam.h but once we clean up the module.h presence, these will show up as build failures, so fix 'em now. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
| * | blackfin: add module.h to files implicitly expecting to use it.Paul Gortmaker2011-10-311-0/+1
| | | | | | | | | | | | | | | | | | | | | Its presence was implicit everywhere, but we are aiming to fix that, so call out the users explicitly. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
* | | Merge branch 'for-linus' of ↵Linus Torvalds2011-11-065-13/+36
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: ALSA: hda - Revert the check of NO_PRESENCE pincfg default bit ALSA: hda - Fix a regression for DMA-position check with CA0110 ALSA: hda - Fix silent output regression with ALC861 ALSA: control: remove compilation warning on 32-bit ALSA: ua101: fix crash when unplugging
| * | | ALSA: hda - Revert the check of NO_PRESENCE pincfg default bitTakashi Iwai2011-11-061-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The implementation on commit [08a1f5eb: ALSA: hda - Check NO_PRESENCE pincfg default bit] seems like a mis-interpretation of specification. The spec gives the reversed bit definition. But, following the spec also causes to change so many existing device configurations, thus we can't change it so easily for now. For 3.2-rc1, it's safer to revert this check (actually this patch comments out the code). We may re-introduced the fixed version once after the wider test-case coverages are done. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | ALSA: hda - Fix a regression for DMA-position check with CA0110Takashi Iwai2011-11-061-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The regression-fix in 3.1 for the check of DMA-position validity caused yet another regression for CA0110. As usual, this hardware seems working only with LPIB properly. Adding the appropriate driver-caps bit to force LPIB fixes the problem. Reported-and-tested-by: Andres Freund <andres@anarazel.de> Cc: <stable@kernel.org> [v3.1] Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | ALSA: hda - Fix silent output regression with ALC861Takashi Iwai2011-11-061-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The 3.1 kernel has a regression for ALC861 codec where no sound output is heard with the default setup. It's because the amps in DACs aren't properly unmuted while the output mixers are assigned only to pins. This patch fixes the missing initialization of DACs when no mixer is assigned to them. Tested-by: Andrea Iob <andrea_iob@yahoo.it> Cc: <stable@kernel.org> [v3.1+] Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | ALSA: control: remove compilation warning on 32-bitOlof Johansson2011-11-061-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was introduced by 'ALSA: control: add support for ENUMERATED user space controls' which adds a u64 variable that gets cast to a pointer: sound/core/control.c: In function 'snd_ctl_elem_init_enum_names': sound/core/control.c:1089: warning: cast to pointer from integer of different size Cast to uintptr_t before casting to pointer to avoid the warning. Signed-off-by: Olof Johansson <olof@lixom.net> [cl: replace long with uintptr_t] Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | ALSA: ua101: fix crash when unpluggingClemens Ladisch2011-11-061-7/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the device is unplugged while running, it is possible for a PCM device to be closed after the disconnect callback has returned. This means that kill_stream_urb() and disable_iso_interface() would try to access already-invalid or freed USB data structures. The function free_usb_related_resources() was intended to prevent this, but forgot to clear the affected variables. Reported-and-tested-by: Olivier Courtay <olivier@courtay.org> Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Cc: 2.6.33+ <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | Merge branch 'next/cleanup3' of git://git.linaro.org/people/arnd/arm-socLinus Torvalds2011-11-051-1/+1
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'next/cleanup3' of git://git.linaro.org/people/arnd/arm-soc: (79 commits) ARM: SAMSUNG: Move fimc plat. device from board files to plat-samsung ARM: SAMSUNG: Cleanup resources by using macro ARM: SAMSUNG: Cleanup plat-samsung/devs.c and devs.h ARM: S5P: To merge devs.c files to one devs.c ARM: S3C64XX: To merge devs.c files to one devs.c ARM: S3C24XX: To merge s3c24xx devs.c files to one devs.c ARM: S5P64X0: Add Power Management support ARM: S5P: Make the sleep code common for S5P series SoCs ARM: S5P: Make the common S5P PM code conditionally compile ARM: SAMSUNG: Move S5P header files to plat-samsung ARM: SAMSUNG: Move S3C24XX header files to plat-samsung ARM: SAMSUNG: Moving each SoC support header files ARM: SAMSUNG: Consolidate plat/pll.h ARM: SAMSUNG: Consolidate plat/pwm-clock.h ARM: SAMSUNG: Cleanup mach/clkdev.h ARM: SAMSUNG: remove sdhci default configuration setup platform helper ARM: EXYNOS4: Add FIMC device on SMDKV310 board ARM: EXYNOS4: Add header file protection macros ARM: EXYNOS4: Add usb ehci device to the SMDKV310 ARM: S3C2443: Add hsspi-clock from pclk and rename S3C2443 hsspi sclk ... Fix up conflicts in - arch/arm/mach-exynos4/{Kconfig,clock.c} ARM_CPU_SUSPEND, various random device tables (gah!) - drivers/gpio/Makefile sa1100 gpio added, samsung gpio drivers merged
| * | | | ASoC: Flush Samsung DMA on freeMark Brown2011-10-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ever since it was written the Samsung DMA driver has had a TODO in the hw_free() function wondering if we need to flush the DMA buffers. Up until now the answer has been no but with the recent improvements Boojin has done to the DMA infrastructure for the Samsung port the answer has changed to yes for at least S3C6410 systems. If we don't then when we next prepare() the channel the API will get confused trying to run callbacks on the transfers hanging around from the previous time the stream was open and oops. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Boojin Kim <boojin.kim@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
| * | | | Merge branch 'next/topic-dma-samsung' into next-samsung-develKukjin Kim2011-10-043-89/+71
| |\ \ \ \
* | \ \ \ \ Merge branch 'next' of git://git.infradead.org/users/vkoul/slave-dmaLinus Torvalds2011-11-043-89/+71
|\ \ \ \ \ \ | | |/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'next' of git://git.infradead.org/users/vkoul/slave-dma: (63 commits) dmaengine: mid_dma: mask_peripheral_interrupt only when dmac is idle dmaengine/ep93xx_dma: add module.h include pch_dma: Reduce wasting memory pch_dma: Fix suspend issue dma/timberdale: free_irq() on an error path dma: shdma: transfer based runtime PM dmaengine: shdma: protect against the IRQ handler dmaengine i.MX DMA/SDMA: add missing include of linux/module.h dmaengine: delete redundant chan_id and chancnt initialization in dma drivers dmaengine/amba-pl08x: Check txd->llis_va before freeing dma_pool dmaengine/amba-pl08x: Add support for sg len greater than one for slave transfers serial: sh-sci: don't filter on DMA device, use only channel ID ARM: SAMSUNG: Remove Samsung specific enum type for dma direction ASoC: Samsung: Update DMA interface spi/s3c64xx: Merge dma control code spi/s3c64xx: Add support DMA engine API ARM: SAMSUNG: Remove S3C-PL330-DMA driver ARM: S5P64X0: Use generic DMA PL330 driver ARM: S5PC100: Use generic DMA PL330 driver ARM: S5PV210: Use generic DMA PL330 driver ... Fix up fairly trivial conflicts in - arch/arm/mach-exynos4/{Kconfig,clock.c} - arch/arm/mach-s5p64x0/dma.c
| * | | | | ASoC: Samsung: Update DMA interfaceBoojin Kim2011-09-143-89/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds to support the DMA PL330 driver that uses DMA generic API. Samsung sound driver uses DMA generic API if architecture supports it. Otherwise, use samsung specific S3C-PL330 API driver to transfer PCM data. Signed-off-by: Boojin Kim <boojin.kim@samsung.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Vinod Koul <vinod.koul@intel.com> Cc: Jassi Brar <jassisinghbrar@gmail.com> Cc: Liam Girdwood <lrg@ti.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> [kgene.kim@samsung.com: removed useless variable] Signed-off-by: Kukjin Kim <kgene.kim@samsung.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
* | | | | | Merge branch 'for-linus' of ↵Linus Torvalds2011-11-0417-95/+145
|\ \ \ \ \ \ | | |_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (24 commits) ALSA: hda/realtek - Skip invalid digital out pins ALSA: hda/sigmatel - Automatically retrieve digital I/O widgets ALSA: hda - Remove unused variables ALSA: hda/realtek - Don't create alt-stream for capture when unnecessary ALSA: hda - Add support for 92HD65 / 92HD66 family of codecs ALSA: hda - Disable power-widget control for IDT 92HD83/93 as default ALSA: hda - Check NO_PRESENCE pincfg default bit ASoC: Ensure we always delay for WM8962 FLL when starting from SYSCLK ASoC: Ensure the WM8962 oscillator and PLLs start up disabled ASoC: Ensure WM8962 PLL registers are reset ALSA: intel8x0 - Fix inclusion of kvm_para.h ALSA: hda_hwdep: Fix possible buffer overflow ASoC: Fix return value of wm5100_gpio_direction_out() ASoC: WM8904: Set `invert' bit for Capture Switch ASoC: Leave input audio data bit length settings untouched in wm8711_set_dai_fmt ASoC: wm8711: Fix wrong mask for setting input audio data bit length select ALSA: intel8x0: Improve performance in virtual environment ALSA: hdspm - Enable all firmware ranges for PCI MADI/AES cards ALSA: hdsp - Correct HDSP_VERSION_BIT constant, thus partly fixing RPM detection ALSA: hdspm - Fix MADI channel format in the status ioctl ...
| * | | | | Merge branch 'fix/asoc' into for-linusTakashi Iwai2011-11-037-18/+34
| |\ \ \ \ \ | | | |_|_|/ | | |/| | |
| | * | | | ASoC: Ensure we always delay for WM8962 FLL when starting from SYSCLKMark Brown2011-11-011-9/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@kernel.org
| | * | | | ASoC: Ensure the WM8962 oscillator and PLLs start up disabledMark Brown2011-11-011-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since there is no current software control for these they would otherwise be left enabled, consuming power. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@kernel.org
| | * | | | ASoC: Ensure WM8962 PLL registers are resetMark Brown2011-11-011-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The WM8962 has a separate software reset for the PLL registers. Ensure that these are reset also on startup. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@kernel.org
| | * | | | ASoC: Fix return value of wm5100_gpio_direction_out()Mark Brown2011-10-311-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We can't just pass back the return value of snd_soc_update_bits() as it will be 1 if a bit changed rather than zero. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>