Lines Matching defs:hcp

303 	struct hdmi_codec_priv *hcp = snd_soc_component_get_drvdata(component);
305 memcpy(ucontrol->value.bytes.data, hcp->eld, sizeof(hcp->eld));
327 static void hdmi_codec_eld_chmap(struct hdmi_codec_priv *hcp)
332 spk_alloc = drm_eld_get_spk_alloc(hcp->eld);
336 if ((spk_mask & ~(FL | FR)) && hcp->chmap_info->max_channels > 2)
337 hcp->chmap_info->chmap = hdmi_codec_8ch_chmaps;
339 hcp->chmap_info->chmap = hdmi_codec_stereo_chmaps;
342 static int hdmi_codec_get_ch_alloc_table_idx(struct hdmi_codec_priv *hcp,
350 spk_alloc = drm_eld_get_spk_alloc(hcp->eld);
372 struct hdmi_codec_priv *hcp = info->private_data;
374 map = info->chmap[hcp->chmap_idx].map;
377 if (hcp->chmap_idx == HDMI_CODEC_CHMAP_IDX_UNKNOWN)
398 struct hdmi_codec_priv *hcp = snd_soc_component_get_drvdata(component);
400 memcpy(ucontrol->value.iec958.status, hcp->iec_status,
401 sizeof(hcp->iec_status));
410 struct hdmi_codec_priv *hcp = snd_soc_component_get_drvdata(component);
412 memcpy(hcp->iec_status, ucontrol->value.iec958.status,
413 sizeof(hcp->iec_status));
430 struct hdmi_codec_priv *hcp = snd_soc_dai_get_drvdata(dai);
432 bool has_capture = !hcp->hcd.no_i2s_capture;
433 bool has_playback = !hcp->hcd.no_i2s_playback;
439 mutex_lock(&hcp->lock);
440 if (hcp->busy) {
442 mutex_unlock(&hcp->lock);
446 if (hcp->hcd.ops->audio_startup) {
447 ret = hcp->hcd.ops->audio_startup(dai->dev->parent, hcp->hcd.data);
452 if (tx && hcp->hcd.ops->get_eld) {
453 ret = hcp->hcd.ops->get_eld(dai->dev->parent, hcp->hcd.data,
454 hcp->eld, sizeof(hcp->eld));
458 ret = snd_pcm_hw_constraint_eld(substream->runtime, hcp->eld);
463 hdmi_codec_eld_chmap(hcp);
466 hcp->busy = true;
469 mutex_unlock(&hcp->lock);
476 struct hdmi_codec_priv *hcp = snd_soc_dai_get_drvdata(dai);
478 bool has_capture = !hcp->hcd.no_i2s_capture;
479 bool has_playback = !hcp->hcd.no_i2s_playback;
484 hcp->chmap_idx = HDMI_CODEC_CHMAP_IDX_UNKNOWN;
485 hcp->hcd.ops->audio_shutdown(dai->dev->parent, hcp->hcd.data);
487 mutex_lock(&hcp->lock);
488 hcp->busy = false;
489 mutex_unlock(&hcp->lock);
498 struct hdmi_codec_priv *hcp = snd_soc_dai_get_drvdata(dai);
501 bool pcm_audio = !(hcp->iec_status[0] & IEC958_AES0_NONAUDIO);
505 idx = hdmi_codec_get_ch_alloc_table_idx(hcp, channels);
510 hcp->chmap_idx = HDMI_CODEC_CHMAP_IDX_UNKNOWN;
536 hcp->chmap_idx = ca_id;
538 hcp->chmap_idx = HDMI_CODEC_CHMAP_IDX_UNKNOWN;
547 struct hdmi_codec_priv *hcp = snd_soc_dai_get_drvdata(dai);
559 if (!hcp->hcd.ops->hw_params)
574 memcpy(hp.iec.status, hcp->iec_status, sizeof(hp.iec.status));
584 return hcp->hcd.ops->hw_params(dai->dev->parent, hcp->hcd.data,
591 struct hdmi_codec_priv *hcp = snd_soc_dai_get_drvdata(dai);
600 if (!hcp->hcd.ops->prepare)
610 memcpy(hp.iec.status, hcp->iec_status, sizeof(hp.iec.status));
620 return hcp->hcd.ops->prepare(dai->dev->parent, hcp->hcd.data,
693 struct hdmi_codec_priv *hcp = snd_soc_dai_get_drvdata(dai);
701 if (hcp->hcd.ops->mute_stream &&
703 !hcp->hcd.ops->no_capture_mute))
704 return hcp->hcd.ops->mute_stream(dai->dev->parent,
705 hcp->hcd.data,
779 struct hdmi_codec_priv *hcp = snd_soc_dai_get_drvdata(dai);
785 &hcp->chmap_info);
790 hcp->chmap_info->private_data = hcp;
791 hcp->chmap_info->kctl->get = hdmi_codec_chmap_ctl_get;
794 hcp->chmap_info->chmap = hdmi_codec_stereo_chmaps;
795 hcp->chmap_idx = HDMI_CODEC_CHMAP_IDX_UNKNOWN;
851 static void hdmi_codec_jack_report(struct hdmi_codec_priv *hcp,
854 if (jack_status != hcp->jack_status) {
855 if (hcp->jack)
856 snd_soc_jack_report(hcp->jack, jack_status, SND_JACK_LINEOUT);
857 hcp->jack_status = jack_status;
863 struct hdmi_codec_priv *hcp = dev_get_drvdata(dev);
866 if (hcp->hcd.ops->get_eld) {
867 hcp->hcd.ops->get_eld(dev->parent, hcp->hcd.data,
868 hcp->eld, sizeof(hcp->eld));
870 hdmi_codec_jack_report(hcp, SND_JACK_LINEOUT);
872 hdmi_codec_jack_report(hcp, 0);
873 memset(hcp->eld, 0, sizeof(hcp->eld));
881 struct hdmi_codec_priv *hcp = snd_soc_component_get_drvdata(component);
883 if (hcp->hcd.ops->hook_plugged_cb) {
884 hcp->jack = jack;
890 snd_soc_jack_report(jack, hcp->jack_status, SND_JACK_LINEOUT);
980 struct hdmi_codec_priv *hcp = snd_soc_component_get_drvdata(component);
983 if (hcp->hcd.ops->get_dai_id)
984 ret = hcp->hcd.ops->get_dai_id(component, endpoint);
991 struct hdmi_codec_priv *hcp = snd_soc_component_get_drvdata(component);
994 if (hcp->hcd.ops->hook_plugged_cb) {
995 ret = hcp->hcd.ops->hook_plugged_cb(component->dev->parent,
996 hcp->hcd.data,
1006 struct hdmi_codec_priv *hcp = snd_soc_component_get_drvdata(component);
1008 if (hcp->hcd.ops->hook_plugged_cb)
1009 hcp->hcd.ops->hook_plugged_cb(component->dev->parent,
1010 hcp->hcd.data, NULL, NULL);
1030 struct hdmi_codec_priv *hcp;
1047 hcp = devm_kzalloc(dev, sizeof(*hcp), GFP_KERNEL);
1048 if (!hcp)
1051 hcp->hcd = *hcd;
1052 mutex_init(&hcp->lock);
1054 ret = snd_pcm_create_iec958_consumer_default(hcp->iec_status,
1055 sizeof(hcp->iec_status));
1085 dev_set_drvdata(dev, hcp);