Lines Matching defs:pcm_idx
78 int pcm_idx; /* which pcm is attached. -1 means no pcm is attached */
267 int pcm_idx;
269 for (pcm_idx = 0; pcm_idx < spec->pcm_used; pcm_idx++)
270 if (get_pcm_rec(spec, pcm_idx)->stream == hinfo)
271 return pcm_idx;
297 int pcm_idx)
304 if (per_pin->pcm_idx == pcm_idx)
330 int pcm_idx;
334 pcm_idx = kcontrol->private_value;
336 per_pin = pcm_idx_to_pin(spec, pcm_idx);
357 int pcm_idx;
360 pcm_idx = kcontrol->private_value;
362 per_pin = pcm_idx_to_pin(spec, pcm_idx);
398 static int hdmi_create_eld_ctl(struct hda_codec *codec, int pcm_idx,
408 kctl->private_value = pcm_idx;
418 get_hdmi_pcm(spec, pcm_idx)->eld_ctl = kctl;
1185 int cvt_idx, pcm_idx;
1189 pcm_idx = hinfo_to_pcm_index(codec, hinfo);
1190 if (pcm_idx < 0)
1203 set_bit(pcm_idx, &spec->pcm_in_use);
1233 int pin_idx, cvt_idx, pcm_idx;
1240 pcm_idx = hinfo_to_pcm_index(codec, hinfo);
1241 if (pcm_idx < 0)
1269 set_bit(pcm_idx, &spec->pcm_in_use);
1287 snd_hda_spdif_ctls_assign(codec, pcm_idx, per_cvt->cvt_nid);
1304 snd_hda_spdif_ctls_unassign(codec, pcm_idx);
1419 per_pin->pcm_idx = idx;
1432 idx = per_pin->pcm_idx;
1433 per_pin->pcm_idx = -1;
1462 if (per_pin->pcm_idx >= 0 && per_pin->pcm_idx < spec->pcm_used)
1463 pcm = get_pcm_rec(spec, per_pin->pcm_idx);
1468 if (!test_bit(per_pin->pcm_idx, &spec->pcm_in_use))
1485 snd_hda_spdif_ctls_assign(codec, per_pin->pcm_idx, hinfo->nid);
1499 if (per_pin->pcm_idx >= 0 && per_pin->pcm_idx < spec->pcm_used)
1500 snd_hda_spdif_ctls_unassign(per_pin->codec, per_pin->pcm_idx);
1514 if (per_pin->pcm_idx >= 0)
1515 return spec->pcm_rec[per_pin->pcm_idx].jack;
1534 int pcm_idx;
1554 /* for monitor disconnection, save pcm_idx firstly */
1555 pcm_idx = per_pin->pcm_idx;
1558 * pcm_idx >=0 before update_eld() means it is in monitor
1572 /* if pcm_idx == -1, it means this is in monitor connection event
1573 * we can get the correct pcm_idx now.
1575 if (pcm_idx == -1)
1576 pcm_idx = per_pin->pcm_idx;
1612 if (eld_changed && pcm_idx >= 0)
1616 &get_hdmi_pcm(spec, pcm_idx)->eld_ctl->id);
1909 per_pin->pcm_idx = -1;
1912 per_pin->pcm_idx = pin_idx;
2150 int cvt_idx, pin_idx, pcm_idx;
2158 pcm_idx = hinfo_to_pcm_index(codec, hinfo);
2159 if (snd_BUG_ON(pcm_idx < 0)) {
2174 snd_hda_spdif_ctls_unassign(codec, pcm_idx);
2175 clear_bit(pcm_idx, &spec->pcm_in_use);
2218 static int hdmi_get_spk_alloc(struct hdac_device *hdac, int pcm_idx)
2222 struct hdmi_spec_per_pin *per_pin = pcm_idx_to_pin(spec, pcm_idx);
2230 static void hdmi_get_chmap(struct hdac_device *hdac, int pcm_idx,
2235 struct hdmi_spec_per_pin *per_pin = pcm_idx_to_pin(spec, pcm_idx);
2244 static void hdmi_set_chmap(struct hdac_device *hdac, int pcm_idx,
2249 struct hdmi_spec_per_pin *per_pin = pcm_idx_to_pin(spec, pcm_idx);
2261 static bool is_hdmi_pcm_attached(struct hdac_device *hdac, int pcm_idx)
2265 struct hdmi_spec_per_pin *per_pin = pcm_idx_to_pin(spec, pcm_idx);
2324 static int generic_hdmi_build_jack(struct hda_codec *codec, int pcm_idx)
2328 struct hdmi_spec_per_pin *per_pin = get_pin(spec, pcm_idx);
2330 int pcmdev = get_pcm_rec(spec, pcm_idx)->device;
2345 spec->pcm_rec[pcm_idx].jack = jack;
2346 jack->private_data = &spec->pcm_rec[pcm_idx];
2355 int pin_idx, pcm_idx;
2357 for (pcm_idx = 0; pcm_idx < spec->pcm_used; pcm_idx++) {
2358 if (!get_pcm_rec(spec, pcm_idx)->pcm) {
2360 set_bit(pcm_idx, &spec->pcm_bitmap);
2364 err = generic_hdmi_build_jack(codec, pcm_idx);
2377 get_pin(spec, pcm_idx);
2385 snd_hda_spdif_ctls_unassign(codec, pcm_idx);
2387 dev = get_pcm_rec(spec, pcm_idx)->device;
2390 err = hdmi_create_eld_ctl(codec, pcm_idx, dev);
2405 for (pcm_idx = 0; pcm_idx < spec->pcm_used; pcm_idx++) {
2408 pcm = get_pcm_rec(spec, pcm_idx);
2411 err = snd_hdac_add_chmap_ctls(pcm->pcm, pcm_idx, &spec->chmap);
2484 int pin_idx, pcm_idx;
2499 for (pcm_idx = 0; pcm_idx < spec->pcm_used; pcm_idx++) {
2500 if (spec->pcm_rec[pcm_idx].jack == NULL)
2504 spec->pcm_rec[pcm_idx].jack);
2506 spec->pcm_rec[pcm_idx].jack = NULL;