| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/media/ |
| D | cec.txt | 3 - hdmi-phandle: phandle to the HDMI controller. 5 - needs-hpd: if present the CEC support is only available when the HPD 6 is high. Some boards only let the CEC pin through if the HPD is high, 7 for example if there is a level converter that uses the HPD to power
|
| D | s5p-cec.txt | 7 - compatible : value should be following 8 "samsung,s5p-cec" 10 - reg : Physical base address of the IP registers and length of memory 13 - interrupts : HDMI CEC interrupt number to the CPU. 14 - clocks : from common clock binding: handle to HDMI CEC clock. 15 - clock-names : from common clock binding: must contain "hdmicec", 17 - samsung,syscon-phandle - phandle to the PMU system controller 18 - hdmi-phandle - phandle to the HDMI controller, see also cec.txt. 21 - needs-hpd : if present the CEC support is only available when the HPD 27 compatible = "samsung,s5p-cec"; [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/media/cec/ |
| D | cec-common.yaml | 1 # SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause 3 --- 4 $id: http://devicetree.org/schemas/media/cec/cec-common.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Hans Verkuil <hverkuil@xs4all.nl> 14 pattern: "^cec(@[0-9a-f]+|-[0-9]+)?$" 16 hdmi-phandle: 21 needs-hpd: 24 The CEC support is only available when the HPD is high. Some boards only 25 let the CEC pin through if the HPD is high, for example if there is a [all …]
|
| D | samsung,s5p-cec.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 4 $id: http://devicetree.org/schemas/media/cec/samsung,s5p-cec.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Krzysztof Kozlowski <krzk@kernel.org> 11 - Marek Szyprowski <m.szyprowski@samsung.com> 14 - $ref: cec-common.yaml# 18 const: samsung,s5p-cec 23 clock-names: 25 - const: hdmicec [all …]
|
| /kernel/linux/linux-6.6/Documentation/admin-guide/media/ |
| D | cec.rst | 1 .. SPDX-License-Identifier: GPL-2.0 12 - Exynos4 13 - Exynos5 14 - STIH4xx HDMI CEC 15 - V4L2 adv7511 (same HW, but a different driver from the drm adv7511) 16 - stm32 17 - Allwinner A10 (sun4i) 18 - Raspberry Pi 19 - dw-hdmi (Synopsis IP) 20 - amlogic (meson ao-cec and ao-cec-g12a) [all …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/bridge/ |
| D | ti-tpd12s015.c | 1 // SPDX-License-Identifier: GPL-2.0 7 * Based on the omapdrm-specific encoder-opa362 driver 47 return -EINVAL; in tpd12s015_attach() 49 ret = drm_bridge_attach(bridge->encoder, tpd->next_bridge, in tpd12s015_attach() 54 gpiod_set_value_cansleep(tpd->ls_oe_gpio, 1); in tpd12s015_attach() 56 /* DC-DC converter needs at max 300us to get to 90% of 5V. */ in tpd12s015_attach() 66 gpiod_set_value_cansleep(tpd->ls_oe_gpio, 0); in tpd12s015_detach() 73 if (gpiod_get_value_cansleep(tpd->hpd_gpio)) in tpd12s015_detect() 83 gpiod_set_value_cansleep(tpd->ct_cp_hpd_gpio, 1); in tpd12s015_hpd_enable() 90 gpiod_set_value_cansleep(tpd->ct_cp_hpd_gpio, 0); in tpd12s015_hpd_disable() [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/bridge/ |
| D | ti-tpd12s015.c | 1 // SPDX-License-Identifier: GPL-2.0 7 * Based on the omapdrm-specific encoder-opa362 driver 47 return -EINVAL; in tpd12s015_attach() 49 ret = drm_bridge_attach(bridge->encoder, tpd->next_bridge, in tpd12s015_attach() 54 gpiod_set_value_cansleep(tpd->ls_oe_gpio, 1); in tpd12s015_attach() 56 /* DC-DC converter needs at max 300us to get to 90% of 5V. */ in tpd12s015_attach() 66 gpiod_set_value_cansleep(tpd->ls_oe_gpio, 0); in tpd12s015_detach() 73 if (gpiod_get_value_cansleep(tpd->hpd_gpio)) in tpd12s015_detect() 83 gpiod_set_value_cansleep(tpd->ct_cp_hpd_gpio, 1); in tpd12s015_hpd_enable() 90 gpiod_set_value_cansleep(tpd->ct_cp_hpd_gpio, 0); in tpd12s015_hpd_disable() [all …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/amd/display/dc/ |
| D | dc.h | 2 * Copyright 2012-2023 Advanced Micro Devices, Inc. 99 // for example, 1080p -> 8K is 4.0, or 4000 raw value 107 // for example, 8K -> 1080p is 0.25, or 250 raw value 119 * DOC: color-management-caps 124 * abstracted HW. DCE 5-12 had almost no important changes, but starting with 131 * struct rom_curve_caps - predefined transfer function caps for degamma and regamma 147 * struct dpp_color_caps - color pipeline capabilities for display pipe and 152 * just plain 256-entry lookup 161 * @dgam_rom_for_yuv: pre-defined degamma LUT for YUV planes 162 * @dgam_rom_caps: pre-definied curve caps for degamma 1D LUT [all …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/meson/ |
| D | meson_dw_hdmi.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 32 #define DRIVER_NAME "meson-dw-hdmi" 33 #define DRIVER_DESC "Amlogic Meson HDMI-TX DRM driver" 40 * - A Synopsys DesignWare HDMI Controller IP 41 * - A TOP control block controlling the Clocks and PHY 42 * - A custom HDMI PHY in order convert video to TMDS signal 47 * | HDMI TOP |<= HPD 55 * The HDMI TOP block only supports HPD sensing. 79 * - HPD Rise & Fall interrupt 80 * - HDMI Controller Interrupt [all …]
|
| /kernel/linux/linux-5.10/Documentation/userspace-api/media/cec/ |
| D | cec-ioc-adap-g-caps.rst | 1 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later 13 CEC_ADAP_G_CAPS - Query device capabilities 42 .. flat-table:: struct cec_caps 43 :header-rows: 0 44 :stub-columns: 0 47 * - char 48 - ``driver[32]`` 49 - The name of the cec adapter driver. 50 * - char 51 - ``name[32]`` [all …]
|
| /kernel/linux/linux-6.6/Documentation/userspace-api/media/cec/ |
| D | cec-ioc-adap-g-caps.rst | 1 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later 13 CEC_ADAP_G_CAPS - Query device capabilities 42 .. flat-table:: struct cec_caps 43 :header-rows: 0 44 :stub-columns: 0 47 * - char 48 - ``driver[32]`` 49 - The name of the cec adapter driver. 50 * - char 51 - ``name[32]`` [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/msm/hdmi/ |
| D | hdmi.c | 1 // SPDX-License-Identifier: GPL-2.0-only 13 #include <sound/hdmi-codec.h> 21 spin_lock_irqsave(&hdmi->reg_lock, flags); in msm_hdmi_set_mode() 24 if (!hdmi->hdmi_mode) { in msm_hdmi_set_mode() 36 spin_unlock_irqrestore(&hdmi->reg_lock, flags); in msm_hdmi_set_mode() 45 /* Process HPD: */ in msm_hdmi_irq() 46 msm_hdmi_hpd_irq(hdmi->bridge); in msm_hdmi_irq() 49 msm_hdmi_i2c_irq(hdmi->i2c); in msm_hdmi_irq() 52 if (hdmi->hdcp_ctrl) in msm_hdmi_irq() 53 msm_hdmi_hdcp_irq(hdmi->hdcp_ctrl); in msm_hdmi_irq() [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/meson/ |
| D | meson_dw_hdmi.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 25 #include <linux/media-bus-format.h> 34 #define DRIVER_NAME "meson-dw-hdmi" 35 #define DRIVER_DESC "Amlogic Meson HDMI-TX DRM driver" 42 * - A Synopsys DesignWare HDMI Controller IP 43 * - A TOP control block controlling the Clocks and PHY 44 * - A custom HDMI PHY in order convert video to TMDS signal 49 * | HDMI TOP |<= HPD 57 * The HDMI TOP block only supports HPD sensing. 81 * - HPD Rise & Fall interrupt [all …]
|
| /kernel/linux/linux-5.10/arch/powerpc/include/asm/book3s/64/ |
| D | hash-4k.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 31 * Define the address range of the kernel non-linear virtual area (61TB) 78 static inline int hash__hugepd_ok(hugepd_t hpd) in hash__hugepd_ok() argument 80 unsigned long hpdval = hpd_val(hpd); in hash__hugepd_ok() 95 * things are a little more involved and hence needs many more parameters to
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/msm/hdmi/ |
| D | hdmi.c | 1 // SPDX-License-Identifier: GPL-2.0-only 16 #include <sound/hdmi-codec.h> 24 spin_lock_irqsave(&hdmi->reg_lock, flags); in msm_hdmi_set_mode() 27 if (!hdmi->hdmi_mode) { in msm_hdmi_set_mode() 39 spin_unlock_irqrestore(&hdmi->reg_lock, flags); in msm_hdmi_set_mode() 48 /* Process HPD: */ in msm_hdmi_irq() 49 msm_hdmi_hpd_irq(hdmi->bridge); in msm_hdmi_irq() 52 msm_hdmi_i2c_irq(hdmi->i2c); in msm_hdmi_irq() 55 if (hdmi->hdcp_ctrl) in msm_hdmi_irq() 56 msm_hdmi_hdcp_irq(hdmi->hdcp_ctrl); in msm_hdmi_irq() [all …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/amd/amdgpu/ |
| D | atombios_dp.c | 2 * Copyright 2007-8 Advanced Micro Devices, Inc. 34 #include "atom-bits.h" 63 struct drm_device *dev = chan->dev; in amdgpu_atombios_dp_process_aux_ch() 73 mutex_lock(&chan->mutex); in amdgpu_atombios_dp_process_aux_ch() 75 base = (unsigned char *)(adev->mode_info.atom_context->scratch + 1); in amdgpu_atombios_dp_process_aux_ch() 82 args.v2.ucChannelID = chan->rec.i2c_id; in amdgpu_atombios_dp_process_aux_ch() 84 args.v2.ucHPD_ID = chan->rec.hpd; in amdgpu_atombios_dp_process_aux_ch() 86 amdgpu_atom_execute_table(adev->mode_info.atom_context, index, (uint32_t *)&args); in amdgpu_atombios_dp_process_aux_ch() 92 r = -ETIMEDOUT; in amdgpu_atombios_dp_process_aux_ch() 99 r = -EIO; in amdgpu_atombios_dp_process_aux_ch() [all …]
|
| D | dce_v11_0.c | 92 uint32_t hpd; member 98 .hpd = DISP_INTERRUPT_STATUS__DC_HPD1_INTERRUPT_MASK 103 .hpd = DISP_INTERRUPT_STATUS_CONTINUE__DC_HPD2_INTERRUPT_MASK 108 .hpd = DISP_INTERRUPT_STATUS_CONTINUE2__DC_HPD3_INTERRUPT_MASK 113 .hpd = DISP_INTERRUPT_STATUS_CONTINUE3__DC_HPD4_INTERRUPT_MASK 118 .hpd = DISP_INTERRUPT_STATUS_CONTINUE4__DC_HPD5_INTERRUPT_MASK 123 .hpd = DISP_INTERRUPT_STATUS_CONTINUE5__DC_HPD6_INTERRUPT_MASK 163 switch (adev->asic_type) { in dce_v11_0_init_golden_registers() 200 spin_lock_irqsave(&adev->audio_endpt_idx_lock, flags); in dce_v11_0_audio_endpt_rreg() 203 spin_unlock_irqrestore(&adev->audio_endpt_idx_lock, flags); in dce_v11_0_audio_endpt_rreg() [all …]
|
| D | dce_v10_0.c | 88 uint32_t hpd; member 94 .hpd = DISP_INTERRUPT_STATUS__DC_HPD1_INTERRUPT_MASK 99 .hpd = DISP_INTERRUPT_STATUS_CONTINUE__DC_HPD2_INTERRUPT_MASK 104 .hpd = DISP_INTERRUPT_STATUS_CONTINUE2__DC_HPD3_INTERRUPT_MASK 109 .hpd = DISP_INTERRUPT_STATUS_CONTINUE3__DC_HPD4_INTERRUPT_MASK 114 .hpd = DISP_INTERRUPT_STATUS_CONTINUE4__DC_HPD5_INTERRUPT_MASK 119 .hpd = DISP_INTERRUPT_STATUS_CONTINUE5__DC_HPD6_INTERRUPT_MASK 148 switch (adev->asic_type) { in dce_v10_0_init_golden_registers() 176 spin_lock_irqsave(&adev->audio_endpt_idx_lock, flags); in dce_v10_0_audio_endpt_rreg() 179 spin_unlock_irqrestore(&adev->audio_endpt_idx_lock, flags); in dce_v10_0_audio_endpt_rreg() [all …]
|
| D | dce_v8_0.c | 81 (0x13830 - 0x7030) >> 2, 88 uint32_t hpd; member 94 .hpd = DISP_INTERRUPT_STATUS__DC_HPD1_INTERRUPT_MASK 99 .hpd = DISP_INTERRUPT_STATUS_CONTINUE__DC_HPD2_INTERRUPT_MASK 104 .hpd = DISP_INTERRUPT_STATUS_CONTINUE2__DC_HPD3_INTERRUPT_MASK 109 .hpd = DISP_INTERRUPT_STATUS_CONTINUE3__DC_HPD4_INTERRUPT_MASK 114 .hpd = DISP_INTERRUPT_STATUS_CONTINUE4__DC_HPD5_INTERRUPT_MASK 119 .hpd = DISP_INTERRUPT_STATUS_CONTINUE5__DC_HPD6_INTERRUPT_MASK 128 spin_lock_irqsave(&adev->audio_endpt_idx_lock, flags); in dce_v8_0_audio_endpt_rreg() 131 spin_unlock_irqrestore(&adev->audio_endpt_idx_lock, flags); in dce_v8_0_audio_endpt_rreg() [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/amd/amdgpu/ |
| D | atombios_dp.c | 2 * Copyright 2007-8 Advanced Micro Devices, Inc. 32 #include "atom-bits.h" 62 struct drm_device *dev = chan->dev; in amdgpu_atombios_dp_process_aux_ch() 72 mutex_lock(&chan->mutex); in amdgpu_atombios_dp_process_aux_ch() 74 base = (unsigned char *)(adev->mode_info.atom_context->scratch + 1); in amdgpu_atombios_dp_process_aux_ch() 81 args.v2.ucChannelID = chan->rec.i2c_id; in amdgpu_atombios_dp_process_aux_ch() 83 args.v2.ucHPD_ID = chan->rec.hpd; in amdgpu_atombios_dp_process_aux_ch() 85 amdgpu_atom_execute_table(adev->mode_info.atom_context, index, (uint32_t *)&args); in amdgpu_atombios_dp_process_aux_ch() 91 r = -ETIMEDOUT; in amdgpu_atombios_dp_process_aux_ch() 98 r = -EIO; in amdgpu_atombios_dp_process_aux_ch() [all …]
|
| D | dce_v11_0.c | 90 uint32_t hpd; member 96 .hpd = DISP_INTERRUPT_STATUS__DC_HPD1_INTERRUPT_MASK 101 .hpd = DISP_INTERRUPT_STATUS_CONTINUE__DC_HPD2_INTERRUPT_MASK 106 .hpd = DISP_INTERRUPT_STATUS_CONTINUE2__DC_HPD3_INTERRUPT_MASK 111 .hpd = DISP_INTERRUPT_STATUS_CONTINUE3__DC_HPD4_INTERRUPT_MASK 116 .hpd = DISP_INTERRUPT_STATUS_CONTINUE4__DC_HPD5_INTERRUPT_MASK 121 .hpd = DISP_INTERRUPT_STATUS_CONTINUE5__DC_HPD6_INTERRUPT_MASK 161 switch (adev->asic_type) { in dce_v11_0_init_golden_registers() 198 spin_lock_irqsave(&adev->audio_endpt_idx_lock, flags); in dce_v11_0_audio_endpt_rreg() 201 spin_unlock_irqrestore(&adev->audio_endpt_idx_lock, flags); in dce_v11_0_audio_endpt_rreg() [all …]
|
| D | dce_v10_0.c | 88 uint32_t hpd; member 94 .hpd = DISP_INTERRUPT_STATUS__DC_HPD1_INTERRUPT_MASK 99 .hpd = DISP_INTERRUPT_STATUS_CONTINUE__DC_HPD2_INTERRUPT_MASK 104 .hpd = DISP_INTERRUPT_STATUS_CONTINUE2__DC_HPD3_INTERRUPT_MASK 109 .hpd = DISP_INTERRUPT_STATUS_CONTINUE3__DC_HPD4_INTERRUPT_MASK 114 .hpd = DISP_INTERRUPT_STATUS_CONTINUE4__DC_HPD5_INTERRUPT_MASK 119 .hpd = DISP_INTERRUPT_STATUS_CONTINUE5__DC_HPD6_INTERRUPT_MASK 152 switch (adev->asic_type) { in dce_v10_0_init_golden_registers() 180 spin_lock_irqsave(&adev->audio_endpt_idx_lock, flags); in dce_v10_0_audio_endpt_rreg() 183 spin_unlock_irqrestore(&adev->audio_endpt_idx_lock, flags); in dce_v10_0_audio_endpt_rreg() [all …]
|
| D | dce_v8_0.c | 81 (0x13830 - 0x7030) >> 2, 88 uint32_t hpd; member 94 .hpd = DISP_INTERRUPT_STATUS__DC_HPD1_INTERRUPT_MASK 99 .hpd = DISP_INTERRUPT_STATUS_CONTINUE__DC_HPD2_INTERRUPT_MASK 104 .hpd = DISP_INTERRUPT_STATUS_CONTINUE2__DC_HPD3_INTERRUPT_MASK 109 .hpd = DISP_INTERRUPT_STATUS_CONTINUE3__DC_HPD4_INTERRUPT_MASK 114 .hpd = DISP_INTERRUPT_STATUS_CONTINUE4__DC_HPD5_INTERRUPT_MASK 119 .hpd = DISP_INTERRUPT_STATUS_CONTINUE5__DC_HPD6_INTERRUPT_MASK 128 spin_lock_irqsave(&adev->audio_endpt_idx_lock, flags); in dce_v8_0_audio_endpt_rreg() 131 spin_unlock_irqrestore(&adev->audio_endpt_idx_lock, flags); in dce_v8_0_audio_endpt_rreg() [all …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/amd/display/amdgpu_dm/ |
| D | amdgpu_dm_irq.c | 46 * What DM provides on top are two IRQ tables specifically for top-half and 47 * bottom-half IRQ handling, with the bottom-half implementing workqueues: 49 * - &amdgpu_display_manager.irq_handler_list_high_tab 50 * - &amdgpu_display_manager.irq_handler_list_low_tab 56 * still needs to register the IRQ with the base driver. See 69 * struct amdgpu_dm_irq_handler_data - Data for DM interrupt handlers. 90 spin_lock_irqsave(&adev->dm.irq_handler_list_table_lock, flags) 93 spin_unlock_irqrestore(&adev->dm.irq_handler_list_table_lock, flags) 104 hcd->handler = ih; in init_handler_common_data() 105 hcd->handler_arg = args; in init_handler_common_data() [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/radeon/ |
| D | atombios_dp.c | 2 * Copyright 2007-8 Advanced Micro Devices, Inc. 32 #include "atom-bits.h" 48 /* Atom needs data in little endian format so swap as appropriate when copying 90 struct drm_device *dev = chan->dev; in radeon_process_aux_ch() 91 struct radeon_device *rdev = dev->dev_private; in radeon_process_aux_ch() 100 mutex_lock(&chan->mutex); in radeon_process_aux_ch() 101 mutex_lock(&rdev->mode_info.atom_context->scratch_mutex); in radeon_process_aux_ch() 103 base = (unsigned char *)(rdev->mode_info.atom_context->scratch + 1); in radeon_process_aux_ch() 110 args.v1.ucChannelID = chan->rec.i2c_id; in radeon_process_aux_ch() 113 args.v2.ucHPD_ID = chan->rec.hpd; in radeon_process_aux_ch() [all …]
|