/kernel/linux/linux-6.6/drivers/gpu/drm/msm/ |
H A D | msm_submitqueue.c | 55 for (i = 0; i < ARRAY_SIZE(ctx->entities); i++) { in __msm_file_private_destroy() 56 if (!ctx->entities[i]) in __msm_file_private_destroy() 59 drm_sched_entity_destroy(ctx->entities[i]); in __msm_file_private_destroy() 60 kfree(ctx->entities[i]); in __msm_file_private_destroy() 131 if (WARN_ON(idx >= ARRAY_SIZE(ctx->entities))) in get_sched_entity() 136 if (!ctx->entities[idx]) { in get_sched_entity() 141 entity = kzalloc(sizeof(*ctx->entities[idx]), GFP_KERNEL); in get_sched_entity() 150 ctx->entities[idx] = entity; in get_sched_entity() 155 return ctx->entities[idx]; in get_sched_entity()
|
/kernel/linux/linux-5.10/drivers/media/platform/vsp1/ |
H A D | vsp1_drv.c | 82 * - from a UDS to a UDS (UDS entities can't be chained) 97 list_for_each_entry(source, &vsp1->entities, list_dev) { in vsp1_create_sink_links() 138 list_for_each_entry(entity, &vsp1->entities, list_dev) { in vsp1_uapi_create_links() 216 list_for_each_entry_safe(entity, _entity, &vsp1->entities, list_dev) { in vsp1_destroy_entities() 267 /* Instantiate all the entities. */ in vsp1_create_entities() 275 list_add_tail(&vsp1->brs->entity.list_dev, &vsp1->entities); in vsp1_create_entities() 285 list_add_tail(&vsp1->bru->entity.list_dev, &vsp1->entities); in vsp1_create_entities() 295 list_add_tail(&vsp1->clu->entity.list_dev, &vsp1->entities); in vsp1_create_entities() 304 list_add_tail(&vsp1->hsi->entity.list_dev, &vsp1->entities); in vsp1_create_entities() 312 list_add_tail(&vsp1->hst->entity.list_dev, &vsp1->entities); in vsp1_create_entities() [all...] |
H A D | vsp1_pipe.c | 261 list_for_each_entry(entity, &pipe->entities, list_pipe) in vsp1_pipeline_reset() 264 INIT_LIST_HEAD(&pipe->entities); in vsp1_pipeline_reset() 282 INIT_LIST_HEAD(&pipe->entities); in vsp1_pipeline_init() 342 list_for_each_entry(entity, &pipe->entities, list_pipe) { in vsp1_pipeline_stop() 444 list_for_each_entry_reverse(entity, &pipe->entities, list_pipe) { in vsp1_pipeline_propagate_partition()
|
H A D | vsp1_drm.c | 60 * Insert the UIF in the pipeline between the prev and next entities. If no UIF 61 * is available connect the two entities directly. 75 * next entities directly. in vsp1_du_insert_uif() 266 * of entities for this pipeline. The other pipeline's in vsp1_du_pipeline_setup_brx() 274 * pointer to add it back to the list of entities later in vsp1_du_pipeline_setup_brx() 312 * by the other pipeline, add it back to the entities list (with in vsp1_du_pipeline_setup_brx() 318 &pipe->entities); in vsp1_du_pipeline_setup_brx() 329 list_add_tail(&pipe->brx->list_pipe, &pipe->entities); in vsp1_du_pipeline_setup_brx() 423 list_add_tail(&rpf->entity.list_pipe, &pipe->entities); in vsp1_du_pipeline_setup_inputs() 461 * hardware pipeline and from the pipeline's list of entities in vsp1_du_pipeline_setup_inputs() [all...] |
H A D | vsp1_pipe.h | 104 * @entities: list of entities in the pipeline 138 * The order of this list must be identical to the order of the entities 142 struct list_head entities; member
|
H A D | vsp1.h | 98 struct list_head entities; member
|
H A D | vsp1_video.c | 274 list_for_each_entry(entity, &pipe->entities, list_pipe) { in vsp1_video_pipeline_setup_partitions() 372 list_for_each_entry(entity, &pipe->entities, list_pipe) in vsp1_video_pipeline_run_partition() 397 list_for_each_entry(entity, &pipe->entities, list_pipe) in vsp1_video_pipeline_run() 567 /* Walk the graph to locate the entities and video nodes. */ in vsp1_video_pipeline_build() 584 list_add_tail(&e->list_pipe, &pipe->entities); in vsp1_video_pipeline_build() 826 list_for_each_entry(entity, &pipe->entities, list_pipe) { in vsp1_video_setup_pipeline()
|
/kernel/linux/linux-6.6/drivers/media/platform/renesas/vsp1/ |
H A D | vsp1_drv.c | 91 * - from a UDS to a UDS (UDS entities can't be chained) 106 list_for_each_entry(source, &vsp1->entities, list_dev) { in vsp1_create_sink_links() 147 list_for_each_entry(entity, &vsp1->entities, list_dev) { in vsp1_uapi_create_links() 225 list_for_each_entry_safe(entity, _entity, &vsp1->entities, list_dev) { in vsp1_destroy_entities() 274 /* Instantiate all the entities. */ in vsp1_create_entities() 282 list_add_tail(&vsp1->brs->entity.list_dev, &vsp1->entities); in vsp1_create_entities() 292 list_add_tail(&vsp1->bru->entity.list_dev, &vsp1->entities); in vsp1_create_entities() 302 list_add_tail(&vsp1->clu->entity.list_dev, &vsp1->entities); in vsp1_create_entities() 311 list_add_tail(&vsp1->hsi->entity.list_dev, &vsp1->entities); in vsp1_create_entities() 319 list_add_tail(&vsp1->hst->entity.list_dev, &vsp1->entities); in vsp1_create_entities() [all...] |
H A D | vsp1_pipe.c | 279 list_for_each_entry(entity, &pipe->entities, list_pipe) in vsp1_pipeline_reset() 282 INIT_LIST_HEAD(&pipe->entities); in vsp1_pipeline_reset() 300 INIT_LIST_HEAD(&pipe->entities); in vsp1_pipeline_init() 360 list_for_each_entry(entity, &pipe->entities, list_pipe) { in vsp1_pipeline_stop() 462 list_for_each_entry_reverse(entity, &pipe->entities, list_pipe) { in vsp1_pipeline_propagate_partition()
|
H A D | vsp1_drm.c | 60 * Insert the UIF in the pipeline between the prev and next entities. If no UIF 61 * is available connect the two entities directly. 77 * next entities directly. in vsp1_du_insert_uif() 266 * of entities for this pipeline. The other pipeline's in vsp1_du_pipeline_setup_brx() 274 * pointer to add it back to the list of entities later in vsp1_du_pipeline_setup_brx() 312 * by the other pipeline, add it back to the entities list (with in vsp1_du_pipeline_setup_brx() 318 &pipe->entities); in vsp1_du_pipeline_setup_brx() 329 list_add_tail(&pipe->brx->list_pipe, &pipe->entities); in vsp1_du_pipeline_setup_brx() 423 list_add_tail(&rpf->entity.list_pipe, &pipe->entities); in vsp1_du_pipeline_setup_inputs() 465 * hardware pipeline and from the pipeline's list of entities in vsp1_du_pipeline_setup_inputs() [all...] |
H A D | vsp1_pipe.h | 104 * @entities: list of entities in the pipeline 138 * The order of this list must be identical to the order of the entities 142 struct list_head entities; member
|
H A D | vsp1.h | 102 struct list_head entities; member
|
/kernel/linux/linux-5.10/drivers/gpu/drm/amd/amdgpu/ |
H A D | amdgpu_ctx.c | 132 ctx->entities[hw_ip][ring] = entity; in amdgpu_ctx_init_entity() 194 amdgpu_ctx_fini_entity(ctx->entities[i][j]); in amdgpu_ctx_fini() 195 ctx->entities[i][j] = NULL; in amdgpu_ctx_fini() 224 if (ctx->entities[hw_ip][ring] == NULL) { in amdgpu_ctx_get_entity() 230 *entity = &ctx->entities[hw_ip][ring]->entity; in amdgpu_ctx_get_entity() 275 if (!ctx->entities[i][j]) in amdgpu_ctx_do_release() 278 drm_sched_entity_destroy(&ctx->entities[i][j]->entity); in amdgpu_ctx_do_release() 527 if (!ctx->entities[i][j]) in amdgpu_ctx_priority_override() 530 amdgpu_ctx_set_entity_priority(ctx, ctx->entities[i][j], in amdgpu_ctx_priority_override() 580 if (!ctx->entities[ in amdgpu_ctx_mgr_entity_flush() [all...] |
H A D | amdgpu_ctx.h | 47 struct amdgpu_ctx_entity *entities[AMDGPU_HW_IP_NUM][AMDGPU_MAX_ENTITY_NUM]; member
|
/kernel/linux/linux-6.6/drivers/gpu/drm/amd/amdgpu/ |
H A D | amdgpu_ctx.c | 257 if (cmpxchg(&ctx->entities[hw_ip][ring], NULL, entity)) in amdgpu_ctx_init_entity() 420 spend = amdgpu_ctx_fini_entity(adev, ctx->entities[i][j]); in amdgpu_ctx_fini() 455 if (ctx->entities[hw_ip][ring] == NULL) { in amdgpu_ctx_get_entity() 461 ctx_entity = &ctx->entities[hw_ip][ring]->entity; in amdgpu_ctx_get_entity() 513 if (!ctx->entities[i][j]) in amdgpu_ctx_do_release() 516 drm_sched_entity_destroy(&ctx->entities[i][j]->entity); in amdgpu_ctx_do_release() 841 if (!ctx->entities[i][j]) in amdgpu_ctx_priority_override() 844 amdgpu_ctx_set_entity_priority(ctx, ctx->entities[i][j], in amdgpu_ctx_priority_override() 901 if (!ctx->entities[i][j]) in amdgpu_ctx_mgr_entity_flush() 904 entity = &ctx->entities[ in amdgpu_ctx_mgr_entity_flush() [all...] |
H A D | amdgpu_cs.h | 61 struct drm_sched_entity *entities[AMDGPU_CS_GANG_SIZE]; member
|
H A D | amdgpu_ctx.h | 52 struct amdgpu_ctx_entity *entities[AMDGPU_HW_IP_NUM][AMDGPU_MAX_ENTITY_NUM]; member
|
/kernel/linux/linux-5.10/drivers/gpu/drm/scheduler/ |
H A D | sched_main.c | 27 * The GPU scheduler provides entities which allow userspace to push jobs 29 * The software queues have a priority among them. The scheduler selects the entities 40 * 3. Each scheduler run queue has a queue of entities to schedule 76 INIT_LIST_HEAD(&rq->entities); in drm_sched_rq_init() 96 list_add_tail(&entity->list, &rq->entities); in drm_sched_rq_add_entity() 137 list_for_each_entry_continue(entity, &rq->entities, list) { in drm_sched_rq_select_entity() 147 list_for_each_entry(entity, &rq->entities, list) { in drm_sched_rq_select_entity() 347 list_for_each_entry_safe(entity, tmp, &rq->entities, list) { in drm_sched_increase_karma() 358 if (&entity->list != &rq->entities) in drm_sched_increase_karma() 903 list_for_each_entry(s_entity, &rq->entities, lis in drm_sched_fini() [all...] |
/kernel/linux/linux-6.6/drivers/media/usb/uvc/ |
H A D | uvc_driver.c | 137 list_for_each_entry(entity, &dev->entities, list) { in uvc_entity_by_id() 151 entity = list_entry(&dev->entities, struct uvc_entity, list); in uvc_entity_by_reference() 153 list_for_each_entry_continue(entity, &dev->entities, list) { in uvc_entity_by_reference() 912 list_add_tail(&unit->list, &dev->entities); in uvc_parse_vendor_control() 1043 list_add_tail(&term->list, &dev->entities); in uvc_parse_standard_control() 1076 list_add_tail(&term->list, &dev->entities); in uvc_parse_standard_control() 1097 list_add_tail(&unit->list, &dev->entities); in uvc_parse_standard_control() 1126 list_add_tail(&unit->list, &dev->entities); in uvc_parse_standard_control() 1153 list_add_tail(&unit->list, &dev->entities); in uvc_parse_standard_control() 1232 /* GPIO entities ar in uvc_gpio_event() [all...] |
H A D | uvc_entity.c | 140 list_for_each_entry(entity, &chain->entities, chain) { in uvc_mc_register_entities() 150 list_for_each_entry(entity, &chain->entities, chain) { in uvc_mc_register_entities()
|
/kernel/linux/linux-5.10/drivers/media/usb/uvc/ |
H A D | uvc_driver.c | 415 list_for_each_entry(entity, &dev->entities, list) { in uvc_entity_by_id() 429 entity = list_entry(&dev->entities, struct uvc_entity, list); in uvc_entity_by_reference() 431 list_for_each_entry_continue(entity, &dev->entities, list) { in uvc_entity_by_reference() 1128 list_add_tail(&unit->list, &dev->entities); in uvc_parse_vendor_control() 1260 list_add_tail(&term->list, &dev->entities); in uvc_parse_standard_control() 1294 list_add_tail(&term->list, &dev->entities); in uvc_parse_standard_control() 1317 list_add_tail(&unit->list, &dev->entities); in uvc_parse_standard_control() 1348 list_add_tail(&unit->list, &dev->entities); in uvc_parse_standard_control() 1377 list_add_tail(&unit->list, &dev->entities); in uvc_parse_standard_control() 1545 list_add_tail(&entity->chain, &chain->entities); in uvc_scan_chain_entity() [all...] |
H A D | uvc_entity.c | 139 list_for_each_entry(entity, &chain->entities, chain) { in uvc_mc_register_entities() 148 list_for_each_entry(entity, &chain->entities, chain) { in uvc_mc_register_entities()
|
/kernel/linux/linux-5.10/include/media/ |
H A D | media-device.h | 31 * Drivers may register a callback to take action when new entities get 33 * links between existing entities and should not create entities and register 92 * @entities: List of registered entities 111 * access to entities and provides basic media device-level support. The 161 struct list_head entities; member 314 * to the entities, but, instead, use the framework to find the ID, when 350 * Unregistering an entity will not change the IDs of the other entities and 351 * the previoully used ID will never be reused for a newly registered entities [all...] |
/kernel/linux/linux-6.6/include/media/ |
H A D | media-device.h | 32 * Drivers may register a callback to take action when new entities get 34 * links between existing entities and should not create entities and register 93 * @entities: List of registered entities 112 * access to entities and provides basic media device-level support. The 162 struct list_head entities; member 305 * to the entities, but, instead, use the framework to find the ID, when 341 * Unregistering an entity will not change the IDs of the other entities and 342 * the previoully used ID will never be reused for a newly registered entities [all...] |
/kernel/linux/linux-6.6/drivers/gpu/drm/scheduler/ |
H A D | sched_main.c | 27 * The GPU scheduler provides entities which allow userspace to push jobs 29 * The software queues have a priority among them. The scheduler selects the entities 40 * 3. Each scheduler run queue has a queue of entities to schedule 46 * Note that once a job was taken from the entities queue and pushed to the 74 * Used to override default entities scheduling policy in a run queue. 76 MODULE_PARM_DESC(sched_policy, "Specify the scheduling policy for entities on a run-queue, " __stringify(DRM_SCHED_POLICY_RR) " = Round Robin, " __stringify(DRM_SCHED_POLICY_FIFO) " = FIFO (default)."); 131 INIT_LIST_HEAD(&rq->entities); in drm_sched_rq_init() 154 list_add_tail(&entity->list, &rq->entities); in drm_sched_rq_add_entity() 203 list_for_each_entry_continue(entity, &rq->entities, list) { in drm_sched_rq_select_entity_rr() 213 list_for_each_entry(entity, &rq->entities, lis in drm_sched_rq_select_entity_rr() [all...] |