summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'topic/cs5535audio' into to-pushTakashi Iwai2008-12-257-3/+252
|\
| * ALSA: cs5535 - Make OLPC-stuff depending on MGEODE_LXTakashi Iwai2008-12-102-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | The GPIO stuff for OLPC in cs5535audio_olpc.c is implemented only for Geode-LX, and enabled only when CONFIG_MGEODE_LX=y. Without this config option, the driver gets build errors. This patch adds a workaround to make it dependent on CONFIG_MGEODE_LX. Ideally, the OLPC-GPIO stuff should be implemented in a way independent from CPU type selection... Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: cs5535audio: ensure MIC Bias/Analog Input bail if not on an OLPC machineAndres Salomon2008-12-101-0/+6
| | | | | | | | | | Signed-off-by: Andres Salomon <dilinger@debian.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: cs5535audio: clean up OLPC codeAndres Salomon2008-12-103-8/+13
| | | | | | | | | | | | | | | | | | | | - add copyright info to _olpc.c - minor layout fixes - make Makefile more concise - silence a warning Signed-off-by: Andres Salomon <dilinger@debian.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: cs5535audio: turn off mic bias on OLPCs by defaultAndres Salomon2008-12-101-0/+2
| | | | | | | | | | | | | | | | Always turn off mic bias; the MIC LED should never come on when the driver is first loaded. Signed-off-by: Andres Salomon <dilinger@debian.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: cs5535audio: for OLPC, default to Analog Input being offAndres Salomon2008-12-101-0/+4
| | | | | | | | | | Signed-off-by: Andres Salomon <dilinger@debian.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: cs5535audio: rename V_REFOUT control to MIC BiasAndres Salomon2008-12-103-19/+87
| | | | | | | | | | | | | | | | This drops the AD1888 V_REFOUT control, and replaces it with a MIC Bias Enable control. It also moves the MIC bias enabling into a separate function. Signed-off-by: Andres Salomon <dilinger@debian.org>
| * ALSA: cs5535audio: enable OLPC's V_REFOUT bias when recordingChris Ball2008-12-101-0/+16
| | | | | | | | | | | | | | | | | | The OLPC has a privacy light hooked up in series with the microphone's V_Ref bias. We want to activate the bias while we are capturing audio. Signed-off-by: Chris Ball <cjb@laptop.org> Signed-off-by: Andres Salomon <dilinger@debian.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: cs5535audio: check OLPC's Analog Input status vis GPIOAndres Salomon2008-12-101-7/+2
| | | | | | | | | | | | | | | | Checking the HPF register is irrelevant; HPF is secondary to the AI mode. Instead, check for Analog Input mode via GPIO. Signed-off-by: Andres Salomon <dilinger@debian.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: cs5535audio: rename OLPC's analog input control && drop AD1888's HPFAndres Salomon2008-12-101-15/+21
| | | | | | | | | | | | | | | | | | Previously, we had two separate controls; there's no need to have AD1888's HPF control, so drop it if we're on an OLPC machine. Also, as per Arjun's request, rename OLPC's Analog Input Switch control to "DC Mode Enable". Signed-off-by: Andres Salomon <dilinger@debian.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: cs5535audio: create function for setting OLPC's Analog Input modeAndres Salomon2008-12-102-30/+26
| | | | | | | | | | | | | | Clean this stuff up a bit.. Signed-off-by: Andres Salomon <dilinger@debian.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: cs5535audio: decouple HPF from V_REFOUT in OLPC codeAndres Salomon2008-12-101-21/+4
| | | | | | | | | | | | | | | | We shouldn't be touching V_REFOUT when we toggle HPF/analog input, so just drop that code. Signed-off-by: Andres Salomon <dilinger@debian.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: cs5535audio: drop ec_analog_input flag for OLPC stuffAndres Salomon2008-12-102-11/+1
| | | | | | | | | | | | This is no longer necessary, as we're no longer doing indexed i/o commands. Signed-off-by: Andres Salomon <dilinger@debian.org>
| * ALSA: cs5535audio: invert EAPD for OLPC (newer than B3)Andres Salomon2008-12-103-2/+23
| | | | | | | | | | | | | | Fix an audible pop described in <http://dev.laptop.org/ticket/977>. Originally based upon fixes by Mitch Bradley and Chris Ball. Signed-off-by: Andres Salomon <dilinger@debian.org>
| * ALSA: cs5535audio: Use OLPC/Geode basic infrastructureJordan Crouse2008-12-101-6/+8
| | | | | | | | | | | | | | | | | | | | | | Use basic infrastructure code; geode_gpio* (rather than indexed i/o EC access), and do an OLPC machine check in olpc_quirk. [dilinger@debian.org: don't return failure in olpc_quirks if !OLPC] [dilinger@debian.org: drop the <B2 workarounds; those machines are EOL'd] Signed-off-by: Jordan Crouse <jordan.crouse@amd.com> Signed-off-by: Andres Salomon <dilinger@debian.org>
| * ALSA: cs5535audio: OLPC analog input supportJaya Kumar2008-12-104-0/+133
| | | | | | | | | | | | | | This is a 2nd cut at adding support for OLPC analog input. Signed-off-by: Jaya Kumar <jayakumar.lkml@gmail.com> Signed-off-by: Andres Salomon <dilinger@debian.org>
| * ALSA: cs5535audio: suspend/resume callbacks are only defined with CONFIG_PMAndres Salomon2008-12-101-0/+3
| | | | | | | | | | | | | | | | snd_cs5535audio_suspend and snd_cs5535audio_resume are only defined when CONFIG_PM is set; make that clear in the header file. Signed-off-by: Andres Salomon <dilinger@debian.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: cs5535audio: turn off PCM properly if closing the audio deviceJaya Kumar2008-12-103-1/+15
| | | | | | | | | | | | | | | | | | | | As per <http://dev.laptop.org/ticket/1420>, we need to properly turn off the PCM if we're closing the device in order to save power. This also causes the MIC led to turn off properly. Signed-off-by: Jaya Kumar <jayakumar.lkml@gmail.com> Signed-off-by: Andres Salomon <dilinger@debian.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: cs5535audio: stick AD1888 bitshift values into a header fileAndres Salomon2008-12-102-2/+5
| | | | | | | | | | | | | | | | We'd like to use the High Pass Filter and V_REFOUT bitshift values elsewhere, so stick them into a ac97_codec.h. Signed-off-by: Andres Salomon <dilinger@debian.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'topic/convert-tasklet' into to-pushTakashi Iwai2008-12-2515-16/+16
|\ \
| * | ALSA: hda - Convert from takslet_hi_schedule() to tasklet_schedule()Takashi Iwai2008-12-1815-16/+16
| | | | | | | | | | | | | | | | | | | | | | | | Replace all tasklet_hi_schedule() callers with the normal tasklet_schedule(). The former often causes troubles with RT-kernels, and has actually no merit. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | Merge branch 'topic/ca0106' into to-pushTakashi Iwai2008-12-2525-670/+1012
|\ \ \
| * \ \ Merge branch 'topic/ca0106-spdif-stream' into topic/ca0106Takashi Iwai2008-12-203-26/+90
| |\ \ \
| | * | | ALSA: ca0106 - Add IEC958 PCM Stream controlsTakashi Iwai2008-12-193-26/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added "IEC958 PCM Stream" controls for the per-stream IEC958 status bits. Using this instead of "IEC958 Default" is safer since the status bits will be recovered to the default states after closing the PCM stream. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | Merge branch 'topic/ca0106-resume' into topic/ca0106Takashi Iwai2008-12-203-269/+456
| |\ \ \ \
| | * | | | ALSA: ca0106 - Add missing card->private_data initializationTakashi Iwai2008-12-201-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added the missing card->private_data initialization that caused obvious problems at PM. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | | ALSA: ca0106 - Check ac97 availability at PMTakashi Iwai2008-12-201-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Check the availability of ac97 at PM suspend/resume callbacks. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | | ALSA: ca0106 - Fix typo in resume codeTakashi Iwai2008-12-191-1/+1
| | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The register and channel_id pair were twisted in the pm code... Oh my. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | ALSA: ca0106 - Don't override the values at resumeTakashi Iwai2008-12-191-23/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't override some values in ca0106_init_chip() at resume. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | ALSA: ca0106 - Check return value of pci_enable_device() in resumeTakashi Iwai2008-12-101-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The return value of pci_enable_device() must be checked even in resume callback: sound/pci/ca0106/ca0106_main.c:1779: warning: ignoring return value of ‘pci_enable_device’, declared with attribute warn_unused_result Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | ALSA: ca0106 - Add power-management supportTakashi Iwai2008-12-043-266/+450
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added the missing PM support for snd-ca0106 driver. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | Merge branch 'topic/ca0106-capture-no-44khz' into topic/ca0106Takashi Iwai2008-12-20546-5331/+9937
| |\ \ \ \
| | * | | | ALSA: ca0106 - disable 44.1kHz captureTakashi Iwai2008-12-201-0/+6
| | | |/ / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The capture with 44.1kHz on ca0106 seems to cause loud noises on later playbacks, which doesn't support 44.1kHz. A simple fix is to disable 44.1kHz, as the "default" PCM with dsnoop is anyway only with 48kHz. Reference: Novell bnc#447624 https://bugzilla.novell.com/show_bug.cgi?id=447624 Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | Merge branch 'topic/pcsp-fix' into topic/miscTakashi Iwai2008-12-209439-326654/+787571
| |\ \ \ \
| | * | | | ALSA: pcsp - Fix starting the stream with HRTIMER_CB_IRQSAFE_UNLOCKTakashi Iwai2008-11-262-31/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With the callback mode HRTIMER_CB_IRQSAFE_UNLOCK, the start of the stream with zero delay doesn't work. Since IRQSAFE mode is removed, we have to change the pcsp start-up code. This patch splits the callback function to two parts, the triggering of the port and the calculation of the expire time, and the update of the ALSA PCM core. The first part is called both from the trigger-start and the hrtimer callback while the latter is handled only in the hrtimer callback. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | | Merge branch 'topic/misc' into topic/pcsp-fixTakashi Iwai2008-11-2611-303/+359
| | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: sound/drivers/pcsp/pcsp_lib.c
| * | | | | | ALSA: ca0106 MSI K8N Diamond MB spi_dac 2->1Ben Stanley2008-12-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch removes an inconsistency that became apparent when I documented the fields of snd_ca0106_details. spi_dac is always used in a 'boolean' sense, so this cleanup should make no difference. [Actually, there is one place checking explicitly spi_dac == 1, so this will change the behavior. But, supposing it's rather a typo, I apply this clean-up patch -- tiwai] Signed-off-by: Ben Stanley <Ben.Stanley@exemail.com.au> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | | | ALSA: ca0106 Add comments to snd_ca0106_details structBen Stanley2008-12-161-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Takashi wrote an email [1] explaining the fields of snd_ca0106_details, so I captured the information into the ca0106.h header file. [1] http://article.gmane.org/gmane.linux.alsa.devel/56783/match=takashi+gpio_type Signed-off-by: Ben Stanley <Ben.Stanley@exemail.com.au> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | | | ALSA: sb8 - Fix a return code in the error pathTakashi Iwai2008-12-111-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed a compile warning below: sound/isa/sb/sb8.c: In function ‘snd_sb8_probe’: sound/isa/sb/sb8.c:104: warning: ‘err’ may be used uninitialized in this function by setting the return value correctly. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | | | ALSA: sound: Make staticRoel Kluin2008-12-101-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sparse asked whether these could be static. Signed-off-by: Roel Kluin <roel.kluin@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | | | ALSA: Reduce stall detection timeout in riptide.cPeter Gruber2008-12-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reduce the command timeout to 0.5sec. Should be enough to allow a working command interface but removes a RCU stall and slow resume on some revisions where the AC97 revision detection stalls in resume. Signed-off-by: Peter Gruber <nokos@gmx.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | | | ALSA: ac97 - Include ac97_codec.h for ac97_bus_type declarationMark Brown2008-12-021-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes a sparse warning caused by the lack of a connection with the prototype for ac97_bus_type. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | | | ALSA: ac97 - Add WM9715 to AC97 IDsMark Brown2008-12-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The WM9715 is software compatible with the WM9711 and WM9712. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | | | ALSA: Fix a compile warning in cs46xx_lib.cTakashi Iwai2008-12-011-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix a build warning sound/pci/cs46xx/cs46xx_lib.c:3643: warning: unused variable ‘i’ when CONFIG_SND_CS46XX_NEW_DSP=n. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | | | ALSA: ac97 - Remove EXPERIMENTAL from CONFIG_SND_AC97_POWER_SAVETakashi Iwai2008-11-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's mature enough now. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | | | ALSA: sound/pci/mixart/mixart.c: Add missing snd_card_freeJulia Lawall2008-11-272-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The function snd_mixart_create creates a link between mgr and card that allows snd_mixart_free to free card as well. But if snd_mixart_create fails, then the link has not been created and card has to be freed explicitly. The semantic match that finds the problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @r exists@ local idexpression x; statement S,S1; position p1,p2,p3; expression E,E1; type T,T1; expression *ptr != NULL; @@ ( if ((x@p1 = snd_card_new(...)) == NULL) S | x@p1 = snd_card_new(...); ) ... when != snd_card_free(...,(T)x,...) when != if (...) { <+... snd_card_free(...,(T)x,...) ...+> } when != true x == NULL || ... when != x = E when != E = (T)x when any ( if (x == NULL || ...) S1 | if@p2 (...) { ... when != snd_card_free(...,(T1)x,...) when != if (...) { <+... snd_card_free(...,(T1)x,...) ...+> } when != x = E1 when != E1 = (T1)x ( return \(0\|<+...x...+>\|ptr\); | return@p3 ...; ) } ) @ script:python @ p1 << r.p1; p3 << r.p3; @@ print "* file: %s snd_card_new: %s return: %s" % (p1[0].file,p1[0].line,p3[0].line) // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | | | ALSA: snd-usb-caiaq: clean up the control adding codeDaniel Mack2008-11-272-44/+31
| | |/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | snd-usb-caiaq: clean up the control adding code by moving dulpicate code to a function. Signed-off-by: Daniel Mack <daniel@caiaq.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | | ALSA: snd-powermac: enable mic on iMac G4Risto Suominen2008-11-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow input from microphone on iMac G4 Flat-panel (Tumbler). Signed-off-by: Risto Suominen <Risto.Suominen@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | | ALSA: pcsp - Use HRTIMER_CB_IRQSAFE_UNLOCKEDTakashi Iwai2008-11-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | HRTIMER_CB_IRQSAFE was removed in the upstream. Try to use HRTIMER_CB_IRQSAFE_UNLOCKED instead. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | | ALSA: powermac - Rename mic-analog loopback mixer elementTakashi Iwai2008-11-121-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PCM Playback Volume:1 is actually assigned to a mic loopback volume on iBook G4. Let's rename it. Signed-off-by: Takashi Iwai <tiwai@suse.de>
OpenPOWER on IntegriCloud