Lines Matching refs:msm_dsi

8 bool msm_dsi_is_cmd_mode(struct msm_dsi *msm_dsi)  in msm_dsi_is_cmd_mode()  argument
10 unsigned long host_flags = msm_dsi_host_get_mode_flags(msm_dsi->host); in msm_dsi_is_cmd_mode()
15 struct drm_dsc_config *msm_dsi_get_dsc_config(struct msm_dsi *msm_dsi) in msm_dsi_get_dsc_config() argument
17 return msm_dsi_host_get_dsc_config(msm_dsi->host); in msm_dsi_get_dsc_config()
20 bool msm_dsi_wide_bus_enabled(struct msm_dsi *msm_dsi) in msm_dsi_wide_bus_enabled() argument
22 return msm_dsi_host_is_wide_bus_enabled(msm_dsi->host); in msm_dsi_wide_bus_enabled()
25 static int dsi_get_phy(struct msm_dsi *msm_dsi) in dsi_get_phy() argument
27 struct platform_device *pdev = msm_dsi->pdev; in dsi_get_phy()
39 msm_dsi->phy = platform_get_drvdata(phy_pdev); in dsi_get_phy()
40 msm_dsi->phy_dev = &phy_pdev->dev; in dsi_get_phy()
49 if (!msm_dsi->phy) { in dsi_get_phy()
58 static void dsi_destroy(struct msm_dsi *msm_dsi) in dsi_destroy() argument
60 if (!msm_dsi) in dsi_destroy()
63 msm_dsi_manager_unregister(msm_dsi); in dsi_destroy()
65 if (msm_dsi->phy_dev) { in dsi_destroy()
66 put_device(msm_dsi->phy_dev); in dsi_destroy()
67 msm_dsi->phy = NULL; in dsi_destroy()
68 msm_dsi->phy_dev = NULL; in dsi_destroy()
71 if (msm_dsi->host) { in dsi_destroy()
72 msm_dsi_host_destroy(msm_dsi->host); in dsi_destroy()
73 msm_dsi->host = NULL; in dsi_destroy()
76 platform_set_drvdata(msm_dsi->pdev, NULL); in dsi_destroy()
79 static struct msm_dsi *dsi_init(struct platform_device *pdev) in dsi_init()
81 struct msm_dsi *msm_dsi; in dsi_init() local
87 msm_dsi = devm_kzalloc(&pdev->dev, sizeof(*msm_dsi), GFP_KERNEL); in dsi_init()
88 if (!msm_dsi) in dsi_init()
90 DBG("dsi probed=%p", msm_dsi); in dsi_init()
92 msm_dsi->id = -1; in dsi_init()
93 msm_dsi->pdev = pdev; in dsi_init()
94 platform_set_drvdata(pdev, msm_dsi); in dsi_init()
97 ret = msm_dsi_host_init(msm_dsi); in dsi_init()
102 ret = dsi_get_phy(msm_dsi); in dsi_init()
107 ret = msm_dsi_manager_register(msm_dsi); in dsi_init()
111 return msm_dsi; in dsi_init()
114 dsi_destroy(msm_dsi); in dsi_init()
121 struct msm_dsi *msm_dsi = dev_get_drvdata(dev); in dsi_bind() local
127 if (!msm_dsi_is_bonded_dsi(msm_dsi) || in dsi_bind()
128 msm_dsi_is_master_dsi(msm_dsi)) { in dsi_bind()
131 ext_bridge = devm_drm_of_get_bridge(&msm_dsi->pdev->dev, in dsi_bind()
132 msm_dsi->pdev->dev.of_node, 1, 0); in dsi_bind()
136 msm_dsi->next_bridge = ext_bridge; in dsi_bind()
139 priv->dsi[msm_dsi->id] = msm_dsi; in dsi_bind()
148 struct msm_dsi *msm_dsi = dev_get_drvdata(dev); in dsi_unbind() local
150 msm_dsi_tx_buf_free(msm_dsi->host); in dsi_unbind()
151 priv->dsi[msm_dsi->id] = NULL; in dsi_unbind()
171 struct msm_dsi *msm_dsi; in dsi_dev_probe() local
174 msm_dsi = dsi_init(pdev); in dsi_dev_probe()
175 if (IS_ERR(msm_dsi)) { in dsi_dev_probe()
177 if (PTR_ERR(msm_dsi) == -ENODEV) in dsi_dev_probe()
180 return PTR_ERR(msm_dsi); in dsi_dev_probe()
188 struct msm_dsi *msm_dsi = platform_get_drvdata(pdev); in dsi_dev_remove() local
191 dsi_destroy(msm_dsi); in dsi_dev_remove()
232 int msm_dsi_modeset_init(struct msm_dsi *msm_dsi, struct drm_device *dev, in msm_dsi_modeset_init() argument
237 msm_dsi->dev = dev; in msm_dsi_modeset_init()
239 ret = msm_dsi_host_modeset_init(msm_dsi->host, dev); in msm_dsi_modeset_init()
245 if (msm_dsi_is_bonded_dsi(msm_dsi) && in msm_dsi_modeset_init()
246 !msm_dsi_is_master_dsi(msm_dsi)) { in msm_dsi_modeset_init()
254 ret = msm_dsi_manager_connector_init(msm_dsi, encoder); in msm_dsi_modeset_init()
264 void msm_dsi_snapshot(struct msm_disp_state *disp_state, struct msm_dsi *msm_dsi) in msm_dsi_snapshot() argument
266 msm_dsi_host_snapshot(disp_state, msm_dsi->host); in msm_dsi_snapshot()
267 msm_dsi_phy_snapshot(disp_state, msm_dsi->phy); in msm_dsi_snapshot()