aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/hda
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2009-03-23 11:35:39 -0400
committerTakashi Iwai <tiwai@suse.de>2009-03-23 11:36:55 -0400
commit14bafe3278e5da952a6586a5a9a9d286566049ed (patch)
tree48f83a4d896c52ba914abe3728ece80a26dc2ff7 /sound/pci/hda
parenta23b688f4d5c2490a50677b30011a677d8edf3d0 (diff)
ALSA: hda - Use cached calls to get widget caps and pin caps
Replace with the standard function calls to use caches for reading the widget caps and pin caps. hda_proc.c is still using the direct verbs to get raw values as much as possible. Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/hda')
-rw-r--r--sound/pci/hda/hda_codec.c3
-rw-r--r--sound/pci/hda/patch_sigmatel.c3
2 files changed, 2 insertions, 4 deletions
diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c
index 0f70d2d102e0..a4e5e5952115 100644
--- a/sound/pci/hda/hda_codec.c
+++ b/sound/pci/hda/hda_codec.c
@@ -2321,8 +2321,7 @@ static void hda_set_power_state(struct hda_codec *codec, hda_nid_t fg,
2321 * don't power down the widget if it controls 2321 * don't power down the widget if it controls
2322 * eapd and EAPD_BTLENABLE is set. 2322 * eapd and EAPD_BTLENABLE is set.
2323 */ 2323 */
2324 pincap = snd_hda_param_read(codec, nid, 2324 pincap = snd_hda_query_pin_caps(codec, nid);
2325 AC_PAR_PIN_CAP);
2326 if (pincap & AC_PINCAP_EAPD) { 2325 if (pincap & AC_PINCAP_EAPD) {
2327 int eapd = snd_hda_codec_read(codec, 2326 int eapd = snd_hda_codec_read(codec,
2328 nid, 0, 2327 nid, 0,
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c
index b1c180a9e9be..b5e108aa8f63 100644
--- a/sound/pci/hda/patch_sigmatel.c
+++ b/sound/pci/hda/patch_sigmatel.c
@@ -2869,8 +2869,7 @@ static hda_nid_t get_unassigned_dac(struct hda_codec *codec, hda_nid_t nid)
2869 conn_len = snd_hda_get_connections(codec, nid, conn, 2869 conn_len = snd_hda_get_connections(codec, nid, conn,
2870 HDA_MAX_CONNECTIONS); 2870 HDA_MAX_CONNECTIONS);
2871 for (j = 0; j < conn_len; j++) { 2871 for (j = 0; j < conn_len; j++) {
2872 wcaps = snd_hda_param_read(codec, conn[j], 2872 wcaps = get_wcaps(codec, conn[j]);
2873 AC_PAR_AUDIO_WIDGET_CAP);
2874 wtype = (wcaps & AC_WCAP_TYPE) >> AC_WCAP_TYPE_SHIFT; 2873 wtype = (wcaps & AC_WCAP_TYPE) >> AC_WCAP_TYPE_SHIFT;
2875 /* we check only analog outputs */ 2874 /* we check only analog outputs */
2876 if (wtype != AC_WID_AUD_OUT || (wcaps & AC_WCAP_DIGITAL)) 2875 if (wtype != AC_WID_AUD_OUT || (wcaps & AC_WCAP_DIGITAL))