summaryrefslogtreecommitdiffstats
path: root/sound/pci/ice1712/ice1724.c
Commit message (Collapse)AuthorAgeFilesLines
* ALSA: ice1724: Simplify PM callbacksTakashi Iwai2015-01-091-16/+0
| | | | | | | | | | | | | | This is a similar cleanup like the commit [3db084fd0af5: ALSA: fm801: PCI core handles power state for us]. Since pci_set_power_state(), pci_save_state() and pci_restore_state() are already done in the PCI core side, so we don't need to it doubly. Also, pci_enable_device(), pci_disable_device() and pci_set_master() calls in PM callbacks are superfluous nowadays, too, so get rid of them as well. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: ice17xx: Deletion of unnecessary checks before the function call ↵Markus Elfring2014-11-171-2/+1
| | | | | | | | | | | | "snd_ac97_resume" The snd_ac97_resume() function tests whether its argument is NULL and then returns immediately. Thus the test around the call is not needed. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <elfring@users.sourceforge.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: ice1712: remove unneeded return statementSudip Mukherjee2014-11-141-5/+2
| | | | | | | | | | | | | | | | the functions: snd_ice1712_akm4xxx_build_controls snd_ice1712_build_pro_mixer snd_ctl_add snd_ak4114_build prodigy192_ak4114_init snd_ak4113_build are all returning either 0 or a negetive error value. so we can easily remove the check for a negative value and return the value instead. Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: ice1724: Use snd_ctl_enum_info()Takashi Iwai2014-10-211-7/+1
| | | | | | ... and reduce the open codes. Also add missing const to text arrays. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* PCI: Remove DEFINE_PCI_DEVICE_TABLE macro useBenoit Taine2014-08-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | We should prefer `struct pci_device_id` over `DEFINE_PCI_DEVICE_TABLE` to meet kernel coding style guidelines. This issue was reported by checkpatch. A simplified version of the semantic patch that makes this change is as follows (http://coccinelle.lip6.fr/): // <smpl> @@ identifier i; declarer name DEFINE_PCI_DEVICE_TABLE; initializer z; @@ - DEFINE_PCI_DEVICE_TABLE(i) + const struct pci_device_id i[] = z; // </smpl> [bhelgaas: add semantic patch] Signed-off-by: Benoit Taine <benoit.taine@lip6.fr> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
* ALSA: ice17xx: Use standard printk helpersTakashi Iwai2014-02-261-21/+24
| | | | | | Convert with dev_err() and co from snd_printk(), etc. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: pci: Convert to snd_card_new() with a device pointerTakashi Iwai2014-02-121-3/+2
| | | | | | Also remove superfluous snd_card_set_dev() calls. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: PCI: Remove superfluous pci_set_drvdata(pci, NULL) at removeTakashi Iwai2013-05-291-1/+0
| | | | | | | | | | | | | As drvdata is cleared to NULL at probe failure or at removal by the driver core, we don't have to call pci_set_drvdata(pci, NULL) any longer in each driver. The only remaining pci_set_drvdata(NULL) is in azx_firmware_cb() in hda_intel.c. Since this function itself releases the card instance, we need to clear drvdata here as well, so that it won't be released doubly in the remove callback. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: pci: remove __dev* attributesBill Pemberton2012-12-071-32/+32
| | | | | | | | | | | CONFIG_HOTPLUG is going away as an option. As result the __dev* markings will be going away. Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst, and __devexit. Signed-off-by: Bill Pemberton <wfp5p@virginia.edu> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: ice1724: Fix build error without CONFIG_PM_SLEEPTakashi Iwai2012-11-121-0/+2
| | | | | | Bah, forgot this again... Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: ice1724: enable suspend on unknown ICE1724 cardsOndrej Zary2012-11-121-0/+2
| | | | | | | | | | Assume that unknown ICE1724-based cards are AC97-only that can suspend without any additional card-specific code. This fixes suspend on Gainward Hollywood@Home 7.1. Signed-off-by: Ondrej Zary <linux@rainbow-software.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* Merge branch 'for-linus' into for-nextTakashi Iwai2012-11-081-1/+6
|\
| * ALSA: ice1724: Fix rate setup after resumeTakashi Iwai2012-10-311-1/+6
| | | | | | | | | | | | | | | | | | The rate isn't restored properly after resume since it's only set up in hw_params, and not in prepare callback. For fixing it, put the corresponding call to resume callback as well. Reported-and-tested-by: Ondrej Zary <linux@rainbow-software.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: ice17xx: Fix inclusion of linux/io.hTakashi Iwai2012-10-181-1/+0
| | | | | | | | | | | | | | | | Include linux/io.h in ice1712.h since inb() and outb() are used in inline functions there. Remove the redundant inclusion of that file in other places at the same time. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: ice17xx: Constify strings and string arraysTakashi Iwai2012-10-171-3/+3
| | | | | | | | Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: ice1712: Add Philips PSC724 Ultimate EdgeOndrej Zary2012-10-171-1/+3
| | | | | | | | | | | | | | | | Add psc724 subdriver to snd-ice1712 that provides full support for Philips PSC724 Ultimate Edge sound cards. Signed-off-by: Ondrej Zary <linux@rainbow-software.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: ice1712: add chip_exit callbackOndrej Zary2012-10-171-1/+7
|/ | | | | | | | | | Add chip_exit callback to allow card subdrivers to do cleanup work on module removal. Needed by Philips PSC724 subdriver to cancel delayed work. Signed-off-by: Ondrej Zary <linux@rainbow-software.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: PCI: Replace CONFIG_PM with CONFIG_PM_SLEEPTakashi Iwai2012-08-141-2/+2
| | | | | | Otherwise we may get compile warnings due to unused functions. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: Convert to new pm_ops for PCI driversTakashi Iwai2012-07-031-10/+16
| | | | | | | | | | Straightforward conversion to the new pm_ops from the legacy suspend/resume ops. Since we change vx222, vx_core and vxpocket have to be converted, too. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: pci: clean up using module_pci_driver()Takashi Iwai2012-04-241-13/+2
| | | | Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: ice1724 - constrain runtime rates for locked internal ratePavel Hofman2012-03-051-0/+23
| | | | | | | | | | | The driver already defines control "Multi Track Rate Locking" which locks the card at current rate if switched to internal clock. This patch limits the runtime rates to this rate only, allowing proper reporting of the card capabilities, and e.g. automatic rate conversion by the plug plugin to the currently locked rate. Signed-off-by: Pavel Hofman <pavel.hofman@ivitera.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: ice1724 - Support for ooAoo SQ210aPavel Hofman2012-01-111-0/+35
| | | | | | | | | This card shares PCI ids with Chaintec AV710. Therefore, it will not be detected automatically, it can only be activated by the module parameter model=sq210a. Signed-off-by: Pavel Hofman <pavel.hofman@ivitera.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: ice1724 - Allow card info based on model onlyPavel Hofman2012-01-111-3/+5
| | | | | | | | | When two different cards share the same PCI vendor/subvendor identification, allow card info based on model only. Do not require subvendor ID. Signed-off-by: Pavel Hofman <pavel.hofman@ivitera.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: ice1724 - Create capture pcm only for ADC-enabled configurationsPavel Hofman2012-01-111-3/+10
| | | | | | | | Add the capture pcm only if there is at least one ADC configured in the SYSCONF register. Signed-off-by: Pavel Hofman <pavel.hofman@ivitera.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: ice1724 - External clock item only for cards with SPDIF_INPavel Hofman2012-01-081-1/+6
| | | | | | | | Append the external clock item to the clock list only if the SPDIF_IN capability is defined in the SPDIF register. Signed-off-by: Pavel Hofman <pavel.hofman@ivitera.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: module_param: make bool parameters really boolRusty Russell2011-12-191-1/+1
| | | | | | | | | | | | module_param(bool) used to counter-intuitively take an int. In fddd5201 (mid-2009) we allowed bool or int/unsigned int using a messy trick. It's time to remove the int/unsigned int option. For this version it'll simply give a warning, but it'll break next kernel version. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* sound: fix drivers needing module.h not moduleparam.hPaul Gortmaker2011-10-311-1/+1
| | | | | | | | | 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>
* ALSA: use KBUILD_MODNAME for request_irq argument in sound/pci/*Takashi Iwai2011-06-101-1/+1
| | | | | | | | | The name argument of request_irq() appears in /proc/interrupts, and it's quite ugly when the name entry contains a space or special letters. In general, it's simpler and more readable when the module name appears there, so let's replace all entries with KBUILD_MODNAME. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: Use KBUILD_MODNAME for pci_driver.name entriesTakashi Iwai2011-06-101-1/+1
| | | | | | | | | | | | The convention for pci_driver.name entry in kernel drivers seem to be the module name or equivalent ones. But, so far, almost all PCI sound drivers use more verbose name like "ABC Xyz (12)", and these are fairly confusing when appearing as a file name. This patch converts the all pci_driver.name entries in sound/pci/* to use KBUILD_MODNAME for more unified appearance. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* sound: use DEFINE_PCI_DEVICE_TABLEAlexey Dobriyan2010-02-091-1/+1
| | | | | | | | | Use DEFINE_PCI_DEVICE_TABLE() to make PCI device ids go to .devinit.rodata section, so they can be discarded in some cases, and make them const. Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* Merge branch 'topic/ice1724-quartet' into topic/hdaTakashi Iwai2009-12-011-20/+83
|\
| * ALSA: ice1724 - Infrasonic Quartet supportPavel Hofman2009-09-211-0/+3
| | | | | | | | | | | | | | | | * three external clock types * all controls supported Signed-off-by: Pavel Hofman <pavel.hofman@ivitera.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: ice1724 - Support for multiple external clock typesPavel Hofman2009-09-211-13/+45
| | | | | | | | | | | | | | | | | | | | * Support for customization of the external clock names * Adding hooks to playback_pro_open and capture_pro_open, allowing e.g. limiting available stream rates to a single value when the external clock rate is detected Signed-off-by: Pavel Hofman <pavel.hofman@ivitera.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: ice1724 - pro-rate-locking makes sense only for internal clock modePavel Hofman2009-09-211-7/+16
| | | | | | | | | | | | | | | | * pro-rate-locking applies to internal clock mode only * required rate and current rate are compared for internal clock mode only Signed-off-by: Pavel Hofman <pavel.hofman@ivitera.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: ice1724 - adding GPIO routines for mask and directionPavel Hofman2009-09-211-0/+19
| | | | | | | | | | | | | | * get/set routines for GPIO mask and direction Signed-off-by: Pavel Hofman <pavel.hofman@ivitera.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: ice1724 - Make call to set hw params succeed on ESI Juli@David Henningsson2009-10-111-1/+1
| | | | | | | | | | | | | | | | | | | | If two streams are started immediately after one another (such as a playback and a recording stream), the call to set hw params fails with EBUSY. This patch makes the call succeed, so playback and recording will work properly. Signed-off-by: David Henningsson <launchpad.web@epost.diwic.se> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: ice1724: increase SPDIF and independent stereo buffer sizesRobert Hancock2009-10-081-2/+2
| | | | | | | | | | | | | | | | | | | | Increase the default and maximum PCM buffer prellocation size for ice1724's SPDIF and independent stereo pair outputs to 256K, which is the hardware's maximum supported size. This allows a reduction in interrupt rate and potentially power usage when an application is not latency-critical. Signed-off-by: Robert Hancock <hancockrwd@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: ICE1712/24 - Change the Multi Track Peak control (level meters) from ↵Pavel Hofman2009-10-081-1/+1
|/ | | | | | | | | | | | | | | MIXER to PCM type * PLEASE NOTE - this change requires the corresponding update of envy24control for ice1712 - kind of an ABI change. * The "Multi Track Peak" control is read-only level meters indicator. * The control is VERY confusing to most users since it is currently displayed in regular mixers. E.g. alsamixer ignores its read-only status and allows changing the levels with keys which makes no sense. Signed-off-by: Pavel Hofman <pavel.hofman@ivitera.com> Acked-by: Jaroslav Kysela <perex@perex.cz> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* Merge branch 'topic/ice1724-pm' into for-linusTakashi Iwai2009-09-101-10/+102
|\ | | | | | | | | | | * topic/ice1724-pm: ALSA: ice1724 - Fix section mismatch ALSA: ice1724 - Patch for suspend/resume for Audiotrak Prodigy HD2
| * ALSA: ice1724 - Fix section mismatchTakashi Iwai2009-07-021-1/+1
| | | | | | | | | | | | | | Now snd_vt1724_chip_reset() is used in the resume callback, thus it cannot be __devinit. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: ice1724 - Patch for suspend/resume for Audiotrak Prodigy HD2Igor Chernyshev2009-06-251-9/+101
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I've built a small HTPC and had to add suspend/resume support in ice1724 driver. There seem to be 3 existing bugs related to that: https://bugtrack.alsa-project.org/alsa-bug/view.php?id=4413 https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3748 https://bugtrack.alsa-project.org/alsa-bug/view.php?id=2314 Due to hardware (un)availability, I only enabled the fix for Audiotrak Prodigy HD2 card, which is installed in my HTPC. However, most of my code should be reusable in the future on other ice1724-based cards as well (as long as people add card-specific peices of code). The fix is currently based on ALSA 1.0.20 and works on my MythBuntu 9.04 HTPC (using 2.6.28-11 kernel). Signed-off-by: Igor Chernyshev <igor.ch75+alsa at gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | sound: Use PCI_VDEVICEJoe Perches2009-06-251-1/+1
|/ | | | | Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: ice1724 - Add ESI Maya44 supportTakashi Iwai2009-05-061-0/+3
| | | | | | Added the support for ESI Maya44 board to ice1724 driver. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: ice1724 - Allow spec driver to create own routing controlsTakashi Iwai2009-05-061-13/+20
| | | | | | | | Added a new flag, own_routing, to allow spec drivers to create own routing controls. Also, the basic get/put calls are changed to be external for later use by maya44 driver. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: ice1724 - Add PCI postint to reset sequenceTakashi Iwai2009-05-061-0/+2
| | | | | | Add the PCI posting to ensure the reset sequence in snd_vt1724_chip_reset(). Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: ice1724 - Clean up definitions of DMA recordsTakashi Iwai2009-05-061-16/+21
| | | | | | Rename some vt1724_pcm_reg records to more generic and consistent ones. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: ice1724 - Check error in set_rate functionTakashi Iwai2009-05-061-7/+14
| | | | | | | The set_rate might return error but the current code doesn't check it. This patch adds a proper error check. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* Merge branch 'topic/ice' into for-linusTakashi Iwai2009-03-241-19/+41
|\
| * ALSA: Add missing KERN_* prefix to printk in sound/pci/ice1712Takashi Iwai2009-02-051-3/+14
| | | | | | | | Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: ice1724 - Dynamic MIDI TX irq controlTakashi Iwai2009-02-021-16/+27
| | | | | | | | | | | | | | | | | | MIDI_TX IRQ seems always pending when any bytes on FIFO is available. Thus, it's better to enable MPU_TX only when any bytres are really stored in the substream, and disables immediately when the queue becomes empty. Signed-off-by: Takashi Iwai <tiwai@suse.de>
OpenPOWER on IntegriCloud