Lines Matching full:private
412 static bool mtk_drm_find_mmsys_comp(struct mtk_drm_private *private, int comp_id) in mtk_drm_find_mmsys_comp() argument
414 const struct mtk_mmsys_driver_data *drv_data = private->data; in mtk_drm_find_mmsys_comp()
442 struct mtk_drm_private *private = drm->dev_private; in mtk_drm_kms_init() local
468 for (i = 0; i < private->data->mmsys_dev_num; i++) { in mtk_drm_kms_init()
469 drm->dev_private = private->all_drm_private[i]; in mtk_drm_kms_init()
470 ret = component_bind_all(private->all_drm_private[i]->dev, drm); in mtk_drm_kms_init()
486 * different drm private data structures. Loop through crtc index to in mtk_drm_kms_init()
491 for (j = 0; j < private->data->mmsys_dev_num; j++) { in mtk_drm_kms_init()
492 priv_n = private->all_drm_private[j]; in mtk_drm_kms_init()
531 for (i = 0; i < private->data->mmsys_dev_num; i++) in mtk_drm_kms_init()
532 private->all_drm_private[i]->dma_dev = dma_dev; in mtk_drm_kms_init()
554 for (i = 0; i < private->data->mmsys_dev_num; i++) in mtk_drm_kms_init()
555 component_unbind_all(private->all_drm_private[i]->dev, drm); in mtk_drm_kms_init()
557 for (i = 0; i < private->data->mmsys_dev_num; i++) in mtk_drm_kms_init()
558 put_device(private->all_drm_private[i]->mutex_dev); in mtk_drm_kms_init()
580 struct mtk_drm_private *private = dev->dev_private; in mtk_drm_gem_prime_import() local
582 return drm_gem_prime_import_dev(dev, dma_buf, private->dma_dev); in mtk_drm_gem_prime_import()
608 struct mtk_drm_private *private = dev_get_drvdata(dev); in mtk_drm_bind() local
613 pdev = of_find_device_by_node(private->mutex_node); in mtk_drm_bind()
616 private->mutex_node); in mtk_drm_bind()
617 of_node_put(private->mutex_node); in mtk_drm_bind()
621 private->mutex_dev = &pdev->dev; in mtk_drm_bind()
622 private->mtk_drm_bound = true; in mtk_drm_bind()
623 private->dev = dev; in mtk_drm_bind()
632 private->drm_master = true; in mtk_drm_bind()
633 drm->dev_private = private; in mtk_drm_bind()
634 for (i = 0; i < private->data->mmsys_dev_num; i++) in mtk_drm_bind()
635 private->all_drm_private[i]->drm = drm; in mtk_drm_bind()
652 private->drm = NULL; in mtk_drm_bind()
659 struct mtk_drm_private *private = dev_get_drvdata(dev); in mtk_drm_unbind() local
662 if (private->drm_master) { in mtk_drm_unbind()
663 drm_dev_unregister(private->drm); in mtk_drm_unbind()
664 mtk_drm_kms_deinit(private->drm); in mtk_drm_unbind()
665 drm_dev_put(private->drm); in mtk_drm_unbind()
667 private->mtk_drm_bound = false; in mtk_drm_unbind()
668 private->drm_master = false; in mtk_drm_unbind()
669 private->drm = NULL; in mtk_drm_unbind()
802 struct mtk_drm_private *private; in mtk_drm_probe() local
809 private = devm_kzalloc(dev, sizeof(*private), GFP_KERNEL); in mtk_drm_probe()
810 if (!private) in mtk_drm_probe()
813 private->mmsys_dev = dev->parent; in mtk_drm_probe()
814 if (!private->mmsys_dev) { in mtk_drm_probe()
823 private->data = of_id->data; in mtk_drm_probe()
825 private->all_drm_private = devm_kmalloc_array(dev, private->data->mmsys_dev_num, in mtk_drm_probe()
826 sizeof(*private->all_drm_private), in mtk_drm_probe()
828 if (!private->all_drm_private) in mtk_drm_probe()
832 if (mtk_drm_find_mmsys_comp(private, DDP_COMPONENT_DRM_OVL_ADAPTOR)) { in mtk_drm_probe()
835 (void *)private->mmsys_dev, in mtk_drm_probe()
836 sizeof(*private->mmsys_dev)); in mtk_drm_probe()
837 private->ddp_comp[DDP_COMPONENT_DRM_OVL_ADAPTOR].dev = &ovl_adaptor->dev; in mtk_drm_probe()
838 mtk_ddp_comp_init(NULL, &private->ddp_comp[DDP_COMPONENT_DRM_OVL_ADAPTOR], in mtk_drm_probe()
865 if (id < 0 || id == private->data->mmsys_id) { in mtk_drm_probe()
866 private->mutex_node = of_node_get(node); in mtk_drm_probe()
867 dev_dbg(dev, "get mutex for mmsys %d", private->data->mmsys_id); in mtk_drm_probe()
879 if (!mtk_drm_find_mmsys_comp(private, comp_id)) in mtk_drm_probe()
882 private->comp_node[comp_id] = of_node_get(node); in mtk_drm_probe()
907 ret = mtk_ddp_comp_init(node, &private->ddp_comp[comp_id], comp_id); in mtk_drm_probe()
914 if (!private->mutex_node) { in mtk_drm_probe()
922 platform_set_drvdata(pdev, private); in mtk_drm_probe()
933 of_node_put(private->mutex_node); in mtk_drm_probe()
935 of_node_put(private->comp_node[i]); in mtk_drm_probe()
941 struct mtk_drm_private *private = platform_get_drvdata(pdev); in mtk_drm_remove() local
946 of_node_put(private->mutex_node); in mtk_drm_remove()
948 of_node_put(private->comp_node[i]); in mtk_drm_remove()
953 struct mtk_drm_private *private = dev_get_drvdata(dev); in mtk_drm_sys_prepare() local
954 struct drm_device *drm = private->drm; in mtk_drm_sys_prepare()
956 if (private->drm_master) in mtk_drm_sys_prepare()
964 struct mtk_drm_private *private = dev_get_drvdata(dev); in mtk_drm_sys_complete() local
965 struct drm_device *drm = private->drm; in mtk_drm_sys_complete()
968 if (private->drm_master) in mtk_drm_sys_complete()