Home
last modified time | relevance | path

Searched +full:dp +full:- +full:connector (Results 1 – 25 of 262) sorted by relevance

1234567891011

/linux-6.14.4/drivers/gpu/drm/hisilicon/hibmc/
Dhibmc_drm_dp.c1 // 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/
Dcdn-dp-core.c1 // 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 …]
Danalogix_dp-rockchip.c1 // 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/
Dintel_dp_hdcp.c1 /* 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 …]
Dintel_dp_tunnel.c1 // 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 …]
Dintel_hdcp_shim.h1 /* 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 …]
Dintel_dp.c97 /* 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 …]
Dintel_dp_mst.c57 * 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 …]
Dintel_dp_link_training.c2 * 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 …]
Dintel_display_types.h3 * 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/
Danalogix_dp_core.c1 // 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/
Ddp_drm.c1 // 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 …]
Ddp_display.c1 // 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/
Dexynos_dp.c1 // 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/
Dnouveau_dp.c34 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/
Dmegachips-stdpxxxx-ge-b850v3-fw.c1 // 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 …]
Ddisplay-connector.c1 // 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/
Ddp-connector.yaml1 # 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/
Damdgpu_dm_debugfs.c28 #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/
Dcdv_intel_dp.c45 * 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/
Dphy-rockchip-usbdp.yaml1 # 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/
Ddrm_connector.h58 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/
Danalogix_dp.h1 /* 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/
Ddrm_connector.c52 * 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/
Ddisp.c32 #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 …]

1234567891011