Lines Matching defs:hcp

302 	struct hdmi_codec_priv *hcp = snd_soc_component_get_drvdata(component);
304 memcpy(ucontrol->value.bytes.data, hcp->eld, sizeof(hcp->eld));
326 static void hdmi_codec_eld_chmap(struct hdmi_codec_priv *hcp)
331 spk_alloc = drm_eld_get_spk_alloc(hcp->eld);
335 if ((spk_mask & ~(FL | FR)) && hcp->chmap_info->max_channels > 2)
336 hcp->chmap_info->chmap = hdmi_codec_8ch_chmaps;
338 hcp->chmap_info->chmap = hdmi_codec_stereo_chmaps;
341 static int hdmi_codec_get_ch_alloc_table_idx(struct hdmi_codec_priv *hcp,
349 spk_alloc = drm_eld_get_spk_alloc(hcp->eld);
371 struct hdmi_codec_priv *hcp = info->private_data;
373 map = info->chmap[hcp->chmap_idx].map;
376 if (hcp->chmap_idx == HDMI_CODEC_CHMAP_IDX_UNKNOWN)
397 struct hdmi_codec_priv *hcp = snd_soc_component_get_drvdata(component);
399 memcpy(ucontrol->value.iec958.status, hcp->iec_status,
400 sizeof(hcp->iec_status));
409 struct hdmi_codec_priv *hcp = snd_soc_component_get_drvdata(component);
411 memcpy(hcp->iec_status, ucontrol->value.iec958.status,
412 sizeof(hcp->iec_status));
429 struct hdmi_codec_priv *hcp = snd_soc_dai_get_drvdata(dai);
431 bool has_capture = !hcp->hcd.no_i2s_capture;
432 bool has_playback = !hcp->hcd.no_i2s_playback;
438 mutex_lock(&hcp->lock);
439 if (hcp->busy) {
441 mutex_unlock(&hcp->lock);
445 if (hcp->hcd.ops->audio_startup) {
446 ret = hcp->hcd.ops->audio_startup(dai->dev->parent, hcp->hcd.data);
451 if (tx && hcp->hcd.ops->get_eld) {
452 ret = hcp->hcd.ops->get_eld(dai->dev->parent, hcp->hcd.data,
453 hcp->eld, sizeof(hcp->eld));
457 ret = snd_pcm_hw_constraint_eld(substream->runtime, hcp->eld);
462 hdmi_codec_eld_chmap(hcp);
465 hcp->busy = true;
468 mutex_unlock(&hcp->lock);
475 struct hdmi_codec_priv *hcp = snd_soc_dai_get_drvdata(dai);
477 bool has_capture = !hcp->hcd.no_i2s_capture;
478 bool has_playback = !hcp->hcd.no_i2s_playback;
483 hcp->chmap_idx = HDMI_CODEC_CHMAP_IDX_UNKNOWN;
484 hcp->hcd.ops->audio_shutdown(dai->dev->parent, hcp->hcd.data);
486 mutex_lock(&hcp->lock);
487 hcp->busy = false;
488 mutex_unlock(&hcp->lock);
497 struct hdmi_codec_priv *hcp = snd_soc_dai_get_drvdata(dai);
500 bool pcm_audio = !(hcp->iec_status[0] & IEC958_AES0_NONAUDIO);
504 idx = hdmi_codec_get_ch_alloc_table_idx(hcp, channels);
509 hcp->chmap_idx = HDMI_CODEC_CHMAP_IDX_UNKNOWN;
535 hcp->chmap_idx = ca_id;
537 hcp->chmap_idx = HDMI_CODEC_CHMAP_IDX_UNKNOWN;
546 struct hdmi_codec_priv *hcp = snd_soc_dai_get_drvdata(dai);
558 if (!hcp->hcd.ops->hw_params)
573 memcpy(hp.iec.status, hcp->iec_status, sizeof(hp.iec.status));
583 return hcp->hcd.ops->hw_params(dai->dev->parent, hcp->hcd.data,
590 struct hdmi_codec_priv *hcp = snd_soc_dai_get_drvdata(dai);
599 if (!hcp->hcd.ops->prepare)
609 memcpy(hp.iec.status, hcp->iec_status, sizeof(hp.iec.status));
619 return hcp->hcd.ops->prepare(dai->dev->parent, hcp->hcd.data,
692 struct hdmi_codec_priv *hcp = snd_soc_dai_get_drvdata(dai);
700 if (hcp->hcd.ops->mute_stream &&
702 !hcp->hcd.ops->no_capture_mute))
703 return hcp->hcd.ops->mute_stream(dai->dev->parent,
704 hcp->hcd.data,
778 struct hdmi_codec_priv *hcp = snd_soc_dai_get_drvdata(dai);
784 &hcp->chmap_info);
789 hcp->chmap_info->private_data = hcp;
790 hcp->chmap_info->kctl->get = hdmi_codec_chmap_ctl_get;
793 hcp->chmap_info->chmap = hdmi_codec_stereo_chmaps;
794 hcp->chmap_idx = HDMI_CODEC_CHMAP_IDX_UNKNOWN;
850 static void hdmi_codec_jack_report(struct hdmi_codec_priv *hcp,
853 if (jack_status != hcp->jack_status) {
854 if (hcp->jack)
855 snd_soc_jack_report(hcp->jack, jack_status, SND_JACK_LINEOUT);
856 hcp->jack_status = jack_status;
862 struct hdmi_codec_priv *hcp = dev_get_drvdata(dev);
865 if (hcp->hcd.ops->get_eld) {
866 hcp->hcd.ops->get_eld(dev->parent, hcp->hcd.data,
867 hcp->eld, sizeof(hcp->eld));
869 hdmi_codec_jack_report(hcp, SND_JACK_LINEOUT);
871 hdmi_codec_jack_report(hcp, 0);
872 memset(hcp->eld, 0, sizeof(hcp->eld));
880 struct hdmi_codec_priv *hcp = snd_soc_component_get_drvdata(component);
882 if (hcp->hcd.ops->hook_plugged_cb) {
883 hcp->jack = jack;
889 snd_soc_jack_report(jack, hcp->jack_status, SND_JACK_LINEOUT);
979 struct hdmi_codec_priv *hcp = snd_soc_component_get_drvdata(component);
982 if (hcp->hcd.ops->get_dai_id)
983 ret = hcp->hcd.ops->get_dai_id(component, endpoint);
990 struct hdmi_codec_priv *hcp = snd_soc_component_get_drvdata(component);
993 if (hcp->hcd.ops->hook_plugged_cb) {
994 ret = hcp->hcd.ops->hook_plugged_cb(component->dev->parent,
995 hcp->hcd.data,
1005 struct hdmi_codec_priv *hcp = snd_soc_component_get_drvdata(component);
1007 if (hcp->hcd.ops->hook_plugged_cb)
1008 hcp->hcd.ops->hook_plugged_cb(component->dev->parent,
1009 hcp->hcd.data, NULL, NULL);
1029 struct hdmi_codec_priv *hcp;
1046 hcp = devm_kzalloc(dev, sizeof(*hcp), GFP_KERNEL);
1047 if (!hcp)
1050 hcp->hcd = *hcd;
1051 mutex_init(&hcp->lock);
1053 ret = snd_pcm_create_iec958_consumer_default(hcp->iec_status,
1054 sizeof(hcp->iec_status));
1084 dev_set_drvdata(dev, hcp);