Lines Matching defs:dir
341 /* nid, dir and idx */
359 /* check whether a control with the given (nid, dir, idx) was assigned */
361 int dir, int idx, int type)
363 unsigned int val = HDA_COMPOSE_AMP_VAL(nid, 3, idx, dir);
556 hda_nid_t nid2, int dir)
558 if (!(get_wcaps(codec, nid1) & (1 << (dir + 1))))
559 return !(get_wcaps(codec, nid2) & (1 << (dir + 1)));
560 return (query_amp_caps(codec, nid1, dir) ==
561 query_amp_caps(codec, nid2, dir));
629 /* check whether the given (nid,dir,idx) is active */
631 unsigned int dir, unsigned int idx)
654 if (dir == HDA_OUTPUT || idx == -1 ||
670 int dir, unsigned int caps, bool enable)
687 static bool is_stereo_amps(struct hda_codec *codec, hda_nid_t nid, int dir)
694 if (dir != HDA_INPUT || get_wcaps_type(wcaps) != AC_WID_AUD_MIX)
704 static void init_amp(struct hda_codec *codec, hda_nid_t nid, int dir, int idx)
706 unsigned int caps = query_amp_caps(codec, nid, dir);
707 int val = get_amp_val_to_activate(codec, nid, dir, caps, false);
709 if (is_stereo_amps(codec, nid, dir))
710 snd_hda_codec_amp_init_stereo(codec, nid, dir, idx, 0xff, val);
712 snd_hda_codec_amp_init(codec, nid, 0, dir, idx, 0xff, val);
716 static int update_amp(struct hda_codec *codec, hda_nid_t nid, int dir, int idx,
719 if (is_stereo_amps(codec, nid, dir))
720 return snd_hda_codec_amp_stereo(codec, nid, dir, idx,
723 return snd_hda_codec_amp_update(codec, nid, 0, dir, idx,
731 hda_nid_t nid, int dir, int idx,
737 if (is_ctl_associated(codec, nid, dir, idx, NID_PATH_MUTE_CTL))
741 if (is_ctl_associated(codec, nid, dir, idx, NID_PATH_VOL_CTL) ||
742 is_ctl_associated(codec, nid, dir, idx, NID_PATH_BOOST_CTL))
748 static void activate_amp(struct hda_codec *codec, hda_nid_t nid, int dir,
754 caps = query_amp_caps(codec, nid, dir);
755 val = get_amp_val_to_activate(codec, nid, dir, caps, enable);
756 mask = get_amp_mask_to_modify(codec, nid, dir, idx_to_check, caps);
761 update_amp(codec, nid, dir, idx, mask, val);
765 int dir, int idx, int idx_to_check,
769 if (!enable && is_active_nid(codec, nid, dir, idx_to_check))
771 activate_amp(codec, nid, dir, idx, idx_to_check, enable);
995 const char *pfx, const char *dir,
999 snprintf(name, sizeof(name), "%s %s %s", pfx, dir, sfx);
3042 list->dir = HDA_INPUT;
3825 int dir, int idx)
3829 if (!nid_has_volume(codec, nid, dir) ||
3830 is_ctl_associated(codec, nid, dir, idx, NID_PATH_VOL_CTL) ||
3831 is_ctl_associated(codec, nid, dir, idx, NID_PATH_BOOST_CTL))
3834 step = (query_amp_caps(codec, nid, dir) & AC_AMPCAP_STEP_SIZE)