Lines Matching defs:pcm_idx
83 int pcm_idx; /* which pcm is attached. -1 means no pcm is attached */
280 int pcm_idx;
282 for (pcm_idx = 0; pcm_idx < spec->pcm_used; pcm_idx++)
283 if (get_pcm_rec(spec, pcm_idx)->stream == hinfo)
284 return pcm_idx;
310 int pcm_idx)
317 if (per_pin->pcm_idx == pcm_idx)
343 int pcm_idx;
347 pcm_idx = kcontrol->private_value;
349 per_pin = pcm_idx_to_pin(spec, pcm_idx);
370 int pcm_idx;
373 pcm_idx = kcontrol->private_value;
375 per_pin = pcm_idx_to_pin(spec, pcm_idx);
411 static int hdmi_create_eld_ctl(struct hda_codec *codec, int pcm_idx,
421 kctl->private_value = pcm_idx;
431 get_hdmi_pcm(spec, pcm_idx)->eld_ctl = kctl;
1198 int cvt_idx, pcm_idx;
1202 pcm_idx = hinfo_to_pcm_index(codec, hinfo);
1203 if (pcm_idx < 0)
1216 set_bit(pcm_idx, &spec->pcm_in_use);
1246 int pin_idx, cvt_idx, pcm_idx;
1253 pcm_idx = hinfo_to_pcm_index(codec, hinfo);
1254 if (pcm_idx < 0)
1275 set_bit(pcm_idx, &spec->pcm_in_use);
1292 snd_hda_spdif_ctls_assign(codec, pcm_idx, per_cvt->cvt_nid);
1309 snd_hda_spdif_ctls_unassign(codec, pcm_idx);
1395 per_pin->pcm_idx = idx;
1408 idx = per_pin->pcm_idx;
1409 per_pin->pcm_idx = -1;
1439 if (per_pin->pcm_idx < 0 || per_pin->pcm_idx >= spec->pcm_used)
1441 pcm = get_pcm_rec(spec, per_pin->pcm_idx);
1444 if (!test_bit(per_pin->pcm_idx, &spec->pcm_in_use))
1461 snd_hda_spdif_ctls_assign(codec, per_pin->pcm_idx, hinfo->nid);
1475 if (per_pin->pcm_idx >= 0 && per_pin->pcm_idx < spec->pcm_used)
1476 snd_hda_spdif_ctls_unassign(per_pin->codec, per_pin->pcm_idx);
1490 if (per_pin->pcm_idx >= 0)
1491 return spec->pcm_rec[per_pin->pcm_idx].jack;
1510 int pcm_idx;
1530 /* for monitor disconnection, save pcm_idx firstly */
1531 pcm_idx = per_pin->pcm_idx;
1534 * pcm_idx >=0 before update_eld() means it is in monitor
1549 /* if pcm_idx == -1, it means this is in monitor connection event
1550 * we can get the correct pcm_idx now.
1552 if (pcm_idx == -1)
1553 pcm_idx = per_pin->pcm_idx;
1589 if (eld_changed && pcm_idx >= 0)
1593 &get_hdmi_pcm(spec, pcm_idx)->eld_ctl->id);
1936 per_pin->pcm_idx = -1;
2174 int cvt_idx, pin_idx, pcm_idx;
2182 pcm_idx = hinfo_to_pcm_index(codec, hinfo);
2183 if (snd_BUG_ON(pcm_idx < 0)) {
2198 snd_hda_spdif_ctls_unassign(codec, pcm_idx);
2199 clear_bit(pcm_idx, &spec->pcm_in_use);
2242 static int hdmi_get_spk_alloc(struct hdac_device *hdac, int pcm_idx)
2246 struct hdmi_spec_per_pin *per_pin = pcm_idx_to_pin(spec, pcm_idx);
2254 static void hdmi_get_chmap(struct hdac_device *hdac, int pcm_idx,
2259 struct hdmi_spec_per_pin *per_pin = pcm_idx_to_pin(spec, pcm_idx);
2268 static void hdmi_set_chmap(struct hdac_device *hdac, int pcm_idx,
2273 struct hdmi_spec_per_pin *per_pin = pcm_idx_to_pin(spec, pcm_idx);
2285 static bool is_hdmi_pcm_attached(struct hdac_device *hdac, int pcm_idx)
2289 struct hdmi_spec_per_pin *per_pin = pcm_idx_to_pin(spec, pcm_idx);
2341 static int generic_hdmi_build_jack(struct hda_codec *codec, int pcm_idx)
2346 int pcmdev = get_pcm_rec(spec, pcm_idx)->device;
2357 spec->pcm_rec[pcm_idx].jack = jack;
2358 jack->private_data = &spec->pcm_rec[pcm_idx];
2367 int pin_idx, pcm_idx;
2369 for (pcm_idx = 0; pcm_idx < spec->pcm_used; pcm_idx++) {
2370 if (!get_pcm_rec(spec, pcm_idx)->pcm) {
2372 set_bit(pcm_idx, &spec->pcm_bitmap);
2376 err = generic_hdmi_build_jack(codec, pcm_idx);
2388 snd_hda_spdif_ctls_unassign(codec, pcm_idx);
2390 dev = get_pcm_rec(spec, pcm_idx)->device;
2393 err = hdmi_create_eld_ctl(codec, pcm_idx, dev);
2413 for (pcm_idx = 0; pcm_idx < spec->pcm_used; pcm_idx++) {
2416 pcm = get_pcm_rec(spec, pcm_idx);
2419 err = snd_hdac_add_chmap_ctls(pcm->pcm, pcm_idx, &spec->chmap);
2492 int pin_idx, pcm_idx;
2507 for (pcm_idx = 0; pcm_idx < spec->pcm_used; pcm_idx++) {
2508 if (spec->pcm_rec[pcm_idx].jack == NULL)
2510 snd_device_free(codec->card, spec->pcm_rec[pcm_idx].jack);