Lines Matching refs:dphy_hw
120 struct csi2_dphy_hw *dphy_hw; in rockchip_csi2_dphy_attach_hw() local
133 dphy_hw = dphy->dphy_hw_group[0]; in rockchip_csi2_dphy_attach_hw()
134 mutex_lock(&dphy_hw->mutex); in rockchip_csi2_dphy_attach_hw()
135 dphy_hw->dphy_dev[dphy_hw->dphy_dev_num] = dphy; in rockchip_csi2_dphy_attach_hw()
136 dphy_hw->dphy_dev_num++; in rockchip_csi2_dphy_attach_hw()
140 dphy_hw->lane_mode = LANE_MODE_FULL; in rockchip_csi2_dphy_attach_hw()
144 dphy_hw->lane_mode = LANE_MODE_SPLIT; in rockchip_csi2_dphy_attach_hw()
148 dphy_hw->lane_mode = LANE_MODE_SPLIT; in rockchip_csi2_dphy_attach_hw()
152 dphy_hw->lane_mode = LANE_MODE_FULL; in rockchip_csi2_dphy_attach_hw()
155 dphy->dphy_hw = dphy_hw; in rockchip_csi2_dphy_attach_hw()
156 dphy->phy_hw[index] = (void *)dphy_hw; in rockchip_csi2_dphy_attach_hw()
158 mutex_unlock(&dphy_hw->mutex); in rockchip_csi2_dphy_attach_hw()
170 dphy_hw = dphy->dphy_hw_group[(csi_idx - 2) / 2]; in rockchip_csi2_dphy_attach_hw()
171 mutex_lock(&dphy_hw->mutex); in rockchip_csi2_dphy_attach_hw()
175 dphy_hw->lane_mode = LANE_MODE_FULL; in rockchip_csi2_dphy_attach_hw()
182 dphy_hw->lane_mode = LANE_MODE_SPLIT; in rockchip_csi2_dphy_attach_hw()
192 mutex_unlock(&dphy_hw->mutex); in rockchip_csi2_dphy_attach_hw()
196 dphy_hw->lane_mode = LANE_MODE_SPLIT; in rockchip_csi2_dphy_attach_hw()
202 dphy_hw->dphy_dev_num++; in rockchip_csi2_dphy_attach_hw()
203 dphy->dphy_hw = dphy_hw; in rockchip_csi2_dphy_attach_hw()
204 dphy->phy_hw[index] = (void *)dphy_hw; in rockchip_csi2_dphy_attach_hw()
206 mutex_unlock(&dphy_hw->mutex); in rockchip_csi2_dphy_attach_hw()
209 dphy_hw = dphy->dphy_hw_group[csi_idx / 2]; in rockchip_csi2_dphy_attach_hw()
210 mutex_lock(&dphy_hw->mutex); in rockchip_csi2_dphy_attach_hw()
214 dphy_hw->lane_mode = LANE_MODE_FULL; in rockchip_csi2_dphy_attach_hw()
221 dphy_hw->lane_mode = LANE_MODE_SPLIT; in rockchip_csi2_dphy_attach_hw()
231 mutex_unlock(&dphy_hw->mutex); in rockchip_csi2_dphy_attach_hw()
235 dphy_hw->lane_mode = LANE_MODE_SPLIT; in rockchip_csi2_dphy_attach_hw()
243 mutex_unlock(&dphy_hw->mutex); in rockchip_csi2_dphy_attach_hw()
246 dphy_hw->dphy_dev[dphy_hw->dphy_dev_num] = dphy; in rockchip_csi2_dphy_attach_hw()
247 dphy->phy_hw[index] = (void *)dphy_hw; in rockchip_csi2_dphy_attach_hw()
249 mutex_unlock(&dphy_hw->mutex); in rockchip_csi2_dphy_attach_hw()
257 struct csi2_dphy_hw *dphy_hw = NULL; in rockchip_csi2_dphy_detach_hw() local
264 dphy_hw = (struct csi2_dphy_hw *)dphy->phy_hw[index]; in rockchip_csi2_dphy_detach_hw()
265 if (!dphy_hw) { in rockchip_csi2_dphy_detach_hw()
270 mutex_lock(&dphy_hw->mutex); in rockchip_csi2_dphy_detach_hw()
271 for (i = 0; i < dphy_hw->dphy_dev_num; i++) { in rockchip_csi2_dphy_detach_hw()
272 csi2_dphy = dphy_hw->dphy_dev[i]; in rockchip_csi2_dphy_detach_hw()
275 dphy_hw->dphy_dev[i] = NULL; in rockchip_csi2_dphy_detach_hw()
276 dphy_hw->dphy_dev_num--; in rockchip_csi2_dphy_detach_hw()
280 mutex_unlock(&dphy_hw->mutex); in rockchip_csi2_dphy_detach_hw()
293 dphy_hw = (struct csi2_dphy_hw *)dphy->phy_hw[index]; in rockchip_csi2_dphy_detach_hw()
294 if (!dphy_hw) { in rockchip_csi2_dphy_detach_hw()
299 mutex_lock(&dphy_hw->mutex); in rockchip_csi2_dphy_detach_hw()
300 dphy_hw->dphy_dev_num--; in rockchip_csi2_dphy_detach_hw()
301 mutex_unlock(&dphy_hw->mutex); in rockchip_csi2_dphy_detach_hw()
304 dphy_hw = (struct csi2_dphy_hw *)dphy->phy_hw[index]; in rockchip_csi2_dphy_detach_hw()
305 if (!dphy_hw) { in rockchip_csi2_dphy_detach_hw()
310 mutex_lock(&dphy_hw->mutex); in rockchip_csi2_dphy_detach_hw()
311 dphy_hw->dphy_dev_num--; in rockchip_csi2_dphy_detach_hw()
312 mutex_unlock(&dphy_hw->mutex); in rockchip_csi2_dphy_detach_hw()
386 dphy->dphy_hw->lane_mode = LANE_MODE_FULL; in csi2_dphy_update_config()
394 dphy->dphy_hw->lane_mode = LANE_MODE_SPLIT; in csi2_dphy_update_config()
402 dphy->dphy_hw->lane_mode = LANE_MODE_SPLIT; in csi2_dphy_update_config()
426 dphy->dphy_hw = (struct csi2_dphy_hw *)dphy->phy_hw[i]; in csi2_dphy_s_stream_start()
427 if (dphy->dphy_hw && dphy->dphy_hw->stream_on) in csi2_dphy_s_stream_start()
428 dphy->dphy_hw->stream_on(dphy, sd); in csi2_dphy_s_stream_start()
448 dphy->dphy_hw = (struct csi2_dphy_hw *)dphy->phy_hw[i]; in csi2_dphy_s_stream_stop()
449 if (dphy->dphy_hw && dphy->dphy_hw->stream_off) in csi2_dphy_s_stream_stop()
450 dphy->dphy_hw->stream_off(dphy, sd); in csi2_dphy_s_stream_stop()
948 struct csi2_dphy_hw *dphy_hw; in rockchip_csi2_dphy_get_inno_phy_hw() local
967 dphy_hw = platform_get_drvdata(plat_dev); in rockchip_csi2_dphy_get_inno_phy_hw()
968 if (!dphy_hw) { in rockchip_csi2_dphy_get_inno_phy_hw()
974 dphy->dphy_hw_group[i] = dphy_hw; in rockchip_csi2_dphy_get_inno_phy_hw()