Commit e3a91f89 authored by Sean Paul's avatar Sean Paul

drm/msm/dsi: Split mode_flags out of msm_dsi_host_get_panel()

We use the flags in more places than just get_panel, so split them out
into a separate function.
Reviewed-by: default avatarRob Clark <robdclark@chromium.org>
Signed-off-by: default avatarSean Paul <seanpaul@chromium.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20190617201301.133275-4-sean@poorly.run
parent 4368a153
...@@ -169,8 +169,8 @@ int msm_dsi_host_power_on(struct mipi_dsi_host *host, ...@@ -169,8 +169,8 @@ int msm_dsi_host_power_on(struct mipi_dsi_host *host,
int msm_dsi_host_power_off(struct mipi_dsi_host *host); int msm_dsi_host_power_off(struct mipi_dsi_host *host);
int msm_dsi_host_set_display_mode(struct mipi_dsi_host *host, int msm_dsi_host_set_display_mode(struct mipi_dsi_host *host,
const struct drm_display_mode *mode); const struct drm_display_mode *mode);
struct drm_panel *msm_dsi_host_get_panel(struct mipi_dsi_host *host, struct drm_panel *msm_dsi_host_get_panel(struct mipi_dsi_host *host);
unsigned long *panel_flags); unsigned long msm_dsi_host_get_mode_flags(struct mipi_dsi_host *host);
struct drm_bridge *msm_dsi_host_get_bridge(struct mipi_dsi_host *host); struct drm_bridge *msm_dsi_host_get_bridge(struct mipi_dsi_host *host);
int msm_dsi_host_register(struct mipi_dsi_host *host, bool check_defer); int msm_dsi_host_register(struct mipi_dsi_host *host, bool check_defer);
void msm_dsi_host_unregister(struct mipi_dsi_host *host); void msm_dsi_host_unregister(struct mipi_dsi_host *host);
......
...@@ -2442,17 +2442,14 @@ int msm_dsi_host_set_display_mode(struct mipi_dsi_host *host, ...@@ -2442,17 +2442,14 @@ int msm_dsi_host_set_display_mode(struct mipi_dsi_host *host,
return 0; return 0;
} }
struct drm_panel *msm_dsi_host_get_panel(struct mipi_dsi_host *host, struct drm_panel *msm_dsi_host_get_panel(struct mipi_dsi_host *host)
unsigned long *panel_flags)
{ {
struct msm_dsi_host *msm_host = to_msm_dsi_host(host); return of_drm_find_panel(to_msm_dsi_host(host)->device_node);
struct drm_panel *panel; }
panel = of_drm_find_panel(msm_host->device_node);
if (panel_flags)
*panel_flags = msm_host->mode_flags;
return panel; unsigned long msm_dsi_host_get_mode_flags(struct mipi_dsi_host *host)
{
return to_msm_dsi_host(host)->mode_flags;
} }
struct drm_bridge *msm_dsi_host_get_bridge(struct mipi_dsi_host *host) struct drm_bridge *msm_dsi_host_get_bridge(struct mipi_dsi_host *host)
......
...@@ -244,8 +244,9 @@ static enum drm_connector_status dsi_mgr_connector_detect( ...@@ -244,8 +244,9 @@ static enum drm_connector_status dsi_mgr_connector_detect(
DBG("id=%d", id); DBG("id=%d", id);
if (!msm_dsi->panel) { if (!msm_dsi->panel) {
msm_dsi->panel = msm_dsi_host_get_panel(msm_dsi->host, msm_dsi->panel = msm_dsi_host_get_panel(msm_dsi->host);
&msm_dsi->device_flags); msm_dsi->device_flags = msm_dsi_host_get_mode_flags(
msm_dsi->host);
/* There is only 1 panel in the global panel list /* There is only 1 panel in the global panel list
* for dual DSI mode. Therefore slave dsi should get * for dual DSI mode. Therefore slave dsi should get
...@@ -255,7 +256,7 @@ static enum drm_connector_status dsi_mgr_connector_detect( ...@@ -255,7 +256,7 @@ static enum drm_connector_status dsi_mgr_connector_detect(
if (!msm_dsi->panel && IS_DUAL_DSI() && if (!msm_dsi->panel && IS_DUAL_DSI() &&
!IS_MASTER_DSI_LINK(id) && other_dsi) !IS_MASTER_DSI_LINK(id) && other_dsi)
msm_dsi->panel = msm_dsi_host_get_panel( msm_dsi->panel = msm_dsi_host_get_panel(
other_dsi->host, NULL); other_dsi->host);
if (msm_dsi->panel && kms->funcs->set_encoder_mode) { if (msm_dsi->panel && kms->funcs->set_encoder_mode) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment