Lines Matching +full:edp +full:- +full:panel

1 // SPDX-License-Identifier: GPL-2.0-only
3 * Copyright (c) 2017-2020, The Linux Foundation. All rights reserved.
17 * dp_bridge_detect - callback to determine if connector is connected
25 dp = to_dp_bridge(bridge)->dp_display; in dp_bridge_detect()
27 drm_dbg_dp(dp->drm_dev, "is_connected = %s\n", in dp_bridge_detect()
28 (dp->is_connected) ? "true" : "false"); in dp_bridge_detect()
30 return (dp->is_connected) ? connector_status_connected : in dp_bridge_detect()
41 dp = to_dp_bridge(bridge)->dp_display; in dp_bridge_atomic_check()
43 drm_dbg_dp(dp->drm_dev, "is_connected = %s\n", in dp_bridge_atomic_check()
44 (dp->is_connected) ? "true" : "false"); in dp_bridge_atomic_check()
50 * crtc->active is still true. Any attempt to set the mode or manually in dp_bridge_atomic_check()
57 if (bridge->ops & DRM_BRIDGE_OP_HPD) in dp_bridge_atomic_check()
58 return (dp->is_connected) ? 0 : -ENOTCONN; in dp_bridge_atomic_check()
65 * dp_bridge_get_modes - callback to add drm modes via drm_mode_probed_add()
78 dp = to_dp_bridge(bridge)->dp_display; in dp_bridge_get_modes()
81 if (dp->is_connected) { in dp_bridge_get_modes()
88 drm_dbg_dp(connector->dev, "No sink connected\n"); in dp_bridge_get_modes()
114 dp_bridge = devm_kzalloc(dev->dev, sizeof(*dp_bridge), GFP_KERNEL); in dp_bridge_init()
116 return ERR_PTR(-ENOMEM); in dp_bridge_init()
118 dp_bridge->dp_display = dp_display; in dp_bridge_init()
120 bridge = &dp_bridge->bridge; in dp_bridge_init()
121 bridge->funcs = &dp_bridge_ops; in dp_bridge_init()
122 bridge->type = dp_display->connector_type; in dp_bridge_init()
126 * - Detect/HPD are used by DRM to know if a display is _physically_ in dp_bridge_init()
128 * On eDP we assume the display is always there because you can't in dp_bridge_init()
131 * - Currently eDP mode reading is driven by the panel driver. This in dp_bridge_init()
132 * allows the panel driver to properly power itself on to read the in dp_bridge_init()
135 if (!dp_display->is_edp) { in dp_bridge_init()
136 bridge->ops = in dp_bridge_init()
152 if (dp_display->next_bridge) { in dp_bridge_init()
154 dp_display->next_bridge, bridge, in dp_bridge_init()
157 DRM_ERROR("failed to attach panel bridge: %d\n", rc); in dp_bridge_init()
171 connector = drm_bridge_connector_init(dp_display->drm_dev, encoder); in dp_drm_connector_init()