Skip to content

Commit

Permalink
drm/msm/dsi: Refer to connected device as 'device' instead of 'panel'
Browse files Browse the repository at this point in the history
We currently support only panels connected to dsi output. We're going to
also support external bridge chips now.

Change 'panel_node' to 'device_node' in the struct msm_dsi_host and
'panel_flags' to 'device_flags' in msm_dsi. This makes things sound a
bit more generic.

Signed-off-by: Archit Taneja <architt@codeaurora.org>
Signed-off-by: Rob Clark <robdclark@gmail.com>
  • Loading branch information
Archit Taneja authored and Rob Clark committed Aug 15, 2015
1 parent 60d05cb commit a9ddac9
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 16 deletions.
2 changes: 1 addition & 1 deletion drivers/gpu/drm/msm/dsi/dsi.c
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ struct drm_encoder *msm_dsi_get_encoder(struct msm_dsi *msm_dsi)
if (!msm_dsi || !msm_dsi->panel)
return NULL;

return (msm_dsi->panel_flags & MIPI_DSI_MODE_VIDEO) ?
return (msm_dsi->device_flags & MIPI_DSI_MODE_VIDEO) ?
msm_dsi->encoders[MSM_DSI_VIDEO_ENCODER_ID] :
msm_dsi->encoders[MSM_DSI_CMD_ENCODER_ID];
}
Expand Down
2 changes: 1 addition & 1 deletion drivers/gpu/drm/msm/dsi/dsi.h
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ struct msm_dsi {
struct mipi_dsi_host *host;
struct msm_dsi_phy *phy;
struct drm_panel *panel;
unsigned long panel_flags;
unsigned long device_flags;

struct device *phy_dev;
bool phy_enabled;
Expand Down
24 changes: 12 additions & 12 deletions drivers/gpu/drm/msm/dsi/dsi_host.c
Original file line number Diff line number Diff line change
Expand Up @@ -232,8 +232,8 @@ struct msm_dsi_host {

struct drm_display_mode *mode;

/* Panel info */
struct device_node *panel_node;
/* connected device info */
struct device_node *device_node;
unsigned int channel;
unsigned int lanes;
enum mipi_dsi_pixel_format format;
Expand Down Expand Up @@ -1404,7 +1404,7 @@ static int dsi_host_attach(struct mipi_dsi_host *host,
msm_host->format = dsi->format;
msm_host->mode_flags = dsi->mode_flags;

WARN_ON(dsi->dev.of_node != msm_host->panel_node);
WARN_ON(dsi->dev.of_node != msm_host->device_node);

/* Some gpios defined in panel DT need to be controlled by host */
ret = dsi_host_init_panel_gpios(msm_host, &dsi->dev);
Expand All @@ -1423,7 +1423,7 @@ static int dsi_host_detach(struct mipi_dsi_host *host,
{
struct msm_dsi_host *msm_host = to_msm_dsi_host(host);

msm_host->panel_node = NULL;
msm_host->device_node = NULL;

DBG("id=%d", msm_host->id);
if (msm_host->dev)
Expand Down Expand Up @@ -1458,7 +1458,7 @@ static int dsi_host_parse_dt(struct msm_dsi_host *msm_host)
{
struct device *dev = &msm_host->pdev->dev;
struct device_node *np = dev->of_node;
struct device_node *endpoint, *panel_node;
struct device_node *endpoint, *device_node;
int ret;

ret = of_property_read_u32(np, "qcom,dsi-host-index", &msm_host->id);
Expand All @@ -1481,17 +1481,17 @@ static int dsi_host_parse_dt(struct msm_dsi_host *msm_host)
}

/* Get panel node from the output port's endpoint data */
panel_node = of_graph_get_remote_port_parent(endpoint);
if (!panel_node) {
device_node = of_graph_get_remote_port_parent(endpoint);
if (!device_node) {
dev_err(dev, "%s: no valid device\n", __func__);
of_node_put(endpoint);
return -ENODEV;
}

of_node_put(endpoint);
of_node_put(panel_node);
of_node_put(device_node);

msm_host->panel_node = panel_node;
msm_host->device_node = device_node;

return 0;
}
Expand Down Expand Up @@ -1644,8 +1644,8 @@ int msm_dsi_host_register(struct mipi_dsi_host *host, bool check_defer)
* Don't try to defer if there is nothing connected to the dsi
* output
*/
if (check_defer && msm_host->panel_node) {
if (!of_drm_find_panel(msm_host->panel_node))
if (check_defer && msm_host->device_node) {
if (!of_drm_find_panel(msm_host->device_node))
return -EPROBE_DEFER;
}
}
Expand Down Expand Up @@ -2066,7 +2066,7 @@ struct drm_panel *msm_dsi_host_get_panel(struct mipi_dsi_host *host,
struct msm_dsi_host *msm_host = to_msm_dsi_host(host);
struct drm_panel *panel;

panel = of_drm_find_panel(msm_host->panel_node);
panel = of_drm_find_panel(msm_host->device_node);
if (panel_flags)
*panel_flags = msm_host->mode_flags;

Expand Down
4 changes: 2 additions & 2 deletions drivers/gpu/drm/msm/dsi/dsi_manager.c
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ static enum drm_connector_status dsi_mgr_connector_detect(
DBG("id=%d", id);
if (!msm_dsi->panel) {
msm_dsi->panel = msm_dsi_host_get_panel(msm_dsi->host,
&msm_dsi->panel_flags);
&msm_dsi->device_flags);

/* There is only 1 panel in the global panel list
* for dual DSI mode. Therefore slave dsi should get
Expand All @@ -177,7 +177,7 @@ static enum drm_connector_status dsi_mgr_connector_detect(
*/
if (msm_dsi->panel && IS_DUAL_DSI() &&
other_dsi && other_dsi->panel) {
bool cmd_mode = !(msm_dsi->panel_flags &
bool cmd_mode = !(msm_dsi->device_flags &
MIPI_DSI_MODE_VIDEO);
struct drm_encoder *encoder = msm_dsi_get_encoder(
dsi_mgr_get_dsi(DSI_ENCODER_MASTER));
Expand Down

0 comments on commit a9ddac9

Please sign in to comment.