Lines Matching full:private

433 static bool mtk_drm_find_mmsys_comp(struct mtk_drm_private *private, int comp_id)  in mtk_drm_find_mmsys_comp()  argument
435 const struct mtk_mmsys_driver_data *drv_data = private->data; in mtk_drm_find_mmsys_comp()
463 struct mtk_drm_private *private = drm->dev_private; in mtk_drm_kms_init() local
489 for (i = 0; i < private->data->mmsys_dev_num; i++) { in mtk_drm_kms_init()
490 drm->dev_private = private->all_drm_private[i]; in mtk_drm_kms_init()
491 ret = component_bind_all(private->all_drm_private[i]->dev, drm); in mtk_drm_kms_init()
494 component_unbind_all(private->all_drm_private[i]->dev, drm); in mtk_drm_kms_init()
510 * different drm private data structures. Loop through crtc index to in mtk_drm_kms_init()
515 for (j = 0; j < private->data->mmsys_dev_num; j++) { in mtk_drm_kms_init()
516 priv_n = private->all_drm_private[j]; in mtk_drm_kms_init()
568 for (i = 0; i < private->data->mmsys_dev_num; i++) in mtk_drm_kms_init()
569 private->all_drm_private[i]->dma_dev = dma_dev; in mtk_drm_kms_init()
587 for (i = 0; i < private->data->mmsys_dev_num; i++) in mtk_drm_kms_init()
588 component_unbind_all(private->all_drm_private[i]->dev, drm); in mtk_drm_kms_init()
610 struct mtk_drm_private *private = dev->dev_private; in mtk_gem_prime_import() local
612 return drm_gem_prime_import_dev(dev, dma_buf, private->dma_dev); in mtk_gem_prime_import()
638 struct mtk_drm_private *private = dev_get_drvdata(dev); in mtk_drm_bind() local
643 pdev = of_find_device_by_node(private->mutex_node); in mtk_drm_bind()
646 private->mutex_node); in mtk_drm_bind()
647 of_node_put(private->mutex_node); in mtk_drm_bind()
651 private->mutex_dev = &pdev->dev; in mtk_drm_bind()
652 private->mtk_drm_bound = true; in mtk_drm_bind()
653 private->dev = dev; in mtk_drm_bind()
664 private->drm_master = true; in mtk_drm_bind()
665 drm->dev_private = private; in mtk_drm_bind()
666 for (i = 0; i < private->data->mmsys_dev_num; i++) in mtk_drm_bind()
667 private->all_drm_private[i]->drm = drm; in mtk_drm_bind()
684 private->drm = NULL; in mtk_drm_bind()
686 for (i = 0; i < private->data->mmsys_dev_num; i++) in mtk_drm_bind()
687 private->all_drm_private[i]->drm = NULL; in mtk_drm_bind()
689 for (i = 0; i < private->data->mmsys_dev_num; i++) { in mtk_drm_bind()
691 put_device(private->all_drm_private[i]->dev); in mtk_drm_bind()
693 put_device(private->mutex_dev); in mtk_drm_bind()
699 struct mtk_drm_private *private = dev_get_drvdata(dev); in mtk_drm_unbind() local
703 if (private->drm_master) { in mtk_drm_unbind()
704 drm_dev_unregister(private->drm); in mtk_drm_unbind()
705 mtk_drm_kms_deinit(private->drm); in mtk_drm_unbind()
706 drm_dev_put(private->drm); in mtk_drm_unbind()
708 for (i = 0; i < private->data->mmsys_dev_num; i++) { in mtk_drm_unbind()
710 put_device(private->all_drm_private[i]->dev); in mtk_drm_unbind()
712 put_device(private->mutex_dev); in mtk_drm_unbind()
714 private->mtk_drm_bound = false; in mtk_drm_unbind()
715 private->drm_master = false; in mtk_drm_unbind()
716 private->drm = NULL; in mtk_drm_unbind()
1079 struct mtk_drm_private *private; in mtk_drm_probe() local
1087 private = devm_kzalloc(dev, sizeof(*private), GFP_KERNEL); in mtk_drm_probe()
1088 if (!private) in mtk_drm_probe()
1091 private->mmsys_dev = dev->parent; in mtk_drm_probe()
1092 if (!private->mmsys_dev) { in mtk_drm_probe()
1109 private->data = devm_kmemdup(dev, mtk_drm_data, in mtk_drm_probe()
1111 if (!private->data) in mtk_drm_probe()
1114 ret = mtk_drm_of_ddp_path_build(dev, phandle, private->data); in mtk_drm_probe()
1120 private->data = mtk_drm_data; in mtk_drm_probe()
1123 private->all_drm_private = devm_kmalloc_array(dev, private->data->mmsys_dev_num, in mtk_drm_probe()
1124 sizeof(*private->all_drm_private), in mtk_drm_probe()
1126 if (!private->all_drm_private) in mtk_drm_probe()
1130 if (mtk_drm_find_mmsys_comp(private, DDP_COMPONENT_DRM_OVL_ADAPTOR)) { in mtk_drm_probe()
1133 (void *)private->mmsys_dev, in mtk_drm_probe()
1134 sizeof(*private->mmsys_dev)); in mtk_drm_probe()
1135 private->ddp_comp[DDP_COMPONENT_DRM_OVL_ADAPTOR].dev = &ovl_adaptor->dev; in mtk_drm_probe()
1136 mtk_ddp_comp_init(NULL, &private->ddp_comp[DDP_COMPONENT_DRM_OVL_ADAPTOR], in mtk_drm_probe()
1160 if (id < 0 || id == private->data->mmsys_id) { in mtk_drm_probe()
1161 private->mutex_node = of_node_get(node); in mtk_drm_probe()
1162 dev_dbg(dev, "get mutex for mmsys %d", private->data->mmsys_id); in mtk_drm_probe()
1174 if (!mtk_drm_find_mmsys_comp(private, comp_id)) in mtk_drm_probe()
1177 private->comp_node[comp_id] = of_node_get(node); in mtk_drm_probe()
1202 ret = mtk_ddp_comp_init(node, &private->ddp_comp[comp_id], comp_id); in mtk_drm_probe()
1209 if (!private->mutex_node) { in mtk_drm_probe()
1217 platform_set_drvdata(pdev, private); in mtk_drm_probe()
1228 of_node_put(private->mutex_node); in mtk_drm_probe()
1230 of_node_put(private->comp_node[i]); in mtk_drm_probe()
1236 struct mtk_drm_private *private = platform_get_drvdata(pdev); in mtk_drm_remove() local
1241 of_node_put(private->mutex_node); in mtk_drm_remove()
1243 of_node_put(private->comp_node[i]); in mtk_drm_remove()
1248 struct mtk_drm_private *private = platform_get_drvdata(pdev); in mtk_drm_shutdown() local
1250 drm_atomic_helper_shutdown(private->drm); in mtk_drm_shutdown()
1255 struct mtk_drm_private *private = dev_get_drvdata(dev); in mtk_drm_sys_prepare() local
1256 struct drm_device *drm = private->drm; in mtk_drm_sys_prepare()
1258 if (private->drm_master) in mtk_drm_sys_prepare()
1266 struct mtk_drm_private *private = dev_get_drvdata(dev); in mtk_drm_sys_complete() local
1267 struct drm_device *drm = private->drm; in mtk_drm_sys_complete()
1270 if (private->drm_master) in mtk_drm_sys_complete()