/linux-5.10/drivers/gpu/drm/sun4i/ |
D | sun4i_lvds.c | 1 // SPDX-License-Identifier: GPL-2.0+ 4 * Maxime Ripard <maxime.ripard@free-electrons.com> 23 struct drm_encoder encoder; member 36 drm_encoder_to_sun4i_lvds(struct drm_encoder *encoder) in drm_encoder_to_sun4i_lvds() argument 38 return container_of(encoder, struct sun4i_lvds, in drm_encoder_to_sun4i_lvds() 39 encoder); in drm_encoder_to_sun4i_lvds() 44 struct sun4i_lvds *lvds = in sun4i_lvds_get_modes() local 47 return drm_panel_get_modes(lvds->panel, connector); in sun4i_lvds_get_modes() 68 static void sun4i_lvds_encoder_enable(struct drm_encoder *encoder) in sun4i_lvds_encoder_enable() argument 70 struct sun4i_lvds *lvds = drm_encoder_to_sun4i_lvds(encoder); in sun4i_lvds_encoder_enable() local [all …]
|
D | sun4i_tcon.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 6 * Maxime Ripard <maxime.ripard@free-electrons.com> 42 static struct drm_connector *sun4i_tcon_get_connector(const struct drm_encoder *encoder) in sun4i_tcon_get_connector() argument 47 drm_connector_list_iter_begin(encoder->dev, &iter); in sun4i_tcon_get_connector() 49 if (connector->encoder == encoder) { in sun4i_tcon_get_connector() 58 static int sun4i_tcon_get_pixel_depth(const struct drm_encoder *encoder) in sun4i_tcon_get_pixel_depth() argument 63 connector = sun4i_tcon_get_connector(encoder); in sun4i_tcon_get_pixel_depth() 65 return -EINVAL; in sun4i_tcon_get_pixel_depth() 67 info = &connector->display_info; in sun4i_tcon_get_pixel_depth() 68 if (info->num_bus_formats != 1) in sun4i_tcon_get_pixel_depth() [all …]
|
/linux-5.10/drivers/gpu/drm/rockchip/ |
D | rockchip_lvds.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Mark Yao <mark.yao@rock-chips.com> 6 * Sandy Huang <hjc@rock-chips.com> 42 container_of(c, struct rockchip_lvds, encoder) 45 * rockchip_lvds_soc_data - rockchip lvds Soc private data 46 * @probe: LVDS platform probe function 47 * @helper_funcs: LVDS connector helper functions 50 int (*probe)(struct platform_device *pdev, struct rockchip_lvds *lvds); 61 int output; /* rgb lvds or dual lvds output */ 67 struct drm_encoder encoder; member [all …]
|
/linux-5.10/drivers/gpu/drm/rcar-du/ |
D | rcar_lvds.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * rcar_lvds.c -- R-Car LVDS Encoder 5 * Copyright (C) 2013-2018 Renesas Electronics Corporation 47 #define RCAR_LVDS_QUIRK_LANES BIT(0) /* LVDS lanes 1 and 3 inverted */ 51 #define RCAR_LVDS_QUIRK_DUAL_LINK BIT(4) /* Supports dual-link operation */ 56 void (*pll_setup)(struct rcar_lvds *lvds, unsigned int freq); 86 static void rcar_lvds_write(struct rcar_lvds *lvds, u32 reg, u32 data) in rcar_lvds_write() argument 88 iowrite32(data, lvds->mmio + reg); in rcar_lvds_write() 91 /* ----------------------------------------------------------------------------- 97 struct rcar_lvds *lvds = connector_to_rcar_lvds(connector); in rcar_lvds_connector_get_modes() local [all …]
|
D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 3 tristate "DRM Support for R-Car Display Unit" 14 Choose this option if you have an R-Car chipset. 15 If M is selected the module will be called rcar-du-drm. 18 tristate "R-Car DU Color Management Module (CMM) Support" 22 Enable support for R-Car Color Management Module (CMM). 25 tristate "R-Car Gen3 and RZ/G2 DU HDMI Encoder Support" 29 Enable support for R-Car Gen3 or RZ/G2 internal HDMI encoder. 32 tristate "R-Car DU LVDS Encoder Support" 39 Enable support for the R-Car Display Unit embedded LVDS encoders. [all …]
|
D | rcar_du_of.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * rcar_du_of.c - Legacy DT bindings compatibility 23 /* ----------------------------------------------------------------------------- 39 .compatible = "renesas,du-" #soc, \ 59 return -ENODEV; in rcar_du_of_apply_overlay() 62 return of_overlay_fdt_apply(dtb->begin, dtb->end - dtb->begin, in rcar_du_of_apply_overlay() 72 int ret = -ENOMEM; in rcar_du_of_add_property() 76 return -ENOMEM; in rcar_du_of_add_property() 78 prop->name = kstrdup(name, GFP_KERNEL); in rcar_du_of_add_property() 79 if (!prop->name) in rcar_du_of_add_property() [all …]
|
/linux-5.10/Documentation/devicetree/bindings/display/bridge/ |
D | renesas,lvds.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/display/bridge/renesas,lvds.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Renesas R-Car LVDS Encoder 10 - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> 13 These DT bindings describe the LVDS encoder embedded in the Renesas R-Car 14 Gen2, R-Car Gen3, RZ/G1 and RZ/G2 SoCs. 19 - renesas,r8a7742-lvds # for RZ/G1H compatible LVDS encoders 20 - renesas,r8a7743-lvds # for RZ/G1M compatible LVDS encoders [all …]
|
D | lvds-codec.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/display/bridge/lvds-codec.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Transparent LVDS encoders and decoders 10 - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> 13 This binding supports transparent LVDS encoders and decoders that don't 16 LVDS is a physical layer specification defined in ANSI/TIA/EIA-644-A. Multiple 18 to LVDS panels. This binding targets devices compatible with the following 21 [JEIDA] "Digital Interface Standards for Monitor", JEIDA-59-1999, February [all …]
|
/linux-5.10/drivers/gpu/drm/gma500/ |
D | cdv_intel_lvds.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright © 2006-2011 Intel Corporation 25 * LVDS I2C backlight control macros 60 struct drm_psb_private *dev_priv = dev->dev_private; in cdv_intel_lvds_get_max_backlight() 70 retval = ((dev_priv->regs.saveBLC_PWM_CTL & in cdv_intel_lvds_get_max_backlight() 84 struct drm_psb_private *dev_priv = dev->dev_private; in cdv_intel_lvds_set_backlight() 95 blc_pwm_ctl = dev_priv->regs.saveBLC_PWM_CTL & in cdv_intel_lvds_set_backlight() 97 dev_priv->regs.saveBLC_PWM_CTL = (blc_pwm_ctl | in cdv_intel_lvds_set_backlight() 106 struct drm_encoder *encoder, bool on) in cdv_intel_lvds_set_power() argument 108 struct drm_psb_private *dev_priv = dev->dev_private; in cdv_intel_lvds_set_power() [all …]
|
D | psb_intel_lvds.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright © 2006-2007 Intel Corporation 23 * LVDS I2C backlight control macros 62 struct drm_psb_private *dev_priv = dev->dev_private; in psb_intel_lvds_get_max_backlight() 69 ret = dev_priv->regs.saveBLC_PWM_CTL; in psb_intel_lvds_get_max_backlight() 77 dev_err(dev->dev, "BL bug: Reg %08x save %08X\n", in psb_intel_lvds_get_max_backlight() 78 REG_READ(BLC_PWM_CTL), dev_priv->regs.saveBLC_PWM_CTL); in psb_intel_lvds_get_max_backlight() 83 * Set LVDS backlight level by I2C command 92 (struct drm_psb_private *)dev->dev_private; in psb_lvds_i2c_set_brightness() 94 struct psb_intel_i2c_chan *lvds_i2c_bus = dev_priv->lvds_i2c_bus; in psb_lvds_i2c_set_brightness() [all …]
|
D | oaktrail_lvds.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright © 2006-2009 Intel Corporation 14 #include <asm/intel-mid.h> 24 /* The max/min PWM frequency in BPCR[31:17] - */ 26 * 15-bit field of the and then*/ 27 /* shifts to the left by one bit to get the actual 16-bit 28 * value that the 15-bits correspond to.*/ 40 struct drm_psb_private *dev_priv = dev->dev_private; in oaktrail_lvds_set_power() 51 dev_priv->is_lvds_on = true; in oaktrail_lvds_set_power() 52 if (dev_priv->ops->lvds_bl_power) in oaktrail_lvds_set_power() [all …]
|
D | oaktrail_lvds_i2c.c | 2 * Copyright (c) 2002-2010, Intel Corporation. 27 #include <linux/i2c-algo-bit.h> 41 * LPC GPIO based I2C bus for LVDS of Atom E6xx 44 /*----------------------------------------------------------------------------- 45 * LPC Register Offsets. Used for LVDS GPIO Bit Bashing. Registers are part 47 ----------------------------------------------------------------------------*/ 57 /* The LVDS GPIO clock lines are GPIOSUS[3] 58 * The LVDS GPIO data lines are GPIOSUS[4] 63 #define LPC_READ_REG(chan, r) inl((chan)->reg + (r)) 64 #define LPC_WRITE_REG(chan, r, val) outl((val), (chan)->reg + (r)) [all …]
|
/linux-5.10/drivers/gpu/drm/radeon/ |
D | radeon_legacy_encoders.c | 2 * Copyright 2007-8 Advanced Micro Devices, Inc. 43 static void radeon_legacy_encoder_disable(struct drm_encoder *encoder) in radeon_legacy_encoder_disable() argument 45 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_legacy_encoder_disable() 48 encoder_funcs = encoder->helper_private; in radeon_legacy_encoder_disable() 49 encoder_funcs->dpms(encoder, DRM_MODE_DPMS_OFF); in radeon_legacy_encoder_disable() 50 radeon_encoder->active_device = 0; in radeon_legacy_encoder_disable() 53 static void radeon_legacy_lvds_update(struct drm_encoder *encoder, int mode) in radeon_legacy_lvds_update() argument 55 struct drm_device *dev = encoder->dev; in radeon_legacy_lvds_update() 56 struct radeon_device *rdev = dev->dev_private; in radeon_legacy_lvds_update() 57 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_legacy_lvds_update() [all …]
|
D | radeon_combios.c | 3 * Copyright 2007-8 Advanced Micro Devices, Inc. 136 struct radeon_device *rdev = dev->dev_private; in combios_get_table_offset() 140 if (!rdev->bios) in combios_get_table_offset() 365 size = RBIOS8(rdev->bios_header_start + 0x6); in combios_get_table_offset() 368 offset = RBIOS16(rdev->bios_header_start + check_offset); in combios_get_table_offset() 378 edid_info = combios_get_table_offset(rdev->ddev, COMBIOS_HARDCODED_EDID_TABLE); in radeon_combios_check_hardcoded_edid() 382 raw = rdev->bios + edid_info; in radeon_combios_check_hardcoded_edid() 395 rdev->mode_info.bios_hardcoded_edid = edid; in radeon_combios_check_hardcoded_edid() 396 rdev->mode_info.bios_hardcoded_edid_size = size; in radeon_combios_check_hardcoded_edid() 406 if (rdev->mode_info.bios_hardcoded_edid) { in radeon_bios_get_hardcoded_edid() [all …]
|
/linux-5.10/drivers/gpu/drm/i915/display/ |
D | intel_lvds.c | 2 * Copyright © 2006-2007 Intel Corporation 49 /* Private structure for the integrated LVDS support */ 77 static struct intel_lvds_encoder *to_lvds_encoder(struct drm_encoder *encoder) in to_lvds_encoder() argument 79 return container_of(encoder, struct intel_lvds_encoder, base.base); in to_lvds_encoder() 98 static bool intel_lvds_get_hw_state(struct intel_encoder *encoder, in intel_lvds_get_hw_state() argument 101 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in intel_lvds_get_hw_state() 102 struct intel_lvds_encoder *lvds_encoder = to_lvds_encoder(&encoder->base); in intel_lvds_get_hw_state() 107 encoder->power_domain); in intel_lvds_get_hw_state() 111 ret = intel_lvds_port_enabled(dev_priv, lvds_encoder->reg, pipe); in intel_lvds_get_hw_state() 113 intel_display_power_put(dev_priv, encoder->power_domain, wakeref); in intel_lvds_get_hw_state() [all …]
|
D | intel_dvo.c | 3 * Copyright © 2006-2007 Intel Corporation 123 static struct intel_dvo *enc_to_dvo(struct intel_encoder *encoder) in enc_to_dvo() argument 125 return container_of(encoder, struct intel_dvo, base); in enc_to_dvo() 135 struct drm_device *dev = connector->base.dev; in intel_dvo_connector_get_hw_state() 140 tmp = intel_de_read(dev_priv, intel_dvo->dev.dvo_reg); in intel_dvo_connector_get_hw_state() 145 return intel_dvo->dev.dev_ops->get_hw_state(&intel_dvo->dev); in intel_dvo_connector_get_hw_state() 148 static bool intel_dvo_get_hw_state(struct intel_encoder *encoder, in intel_dvo_get_hw_state() argument 151 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in intel_dvo_get_hw_state() 152 struct intel_dvo *intel_dvo = enc_to_dvo(encoder); in intel_dvo_get_hw_state() 155 tmp = intel_de_read(dev_priv, intel_dvo->dev.dvo_reg); in intel_dvo_get_hw_state() [all …]
|
/linux-5.10/drivers/gpu/drm/amd/amdgpu/ |
D | atombios_encoders.c | 2 * Copyright 2007-11 Advanced Micro Devices, Inc. 72 struct drm_device *dev = amdgpu_encoder->base.dev; in amdgpu_atombios_encoder_get_backlight_level() 75 if (!(adev->mode_info.firmware_flags & ATOM_BIOS_INFO_BL_CONTROLLED_BY_GPU)) in amdgpu_atombios_encoder_get_backlight_level() 85 struct drm_encoder *encoder = &amdgpu_encoder->base; in amdgpu_atombios_encoder_set_backlight_level() local 86 struct drm_device *dev = amdgpu_encoder->base.dev; in amdgpu_atombios_encoder_set_backlight_level() 90 if (!(adev->mode_info.firmware_flags & ATOM_BIOS_INFO_BL_CONTROLLED_BY_GPU)) in amdgpu_atombios_encoder_set_backlight_level() 93 if ((amdgpu_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT)) && in amdgpu_atombios_encoder_set_backlight_level() 94 amdgpu_encoder->enc_priv) { in amdgpu_atombios_encoder_set_backlight_level() 95 dig = amdgpu_encoder->enc_priv; in amdgpu_atombios_encoder_set_backlight_level() 96 dig->backlight_level = level; in amdgpu_atombios_encoder_set_backlight_level() [all …]
|
/linux-5.10/drivers/gpu/drm/ |
D | drm_of.c | 1 // SPDX-License-Identifier: GPL-2.0-only 27 * drm_of_crtc_port_mask - find the mask of a registered CRTC by port OF node 41 if (tmp->port == port) in drm_of_crtc_port_mask() 52 * drm_of_find_possible_crtcs - find the possible CRTCs for an encoder port 54 * @port: encoder port to scan for endpoints 58 * encoder. 85 * drm_of_component_match_add - Add a component helper OF node match rule 103 * drm_of_component_probe - Generic probe function for a component based master 123 if (!dev->of_node) in drm_of_component_probe() 124 return -EINVAL; in drm_of_component_probe() [all …]
|
/linux-5.10/drivers/gpu/drm/msm/disp/mdp4/ |
D | mdp4_lcdc_encoder.c | 1 // SPDX-License-Identifier: GPL-2.0-only 27 static struct mdp4_kms *get_kms(struct drm_encoder *encoder) in get_kms() argument 29 struct msm_drm_private *priv = encoder->dev->dev_private; in get_kms() 30 return to_mdp4_kms(to_mdp_kms(priv->kms)); in get_kms() 33 static void mdp4_lcdc_encoder_destroy(struct drm_encoder *encoder) in mdp4_lcdc_encoder_destroy() argument 36 to_mdp4_lcdc_encoder(encoder); in mdp4_lcdc_encoder_destroy() 37 drm_encoder_cleanup(encoder); in mdp4_lcdc_encoder_destroy() 46 static struct drm_connector *get_connector(struct drm_encoder *encoder) in get_connector() argument 48 struct drm_device *dev = encoder->dev; in get_connector() 51 list_for_each_entry(connector, &dev->mode_config.connector_list, head) in get_connector() [all …]
|
D | mdp4_kms.c | 1 // SPDX-License-Identifier: GPL-2.0-only 21 struct drm_device *dev = mdp4_kms->dev; in mdp4_hw_init() 26 pm_runtime_get_sync(dev->dev); in mdp4_hw_init() 38 DRM_DEV_ERROR(dev->dev, "unexpected MDP version: v%d.%d\n", in mdp4_hw_init() 40 ret = -ENXIO; in mdp4_hw_init() 44 mdp4_kms->rev = minor; in mdp4_hw_init() 46 if (mdp4_kms->rev > 1) { in mdp4_hw_init() 56 clk = clk_get_rate(mdp4_kms->clk); in mdp4_hw_init() 58 if ((mdp4_kms->rev >= 1) || (clk >= 90000000)) { in mdp4_hw_init() 59 dmap_cfg = 0x47; /* 16 bytes-burst x 8 req */ in mdp4_hw_init() [all …]
|
/linux-5.10/drivers/gpu/drm/tegra/ |
D | rgb.c | 1 // SPDX-License-Identifier: GPL-2.0-only 88 static void tegra_rgb_encoder_disable(struct drm_encoder *encoder) in tegra_rgb_encoder_disable() argument 90 struct tegra_output *output = encoder_to_output(encoder); in tegra_rgb_encoder_disable() 93 tegra_dc_write_regs(rgb->dc, rgb_disable, ARRAY_SIZE(rgb_disable)); in tegra_rgb_encoder_disable() 94 tegra_dc_commit(rgb->dc); in tegra_rgb_encoder_disable() 97 static void tegra_rgb_encoder_enable(struct drm_encoder *encoder) in tegra_rgb_encoder_enable() argument 99 struct tegra_output *output = encoder_to_output(encoder); in tegra_rgb_encoder_enable() 103 tegra_dc_write_regs(rgb->dc, rgb_enable, ARRAY_SIZE(rgb_enable)); in tegra_rgb_encoder_enable() 106 tegra_dc_writel(rgb->dc, value, DC_DISP_DATA_ENABLE_OPTIONS); in tegra_rgb_encoder_enable() 109 value = tegra_dc_readl(rgb->dc, DC_COM_PIN_OUTPUT_POLARITY(1)); in tegra_rgb_encoder_enable() [all …]
|
/linux-5.10/drivers/gpu/drm/bridge/ |
D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 31 tristate "Chrontel CH7033 Video Encoder" 35 Enable support for the Chrontel CH7033 VGA/DVI/HDMI Encoder, as 44 Driver for display connectors with support for DDC and hot-plug 48 on ARM-based platforms. Saying Y here when this driver is not needed 65 tristate "Transparent LVDS encoders and decoders support" 70 Support for transparent LVDS encoders and decoders that don't 74 tristate "MegaChips stdp4028-ge-b850v3-fw and stdp2690-ge-b850v3-fw" 80 GE B850v3 that convert dual channel LVDS 81 to DP++. This is used with the i.MX6 imx-ldb [all …]
|
D | lvds-codec.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 37 return drm_bridge_attach(bridge->encoder, lvds_codec->panel_bridge, in lvds_codec_attach() 46 ret = regulator_enable(lvds_codec->vcc); in lvds_codec_enable() 48 dev_err(lvds_codec->dev, in lvds_codec_enable() 53 if (lvds_codec->powerdown_gpio) in lvds_codec_enable() 54 gpiod_set_value_cansleep(lvds_codec->powerdown_gpio, 0); in lvds_codec_enable() 62 if (lvds_codec->powerdown_gpio) in lvds_codec_disable() 63 gpiod_set_value_cansleep(lvds_codec->powerdown_gpio, 1); in lvds_codec_disable() 65 ret = regulator_disable(lvds_codec->vcc); in lvds_codec_disable() 67 dev_err(lvds_codec->dev, in lvds_codec_disable() [all …]
|
/linux-5.10/drivers/gpu/drm/nouveau/dispnv50/ |
D | disp.c | 31 #include <linux/dma-mapping.h> 82 chan->device = device; in nv50_chan_create() 93 &chan->user); in nv50_chan_create() 95 nvif_object_map(&chan->user, NULL, 0); in nv50_chan_create() 104 return -ENOSYS; in nv50_chan_create() 110 nvif_object_dtor(&chan->user); in nv50_chan_destroy() 120 nvif_object_dtor(&dmac->vram); in nv50_dmac_destroy() 121 nvif_object_dtor(&dmac->sync); in nv50_dmac_destroy() 123 nv50_chan_destroy(&dmac->base); in nv50_dmac_destroy() 125 nvif_mem_dtor(&dmac->_push.mem); in nv50_dmac_destroy() [all …]
|
/linux-5.10/Documentation/devicetree/bindings/display/rockchip/ |
D | rockchip-lvds.txt | 1 Rockchip RK3288 LVDS interface 5 - compatible: matching the soc type, one of 6 - "rockchip,rk3288-lvds"; 7 - "rockchip,px30-lvds"; 9 - reg: physical base address of the controller and length 11 - clocks: must include clock specifiers corresponding to entries in the 12 clock-names property. 13 - clock-names: must contain "pclk_lvds" 15 - avdd1v0-supply: regulator phandle for 1.0V analog power 16 - avdd1v8-supply: regulator phandle for 1.8V analog power [all …]
|