drm/msm/dsi: Pull out panel init code into function

Pull all of the panel init code out of detect() and put it in its own
function. This will be useful in future patches where it's moved from
detect().

Reviewed-by: Rob Clark <robdclark@chromium.org>
Signed-off-by: Sean Paul <seanpaul@chromium.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20190617201301.133275-6-sean@poorly.run
This commit is contained in:
Sean Paul 2019-06-17 16:12:54 -04:00
parent 09951aaa72
commit 4f229b4138
1 changed files with 12 additions and 4 deletions

View File

@ -239,17 +239,14 @@ static bool dsi_mgr_is_cmd_mode(struct msm_dsi *msm_dsi)
return !(host_flags & MIPI_DSI_MODE_VIDEO);
}
static enum drm_connector_status dsi_mgr_connector_detect(
struct drm_connector *connector, bool force)
static void msm_dsi_manager_panel_init(struct drm_connector *connector, u8 id)
{
int id = dsi_mgr_connector_get_id(connector);
struct msm_dsi *msm_dsi = dsi_mgr_get_dsi(id);
struct msm_dsi *other_dsi = dsi_mgr_get_other_dsi(id);
struct msm_drm_private *priv = connector->dev->dev_private;
struct msm_kms *kms = priv->kms;
bool cmd_mode;
DBG("id=%d", id);
if (!msm_dsi->panel) {
msm_dsi->panel = msm_dsi_host_get_panel(msm_dsi->host);
@ -292,6 +289,17 @@ static enum drm_connector_status dsi_mgr_connector_detect(
pr_err("mdp does not support dual DSI\n");
}
}
}
static enum drm_connector_status dsi_mgr_connector_detect(
struct drm_connector *connector, bool force)
{
int id = dsi_mgr_connector_get_id(connector);
struct msm_dsi *msm_dsi = dsi_mgr_get_dsi(id);
DBG("id=%d", id);
if (!msm_dsi->panel)
msm_dsi_manager_panel_init(connector, id);
return msm_dsi->panel ? connector_status_connected :
connector_status_disconnected;