Re: [PATCH v4 2/8] drm/msm/dp: rename is_connected with link_ready

From: Dmitry Baryshkov
Date: Wed Sep 27 2023 - 17:12:07 EST


On Wed, 27 Sept 2023 at 23:54, Kuogee Hsieh <quic_khsieh@xxxxxxxxxxx> wrote:
>
> 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 v4:
> -- reworded commit etxt

s/etxt/text/

>
> Signed-off-by: Kuogee Hsieh <quic_khsieh@xxxxxxxxxxx>
> ---
> drivers/gpu/drm/msm/dp/dp_display.c | 19 +++++++++----------
> drivers/gpu/drm/msm/dp/dp_display.h | 2 +-
> drivers/gpu/drm/msm/dp/dp_drm.c | 14 +++++++-------
> 3 files changed, 17 insertions(+), 18 deletions(-)
>
> diff --git a/drivers/gpu/drm/msm/dp/dp_display.c b/drivers/gpu/drm/msm/dp/dp_display.c
> index 5645178..9cb5a5b 100644
> --- a/drivers/gpu/drm/msm/dp/dp_display.c
> +++ b/drivers/gpu/drm/msm/dp/dp_display.c
> @@ -367,12 +367,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;
> @@ -382,7 +381,7 @@ static int dp_display_send_hpd_notification(struct dp_display_private *dp,
> if (!hpd)
> dp->panel->video_test = false;
>
> - 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);
> @@ -922,7 +921,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;
> @@ -1350,16 +1349,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);
> @@ -1752,8 +1751,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);
> }
> diff --git a/drivers/gpu/drm/msm/dp/dp_display.h b/drivers/gpu/drm/msm/dp/dp_display.h
> index b3c08de..d65693e 100644
> --- a/drivers/gpu/drm/msm/dp/dp_display.h
> +++ b/drivers/gpu/drm/msm/dp/dp_display.h
> @@ -16,7 +16,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;
> diff --git a/drivers/gpu/drm/msm/dp/dp_drm.c b/drivers/gpu/drm/msm/dp/dp_drm.c
> index 785d766..ee945ca 100644
> --- a/drivers/gpu/drm/msm/dp/dp_drm.c
> +++ b/drivers/gpu/drm/msm/dp/dp_drm.c
> @@ -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);
> --
> 2.7.4
>


--
With best wishes
Dmitry