/linux-6.14.4/drivers/gpu/drm/hisilicon/hibmc/ |
D | hibmc_drm_dp.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 14 #include "dp/dp_hw.h" 16 static int hibmc_dp_connector_get_modes(struct drm_connector *connector) in hibmc_dp_connector_get_modes() argument 20 count = drm_add_modes_noedid(connector, connector->dev->mode_config.max_width, in hibmc_dp_connector_get_modes() 21 connector->dev->mode_config.max_height); in hibmc_dp_connector_get_modes() 22 drm_set_preferred_mode(connector, 1024, 768); // temporary implementation in hibmc_dp_connector_get_modes() 39 static inline int hibmc_dp_prepare(struct hibmc_dp *dp, struct drm_display_mode *mode) in hibmc_dp_prepare() argument 43 hibmc_dp_display_en(dp, false); in hibmc_dp_prepare() 45 ret = hibmc_dp_mode_set(dp, mode); in hibmc_dp_prepare() 47 drm_err(dp->drm_dev, "hibmc dp mode set failed: %d\n", ret); in hibmc_dp_prepare() [all …]
|
/linux-6.14.4/drivers/gpu/drm/rockchip/ |
D | cdn-dp-core.c | 1 // SPDX-License-Identifier: GPL-2.0-only 4 * Author: Chris Zhong <zyw@rock-chips.com> 16 #include <sound/hdmi-codec.h> 25 #include "cdn-dp-core.h" 26 #include "cdn-dp-reg.h" 28 static inline struct cdn_dp_device *connector_to_dp(struct drm_connector *connector) in connector_to_dp() argument 30 return container_of(connector, struct cdn_dp_device, connector); in connector_to_dp() 61 { .compatible = "rockchip,rk3399-cdn-dp", 68 static int cdn_dp_grf_write(struct cdn_dp_device *dp, in cdn_dp_grf_write() argument 73 ret = clk_prepare_enable(dp->grf_clk); in cdn_dp_grf_write() [all …]
|
D | analogix_dp-rockchip.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Rockchip SoC DP (Display Port) interface driver. 6 * Author: Andy Yan <andy.yan@rock-chips.com> 7 * Yakir Yang <ykk@rock-chips.com> 8 * Jeff Chen <jeff.chen@rock-chips.com> 45 * struct rockchip_dp_chip_data - splite the grf setting of kind of chips 87 static int rockchip_dp_pre_init(struct rockchip_dp_device *dp) in rockchip_dp_pre_init() argument 89 reset_control_assert(dp->rst); in rockchip_dp_pre_init() 91 reset_control_deassert(dp->rst); in rockchip_dp_pre_init() 98 struct rockchip_dp_device *dp = pdata_encoder_to_dp(plat_data); in rockchip_dp_poweron() local [all …]
|
/linux-6.14.4/drivers/gpu/drm/i915/display/ |
D | intel_dp_hdcp.c | 1 /* SPDX-License-Identifier: MIT */ 40 static void intel_dp_hdcp_wait_for_cp_irq(struct intel_connector *connector, in intel_dp_hdcp_wait_for_cp_irq() argument 43 struct intel_digital_port *dig_port = intel_attached_dig_port(connector); in intel_dp_hdcp_wait_for_cp_irq() 44 struct intel_dp *dp = &dig_port->dp; in intel_dp_hdcp_wait_for_cp_irq() local 45 struct intel_hdcp *hdcp = &dp->attached_connector->hdcp; in intel_dp_hdcp_wait_for_cp_irq() 48 #define C (hdcp->cp_irq_count_cached != atomic_read(&hdcp->cp_irq_count)) in intel_dp_hdcp_wait_for_cp_irq() 49 ret = wait_event_interruptible_timeout(hdcp->cp_irq_queue, C, in intel_dp_hdcp_wait_for_cp_irq() 53 drm_dbg_kms(connector->base.dev, in intel_dp_hdcp_wait_for_cp_irq() 66 dpcd_ret = drm_dp_dpcd_write(&dig_port->dp.aux, DP_AUX_HDCP_AN, in intel_dp_hdcp_write_an_aksv() 69 drm_dbg_kms(display->drm, in intel_dp_hdcp_write_an_aksv() [all …]
|
D | intel_dp_tunnel.c | 1 // SPDX-License-Identifier: MIT 23 * intel_dp_tunnel_disconnect - Disconnect a DP tunnel from a port 24 * @intel_dp: DP port object the tunnel is connected to 26 * Disconnect a DP tunnel from @intel_dp, destroying any related state. This 27 * should be called after detecting a sink-disconnect event from the port. 31 drm_dp_tunnel_destroy(intel_dp->tunnel); in intel_dp_tunnel_disconnect() 32 intel_dp->tunnel = NULL; in intel_dp_tunnel_disconnect() 36 * intel_dp_tunnel_destroy - Destroy a DP tunnel 37 * @intel_dp: DP port object the tunnel is connected to 39 * Destroy a DP tunnel connected to @intel_dp, after disabling the BW [all …]
|
D | intel_hdcp_shim.h | 1 /* SPDX-License-Identifier: MIT */ 24 * and the bus-specific code. What that means is that HDCP over HDMI differs 25 * from HDCP over DP, so to account for these differences, we need to 29 * - DP AUX vs. DDC 30 * HDCP registers on the receiver are set via DP AUX for DP, and 32 * - Receiver register offsets 33 * The offsets of the registers are different for DP vs. HDMI 34 * - Receiver register masks/offsets 36 * place on DP vs HDMI 37 * - Receiver register names [all …]
|
D | intel_dp.c | 97 /* DP DSC throughput values used for slice count calculations KPixels/s */ 105 /* DP DSC FEC Overhead factor in ppm = 1/(0.972261) = 1.028530 */ 108 /* Constants for DP DSC configurations */ 126 * intel_dp_is_edp - is the given port attached to an eDP panel (either CPU or PCH) 127 * @intel_dp: DP struct 129 * If a CPU or PCH DP output is attached to an eDP panel, this function 138 return dig_port->base.type == INTEL_OUTPUT_EDP; in intel_dp_is_edp() 146 return drm_dp_is_uhbr_rate(crtc_state->port_clock); in intel_dp_is_uhbr() 150 * intel_dp_link_symbol_size - get the link symbol size for a given link rate 154 * rate -> channel coding. [all …]
|
D | intel_dp_mst.c | 57 * DP MST (DisplayPort Multi-Stream Transport) 59 * MST support on the source depends on the platform and port. DP initialization 69 * Decision to use MST for a sink happens at detect on the connector attached to 92 struct intel_digital_port *dig_port = intel_mst->primary; in to_primary_encoder() 94 return &dig_port->base; in to_primary_encoder() 97 /* From fake MST stream encoder to primary DP */ 101 struct intel_digital_port *dig_port = intel_mst->primary; in to_primary_dp() 103 return &dig_port->dp; in to_primary_dp() 111 &crtc_state->hw.adjusted_mode; in intel_dp_mst_max_dpt_bpp() 117 * DSC->DPT interface width: in intel_dp_mst_max_dpt_bpp() [all …]
|
D | intel_dp_link_training.c | 2 * Copyright © 2008-2015 Intel Corporation 37 #define LT_MSG_PREFIX "[CONNECTOR:%d:%s][ENCODER:%d:%s][%s] " 38 #define LT_MSG_ARGS(_intel_dp, _dp_phy) (_intel_dp)->attached_connector->base.base.id, \ 39 (_intel_dp)->attached_connector->base.name, \ 40 dp_to_dig_port(_intel_dp)->base.base.base.id, \ 41 dp_to_dig_port(_intel_dp)->base.base.name, \ 45 drm_dbg_kms(to_intel_display(_intel_dp)->drm, \ 50 if (intel_digital_port_connected(&dp_to_dig_port(_intel_dp)->base)) \ 51 drm_err(to_intel_display(_intel_dp)->drm, \ 60 memset(intel_dp->lttpr_common_caps, 0, sizeof(intel_dp->lttpr_common_caps)); in intel_dp_reset_lttpr_common_caps() [all …]
|
D | intel_display_types.h | 3 * Copyright (c) 2007-2008 Intel Corporation 67 /* these are outputs from the chip - integrated only 85 HDMI_AUDIO_OFF_DVI = -2, /* no aux data for HDMI-DVI converter */ 101 * create the DMA scatter-gather list for each FB color plane. This sg 113 * in the rotated and remapped GTT view all no-CCS formats (up to 2 168 struct intel_connector *connector); 212 /* Read out the current hw state of this connector, returning true if 217 * state. This must be called _after_ display->get_pipe_config has 218 * pre-filled the pipe config. Note that intel_encoder->base.crtc must 225 * stored in the encoder (eg. DP link parameters) wrt. the HW state. [all …]
|
/linux-6.14.4/drivers/gpu/drm/bridge/analogix/ |
D | analogix_dp_core.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Analogix DP (Display Port) core interface driver. 39 static void analogix_dp_init_dp(struct analogix_dp_device *dp) in analogix_dp_init_dp() argument 41 analogix_dp_reset(dp); in analogix_dp_init_dp() 43 analogix_dp_swreset(dp); in analogix_dp_init_dp() 45 analogix_dp_init_analog_param(dp); in analogix_dp_init_dp() 46 analogix_dp_init_interrupt(dp); in analogix_dp_init_dp() 49 analogix_dp_enable_sw_function(dp); in analogix_dp_init_dp() 51 analogix_dp_config_interrupt(dp); in analogix_dp_init_dp() 53 analogix_dp_init_hpd(dp); in analogix_dp_init_dp() [all …]
|
/linux-6.14.4/drivers/gpu/drm/msm/dp/ |
D | dp_drm.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (c) 2017-2020, The Linux Foundation. All rights reserved. 17 * msm_dp_bridge_detect - callback to determine if connector is connected 23 struct msm_dp *dp; in msm_dp_bridge_detect() local 25 dp = to_dp_bridge(bridge)->msm_dp_display; in msm_dp_bridge_detect() 27 drm_dbg_dp(dp->drm_dev, "link_ready = %s\n", in msm_dp_bridge_detect() 28 (dp->link_ready) ? "true" : "false"); in msm_dp_bridge_detect() 30 return (dp->link_ready) ? connector_status_connected : in msm_dp_bridge_detect() 39 struct msm_dp *dp; in msm_dp_bridge_atomic_check() local 41 dp = to_dp_bridge(bridge)->msm_dp_display; in msm_dp_bridge_atomic_check() [all …]
|
D | dp_display.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (c) 2017-2020, The Linux Foundation. All rights reserved. 32 MODULE_PARM_DESC(psr_enabled, "enable PSR for eDP and DP displays"); 173 { .compatible = "qcom,sa8775p-dp", .data = &msm_dp_desc_sa8775p }, 174 { .compatible = "qcom,sc7180-dp", .data = &msm_dp_desc_sc7180 }, 175 { .compatible = "qcom,sc7280-dp", .data = &msm_dp_desc_sc7280 }, 176 { .compatible = "qcom,sc7280-edp", .data = &msm_dp_desc_sc7280 }, 177 { .compatible = "qcom,sc8180x-dp", .data = &msm_dp_desc_sc8180x }, 178 { .compatible = "qcom,sc8180x-edp", .data = &msm_dp_desc_sc8180x }, 179 { .compatible = "qcom,sc8280xp-dp", .data = &msm_dp_desc_sc8280xp }, [all …]
|
/linux-6.14.4/drivers/gpu/drm/exynos/ |
D | exynos_dp.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Samsung SoC DP (Display Port) interface driver. 38 struct drm_connector *connector; member 51 struct exynos_dp_device *dp = to_dp(plat_data); in exynos_dp_crtc_clock_enable() local 52 struct drm_encoder *encoder = &dp->encoder; in exynos_dp_crtc_clock_enable() 54 if (!encoder->crtc) in exynos_dp_crtc_clock_enable() 55 return -EPERM; in exynos_dp_crtc_clock_enable() 57 exynos_drm_pipe_clk_enable(to_exynos_crtc(encoder->crtc), enable); in exynos_dp_crtc_clock_enable() 73 struct drm_connector *connector) in exynos_dp_get_modes() argument 75 struct exynos_dp_device *dp = to_dp(plat_data); in exynos_dp_get_modes() local [all …]
|
/linux-6.14.4/drivers/gpu/drm/nouveau/ |
D | nouveau_dp.c | 34 MODULE_PARM_DESC(mst, "Enable DisplayPort multi-stream (default: enabled)"); 39 nouveau_dp_has_sink_count(struct drm_connector *connector, in nouveau_dp_has_sink_count() argument 42 return drm_dp_read_sink_count_cap(connector, outp->dp.dpcd, &outp->dp.desc); in nouveau_dp_has_sink_count() 51 ret = nvif_outp_dp_aux_xfer(&outp->outp, DP_AUX_NATIVE_READ, &size, in nouveau_dp_probe_lttpr() 64 struct drm_connector *connector = &nv_connector->base; in nouveau_dp_probe_dpcd() local 65 struct drm_dp_aux *aux = &nv_connector->aux; in nouveau_dp_probe_dpcd() 69 u8 *dpcd = outp->dp.dpcd; in nouveau_dp_probe_dpcd() 71 outp->dp.lttpr.nr = 0; in nouveau_dp_probe_dpcd() 72 outp->dp.rate_nr = 0; in nouveau_dp_probe_dpcd() 73 outp->dp.link_nr = 0; in nouveau_dp_probe_dpcd() [all …]
|
/linux-6.14.4/drivers/gpu/drm/bridge/ |
D | megachips-stdpxxxx-ge-b850v3-fw.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Driver for MegaChips STDP4028 with GE B850v3 firmware (LVDS-DP) 4 * Driver for MegaChips STDP2690 with GE B850v3 firmware (DP-DP++) 10 * This driver creates a drm_bridge and a drm_connector for the LVDS to DP++ 12 * signal pipeline: a STDP4028(LVDS to DP) and a STDP2690(DP to DP++). The 19 * Host -> LVDS|--(STDP4028)--|DP -> DP|--(STDP2690)--|DP++ -> Video output 60 struct drm_connector connector; member 71 struct i2c_adapter *adapter = client->adapter; in stdp2690_read_block() 76 .addr = client->addr, in stdp2690_read_block() 81 .addr = client->addr, in stdp2690_read_block() [all …]
|
D | display-connector.c | 1 // SPDX-License-Identifier: GPL-2.0 9 #include <linux/media-bus-format.h> 39 return flags & DRM_BRIDGE_ATTACH_NO_CONNECTOR ? 0 : -EINVAL; in display_connector_attach() 47 if (conn->hpd_gpio) { in display_connector_detect() 48 if (gpiod_get_value_cansleep(conn->hpd_gpio)) in display_connector_detect() 54 if (conn->bridge.ddc && drm_probe_ddc(conn->bridge.ddc)) in display_connector_detect() 57 switch (conn->bridge.type) { in display_connector_detect() 74 * Composite and S-Video connectors have no other detection in display_connector_detect() 85 struct drm_connector *connector) in display_connector_edid_read() argument 89 return drm_edid_read_ddc(connector, conn->bridge.ddc); in display_connector_edid_read() [all …]
|
/linux-6.14.4/Documentation/devicetree/bindings/display/connector/ |
D | dp-connector.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/display/connector/dp-connector.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: DisplayPort Connector 10 - Tomi Valkeinen <[email protected]> 14 const: dp-connector 20 - full-size 21 - mini 23 hpd-gpios: [all …]
|
/linux-6.14.4/drivers/gpu/drm/amd/display/amdgpu_dm/ |
D | amdgpu_dm_debugfs.c | 28 #include <media/cec-notifier.h> 67 /* parse_write_buffer_into_params - Helper function to parse debugfs write buffer into an array 94 return -EFAULT; in parse_write_buffer_into_params() 108 /* skip non-space*/ in parse_write_buffer_into_params() 147 * get/ set DP configuration: lane_count, link_rate, spread_spectrum 157 * debugfs is located at /sys/kernel/debug/dri/0/DP-x/link_settings 159 * --- to get dp configuration 161 * cat /sys/kernel/debug/dri/0/DP-x/link_settings 163 * It will list current, verified, reported, preferred dp configuration. 164 * current -- for current video mode [all …]
|
/linux-6.14.4/drivers/gpu/drm/gma500/ |
D | cdv_intel_dp.c | 45 * struct i2c_algo_dp_aux_data - driver interface structure for i2c over dp 65 struct i2c_algo_dp_aux_data *algo_data = adapter->algo_data; in i2c_algo_dp_aux_transaction() 68 ret = (*algo_data->aux_ch)(adapter, mode, in i2c_algo_dp_aux_transaction() 85 struct i2c_algo_dp_aux_data *algo_data = adapter->algo_data; in i2c_algo_dp_aux_address() 92 algo_data->address = address; in i2c_algo_dp_aux_address() 93 algo_data->running = true; in i2c_algo_dp_aux_address() 104 struct i2c_algo_dp_aux_data *algo_data = adapter->algo_data; in i2c_algo_dp_aux_stop() 111 if (algo_data->running) { in i2c_algo_dp_aux_stop() 113 algo_data->running = false; in i2c_algo_dp_aux_stop() 119 * I2C link must be running or this returns -EIO [all …]
|
/linux-6.14.4/Documentation/devicetree/bindings/phy/ |
D | phy-rockchip-usbdp.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/phy/phy-rockchip-usbdp.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Frank Wang <frank.wang@rock-chips.com> 11 - Zhang Yubing <yubing.zhang@rock-chips.com> 16 - rockchip,rk3576-usbdp-phy 17 - rockchip,rk3588-usbdp-phy 22 "#phy-cells": 25 - PHY_TYPE_USB3 [all …]
|
/linux-6.14.4/include/drm/ |
D | drm_connector.h | 58 DRM_FORCE_ON_DIGITAL, /* for DVI-I use digital connector */ 62 * enum drm_connector_status - status for a &drm_connector 64 * This enum is used to track the connector status. There are no separate 69 * @connector_status_connected: The connector is definitely connected to 74 * @connector_status_disconnected: The connector isn't connected to a 75 * sink device which can be autodetect. For digital outputs like DP or 77 * nothing there. It is driver-dependent whether a connector with this 82 * @connector_status_unknown: The connector's status could not be 84 * flicker (like load-detection when the connector is in use), or when a 85 * hardware resource isn't available (like when load-detection needs a [all …]
|
/linux-6.14.4/include/drm/bridge/ |
D | analogix_dp.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 3 * Analogix DP (Display Port) Core interface driver. 29 struct drm_connector *connector; member 40 int analogix_dp_resume(struct analogix_dp_device *dp); 41 int analogix_dp_suspend(struct analogix_dp_device *dp); 45 int analogix_dp_bind(struct analogix_dp_device *dp, struct drm_device *drm_dev); 46 void analogix_dp_unbind(struct analogix_dp_device *dp); 48 int analogix_dp_start_crc(struct drm_connector *connector); 49 int analogix_dp_stop_crc(struct drm_connector *connector);
|
/linux-6.14.4/drivers/gpu/drm/ |
D | drm_connector.c | 52 * Hence they are reference-counted using drm_connector_get() and 57 * objects and initialized by setting the following fields. The connector is 59 * &struct drm_connector_funcs and a connector type, and then exposed to 63 * connectors to encoders 1:1, the connector should be attached at 68 * For connectors which are not fixed (like built-in panels) the driver needs to 76 * Global connector list for drm_connector_find_by_fwnode(). 77 * Note drm_connector_[un]register() first take connector->lock and then 90 * Connector and encoder types. 95 { DRM_MODE_CONNECTOR_DVII, "DVI-I" }, 96 { DRM_MODE_CONNECTOR_DVID, "DVI-D" }, [all …]
|
/linux-6.14.4/drivers/gpu/drm/nouveau/dispnv50/ |
D | disp.c | 32 #include <linux/dma-mapping.h> 84 chan->device = device; in nv50_chan_create() 95 &chan->user); in nv50_chan_create() 97 ret = nvif_object_map(&chan->user, NULL, 0); in nv50_chan_create() 99 nvif_object_dtor(&chan->user); in nv50_chan_create() 109 return -ENOSYS; in nv50_chan_create() 115 nvif_object_dtor(&chan->user); in nv50_chan_destroy() 125 nvif_object_dtor(&dmac->vram); in nv50_dmac_destroy() 126 nvif_object_dtor(&dmac->sync); in nv50_dmac_destroy() 128 nv50_chan_destroy(&dmac->base); in nv50_dmac_destroy() [all …]
|