Lines Matching refs:xcp
69 struct amdgpu_xcp *xcp; in amdgpu_xcp_run_transition() local
72 if (xcp_id >= MAX_XCP || !xcp_mgr->xcp[xcp_id].valid) in amdgpu_xcp_run_transition()
75 xcp = &xcp_mgr->xcp[xcp_id]; in amdgpu_xcp_run_transition()
77 xcp_ip = &xcp->ip[i]; in amdgpu_xcp_run_transition()
111 struct amdgpu_xcp *xcp; in __amdgpu_xcp_add_block() local
116 xcp = &xcp_mgr->xcp[xcp_id]; in __amdgpu_xcp_add_block()
117 xcp->ip[ip->ip_id] = *ip; in __amdgpu_xcp_add_block()
118 xcp->ip[ip->ip_id].valid = true; in __amdgpu_xcp_add_block()
120 xcp->valid = true; in __amdgpu_xcp_add_block()
126 struct amdgpu_xcp *xcp = &xcp_mgr->xcp[xcp_id]; in __amdgpu_xcp_set_unique_id() local
132 if (!amdgpu_xcp_get_inst_details(xcp, AMDGPU_XCP_GFX, &inst_mask) && in __amdgpu_xcp_set_unique_id()
138 xcp->unique_id = uid; in __amdgpu_xcp_set_unique_id()
155 xcp_mgr->xcp[i].valid = false; in amdgpu_xcp_init()
170 xcp_mgr->xcp[i].id = i; in amdgpu_xcp_init()
174 xcp_mgr, &xcp_mgr->xcp[i], &mem_id); in amdgpu_xcp_init()
178 xcp_mgr->xcp[i].mem_id = mem_id; in amdgpu_xcp_init()
294 adev->xcp_mgr->xcp->ddev = ddev; in amdgpu_xcp_dev_alloc()
308 adev->xcp_mgr->xcp[i].rdev = p_ddev->render->dev; in amdgpu_xcp_dev_alloc()
309 adev->xcp_mgr->xcp[i].pdev = p_ddev->primary->dev; in amdgpu_xcp_dev_alloc()
310 adev->xcp_mgr->xcp[i].driver = (struct drm_driver *)p_ddev->driver; in amdgpu_xcp_dev_alloc()
311 adev->xcp_mgr->xcp[i].vma_offset_manager = p_ddev->vma_offset_manager; in amdgpu_xcp_dev_alloc()
316 adev->xcp_mgr->xcp[i].ddev = p_ddev; in amdgpu_xcp_dev_alloc()
318 dev_set_drvdata(p_ddev->dev, &adev->xcp_mgr->xcp[i]); in amdgpu_xcp_dev_alloc()
352 xcp_mgr->xcp[i].xcp_mgr = xcp_mgr; in amdgpu_xcp_mgr_init()
360 struct amdgpu_xcp *xcp; in amdgpu_xcp_get_partition() local
367 xcp = &xcp_mgr->xcp[i]; in amdgpu_xcp_get_partition()
368 if ((xcp->valid) && (xcp->ip[ip].valid) && in amdgpu_xcp_get_partition()
369 (xcp->ip[ip].inst_mask & BIT(instance))) in amdgpu_xcp_get_partition()
379 int amdgpu_xcp_get_inst_details(struct amdgpu_xcp *xcp, in amdgpu_xcp_get_inst_details() argument
383 if (!xcp->valid || !inst_mask || !(xcp->ip[ip].valid)) in amdgpu_xcp_get_inst_details()
386 *inst_mask = xcp->ip[ip].inst_mask; in amdgpu_xcp_get_inst_details()
400 if (!adev->xcp_mgr->xcp[i].ddev) in amdgpu_xcp_dev_register()
403 ret = drm_dev_register(adev->xcp_mgr->xcp[i].ddev, ent->driver_data); in amdgpu_xcp_dev_register()
420 if (!adev->xcp_mgr->xcp[i].ddev) in amdgpu_xcp_dev_unplug()
423 p_ddev = adev->xcp_mgr->xcp[i].ddev; in amdgpu_xcp_dev_unplug()
425 p_ddev->render->dev = adev->xcp_mgr->xcp[i].rdev; in amdgpu_xcp_dev_unplug()
426 p_ddev->primary->dev = adev->xcp_mgr->xcp[i].pdev; in amdgpu_xcp_dev_unplug()
427 p_ddev->driver = adev->xcp_mgr->xcp[i].driver; in amdgpu_xcp_dev_unplug()
428 p_ddev->vma_offset_manager = adev->xcp_mgr->xcp[i].vma_offset_manager; in amdgpu_xcp_dev_unplug()
444 if (!adev->xcp_mgr->xcp[i].ddev) in amdgpu_xcp_open_device()
447 if (file_priv->minor == adev->xcp_mgr->xcp[i].ddev->render) { in amdgpu_xcp_open_device()
448 if (adev->xcp_mgr->xcp[i].valid == FALSE) { in amdgpu_xcp_open_device()
461 adev->xcp_mgr->xcp[fpriv->xcp_id].mem_id; in amdgpu_xcp_open_device()
477 atomic_dec(&adev->xcp_mgr->xcp[ring->xcp_id].ref_cnt); in amdgpu_xcp_release_sched()
498 total_ref_cnt = atomic_read(&xcp_mgr->xcp[i].ref_cnt); in amdgpu_xcp_select_scheds()
507 if (xcp_mgr->xcp[sel_xcp_id].gpu_sched[hw_ip][hw_prio].num_scheds) { in amdgpu_xcp_select_scheds()
509 xcp_mgr->xcp[fpriv->xcp_id].gpu_sched[hw_ip][hw_prio].num_scheds; in amdgpu_xcp_select_scheds()
511 xcp_mgr->xcp[fpriv->xcp_id].gpu_sched[hw_ip][hw_prio].sched; in amdgpu_xcp_select_scheds()
512 atomic_inc(&adev->xcp_mgr->xcp[sel_xcp_id].ref_cnt); in amdgpu_xcp_select_scheds()
559 if (adev->xcp_mgr->xcp[xcp_id].ip[ip_blk].inst_mask & inst_mask) { in amdgpu_set_xcp_id()
576 num_gpu_sched = &adev->xcp_mgr->xcp[sel_xcp_id] in amdgpu_xcp_gpu_sched_update()
578 adev->xcp_mgr->xcp[sel_xcp_id].gpu_sched[ring->funcs->type][ring->hw_prio] in amdgpu_xcp_gpu_sched_update()
591 atomic_set(&adev->xcp_mgr->xcp[i].ref_cnt, 0); in amdgpu_xcp_sched_list_update()
592 memset(adev->xcp_mgr->xcp[i].gpu_sched, 0, sizeof(adev->xcp_mgr->xcp->gpu_sched)); in amdgpu_xcp_sched_list_update()
996 struct amdgpu_xcp *xcp = to_xcp(kobj); in xcp_metrics_show() local
1000 xcp_mgr = xcp->xcp_mgr; in xcp_metrics_show()
1001 size = amdgpu_dpm_get_xcp_metrics(xcp_mgr->adev, xcp->id, NULL); in xcp_metrics_show()
1008 return amdgpu_dpm_get_xcp_metrics(xcp_mgr->adev, xcp->id, buf); in xcp_metrics_show()
1014 struct amdgpu_xcp *xcp = to_xcp(kobj); in amdgpu_xcp_attrs_is_visible() local
1016 if (!xcp || !xcp->valid) in amdgpu_xcp_attrs_is_visible()
1040 struct amdgpu_xcp *xcp; in amdgpu_xcp_sysfs_entries_fini() local
1043 xcp = &xcp_mgr->xcp[n]; in amdgpu_xcp_sysfs_entries_fini()
1044 if (!xcp->ddev || !xcp->valid) in amdgpu_xcp_sysfs_entries_fini()
1046 sysfs_remove_group(&xcp->kobj, &amdgpu_xcp_attrs_group); in amdgpu_xcp_sysfs_entries_fini()
1047 kobject_put(&xcp->kobj); in amdgpu_xcp_sysfs_entries_fini()
1053 struct amdgpu_xcp *xcp; in amdgpu_xcp_sysfs_entries_init() local
1058 xcp = &xcp_mgr->xcp[i]; in amdgpu_xcp_sysfs_entries_init()
1059 if (!xcp->ddev) in amdgpu_xcp_sysfs_entries_init()
1061 r = kobject_init_and_add(&xcp->kobj, &xcp_sysfs_ktype, in amdgpu_xcp_sysfs_entries_init()
1062 &xcp->ddev->dev->kobj, "xcp"); in amdgpu_xcp_sysfs_entries_init()
1066 r = sysfs_create_group(&xcp->kobj, &amdgpu_xcp_attrs_group); in amdgpu_xcp_sysfs_entries_init()
1073 kobject_put(&xcp->kobj); in amdgpu_xcp_sysfs_entries_init()
1078 struct amdgpu_xcp *xcp; in amdgpu_xcp_sysfs_entries_update() local
1083 xcp = &xcp_mgr->xcp[i]; in amdgpu_xcp_sysfs_entries_update()
1084 if (!xcp->ddev) in amdgpu_xcp_sysfs_entries_update()
1086 sysfs_update_group(&xcp->kobj, &amdgpu_xcp_attrs_group); in amdgpu_xcp_sysfs_entries_update()