mirror of
https://github.com/torvalds/linux.git
synced 2026-05-24 15:12:13 +02:00
drm/msm/dp: rename is_connected with link_ready
The is_connected flag is set to true after DP mainlink successfully finishes link training to enter into ST_MAINLINK_READY state rather than being set after the DP dongle is connected. Rename the is_connected flag with link_ready flag to match the state of DP driver's state machine. Changes in v5: -- reworded commit text according to review comments from change #4 Changes in v4: -- reworded commit text Signed-off-by: Kuogee Hsieh <quic_khsieh@quicinc.com> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Patchwork: https://patchwork.freedesktop.org/patch/570063/ Link: https://lore.kernel.org/r/1701472789-25951-3-git-send-email-quic_khsieh@quicinc.com Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
This commit is contained in:
parent
82c2a57512
commit
aa1131204e
|
|
@ -351,12 +351,11 @@ static void dp_display_send_hpd_event(struct msm_dp *dp_display)
|
|||
drm_helper_hpd_irq_event(connector->dev);
|
||||
}
|
||||
|
||||
|
||||
static int dp_display_send_hpd_notification(struct dp_display_private *dp,
|
||||
bool hpd)
|
||||
{
|
||||
if ((hpd && dp->dp_display.is_connected) ||
|
||||
(!hpd && !dp->dp_display.is_connected)) {
|
||||
if ((hpd && dp->dp_display.link_ready) ||
|
||||
(!hpd && !dp->dp_display.link_ready)) {
|
||||
drm_dbg_dp(dp->drm_dev, "HPD already %s\n",
|
||||
(hpd ? "on" : "off"));
|
||||
return 0;
|
||||
|
|
@ -370,7 +369,7 @@ static int dp_display_send_hpd_notification(struct dp_display_private *dp,
|
|||
dp->panel->dpcd, dp->panel->downstream_ports);
|
||||
}
|
||||
|
||||
dp->dp_display.is_connected = hpd;
|
||||
dp->dp_display.link_ready = hpd;
|
||||
|
||||
drm_dbg_dp(dp->drm_dev, "type=%d hpd=%d\n",
|
||||
dp->dp_display.connector_type, hpd);
|
||||
|
|
@ -912,7 +911,7 @@ int dp_display_set_plugged_cb(struct msm_dp *dp_display,
|
|||
|
||||
dp_display->plugged_cb = fn;
|
||||
dp_display->codec_dev = codec_dev;
|
||||
plugged = dp_display->is_connected;
|
||||
plugged = dp_display->link_ready;
|
||||
dp_display_handle_plugged_change(dp_display, plugged);
|
||||
|
||||
return 0;
|
||||
|
|
@ -1343,16 +1342,16 @@ static int dp_pm_resume(struct device *dev)
|
|||
* also only signal audio when disconnected
|
||||
*/
|
||||
if (dp->link->sink_count) {
|
||||
dp->dp_display.is_connected = true;
|
||||
dp->dp_display.link_ready = true;
|
||||
} else {
|
||||
dp->dp_display.is_connected = false;
|
||||
dp->dp_display.link_ready = false;
|
||||
dp_display_handle_plugged_change(dp_display, false);
|
||||
}
|
||||
|
||||
drm_dbg_dp(dp->drm_dev,
|
||||
"After, type=%d sink=%d conn=%d core_init=%d phy_init=%d power=%d\n",
|
||||
dp->dp_display.connector_type, dp->link->sink_count,
|
||||
dp->dp_display.is_connected, dp->core_initialized,
|
||||
dp->dp_display.link_ready, dp->core_initialized,
|
||||
dp->phy_initialized, dp_display->power_on);
|
||||
|
||||
mutex_unlock(&dp->event_mutex);
|
||||
|
|
@ -1740,8 +1739,8 @@ void dp_bridge_hpd_notify(struct drm_bridge *bridge,
|
|||
return;
|
||||
}
|
||||
|
||||
if (!dp_display->is_connected && status == connector_status_connected)
|
||||
if (!dp_display->link_ready && status == connector_status_connected)
|
||||
dp_add_event(dp, EV_HPD_PLUG_INT, 0, 0);
|
||||
else if (dp_display->is_connected && status == connector_status_disconnected)
|
||||
else if (dp_display->link_ready && status == connector_status_disconnected)
|
||||
dp_add_event(dp, EV_HPD_UNPLUG_INT, 0, 0);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ struct msm_dp {
|
|||
struct drm_bridge *bridge;
|
||||
struct drm_connector *connector;
|
||||
struct drm_bridge *next_bridge;
|
||||
bool is_connected;
|
||||
bool link_ready;
|
||||
bool audio_enabled;
|
||||
bool power_on;
|
||||
unsigned int connector_type;
|
||||
|
|
|
|||
|
|
@ -24,10 +24,10 @@ static enum drm_connector_status dp_bridge_detect(struct drm_bridge *bridge)
|
|||
|
||||
dp = to_dp_bridge(bridge)->dp_display;
|
||||
|
||||
drm_dbg_dp(dp->drm_dev, "is_connected = %s\n",
|
||||
(dp->is_connected) ? "true" : "false");
|
||||
drm_dbg_dp(dp->drm_dev, "link_ready = %s\n",
|
||||
(dp->link_ready) ? "true" : "false");
|
||||
|
||||
return (dp->is_connected) ? connector_status_connected :
|
||||
return (dp->link_ready) ? connector_status_connected :
|
||||
connector_status_disconnected;
|
||||
}
|
||||
|
||||
|
|
@ -40,8 +40,8 @@ static int dp_bridge_atomic_check(struct drm_bridge *bridge,
|
|||
|
||||
dp = to_dp_bridge(bridge)->dp_display;
|
||||
|
||||
drm_dbg_dp(dp->drm_dev, "is_connected = %s\n",
|
||||
(dp->is_connected) ? "true" : "false");
|
||||
drm_dbg_dp(dp->drm_dev, "link_ready = %s\n",
|
||||
(dp->link_ready) ? "true" : "false");
|
||||
|
||||
/*
|
||||
* There is no protection in the DRM framework to check if the display
|
||||
|
|
@ -55,7 +55,7 @@ static int dp_bridge_atomic_check(struct drm_bridge *bridge,
|
|||
* After that this piece of code can be removed.
|
||||
*/
|
||||
if (bridge->ops & DRM_BRIDGE_OP_HPD)
|
||||
return (dp->is_connected) ? 0 : -ENOTCONN;
|
||||
return (dp->link_ready) ? 0 : -ENOTCONN;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -78,7 +78,7 @@ static int dp_bridge_get_modes(struct drm_bridge *bridge, struct drm_connector *
|
|||
dp = to_dp_bridge(bridge)->dp_display;
|
||||
|
||||
/* pluggable case assumes EDID is read when HPD */
|
||||
if (dp->is_connected) {
|
||||
if (dp->link_ready) {
|
||||
rc = dp_display_get_modes(dp);
|
||||
if (rc <= 0) {
|
||||
DRM_ERROR("failed to get DP sink modes, rc=%d\n", rc);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user