Lines Matching refs:msm_dsi
30 struct msm_dsi *dsi[DSI_MAX];
43 static inline struct msm_dsi *dsi_mgr_get_dsi(int id) in dsi_mgr_get_dsi()
48 static inline struct msm_dsi *dsi_mgr_get_other_dsi(int id) in dsi_mgr_get_other_dsi()
77 struct msm_dsi *msm_dsi = dsi_mgr_get_dsi(id); in dsi_mgr_setup_components() local
78 struct msm_dsi *other_dsi = dsi_mgr_get_other_dsi(id); in dsi_mgr_setup_components()
79 struct msm_dsi *clk_master_dsi = dsi_mgr_get_dsi(DSI_CLOCK_MASTER); in dsi_mgr_setup_components()
80 struct msm_dsi *clk_slave_dsi = dsi_mgr_get_dsi(DSI_CLOCK_SLAVE); in dsi_mgr_setup_components()
85 ret = msm_dsi_host_register(msm_dsi->host, true); in dsi_mgr_setup_components()
89 msm_dsi_phy_set_usecase(msm_dsi->phy, MSM_DSI_PHY_STANDALONE); in dsi_mgr_setup_components()
90 src_pll = msm_dsi_phy_get_pll(msm_dsi->phy); in dsi_mgr_setup_components()
93 ret = msm_dsi_host_set_src_pll(msm_dsi->host, src_pll); in dsi_mgr_setup_components()
97 struct msm_dsi *master_link_dsi = IS_MASTER_DSI_LINK(id) ? in dsi_mgr_setup_components()
98 msm_dsi : other_dsi; in dsi_mgr_setup_components()
99 struct msm_dsi *slave_link_dsi = IS_MASTER_DSI_LINK(id) ? in dsi_mgr_setup_components()
100 other_dsi : msm_dsi; in dsi_mgr_setup_components()
123 ret = msm_dsi_host_set_src_pll(msm_dsi->host, src_pll); in dsi_mgr_setup_components()
132 static int enable_phy(struct msm_dsi *msm_dsi, int src_pll_id, in enable_phy() argument
139 msm_dsi_host_get_phy_clk_req(msm_dsi->host, &clk_req, is_dual_dsi); in enable_phy()
141 ret = msm_dsi_phy_enable(msm_dsi->phy, src_pll_id, &clk_req); in enable_phy()
142 msm_dsi_phy_get_shared_timings(msm_dsi->phy, shared_timings); in enable_phy()
151 struct msm_dsi *msm_dsi = dsi_mgr_get_dsi(id); in dsi_mgr_phy_enable() local
152 struct msm_dsi *mdsi = dsi_mgr_get_dsi(DSI_CLOCK_MASTER); in dsi_mgr_phy_enable()
153 struct msm_dsi *sdsi = dsi_mgr_get_dsi(DSI_CLOCK_SLAVE); in dsi_mgr_phy_enable()
179 msm_dsi_host_reset_phy(msm_dsi->host); in dsi_mgr_phy_enable()
180 ret = enable_phy(msm_dsi, src_pll_id, &shared_timings[id]); in dsi_mgr_phy_enable()
185 msm_dsi->phy_enabled = true; in dsi_mgr_phy_enable()
192 struct msm_dsi *msm_dsi = dsi_mgr_get_dsi(id); in dsi_mgr_phy_disable() local
193 struct msm_dsi *mdsi = dsi_mgr_get_dsi(DSI_CLOCK_MASTER); in dsi_mgr_phy_disable()
194 struct msm_dsi *sdsi = dsi_mgr_get_dsi(DSI_CLOCK_SLAVE); in dsi_mgr_phy_disable()
200 msm_dsi->phy_enabled = false; in dsi_mgr_phy_disable()
207 msm_dsi_phy_disable(msm_dsi->phy); in dsi_mgr_phy_disable()
240 struct msm_dsi *msm_dsi = dsi_mgr_get_dsi(id); in dsi_mgr_connector_detect() local
241 struct msm_dsi *other_dsi = dsi_mgr_get_other_dsi(id); in dsi_mgr_connector_detect()
246 if (!msm_dsi->panel) { in dsi_mgr_connector_detect()
247 msm_dsi->panel = msm_dsi_host_get_panel(msm_dsi->host, in dsi_mgr_connector_detect()
248 &msm_dsi->device_flags); in dsi_mgr_connector_detect()
255 if (!msm_dsi->panel && IS_DUAL_DSI() && in dsi_mgr_connector_detect()
257 msm_dsi->panel = msm_dsi_host_get_panel( in dsi_mgr_connector_detect()
261 if (msm_dsi->panel && kms->funcs->set_encoder_mode) { in dsi_mgr_connector_detect()
262 bool cmd_mode = !(msm_dsi->device_flags & in dsi_mgr_connector_detect()
265 msm_dsi_get_encoder(msm_dsi); in dsi_mgr_connector_detect()
270 if (msm_dsi->panel && IS_DUAL_DSI()) in dsi_mgr_connector_detect()
277 if (msm_dsi->panel && IS_DUAL_DSI() && in dsi_mgr_connector_detect()
279 bool cmd_mode = !(msm_dsi->device_flags & in dsi_mgr_connector_detect()
294 return msm_dsi->panel ? connector_status_connected : in dsi_mgr_connector_detect()
312 struct msm_dsi *msm_dsi = dsi_mgr_get_dsi(id); in dsi_mgr_connector_get_modes() local
313 struct drm_panel *panel = msm_dsi->panel; in dsi_mgr_connector_get_modes()
335 struct msm_dsi *msm_dsi = dsi_mgr_get_dsi(id); in dsi_mgr_connector_mode_valid() local
336 struct drm_encoder *encoder = msm_dsi_get_encoder(msm_dsi); in dsi_mgr_connector_mode_valid()
356 struct msm_dsi *msm_dsi = dsi_mgr_get_dsi(id); in dsi_mgr_connector_best_encoder() local
359 return msm_dsi_get_encoder(msm_dsi); in dsi_mgr_connector_best_encoder()
365 struct msm_dsi *msm_dsi = dsi_mgr_get_dsi(id); in dsi_mgr_bridge_pre_enable() local
366 struct msm_dsi *msm_dsi1 = dsi_mgr_get_dsi(DSI_1); in dsi_mgr_bridge_pre_enable()
367 struct mipi_dsi_host *host = msm_dsi->host; in dsi_mgr_bridge_pre_enable()
368 struct drm_panel *panel = msm_dsi->panel; in dsi_mgr_bridge_pre_enable()
374 if (!msm_dsi_device_connected(msm_dsi)) in dsi_mgr_bridge_pre_enable()
470 struct msm_dsi *msm_dsi = dsi_mgr_get_dsi(id); in dsi_mgr_bridge_post_disable() local
471 struct msm_dsi *msm_dsi1 = dsi_mgr_get_dsi(DSI_1); in dsi_mgr_bridge_post_disable()
472 struct mipi_dsi_host *host = msm_dsi->host; in dsi_mgr_bridge_post_disable()
473 struct drm_panel *panel = msm_dsi->panel; in dsi_mgr_bridge_post_disable()
479 if (!msm_dsi_device_connected(msm_dsi)) in dsi_mgr_bridge_post_disable()
534 struct msm_dsi *msm_dsi = dsi_mgr_get_dsi(id); in dsi_mgr_bridge_mode_set() local
535 struct msm_dsi *other_dsi = dsi_mgr_get_other_dsi(id); in dsi_mgr_bridge_mode_set()
536 struct mipi_dsi_host *host = msm_dsi->host; in dsi_mgr_bridge_mode_set()
582 struct msm_dsi *msm_dsi = dsi_mgr_get_dsi(id); in msm_dsi_manager_connector_init() local
595 ret = drm_connector_init(msm_dsi->dev, connector, in msm_dsi_manager_connector_init()
611 drm_connector_attach_encoder(connector, msm_dsi->encoder); in msm_dsi_manager_connector_init()
636 struct msm_dsi *msm_dsi = dsi_mgr_get_dsi(id); in msm_dsi_manager_bridge_init() local
642 dsi_bridge = devm_kzalloc(msm_dsi->dev->dev, in msm_dsi_manager_bridge_init()
651 encoder = msm_dsi->encoder; in msm_dsi_manager_bridge_init()
671 struct msm_dsi *msm_dsi = dsi_mgr_get_dsi(id); in msm_dsi_manager_ext_bridge_init() local
672 struct drm_device *dev = msm_dsi->dev; in msm_dsi_manager_ext_bridge_init()
678 int_bridge = msm_dsi->bridge; in msm_dsi_manager_ext_bridge_init()
679 ext_bridge = msm_dsi->external_bridge = in msm_dsi_manager_ext_bridge_init()
680 msm_dsi_host_get_bridge(msm_dsi->host); in msm_dsi_manager_ext_bridge_init()
682 encoder = msm_dsi->encoder; in msm_dsi_manager_ext_bridge_init()
708 struct msm_dsi *msm_dsi = dsi_mgr_get_dsi(id); in msm_dsi_manager_cmd_xfer() local
709 struct msm_dsi *msm_dsi0 = dsi_mgr_get_dsi(DSI_0); in msm_dsi_manager_cmd_xfer()
710 struct mipi_dsi_host *host = msm_dsi->host; in msm_dsi_manager_cmd_xfer()
754 struct msm_dsi *msm_dsi = dsi_mgr_get_dsi(id); in msm_dsi_manager_cmd_xfer_trigger() local
755 struct msm_dsi *msm_dsi0 = dsi_mgr_get_dsi(DSI_0); in msm_dsi_manager_cmd_xfer_trigger()
756 struct mipi_dsi_host *host = msm_dsi->host; in msm_dsi_manager_cmd_xfer_trigger()
771 struct msm_dsi *msm_dsi = dsi_mgr_get_dsi(id); in msm_dsi_manager_attach_dsi_device() local
772 struct drm_device *dev = msm_dsi->dev; in msm_dsi_manager_attach_dsi_device()
790 encoder = msm_dsi_get_encoder(msm_dsi); in msm_dsi_manager_attach_dsi_device()
798 int msm_dsi_manager_register(struct msm_dsi *msm_dsi) in msm_dsi_manager_register() argument
801 int id = msm_dsi->id; in msm_dsi_manager_register()
814 msm_dsim->dsi[id] = msm_dsi; in msm_dsi_manager_register()
816 ret = dsi_mgr_parse_dual_dsi(msm_dsi->pdev->dev.of_node, id); in msm_dsi_manager_register()
836 void msm_dsi_manager_unregister(struct msm_dsi *msm_dsi) in msm_dsi_manager_unregister() argument
840 if (msm_dsi->host) in msm_dsi_manager_unregister()
841 msm_dsi_host_unregister(msm_dsi->host); in msm_dsi_manager_unregister()
842 msm_dsim->dsi[msm_dsi->id] = NULL; in msm_dsi_manager_unregister()