/linux/drivers/gpu/drm/mediatek/ |
H A D | mtk_hdmi.c | 1 // SPDX-License-Identifier: GPL-2.0-only 7 #include <linux/arm-smccc.h> 10 #include <linux/hdmi.h> 24 #include <sound/hdmi-codec.h> 183 static void mtk_hdmi_hw_vid_black(struct mtk_hdmi *hdmi, bool black) in mtk_hdmi_hw_vid_black() argument 185 regmap_update_bits(hdmi->regs, VIDEO_SOURCE_SEL, in mtk_hdmi_hw_vid_black() 189 static void mtk_hdmi_hw_make_reg_writable(struct mtk_hdmi *hdmi, bool enable) in mtk_hdmi_hw_make_reg_writable() argument 194 * MT8173 HDMI hardware has an output control bit to enable/disable HDMI in mtk_hdmi_hw_make_reg_writable() 196 * The ARM trusted firmware provides an API for the HDMI driver to set in mtk_hdmi_hw_make_reg_writable() 197 * this control bit to enable HDMI output in supervisor mode. in mtk_hdmi_hw_make_reg_writable() [all …]
|
/linux/Documentation/devicetree/bindings/display/samsung/ |
H A D | samsung,exynos-hdmi.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only 3 --- 4 $id: http://devicetree.org/schemas/display/samsung/samsung,exynos-hdmi.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Samsung Exynos SoC HDMI 10 - Inki Dae <inki.dae@samsung.com> 11 - Seung-Woo Kim <sw0312.kim@samsung.com> 12 - Kyungmin Park <kyungmin.park@samsung.com> 13 - Krzysztof Kozlowski <krzk@kernel.org> 18 - samsung,exynos4210-hdmi [all …]
|
/linux/sound/soc/mediatek/mt8183/ |
H A D | mt8183-dai-tdm.c | 1 // SPDX-License-Identifier: GPL-2.0 10 #include "mt8183-afe-clk.h" 11 #include "mt8183-afe-common.h" 12 #include "mt8183-interconnection.h" 13 #include "mt8183-reg.h" 92 return snd_pcm_format_physical_width(format) - 1; in get_tdm_lrck_width() 97 switch (ch) { in get_tdm_ch() 250 struct snd_soc_component *cmpnt = snd_soc_dapm_to_component(w->dapm); in mtk_tdm_bck_en_event() 252 struct mt8183_afe_private *afe_priv = afe->platform_priv; in mtk_tdm_bck_en_event() 253 struct mtk_afe_tdm_priv *tdm_priv = afe_priv->dai_priv[MT8183_DAI_TDM]; in mtk_tdm_bck_en_event() [all …]
|
/linux/drivers/gpu/drm/bridge/synopsys/ |
H A D | dw-hdmi-i2s-audio.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * dw-hdmi-i2s-audio.c 9 #include <linux/dma-mapping.h> 15 #include <sound/hdmi-codec.h> 17 #include "dw-hdmi.h" 18 #include "dw-hdmi-audio.h" 20 #define DRIVER_NAME "dw-hdmi-i2s-audio" 25 struct dw_hdmi *hdmi = audio->hdmi; in hdmi_write() local 27 audio->write(hdmi, val, offset); in hdmi_write() 32 struct dw_hdmi *hdmi = audio->hdmi; in hdmi_read() local [all …]
|
H A D | dw-hdmi-qp.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Copyright (c) 2021-2022 Rockchip Electronics Co., Ltd. 6 * Author: Algea Cao <algea.cao@rock-chips.com> 10 #include <linux/hdmi.h> 29 #include <sound/hdmi-codec.h> 31 #include "dw-hdmi-qp.h" 43 * slow so we pre-compute values we expect to see. 46 * the recommended N values specified in the Audio chapter of the HDMI 93 /* For 297 MHz+ HDMI spec have some other rule for setting N */ 102 * These are the CTS values as recommended in the Audio chapter of the HDMI [all …]
|
/linux/sound/soc/mediatek/mt8192/ |
H A D | mt8192-dai-tdm.c | 1 // SPDX-License-Identifier: GPL-2.0 11 #include "mt8192-afe-clk.h" 12 #include "mt8192-afe-common.h" 13 #include "mt8192-afe-gpio.h" 14 #include "mt8192-interconnection.h" 84 return snd_pcm_format_physical_width(format) - 1; in get_tdm_lrck_width() 89 switch (ch) { in get_tdm_ch() 248 struct snd_soc_component *cmpnt = snd_soc_dapm_to_component(w->dapm); in mtk_tdm_en_event() 250 struct mt8192_afe_private *afe_priv = afe->platform_priv; in mtk_tdm_en_event() 251 int dai_id = get_tdm_id_by_name(w->name); in mtk_tdm_en_event() [all …]
|
/linux/drivers/gpu/drm/omapdrm/dss/ |
H A D | hdmi_common.c | 1 // SPDX-License-Identifier: GPL-2.0 3 #define DSS_SUBSYS_NAME "HDMI" 10 #include "hdmi.h" 23 dev_err(&pdev->dev, "bad number of lanes\n"); in hdmi_parse_lanes_of() 24 return -EINVAL; in hdmi_parse_lanes_of() 30 dev_err(&pdev->dev, "failed to read lane data\n"); in hdmi_parse_lanes_of() 36 dev_err(&pdev->dev, "failed to parse lane data\n"); in hdmi_parse_lanes_of() 44 dev_err(&pdev->dev, "failed to parse lane data\n"); in hdmi_parse_lanes_of() 58 return -EINVAL; in hdmi_compute_acr() 64 * When using deep color, the default N value (as in the HDMI in hdmi_compute_acr() [all …]
|
/linux/drivers/video/fbdev/omap2/omapfb/dss/ |
H A D | hdmi_common.c | 1 // SPDX-License-Identifier: GPL-2.0 3 #define DSS_SUBSYS_NAME "HDMI" 10 #include "hdmi.h" 23 dev_err(&pdev->dev, "bad number of lanes\n"); in hdmi_parse_lanes_of() 24 return -EINVAL; in hdmi_parse_lanes_of() 30 dev_err(&pdev->dev, "failed to read lane data\n"); in hdmi_parse_lanes_of() 36 dev_err(&pdev->dev, "failed to parse lane data\n"); in hdmi_parse_lanes_of() 44 dev_err(&pdev->dev, "failed to parse lane data\n"); in hdmi_parse_lanes_of() 58 return -EINVAL; in hdmi_compute_acr() 64 * When using deep color, the default N value (as in the HDMI in hdmi_compute_acr() [all …]
|
/linux/drivers/gpu/drm/msm/hdmi/ |
H A D | hdmi_bridge.c | 1 // SPDX-License-Identifier: GPL-2.0-only 14 #include "hdmi.h" 18 struct drm_device *dev = bridge->dev; in msm_hdmi_power_on() 20 struct hdmi *hdmi = hdmi_bridge->hdmi; in msm_hdmi_power_on() local 23 pm_runtime_resume_and_get(&hdmi->pdev->dev); in msm_hdmi_power_on() 25 if (hdmi->extp_clk) { in msm_hdmi_power_on() 26 DBG("pixclock: %lu", hdmi->pixclock); in msm_hdmi_power_on() 27 ret = clk_set_rate(hdmi->extp_clk, hdmi->pixclock); in msm_hdmi_power_on() 29 DRM_DEV_ERROR(dev->dev, "failed to set extp clk rate: %d\n", ret); in msm_hdmi_power_on() 31 ret = clk_prepare_enable(hdmi->extp_clk); in msm_hdmi_power_on() [all …]
|
H A D | hdmi_audio.c | 1 // SPDX-License-Identifier: GPL-2.0-only 10 #include <linux/hdmi.h> 12 #include <sound/hdmi-codec.h> 14 #include "hdmi.h" 16 int msm_hdmi_audio_update(struct hdmi *hdmi) in msm_hdmi_audio_update() argument 18 struct hdmi_audio *audio = &hdmi->audio; in msm_hdmi_audio_update() 19 bool enabled = audio->enabled; in msm_hdmi_audio_update() 23 if (!hdmi->connector->display_info.is_hdmi) in msm_hdmi_audio_update() 24 return -EINVAL; in msm_hdmi_audio_update() 27 audio->enabled, audio->channels, audio->rate); in msm_hdmi_audio_update() [all …]
|
/linux/sound/pci/oxygen/ |
H A D | xonar_hdmi.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * helper functions for HDMI models (Xonar HDAV1.3/HDAV1.3 Slim) 37 struct xonar_hdmi *hdmi) in xonar_hdmi_init_commands() argument 46 hdmi_write_command(chip, 0x54, 5, hdmi->params); in xonar_hdmi_init_commands() 49 void xonar_hdmi_init(struct oxygen *chip, struct xonar_hdmi *hdmi) in xonar_hdmi_init() argument 51 hdmi->params[1] = IEC958_AES3_CON_FS_48000; in xonar_hdmi_init() 52 hdmi->params[4] = 1; in xonar_hdmi_init() 53 xonar_hdmi_init_commands(chip, hdmi); in xonar_hdmi_init() 63 void xonar_hdmi_resume(struct oxygen *chip, struct xonar_hdmi *hdmi) in xonar_hdmi_resume() argument 65 xonar_hdmi_init_commands(chip, hdmi); in xonar_hdmi_resume() [all …]
|
/linux/sound/soc/intel/boards/ |
H A D | sof_ssp_amp.c | 1 // SPDX-License-Identifier: GPL-2.0-only 6 * sof_ssp_amp.c - ASoc Machine driver for Intel platforms 24 /* Driver-specific board quirks: from bit 0 to 7 */ 52 /* BE ID defined in sof-tgl-rt1308-hdmi-ssp.m4 */ 57 /* extra BE links to support no-hdmi-in boards */ 87 if (ctx->amp_type == CODEC_NONE) in sof_card_dai_links_create() 90 if (!ctx->amp_link) { in sof_card_dai_links_create() 92 return -EINVAL; in sof_card_dai_links_create() 95 /* codec-specific fields for speaker amplifier */ in sof_card_dai_links_create() 96 switch (ctx->amp_type) { in sof_card_dai_links_create() [all …]
|
/linux/sound/hda/codecs/hdmi/ |
H A D | nvhdmi-mcp.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Legacy Nvidia HDMI codec support 52 struct hdmi_spec *spec = codec->spec; in nvhdmi_mcp_init() 54 if (spec->multiout.max_channels == 2) in nvhdmi_mcp_init() 65 int chan = channels ? (channels - 1) : 1; in nvhdmi_8ch_7x_set_info_frame_parameters() 67 switch (channels) { in nvhdmi_8ch_7x_set_info_frame_parameters() 92 (0x71 - chan - chanmask)); in nvhdmi_8ch_7x_set_info_frame_parameters() 99 struct hdmi_spec *spec = codec->spec; in nvhdmi_8ch_7x_pcm_close() 118 return snd_hda_multi_out_dig_close(codec, &spec->multiout); in nvhdmi_8ch_7x_pcm_close() 130 struct hdmi_spec *spec = codec->spec; in nvhdmi_8ch_7x_pcm_prepare() [all …]
|
H A D | intelhdmi.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Intel HDMI codec support 19 MODULE_PARM_DESC(enable_silent_stream, "Enable Silent Stream for HDMI devices"); 40 struct hdmi_spec *spec = codec->spec; in intel_haswell_enable_all_pins() 42 vendor_param = snd_hda_codec_read(codec, spec->vendor_nid, 0, in intel_haswell_enable_all_pins() 44 if (vendor_param == -1 || vendor_param & INTEL_EN_ALL_PIN_CVTS) in intel_haswell_enable_all_pins() 48 vendor_param = snd_hda_codec_read(codec, spec->vendor_nid, 0, in intel_haswell_enable_all_pins() 50 if (vendor_param == -1) in intel_haswell_enable_all_pins() 60 struct hdmi_spec *spec = codec->spec; in intel_haswell_fixup_enable_dp12() 62 vendor_param = snd_hda_codec_read(codec, spec->vendor_nid, 0, in intel_haswell_fixup_enable_dp12() [all …]
|
/linux/sound/soc/ti/ |
H A D | omap-hdmi.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * omap-hdmi-audio.c -- OMAP4+ DSS HDMI audio support library 5 * Copyright (C) 2014 Texas Instruments Incorporated - https://www.ti.com 20 #include <sound/omap-hdmi-audio.h> 22 #include "sdma-pcm.h" 24 #define DRV_NAME "omap-hdmi-audio" 45 return snd_soc_card_get_drvdata(rtd->card); in card_drvdata_substream() 52 mutex_lock(&ad->current_stream_lock); in hdmi_dai_abort() 53 if (ad->current_stream && ad->current_stream->runtime && in hdmi_dai_abort() 54 snd_pcm_running(ad->current_stream)) { in hdmi_dai_abort() [all …]
|
/linux/drivers/gpu/drm/sti/ |
H A D | sti_hdmi.c | 1 // SPDX-License-Identifier: GPL-2.0 10 #include <linux/hdmi.h> 26 #include <sound/hdmi-codec.h> 96 #define HDMI_IFRAME_CFG_DI_N(x, n) ((x) << ((n-1)*4)) /* n from 1 to 6 */ 164 struct sti_hdmi *hdmi; member 182 u32 hdmi_read(struct sti_hdmi *hdmi, int offset) in hdmi_read() argument 184 return readl(hdmi->regs + offset); in hdmi_read() 187 void hdmi_write(struct sti_hdmi *hdmi, u32 val, int offset) in hdmi_write() argument 189 writel(val, hdmi->regs + offset); in hdmi_write() 193 * HDMI interrupt handler threaded [all …]
|
/linux/Documentation/devicetree/bindings/display/rockchip/ |
H A D | rockchip,rk3066-hdmi.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/display/rockchip/rockchip,rk3066-hdmi.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Rockchip rk3066 HDMI controller 10 - Sandy Huang <hjc@rock-chips.com> 11 - Heiko Stuebner <heiko@sntech.de> 14 - $ref: /schemas/sound/dai-common.yaml# 18 const: rockchip,rk3066-hdmi 29 clock-names: [all …]
|
/linux/drivers/gpu/drm/bridge/ |
H A D | ite-it6263.c | 1 // SPDX-License-Identifier: GPL-2.0 10 #include <linux/hdmi.h> 12 #include <linux/media-bus-format.h> 31 /* ----------------------------------------------------------------------------- 65 /* ----------------------------------------------------------------------------- 66 * HDMI registers are separated into three banks: 67 * 1) HDMI register common bank: 0x00 ~ 0x2f 70 /* HDMI genernal registers */ 87 /* HDMI System DDC control registers */ 114 /* ----------------------------------------------------------------------------- [all …]
|
/linux/drivers/gpu/drm/nouveau/nvkm/engine/disp/ |
H A D | uoutp.c | 35 struct nvkm_ior *ior = outp->ior; in nvkm_uoutp_mthd_dp_mst_vcpi() 38 if (argc != sizeof(args->v0) || args->v0.version != 0) in nvkm_uoutp_mthd_dp_mst_vcpi() 39 return -ENOSYS; in nvkm_uoutp_mthd_dp_mst_vcpi() 40 if (!ior->func->dp || !ior->func->dp->vcpi || !nvkm_head_find(outp->disp, args->v0.head)) in nvkm_uoutp_mthd_dp_mst_vcpi() 41 return -EINVAL; in nvkm_uoutp_mthd_dp_mst_vcpi() 43 ior->func->dp->vcpi(ior, args->v0.head, args->v0.start_slot, args->v0.num_slots, in nvkm_uoutp_mthd_dp_mst_vcpi() 44 args->v0.pbn, args->v0.aligned_pbn); in nvkm_uoutp_mthd_dp_mst_vcpi() 53 if (argc != sizeof(args->v0) || args->v0.version != 0) in nvkm_uoutp_mthd_dp_mst_id_put() 54 return -ENOSYS; in nvkm_uoutp_mthd_dp_mst_id_put() 55 if (!outp->func->dp.mst_id_put) in nvkm_uoutp_mthd_dp_mst_id_put() [all …]
|
/linux/drivers/media/i2c/adv748x/ |
H A D | adv748x-hdmi.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * Driver for Analog Devices ADV748X HDMI receiver and Component Processor (CP) 11 #include <media/v4l2-ctrls.h> 12 #include <media/v4l2-device.h> 13 #include <media/v4l2-dv-timings.h> 14 #include <media/v4l2-ioctl.h> 16 #include <uapi/linux/v4l2-dv-timings.h> 20 /* ----------------------------------------------------------------------------- 21 * HDMI and CP 29 /* V4L2_DV_BT_CEA_720X480I59_94 - 0.5 MHz */ [all …]
|
/linux/sound/soc/qcom/ |
H A D | lpass.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * Copyright (c) 2010-2011,2013-2015,2020 The Linux Foundation. All rights reserved. 5 * lpass.h - Definitions for the QTi LPASS 15 #include <dt-bindings/sound/qcom,lpass.h> 16 #include <dt-bindings/sound/qcom,q6afe.h> 17 #include "lpass-hdmi.h" 39 return -EINVAL; \ 44 switch (dai_id) { in is_cdc_dma_port() 55 switch (dai_id) { in is_rxtx_cdc_dma_port() 97 /* AHB-I/X bus clocks inside the low-power audio subsystem (LPASS) */ [all …]
|
H A D | lpass-hdmi.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * lpass-hdmi.c -- ALSA SoC HDMI-CPU DAI driver for QTi LPASS HDMI 14 #include <sound/soc-dai.h> 15 #include <dt-bindings/sound/sc7180-lpass.h> 16 #include "lpass-lpaif-reg.h" 34 struct lpass_dp_metadata_ctl *meta_ctl = drvdata->meta_ctl; in lpass_hdmi_daiops_hw_params() 35 struct lpass_sstream_ctl *sstream_ctl = drvdata->sstream_ctl; in lpass_hdmi_daiops_hw_params() 39 dev_err(dai->dev, "%s invalid bit width given : %d\n", in lpass_hdmi_daiops_hw_params() 44 switch (bitwidth) { in lpass_hdmi_daiops_hw_params() 52 dev_err(dai->dev, "%s invalid bit width given : %d\n", in lpass_hdmi_daiops_hw_params() [all …]
|
/linux/drivers/gpu/drm/i915/display/ |
H A D | intel_hdmi.c | 3 * Copyright © 2006-2009 Intel Corporation 30 #include <linux/hdmi.h> 44 #include <media/cec-notifier.h> 77 drm_WARN(display->drm, in assert_hdmi_port_disabled() 78 intel_de_read(display, intel_hdmi->hdmi_reg) & enabled_bits, in assert_hdmi_port_disabled() 79 "HDMI port enabled, expecting disabled\n"); in assert_hdmi_port_disabled() 86 drm_WARN(display->drm, in assert_hdmi_transcoder_func_disabled() 89 "HDMI transcoder function enabled, expecting disabled\n"); in assert_hdmi_transcoder_func_disabled() 94 switch (type) { in g4x_infoframe_index() 111 switch (type) { in g4x_infoframe_enable() [all …]
|
/linux/sound/soc/samsung/ |
H A D | tm2_wm5110.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 // Copyright (C) 2015 - 2016 Samsung Electronics Co., Ltd. 36 struct snd_soc_component *component = priv->component; in tm2_start_sysclk() 42 priv->sysclk_rate); in tm2_start_sysclk() 44 dev_err(component->dev, "Failed to set FLL1 source: %d\n", ret); in tm2_start_sysclk() 51 priv->sysclk_rate); in tm2_start_sysclk() 53 dev_err(component->dev, "Failed to start FLL1: %d\n", ret); in tm2_start_sysclk() 59 priv->sysclk_rate, in tm2_start_sysclk() 62 dev_err(component->dev, "Failed to set SYSCLK source: %d\n", ret); in tm2_start_sysclk() 72 struct snd_soc_component *component = priv->component; in tm2_stop_sysclk() [all …]
|
/linux/drivers/gpu/drm/amd/display/dc/dio/dcn35/ |
H A D | dcn35_dio_stream_encoder.c | 1 /* SPDX-License-Identifier: MIT */ 36 enc1->base.ctx->logger 39 (enc1->regs->reg) 43 enc1->se_shift->field_name, enc1->se_mask->field_name 49 enc1->base.ctx 58 if (!enc->ctx->dc->debug.avoid_vbios_exec_table) { in enc35_stream_encoder_dvi_set_stream_attribute() 62 cntl.engine_id = enc1->base.id; in enc35_stream_encoder_dvi_set_stream_attribute() 66 cntl.pixel_clock = crtc_timing->pix_clk_100hz / 10; in enc35_stream_encoder_dvi_set_stream_attribute() 69 if (enc1->base.bp->funcs->encoder_control( in enc35_stream_encoder_dvi_set_stream_attribute() 70 enc1->base.bp, &cntl) != BP_RESULT_OK) in enc35_stream_encoder_dvi_set_stream_attribute() [all …]
|