summaryrefslogtreecommitdiff
path: root/sound/pci/hda/hda_codec.h
AgeCommit message (Collapse)AuthorFilesLines
2008-09-09ALSA: hda: slave digital out supportMatthew Ranostay1-0/+1
Added support for playing a stream on multiple digital outs. This is done by defining codec->slave_dig_outs as array of hda_nid_t with a null-terminated entry to set the slave SPDIF outs, in which the slave outs have cloned settings of the master out (e.g. dig_out_nid). Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-25ALSA: hda - Add definitions of HDMI-related verbsTakashi Iwai1-4/+78
Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-08-13ALSA: hda - Don't reset SPDIF in each status changeTakashi Iwai1-0/+5
The SPDIF output is toggled at each time any SPDIF status bits are changed because of the known problems on some codecs. But, this also results in loosing the sync, and the problem is more obvious on HDMI output over SPDIF. Since the toggle is necessary only for some codecs, we should check whether this workaround is needed and skip if unnecessary. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-07-28ALSA: hda: added 92HD81/83 supportMatthew Ranostay1-0/+1
Added support for 92HD81/83 family of codecs. This also includes a pwr_mapping array for pins that have more than one amp to power down. Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-07-20ALSA: hda: digital pc-beep support hd-audio codecsMatthew Ranostay1-0/+4
Added digital pc-beep support using linear tone generation for hd-codecs along with initial support for several IDT codecs. Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-06-20ALSA: hda - Fix digital converter proc outputTakashi Iwai1-1/+1
AC_VERB_GET_DIGI_CONVERT_2 isn't actually implemented but reserved. The whole SIC bits are returned from DIGI_CONVERT_1. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-04-24[ALSA] hda-codec - keep the format verb at closing PCM streamsTakashi Iwai1-0/+1
Keep the format verb at closing PCM streams. Introduced snd_hda_codec_cleanup_stream() for the parcicular purpose. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24[ALSA] hda-intel - Fix PCM device number assignmentTakashi Iwai1-1/+11
In the current scheme, PCM device numbers are assigned incrementally in the order of codecs. This causes problems when the codec number is irregular, e.g. codec #0 for HDMI and codec #1 for analog. Then the HDMI becomes the first PCM, which is picked up as the default output device. Unfortuantely this doesn't work well with normal setups. This patch introduced the fixed device numbers for the PCM types, namely, analog, SPDIF, HDMI and modem. The PCM devices are assigned according to the corresponding PCM type. After this patch, HDMI will be always assigned to PCM #3, SPDIF to PCM #1, and the first analog to PCM #0, etc. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-01-31[ALSA] hda-codec - Add afg and mfg preset maskMarc Boucher1-0/+1
Added afg and mfg preset masks for more finer codec-preset selection. Signed-off-by: Marc Boucher <marc@linuxant.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31[ALSA] hda_proc - Add a number of new settings to proc codec outputAndrew Paprocki1-0/+42
This patch adds additional output to the /proc codec#X info. The following pieces of information are added to the output: - Balanced, L/R swap, trigger, impedance sense pin capabilities - Vref pin capabilities - Current Vref pin widget control setting - Default configuration association, sequence, and misc bit test - EAPD/BTL bits conveying balanced mode, EAPD, and L/R swap - Power state modified to show state name as well as setting vs actual value - GPIO parameter output on Audio Function Group, including enumeration of IO pins which are indicated present (Any I and O pins are not output at this time) - Stripe and L/R swap widget capabilities - All digital converter bits: enable, validity, validity config, preemphasis, copyright, non-audio, professional, generation level, and content category - Converter stream and channel values for in/out widgets - SDI select value for in widgets - Unsolicited response widget capability tag and enabled bit - Delay widget capability value - Processing widget capability benign bit and number of coefficients - Realtek Define Registers: processing coefficient, coefficient index [Also, fixed space/tab issues and make codes a bit more readable -- Takashi] Signed-off-by: Andrew Paprocki <andrew@ishiboo.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31[ALSA] hda-intel - Add workarounds for STAC codecsTakashi Iwai1-0/+3
Some machines with STAC codecs seem to have problems (e.g. no audible playback) when the delay in codec-read routine is too short. I still don't figure out which command sequence causes this problem (due to lack of test hardware), but it's known that increasing the delay fixes. So, added a stupid workaround here temporarily... Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31[ALSA] hda-codec - Add missing #defines (and 1 rename) in hda_codec.hAndrew Paprocki1-1/+8
Added AC_VERB_GET_DIGI_CONVERT_2 and renamed AC_VERB_GET_DIGI_CONVERT to AC_VERB_GET_DIGI_CONVERT_1 to stay consistent with the SET variants. Added AC_VERB_GET_GPIO_UNSOLICITED_RSP_MASK, AC_VERB_SET_GPIO_UNSOLICITED_RSP_MASK, and AC_PINCAP_LR_SWAP. The missing fields were listed in the ALC883 datasheet rev 1.3. Signed-off-by: Andrew Paprocki <andrew@ishiboo.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31[ALSA] sound/: Spelling fixesJoe Perches1-1/+1
Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31[ALSA] hda-codec - Fix definition of AC_KNBCAP_DELTA to match specAndrew Paprocki1-1/+1
AC_KNBCAP_DELTA is incorrectly defined as (1<<8). According to the Intel HDA spec, this is bit 7 after AC_KNBCAP_NUM_STEPS which is a 0x7f mask. Signed-off-by: Andrew Paprocki <andrew@ishiboo.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31[ALSA] hda-intel - Show more volume-knob attributesTakashi Iwai1-0/+1
Show more attributs of volume-knob widgets. Also don't put empty lines when no connection list is found. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2007-10-16[ALSA] hda-intel - Fix resume logic, when dynamic power managment is onMaxim Levitsky1-0/+4
Comment in hda_intel.c states that 'the explicit resume is needed only when POWER_SAVE isn't set', but this is not true. There is no code that will automaticly power up the codec on resume, but only code that powers it up when user accesses it. So if user leaves a sound playing, codec will not be powered To fix that I check if there are any codecs that should be powered codec->power_count, and if so I power them up together with main controller. Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16[ALSA] hda-intel - Avoid unnecessary work schedulingTakashi Iwai1-1/+2
Avoid unnecessary work scheduling for power-off. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16[ALSA] hda-intel - Add POWER_SAVE optionTakashi Iwai1-2/+30
Added CONFIG_SND_HDA_POWER_SAVE kconfig. It's an experimental option to achieve an aggressive power-saving. With this option, the driver will turn on/off the power of each codec and controller chip dynamically on demand. The patch introduces a new module option 'power_save'. It specifies the second of time-out for automatic power-down. As default, it's 10 seconds. Setting 0 means to suppress the power-saving feature. The codec may have analog-input loopbacks, which are usually represented by mixer elements such as 'Mic Playback Switch' or 'CD Playback Switch'. When these are on, we cannot turn off the mixer and the codec chip has to be kept on. For bookkeeping these states, a new codec-callback is introduced. For the bus-controller side, a new callback pm_notify is introduced, which can be used to turn on/off the contoller appropriately. Note that this power-saving might cause slight click-noise at power-on/off. Also, it might take some time to wake up the codec, and might even drop some tones at the very beginning. This seems to be the side-effect of turning off the controller chip. This turn-off of the controller can be disabled by undefining HDA_POWER_SAVE_RESET_CONTOLLER in hda_intel.c. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16[ALSA] hda-codec - optimize resume using cachesTakashi Iwai1-5/+5
So far, the driver looked the table of snd_kcontrol_new used for creating mixer elements and forces to call each of its put callbacks in PM resume code. This is too ugly and hackish. Now, the resume is simplified using the codec amp and command register caches. The driver simply restores the values that have been written in the cache table. With this simplification, most codec support codes don't require any special resume callback. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16[ALSA] hda-codec - introduce command register cacheTakashi Iwai1-0/+8
This patch adds the cache for codec command registers. snd_hda_codec_write_cache() and snd_hda_sequence_write_cache() do the write operations with caching, which values can be resumed via snd_hda_codec_resume_cache(). The patch introduces only the framework, and no codec code is using this cache yet. It'll be implemented in the following patch. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16[ALSA] hda-codec - rewrite amp cache more genericTakashi Iwai1-8/+16
Rewrite the code to handle amp cache and hash tables to be more generic. This routine will be used by the register caches in the next patch. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16[ALSA] hda-intel - Add hwdep interfaceTakashi Iwai1-0/+3
Added a hwdep interface for each codec (enabled per kconfig). This interface can be used for reading/writing HD-audio verbs and other purposes as future extensions. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16[ALSA] hda-intel - Coding style fixesTakashi Iwai1-11/+22
Fix codes to follow more to the standard kernel coding style. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-05-11[ALSA] hda-codec - Fix a typoTakashi Iwai1-1/+1
The AMP mute bit is bit 7. No real influence since no one uses this definition yet, though... Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-09-23[ALSA] HDA codec - little code & comment cleanupJaroslav Kysela1-1/+1
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-03-22[ALSA] semaphore -> mutex (PCI part)Ingo Molnar1-2/+2
Semaphore to mutex conversion. The conversion was generated via scripts, and the result was validated automatically via a script as well. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03[ALSA] hda-codec - Fix connection list parsingTakashi Iwai1-1/+12
Modules: HDA Codec driver,HDA generic driver - Fix connection list parsing (with ranged flag). - Increase the max number of connections - Introduce widget capabilities cache - Power up/down widgets at init, suspend and resume Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03[ALSA] Remove xxx_t typedefs: HD-Audio codecTakashi Iwai1-7/+7
Modules: HDA Codec driver,HDA generic driver Remove xxx_t typedefs from the HD-Audio codec support codes. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03[ALSA] hda-codec - Fix a typoTakashi Iwai1-1/+1
Modules: HDA Codec driver Fix a typo in hda_codec.h. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03[ALSA] hda-codec - Allocate amp hash array dynamicallyTakashi Iwai1-1/+2
Modules: HDA Codec driver Allocate amp hash array dynamically instead of static array. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-11-04[ALSA] hda-codec - Get subsystem ID from AFG/MFGTakashi Iwai1-0/+2
Modules: HDA Codec driver Get subsytem ID from AFG/MFG if not obtained from the root node. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-09-12[ALSA] hda-codec - Assign audio PCMS firstTakashi Iwai1-0/+1
HDA Codec driver,HDA Intel driver,HDA generic driver Assign audio PCMs first before modem PCMs. The modem stream is assigned up to device #6, to be consistent over different models. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-08-30ALSA CVS updateSasha Khapyorsky1-0/+1
HDA Codec driver,HDA generic driver Summar: hda-codec - MFG support This adds Modem Functional Group (MFG) support and option for 9600 sample rate. Signed-off-by: Sasha Khapyorsky <sashak@smlink.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-07-28[ALSA] hda: add sigmatel hp detect supportMatt1-0/+3
HDA Codec driver Adds support for detecting hp insertion/removal and enable/disable of lineouts based on unsolicited events. Signed-off-by: Matt <matt@embeddedalley.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-06-22[ALSA] hda-codec - Add support of more models with ALC codecsTakashi Iwai1-0/+6
HDA Codec driver,HDA Intel driver Merged the work of pshou <pshou@realtek.com.tw> for the support of more models with ALC codecs: ALC880 ASUS, Uniwill, FSC1734, generic 6-stack, and ALC260 HP. Tests with the real hardwares are appreciated. The codec patch is cleaned up: The preset configuration of codecs are stored in the table and copied to the spec instance. Added/fixed comments. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-05-29[ALSA] hda-code: Fix the array size of codec listTakashi Iwai1-1/+1
HDA Codec driver Fixed the wrong array size of the codec pointer list. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-05-29[ALSA] Fix and cleanup of CM9880 auto-configurationTakashi Iwai1-0/+2
HDA Codec driver Fix and cleanup of CM9880 automatic PIN configuration. snd_hda_codec_setup_stream() doesn't do anything when NID is 0. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-05-29[ALSA] Misc clean upTakashi Iwai1-7/+5
HDA Codec driver Misc clean up: move the definitions of constants for pinctl to a single place. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-05-29[ALSA] hda: fix vref cap and ctl valuesMatt1-7/+13
HDA Codec driver,HDA generic driver Fix some vref defines so they are valid for the different bits in the pin cap and pin control registers. Please apply. Signed-off-by: Matt <matt@embeddedalley.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-04-17Linux-2.6.12-rc2v2.6.12-rc2Linus Torvalds1-0/+604
Initial git repository build. I'm not bothering with the full history, even though we have it. We can create a separate "historical" git archive of that later if we want to, and in the meantime it's about 3.2GB when imported into git - space that would just make the early git days unnecessarily complicated, when we don't have a lot of good infrastructure for it. Let it rip!