/linux-6.12.1/drivers/gpu/drm/msm/hdmi/ |
D | hdmi_bridge.c | 1 // SPDX-License-Identifier: GPL-2.0-only 12 #include "hdmi.h" 14 static void msm_hdmi_power_on(struct drm_bridge *bridge) in msm_hdmi_power_on() argument 16 struct drm_device *dev = bridge->dev; in msm_hdmi_power_on() 17 struct hdmi_bridge *hdmi_bridge = to_hdmi_bridge(bridge); in msm_hdmi_power_on() 18 struct hdmi *hdmi = hdmi_bridge->hdmi; in msm_hdmi_power_on() local 19 const struct hdmi_platform_config *config = hdmi->config; in msm_hdmi_power_on() 22 pm_runtime_get_sync(&hdmi->pdev->dev); in msm_hdmi_power_on() 24 ret = regulator_bulk_enable(config->pwr_reg_cnt, hdmi->pwr_regs); in msm_hdmi_power_on() 26 DRM_DEV_ERROR(dev->dev, "failed to enable pwr regulator: %d\n", ret); in msm_hdmi_power_on() [all …]
|
D | hdmi_hpd.c | 1 // SPDX-License-Identifier: GPL-2.0-only 12 #include "hdmi.h" 14 static void msm_hdmi_phy_reset(struct hdmi *hdmi) in msm_hdmi_phy_reset() argument 18 val = hdmi_read(hdmi, REG_HDMI_PHY_CTRL); in msm_hdmi_phy_reset() 22 hdmi_write(hdmi, REG_HDMI_PHY_CTRL, in msm_hdmi_phy_reset() 26 hdmi_write(hdmi, REG_HDMI_PHY_CTRL, in msm_hdmi_phy_reset() 32 hdmi_write(hdmi, REG_HDMI_PHY_CTRL, in msm_hdmi_phy_reset() 36 hdmi_write(hdmi, REG_HDMI_PHY_CTRL, in msm_hdmi_phy_reset() 44 hdmi_write(hdmi, REG_HDMI_PHY_CTRL, in msm_hdmi_phy_reset() 48 hdmi_write(hdmi, REG_HDMI_PHY_CTRL, in msm_hdmi_phy_reset() [all …]
|
D | hdmi.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 15 #include <linux/hdmi.h> 20 #include "hdmi.xml.h" 33 struct hdmi { struct 63 struct drm_bridge *bridge; member 67 /* the encoder we are hooked to (outside of hdmi block) */ argument 70 bool hdmi_mode; /* are we in hdmi mode? */ argument 109 struct hdmi *hdmi; member 114 void msm_hdmi_set_mode(struct hdmi *hdmi, bool power_on); 116 static inline void hdmi_write(struct hdmi *hdmi, u32 reg, u32 data) in hdmi_write() argument [all …]
|
D | hdmi.c | 1 // SPDX-License-Identifier: GPL-2.0-only 16 #include <sound/hdmi-codec.h> 17 #include "hdmi.h" 19 void msm_hdmi_set_mode(struct hdmi *hdmi, bool power_on) in msm_hdmi_set_mode() argument 24 spin_lock_irqsave(&hdmi->reg_lock, flags); in msm_hdmi_set_mode() 27 if (!hdmi->hdmi_mode) { in msm_hdmi_set_mode() 29 hdmi_write(hdmi, REG_HDMI_CTRL, ctrl); in msm_hdmi_set_mode() 38 hdmi_write(hdmi, REG_HDMI_CTRL, ctrl); in msm_hdmi_set_mode() 39 spin_unlock_irqrestore(&hdmi->reg_lock, flags); in msm_hdmi_set_mode() 40 DBG("HDMI Core: %s, HDMI_CTRL=0x%08x", in msm_hdmi_set_mode() [all …]
|
/linux-6.12.1/drivers/gpu/drm/bridge/ |
D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 6 Bridge registration and lookup framework. 13 DRM bridge wrapper of DRM panels 21 Simple transparent bridge that is used by several non-DRM drivers to 29 Simple bridge that terminates the bridge chain and provides HPD 36 tristate "Chipone ICN6211 MIPI-DSI/RGB Converter bridge" 43 ICN6211 is MIPI-DSI/RGB Converter bridge from chipone. 55 Enable support for the Chrontel CH7033 VGA/DVI/HDMI Encoder, as 61 tristate "ChromeOS EC ANX7688 bridge" 67 ChromeOS EC ANX7688 is an ultra-low power [all …]
|
D | display-connector.c | 1 // SPDX-License-Identifier: GPL-2.0 9 #include <linux/media-bus-format.h> 21 struct drm_bridge bridge; member 31 to_display_connector(struct drm_bridge *bridge) in to_display_connector() argument 33 return container_of(bridge, struct display_connector, bridge); in to_display_connector() 36 static int display_connector_attach(struct drm_bridge *bridge, in display_connector_attach() argument 39 return flags & DRM_BRIDGE_ATTACH_NO_CONNECTOR ? 0 : -EINVAL; in display_connector_attach() 43 display_connector_detect(struct drm_bridge *bridge) in display_connector_detect() argument 45 struct display_connector *conn = to_display_connector(bridge); in display_connector_detect() 47 if (conn->hpd_gpio) { in display_connector_detect() [all …]
|
D | lontium-lt8912b.c | 1 // SPDX-License-Identifier: GPL-2.0 10 #include <linux/media-bus-format.h> 31 struct drm_bridge bridge; member 76 /*HDMI Pll Analog*/ in lt8912_write_init_config() 89 return regmap_multi_reg_write(lt->regmap[I2C_MAIN], seq, ARRAY_SIZE(seq)); in lt8912_write_init_config() 102 return regmap_multi_reg_write(lt->regmap[I2C_CEC_DSI], seq, ARRAY_SIZE(seq)); in lt8912_write_mipi_basic_config() 155 return regmap_multi_reg_write(lt->regmap[I2C_CEC_DSI], seq, ARRAY_SIZE(seq)); in lt8912_write_dds_config() 162 ret = regmap_write(lt->regmap[I2C_MAIN], 0x03, 0x7f); in lt8912_write_rxlogicres_config() 164 ret |= regmap_write(lt->regmap[I2C_MAIN], 0x03, 0xff); in lt8912_write_rxlogicres_config() 169 /* enable LVDS output with some hardcoded configuration, not required for the HDMI output */ [all …]
|
D | lontium-lt9611.c | 1 // SPDX-License-Identifier: GPL-2.0 4 * Copyright (c) 2019-2020. Linaro Limited. 10 #include <linux/media-bus-format.h> 17 #include <sound/hdmi-codec.h> 37 struct drm_bridge bridge; member 88 static struct lt9611 *bridge_to_lt9611(struct drm_bridge *bridge) in bridge_to_lt9611() argument 90 return container_of(bridge, struct lt9611, bridge); in bridge_to_lt9611() 103 { 0x811c, 0x03 }, /* PortA clk lane no-LP mode */ in lt9611_mipi_input_analog() 104 { 0x8120, 0x03 }, /* PortB clk lane with-LP mode */ in lt9611_mipi_input_analog() 107 return regmap_multi_reg_write(lt9611->regmap, reg_cfg, ARRAY_SIZE(reg_cfg)); in lt9611_mipi_input_analog() [all …]
|
/linux-6.12.1/drivers/gpu/drm/omapdrm/dss/ |
D | hdmi5.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * HDMI driver for OMAP5 5 * Copyright (C) 2014 Texas Instruments Incorporated - https://www.ti.com/ 14 #define DSS_SUBSYS_NAME "HDMI" 31 #include <sound/omap-hdmi-audio.h> 41 static int hdmi_runtime_get(struct omap_hdmi *hdmi) in hdmi_runtime_get() argument 47 r = pm_runtime_get_sync(&hdmi->pdev->dev); in hdmi_runtime_get() 49 pm_runtime_put_noidle(&hdmi->pdev->dev); in hdmi_runtime_get() 55 static void hdmi_runtime_put(struct omap_hdmi *hdmi) in hdmi_runtime_put() argument 61 r = pm_runtime_put_sync(&hdmi->pdev->dev); in hdmi_runtime_put() [all …]
|
D | hdmi4.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * HDMI interface DSS driver for TI's OMAP4 family of SoCs. 5 * Copyright (C) 2010-2011 Texas Instruments Incorporated - https://www.ti.com/ 10 #define DSS_SUBSYS_NAME "HDMI" 27 #include <sound/omap-hdmi-audio.h> 38 #include "hdmi.h" 40 static int hdmi_runtime_get(struct omap_hdmi *hdmi) in hdmi_runtime_get() argument 46 r = pm_runtime_get_sync(&hdmi->pdev->dev); in hdmi_runtime_get() 48 pm_runtime_put_noidle(&hdmi->pdev->dev); in hdmi_runtime_get() 54 static void hdmi_runtime_put(struct omap_hdmi *hdmi) in hdmi_runtime_put() argument [all …]
|
/linux-6.12.1/drivers/gpu/drm/mediatek/ |
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> 155 struct drm_bridge bridge; member 187 return container_of(b, struct mtk_hdmi, bridge); in hdmi_ctx_from_bridge() 190 static u32 mtk_hdmi_read(struct mtk_hdmi *hdmi, u32 offset) in mtk_hdmi_read() argument 192 return readl(hdmi->regs + offset); in mtk_hdmi_read() 195 static void mtk_hdmi_write(struct mtk_hdmi *hdmi, u32 offset, u32 val) in mtk_hdmi_write() argument 197 writel(val, hdmi->regs + offset); in mtk_hdmi_write() [all …]
|
/linux-6.12.1/drivers/gpu/drm/meson/ |
D | meson_encoder_hdmi.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 19 #include <media/cec-notifier.h> 29 #include <linux/media-bus-format.h> 40 struct drm_bridge bridge; member 49 container_of(x, struct meson_encoder_hdmi, bridge) 51 static int meson_encoder_hdmi_attach(struct drm_bridge *bridge, in meson_encoder_hdmi_attach() argument 54 struct meson_encoder_hdmi *encoder_hdmi = bridge_to_meson_encoder_hdmi(bridge); in meson_encoder_hdmi_attach() 56 return drm_bridge_attach(bridge->encoder, encoder_hdmi->next_bridge, in meson_encoder_hdmi_attach() 57 &encoder_hdmi->bridge, flags); in meson_encoder_hdmi_attach() 60 static void meson_encoder_hdmi_detach(struct drm_bridge *bridge) in meson_encoder_hdmi_detach() argument [all …]
|
D | meson_dw_hdmi.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 18 #include <drm/bridge/dw_hdmi.h> 32 #define DRIVER_NAME "meson-dw-hdmi" 33 #define DRIVER_DESC "Amlogic Meson HDMI-TX DRM driver" 36 * DOC: HDMI Output 38 * HDMI Output is composed of : 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 [all …]
|
/linux-6.12.1/drivers/gpu/drm/imx/ipuv3/ |
D | dw_hdmi-imx.c | 1 // SPDX-License-Identifier: GPL-2.0 2 /* Copyright (C) 2011-2013 Freescale Semiconductor, Inc. 4 * derived from imx-hdmi.c(renamed to bridge/dw_hdmi.c now) 9 #include <linux/mfd/syscon/imx6q-iomuxc-gpr.h> 14 #include <video/imx-ipu-v3.h> 16 #include <drm/bridge/dw_hdmi.h> 25 #include "imx-drm.h" 31 struct imx_hdmi *hdmi; member 36 struct drm_bridge *bridge; member 37 struct dw_hdmi *hdmi; member [all …]
|
/linux-6.12.1/drivers/gpu/drm/bridge/synopsys/ |
D | dw-hdmi.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * DesignWare High-Definition Multimedia Interface (HDMI) driver 5 * Copyright (C) 2013-2015 Mentor Graphics Inc. 6 * Copyright (C) 2011-2013 Freescale Semiconductor, Inc. 12 #include <linux/hdmi.h> 20 #include <linux/dma-mapping.h> 23 #include <media/cec-notifier.h> 25 #include <uapi/linux/media-bus-format.h> 28 #include <drm/bridge/dw_hdmi.h> 39 #include "dw-hdmi-audio.h" [all …]
|
/linux-6.12.1/drivers/gpu/drm/bridge/imx/ |
D | Kconfig | 7 tristate "Freescale i.MX8MP HDMI-TX bridge support" 14 Choose this to enable support for the internal HDMI encoder found 18 tristate "Freescale i.MX8MP HDMI PVI bridge support" 21 Choose this to enable support for the internal HDMI TX Parallel 25 tristate "Freescale i.MX8QM LVDS display bridge" 31 Choose this to enable the internal LVDS Display Bridge(LDB) found in 35 tristate "Freescale i.MX8QXP LVDS display bridge" 41 Choose this to enable the internal LVDS Display Bridge(LDB) found in
|
D | imx8mp-hdmi-pvi.c | 1 // SPDX-License-Identifier: GPL-2.0+ 30 struct drm_bridge bridge; member 37 to_imx8mp_hdmi_pvi(struct drm_bridge *bridge) in to_imx8mp_hdmi_pvi() argument 39 return container_of(bridge, struct imx8mp_hdmi_pvi, bridge); in to_imx8mp_hdmi_pvi() 42 static int imx8mp_hdmi_pvi_bridge_attach(struct drm_bridge *bridge, in imx8mp_hdmi_pvi_bridge_attach() argument 45 struct imx8mp_hdmi_pvi *pvi = to_imx8mp_hdmi_pvi(bridge); in imx8mp_hdmi_pvi_bridge_attach() 47 return drm_bridge_attach(bridge->encoder, pvi->next_bridge, in imx8mp_hdmi_pvi_bridge_attach() 48 bridge, flags); in imx8mp_hdmi_pvi_bridge_attach() 51 static void imx8mp_hdmi_pvi_bridge_enable(struct drm_bridge *bridge, in imx8mp_hdmi_pvi_bridge_enable() argument 54 struct drm_atomic_state *state = bridge_state->base.state; in imx8mp_hdmi_pvi_bridge_enable() [all …]
|
/linux-6.12.1/Documentation/devicetree/bindings/display/bridge/ |
D | lontium,lt8912b.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/display/bridge/lontium,lt8912b.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Lontium LT8912B MIPI to HDMI Bridge 10 - Adrien Grassein <adrien.grassein@gmail.com> 13 The LT8912B is a bridge device which convert DSI to HDMI 18 - lontium,lt8912b 23 reset-gpios: 32 $ref: /schemas/graph.yaml#/$defs/port-base [all …]
|
D | lontium,lt9611.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/display/bridge/lontium,lt9611.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Lontium LT9611(UXC) 2 Port MIPI to HDMI Bridge 10 - Vinod Koul <vkoul@kernel.org> 13 The LT9611 and LT9611UXC are bridge devices which convert DSI to HDMI 18 - lontium,lt9611 19 - lontium,lt9611uxc 24 "#sound-dai-cells": [all …]
|
D | sil,sii9022.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/display/bridge/sil,sii9022.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Silicon Image sii902x HDMI bridge 10 - Boris Brezillon <bbrezillon@kernel.org> 15 - items: 16 - enum: 17 - sil,sii9022-cpi # CEC Programming Interface 18 - sil,sii9022-tpi # Transmitter Programming Interface [all …]
|
D | fsl,imx8mp-hdmi-tx.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/display/bridge/fsl,imx8mp-hdmi-tx.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Freescale i.MX8MP DWC HDMI TX Encoder 10 - Lucas Stach <l.stach@pengutronix.de> 13 The i.MX8MP HDMI transmitter is a Synopsys DesignWare 14 HDMI 2.0a TX controller IP. 17 - $ref: /schemas/display/bridge/synopsys,dw-hdmi.yaml# 22 - fsl,imx8mp-hdmi-tx [all …]
|
/linux-6.12.1/drivers/gpu/drm/sti/ |
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 177 u32 hdmi_read(struct sti_hdmi *hdmi, int offset) in hdmi_read() argument 179 return readl(hdmi->regs + offset); in hdmi_read() 182 void hdmi_write(struct sti_hdmi *hdmi, u32 val, int offset) in hdmi_write() argument 184 writel(val, hdmi->regs + offset); in hdmi_write() 188 * HDMI interrupt handler threaded [all …]
|
/linux-6.12.1/Documentation/gpu/bridge/ |
D | dw-hdmi.rst | 2 drm/bridge/dw-hdmi Synopsys DesignWare HDMI Controller 5 Synopsys DesignWare HDMI Controller 8 This section covers everything related to the Synopsys DesignWare HDMI 9 Controller implemented as a DRM bridge. 12 ------------------------------------- 14 .. kernel-doc:: include/drm/bridge/dw_hdmi.h
|
/linux-6.12.1/drivers/gpu/drm/i915/display/ |
D | intel_lpe_audio.c | 24 * Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> 31 * DOC: LPE Audio integration for HDMI or DP playback 34 * Atom platforms (e.g. valleyview and cherryTrail) integrates a DMA-based 41 * subsystems, a bridge is setup between the hdmi-lpe-audio and i915: 45 * the hdmi-lpe-audio driver probes the lpe audio device and creates a new 50 * uninstall the hdmi-lpe-audio driver before uninstalling i915 module, 51 * otherwise we might run into use-after-free issues after i915 removes the 52 * platform device: even though hdmi-lpe-audio driver is released, the modules 80 #define HAS_LPE_AUDIO(dev_priv) ((dev_priv)->display.audio.lpe.platdev != NULL) 85 struct pci_dev *pdev = to_pci_dev(dev_priv->drm.dev); in lpe_audio_platdev_create() [all …]
|
/linux-6.12.1/drivers/gpu/drm/i2c/ |
D | tda998x_drv.c | 1 // SPDX-License-Identifier: GPL-2.0-only 9 #include <linux/hdmi.h> 15 #include <sound/hdmi-codec.h> 26 #include <media/cec-notifier.h> 54 struct i2c_client *hdmi; member 82 struct drm_bridge bridge; member 96 container_of(x, struct tda998x_priv, bridge) 410 .addr = priv->cec_addr, in cec_write() 416 ret = i2c_transfer(priv->hdmi->adapter, &msg, 1); in cec_write() 418 dev_err(&priv->hdmi->dev, "Error %d writing to cec:0x%x\n", in cec_write() [all …]
|