/linux/block/ |
H A D | bfq-wf2q.c | 30 static unsigned int bfq_class_idx(struct bfq_entity *entity) in bfq_class_idx() argument 32 struct bfq_queue *bfqq = bfq_entity_to_bfqq(entity); in bfq_class_idx() 52 * @new_entity: if not NULL, pointer to the entity whose activation, 56 * expiration of the in-service entity 60 * extraction of an entity into/from one of the active trees of 65 * reposition an entity in its active tree; see comments on 68 * just activated or requeued entity. 71 * entity->parent may become the next_in_service for its parent 72 * entity. 84 * or repositioning of an entity that does not coincide with in bfq_update_next_in_service() [all …]
|
H A D | bfq-cgroup.c | 305 struct bfq_entity *group_entity = bfqq->entity.parent; in bfqq_group() 308 entity) : in bfqq_group() 417 void bfq_init_entity(struct bfq_entity *entity, struct bfq_group *bfqg) in bfq_init_entity() argument 419 struct bfq_queue *bfqq = bfq_entity_to_bfqq(entity); in bfq_init_entity() 421 entity->weight = entity->new_weight; in bfq_init_entity() 422 entity->orig_weight = entity->new_weight; in bfq_init_entity() 428 * disappear before entity. in bfq_init_entity() 432 entity->parent = bfqg->my_entity; /* NULL for root group */ in bfq_init_entity() 433 entity->sched_data = &bfqg->sched_data; in bfq_init_entity() 534 struct bfq_entity *entity = &bfqg->entity; in bfq_pd_init() local [all …]
|
H A D | bfq-iosched.h | 59 /* idle entity with minimum F_i */ 61 /* idle entity with maximum F_i */ 84 * @next_in_service, which points to the entity on the active trees 86 * before the current in-service entity is expired, 2) the in-service 87 * queue becomes idle when it expires, and 3) if the entity pointed by 88 * in_service_entity is not a queue, then the in-service child entity 89 * of the entity pointed by in_service_entity becomes idle on 91 * optimization, not yet exploited: while a given entity is still in 94 * entity. We can then quickly compare the timestamps of the 95 * in-service entity with those of such best candidate. [all …]
|
/linux/drivers/media/usb/uvc/ |
H A D | uvc_entity.c | 18 struct uvc_entity *entity) in uvc_mc_create_links() argument 25 sink = (UVC_ENTITY_TYPE(entity) == UVC_TT_STREAMING) in uvc_mc_create_links() 26 ? (entity->vdev ? &entity->vdev->entity : NULL) in uvc_mc_create_links() 27 : &entity->subdev.entity; in uvc_mc_create_links() 31 for (i = 0; i < entity->num_pads; ++i) { in uvc_mc_create_links() 36 if (!(entity->pads[i].flags & MEDIA_PAD_FL_SINK)) in uvc_mc_create_links() 39 remote = uvc_entity_by_id(chain->dev, entity->baSourceID[i]); in uvc_mc_create_links() 44 ? (remote->vdev ? &remote->vdev->entity : NULL) in uvc_mc_create_links() 45 : &remote->subdev.entity; in uvc_mc_create_links() 62 void uvc_mc_cleanup_entity(struct uvc_entity *entity) in uvc_mc_cleanup_entity() argument [all …]
|
/linux/drivers/media/platform/renesas/vsp1/ |
H A D | vsp1_entity.c | 3 * vsp1_entity.c -- R-Car VSP1 Base Entity 13 #include <media/media-entity.h> 23 void vsp1_entity_route_setup(struct vsp1_entity *entity, in vsp1_entity_route_setup() argument 30 if (entity->type == VSP1_ENTITY_HGO) { in vsp1_entity_route_setup() 37 source = entity->sources[0]; in vsp1_entity_route_setup() 38 smppt = (pipe->output->entity.index << VI6_DPR_SMPPT_TGW_SHIFT) in vsp1_entity_route_setup() 43 } else if (entity->type == VSP1_ENTITY_HGT) { in vsp1_entity_route_setup() 50 source = entity->sources[0]; in vsp1_entity_route_setup() 51 smppt = (pipe->output->entity.index << VI6_DPR_SMPPT_TGW_SHIFT) in vsp1_entity_route_setup() 58 source = entity; in vsp1_entity_route_setup() [all …]
|
H A D | vsp1_entity.h | 3 * vsp1_entity.h -- R-Car VSP1 Base Entity 43 * struct vsp1_route - Entity routing configuration 44 * @type: Entity type this routing entry is associated with 45 * @index: Entity index this routing entry is associated with 48 * @output: Target node value for entity output 50 * Each $vsp1_route entry describes routing configuration for the entity 52 * holds output routing configuration for the entity, and the @inputs array 53 * store the target node value for each input of the entity. The @output field 54 * stores the target node value of the entity output when used as a source for 66 * struct vsp1_entity_operations - Entity operations [all …]
|
H A D | vsp1_video.c | 18 #include <media/media-entity.h> 54 if (!remote || !is_media_entity_v4l2_subdev(remote->entity)) in vsp1_video_remote_subdev() 60 return media_entity_to_v4l2_subdev(remote->entity); in vsp1_video_remote_subdev() 197 struct vsp1_pipeline *pipe = video->rwpf->entity.pipe; in vsp1_video_complete_buffer() 251 struct vsp1_entity *entity; in vsp1_video_pipeline_run_partition() local 253 list_for_each_entry(entity, &pipe->entities, list_pipe) in vsp1_video_pipeline_run_partition() 254 vsp1_entity_configure_partition(entity, pipe, part, dl, dlb); in vsp1_video_pipeline_run_partition() 259 struct vsp1_device *vsp1 = pipe->output->entity.vsp1; in vsp1_video_pipeline_run() 260 struct vsp1_entity *entity; in vsp1_video_pipeline_run() local 278 list_for_each_entry(entity, &pipe->entities, list_pipe) in vsp1_video_pipeline_run() [all …]
|
H A D | vsp1_wpf.c | 32 vsp1_dl_body_write(dlb, reg + wpf->entity.index * VI6_WPF_OFFSET, data); in vsp1_wpf_write() 68 sink_format = v4l2_subdev_state_get_format(wpf->entity.state, in vsp1_wpf_set_rotation() 70 source_format = v4l2_subdev_state_get_format(wpf->entity.state, in vsp1_wpf_set_rotation() 73 mutex_lock(&wpf->entity.lock); in vsp1_wpf_set_rotation() 85 mutex_unlock(&wpf->entity.lock); in vsp1_wpf_set_rotation() 134 struct vsp1_device *vsp1 = wpf->entity.vsp1; in wpf_init_controls() 139 if (wpf->entity.index != 0) { in wpf_init_controls() 179 wpf->entity.index); in wpf_init_controls() 187 * VSP1 Entity Operations 192 struct vsp1_device *vsp1 = wpf->entity.vsp1; in vsp1_wpf_stop() [all …]
|
H A D | vsp1_brx.c | 136 mutex_lock(&brx->entity.lock); in brx_set_format() 138 state = vsp1_entity_get_state(&brx->entity, sd_state, fmt->which); in brx_set_format() 150 if (fmt->pad != brx->entity.source_pad) { in brx_set_format() 164 for (i = 0; i <= brx->entity.source_pad; ++i) { in brx_set_format() 171 mutex_unlock(&brx->entity.lock); in brx_set_format() 182 if (sel->pad == brx->entity.source_pad) in brx_get_selection() 194 state = vsp1_entity_get_state(&brx->entity, sd_state, in brx_get_selection() 199 mutex_lock(&brx->entity.lock); in brx_get_selection() 201 mutex_unlock(&brx->entity.lock); in brx_get_selection() 219 if (sel->pad == brx->entity.source_pad) in brx_set_selection() [all …]
|
H A D | vsp1_drm.c | 14 #include <media/media-entity.h> 134 crop = &vsp1->drm->inputs[rpf->entity.index].crop; in vsp1_du_pipeline_setup_rpf() 142 ret = v4l2_subdev_call(&rpf->entity.subdev, pad, set_fmt, NULL, in vsp1_du_pipeline_setup_rpf() 150 format.format.code, rpf->entity.index); in vsp1_du_pipeline_setup_rpf() 156 ret = v4l2_subdev_call(&rpf->entity.subdev, pad, set_selection, NULL, in vsp1_du_pipeline_setup_rpf() 164 rpf->entity.index); in vsp1_du_pipeline_setup_rpf() 172 ret = v4l2_subdev_call(&rpf->entity.subdev, pad, get_fmt, NULL, in vsp1_du_pipeline_setup_rpf() 180 format.format.code, rpf->entity.index); in vsp1_du_pipeline_setup_rpf() 184 ret = v4l2_subdev_call(&rpf->entity.subdev, pad, set_fmt, NULL, in vsp1_du_pipeline_setup_rpf() 190 ret = vsp1_du_insert_uif(vsp1, pipe, uif, &rpf->entity, RWPF_PAD_SOURCE, in vsp1_du_pipeline_setup_rpf() [all …]
|
/linux/drivers/staging/media/imx/ |
H A D | imx-media-dev-common.c | 49 * Continues upstream from the pad entity's sink pads. 55 struct media_entity *entity = srcpad->entity; in imx_media_add_vdev_to_pad() local 62 /* skip this entity if not a v4l2_subdev */ in imx_media_add_vdev_to_pad() 63 if (!is_media_entity_v4l2_subdev(entity)) in imx_media_add_vdev_to_pad() 66 sd = media_entity_to_v4l2_subdev(entity); in imx_media_add_vdev_to_pad() 71 entity->name, srcpad->index); in imx_media_add_vdev_to_pad() 74 * just skip this entity. in imx_media_add_vdev_to_pad() 86 vdev->vfd->entity.name, entity->name, srcpad->index); in imx_media_add_vdev_to_pad() 96 /* move upstream from this entity's sink pads */ in imx_media_add_vdev_to_pad() 97 for (i = 0; i < entity->num_pads; i++) { in imx_media_add_vdev_to_pad() [all …]
|
/linux/drivers/media/mc/ |
H A D | mc-device.c | 24 #include <media/media-entity.h> 83 struct media_entity *entity; in find_entity() local 88 media_device_for_each_entity(entity, mdev) { in find_entity() 89 if (((media_entity_id(entity) == id) && !next) || in find_entity() 90 ((media_entity_id(entity) > id) && next)) { in find_entity() 91 return entity; in find_entity() 121 * do the wrong thing if the entity function doesn't belong to in media_device_enum_entities() 146 upad->entity = media_entity_id(kpad->entity); in media_device_kpad_to_upad() 154 struct media_entity *entity; in media_device_enum_links() local 156 entity = find_entity(mdev, links->entity); in media_device_enum_links() [all …]
|
/linux/drivers/gpu/drm/scheduler/ |
H A D | sched_main.c | 44 * The jobs in an entity are always scheduled in the order in which they were pushed. 47 * hardware, i.e. the pending queue, the entity must not be referenced anymore 48 * through the jobs entity pointer. 122 * @entity: the scheduler entity 124 * Return true if we can push at least one more job from @entity, false 128 struct drm_sched_entity *entity) in drm_sched_can_queue() argument 132 s_job = to_drm_sched_job(spsc_queue_peek(&entity->job_queue)); in drm_sched_can_queue() 162 static void drm_sched_rq_remove_fifo_locked(struct drm_sched_entity *entity, in drm_sched_rq_remove_fifo_locked() argument 165 if (!RB_EMPTY_NODE(&entity->rb_tree_node)) { in drm_sched_rq_remove_fifo_locked() 166 rb_erase_cached(&entity->rb_tree_node, &rq->rb_tree_root); in drm_sched_rq_remove_fifo_locked() [all …]
|
H A D | gpu_scheduler_trace.h | 36 TP_PROTO(struct drm_sched_job *sched_job, struct drm_sched_entity *entity), 37 TP_ARGS(sched_job, entity), 39 __field(struct drm_sched_entity *, entity) 48 __entry->entity = entity; 52 __entry->job_count = spsc_queue_count(&entity->job_queue); 56 TP_printk("entity=%p, id=%llu, fence=%p, ring=%s, job count:%u, hw job count:%d", 57 __entry->entity, __entry->id, 63 TP_PROTO(struct drm_sched_job *sched_job, struct drm_sched_entity *entity), 64 TP_ARGS(sched_job, entity) 68 TP_PROTO(struct drm_sched_job *sched_job, struct drm_sched_entity *entity), [all …]
|
/linux/Documentation/driver-api/media/ |
H A D | mc-core.rst | 21 An entity is a basic media hardware building block. It can correspond to 27 A pad is a connection endpoint through which an entity can interact with 28 other entities. Data (not restricted to video) produced by an entity 29 flows from the entity's output to one or more entity inputs. Pads should 33 on the same entity or on different entities. Data flows from a source 60 instance, defined in ``include/media/media-entity.h``. The structure is usually 65 Drivers initialize entity pads by calling 78 ``include/media/media-entity.h``. Currently, only one type of interface is 90 defined in ``include/media/media-entity.h``. Each entity stores its pads in 91 a pads array managed by the entity driver. Drivers usually embed the array in [all …]
|
/linux/drivers/media/usb/au0828/ |
H A D | au0828-core.c | 216 struct media_entity *entity, *mixer = NULL, *decoder = NULL; in au0828_media_graph_notify() local 224 media_device_for_each_entity(entity, dev->media_dev) { in au0828_media_graph_notify() 225 if (entity->function == MEDIA_ENT_F_AUDIO_MIXER) in au0828_media_graph_notify() 226 mixer = entity; in au0828_media_graph_notify() 227 else if (entity->function == MEDIA_ENT_F_ATV_DECODER) in au0828_media_graph_notify() 228 decoder = entity; in au0828_media_graph_notify() 241 media_device_for_each_entity(entity, dev->media_dev) { in au0828_media_graph_notify() 242 if (entity->function == MEDIA_ENT_F_AUDIO_MIXER) in au0828_media_graph_notify() 243 mixer = entity; in au0828_media_graph_notify() 266 struct media_entity *entity) in au0828_is_link_shareable() argument [all …]
|
/linux/Documentation/userspace-api/media/mediactl/ |
H A D | media-types.rst | 10 .. _media-entity-functions: 50 .. flat-table:: Media entity functions 56 - Unknown entity. That generally indicates that a driver didn't 57 initialize properly the entity, which is a Kernel bug 60 - Data streaming input and/or output entity. 63 - V4L VBI streaming input or output entity 66 - V4L Software Digital Radio (SDR) streaming input or output entity 69 - DVB Digital TV streaming input or output entity 72 - Digital TV demodulator entity. 75 - MPEG Transport stream demux entity. Could be implemented on [all …]
|
H A D | media-ioc-enum-entities.rst | 34 To query the attributes of an entity, applications set the id field of a 44 about the entity with the smallest id strictly larger than the requested 45 one ('next entity'), or the ``EINVAL`` error code if there is none. 47 Entity IDs can be non-contiguous. Applications must *not* try to 63 - Entity ID, set by the application. When the ID is or'ed with 65 the first entity with a larger ID. Do not expect that the ID will 67 do not hardcode entity IDs in an application. 72 - Entity name as an UTF-8 NULL-terminated string. This name must be unique 78 - Entity type, see :ref:`media-entity-functions` for details. 83 - Entity revision. Always zero (obsolete) [all …]
|
H A D | media-ioc-enum-links.rst | 13 MEDIA_IOC_ENUM_LINKS - Enumerate all pads and links for a given entity 34 To enumerate pads and/or links for a given entity, applications set the 35 entity field of a struct :c:type:`media_links_enum` 43 with information about the entity's pads. The array must have enough 44 room to store all the entity's pads. The number of pads can be retrieved 48 with information about the entity's outbound links. The array must have 49 enough room to store all the entity's outbound links. The number of 52 Only forward links that originate at one of the entity's source pads are 65 - ``entity`` 66 - Entity id, set by the application. [all …]
|
/linux/drivers/media/test-drivers/vimc/ |
H A D | vimc-streamer.c | 16 * vimc_get_source_entity - get the entity connected with the first sink pad 20 * Helper function that returns the media entity containing the source pad 21 * linked with the first sink pad from the given media entity pad list. 34 return pad ? pad->entity : NULL; in vimc_get_source_entity() 45 * Calls s_stream to disable the stream in each entity of the pipeline 70 * @ved: the pointer to the vimc entity initializing the stream 72 * Initializes the stream structure. Walks through the entity graph to 82 struct media_entity *entity; in vimc_streamer_pipeline_init() local 106 entity = vimc_get_source_entity(ved->ent); in vimc_streamer_pipeline_init() 108 if (!entity) { in vimc_streamer_pipeline_init() [all …]
|
/linux/drivers/media/platform/xilinx/ |
H A D | xilinx-vipp.c | 31 * struct xvip_graph_entity - Entity in the video graph 33 * @entity: media entity, from the corresponding V4L2 subdev 38 struct media_entity *entity; member 56 struct xvip_graph_entity *entity; in xvip_graph_find_entity() local 66 entity = to_xvip_entity(asd); in xvip_graph_find_entity() 67 if (entity->asd.match.fwnode == fwnode) in xvip_graph_find_entity() 68 return entity; in xvip_graph_find_entity() 76 struct xvip_graph_entity *entity) in xvip_graph_build_one() argument 79 struct media_entity *local = entity->entity; in xvip_graph_build_one() 88 dev_dbg(xdev->dev, "creating links for entity %s\n", local->name); in xvip_graph_build_one() [all …]
|
/linux/include/media/ |
H A D | media-device.h | 20 #include <media/media-entity.h> 26 * struct media_entity_notify - Media Entity Notify 40 void (*notify)(struct media_entity *entity, void *notify_data); 90 * @entity_internal_idx: Unique internal entity ID used by the graph traversal 92 * @entity_internal_idx_max: Allocated internal entity indices 121 * @enable_source is a handler to find source entity for the 122 * sink entity and activate the link between them if source 123 * entity is free. Drivers should call this handler before 126 * @disable_source is a handler to find source entity for the 127 * sink entity and deactivate the link between them. Drivers [all …]
|
/linux/include/drm/ |
H A D | gpu_scheduler.h | 102 * Lock protecting the run-queue (@rq) to which this entity belongs, 110 * Runqueue on which this entity is currently scheduled. 121 * A list of schedulers (struct drm_gpu_scheduler). Jobs from this entity can 146 * Priority of the entity. This can be modified by calling 152 * @job_queue: the list of jobs of this entity. 160 * &drm_sched_fence which is part of the entity. 170 * A unique context for all the fences which belong to this entity. The 207 * @last_user: last group leader pushing a job into the entity. 223 * Signals when entity is not in use, used to sequence entity cleanup in 238 * The node used to insert this entity into time based priority queue [all …]
|
/linux/drivers/media/dvb-core/ |
H A D | dvbdev.c | 210 if (dvbdev->entity) { in dvb_media_device_free() 211 media_device_unregister_entity(dvbdev->entity); in dvb_media_device_free() 212 kfree(dvbdev->entity); in dvb_media_device_free() 214 dvbdev->entity = NULL; in dvb_media_device_free() 268 struct media_entity *entity = &dvbdev->tsout_entity[i]; in dvb_create_tsout_entity() local 271 entity->name = kasprintf(GFP_KERNEL, "%s #%d", name, i); in dvb_create_tsout_entity() 272 if (!entity->name) in dvb_create_tsout_entity() 275 entity->function = MEDIA_ENT_F_IO_DTV; in dvb_create_tsout_entity() 278 ret = media_entity_pads_init(entity, 1, pads); in dvb_create_tsout_entity() 283 entity); in dvb_create_tsout_entity() [all …]
|
/linux/drivers/gpu/drm/amd/amdgpu/ |
H A D | amdgpu_ctx.c | 33 container_of((e), struct amdgpu_ctx_entity, entity) 209 struct amdgpu_ctx_entity *entity; in amdgpu_ctx_init_entity() local 215 entity = kzalloc(struct_size(entity, fences, amdgpu_sched_jobs), in amdgpu_ctx_init_entity() 217 if (!entity) in amdgpu_ctx_init_entity() 222 entity->hw_ip = hw_ip; in amdgpu_ctx_init_entity() 223 entity->sequence = 1; in amdgpu_ctx_init_entity() 252 r = drm_sched_entity_init(&entity->entity, drm_prio, scheds, num_scheds, in amdgpu_ctx_init_entity() 257 /* It's not an error if we fail to install the new entity */ in amdgpu_ctx_init_entity() 258 if (cmpxchg(&ctx->entities[hw_ip][ring], NULL, entity)) in amdgpu_ctx_init_entity() 264 drm_sched_entity_fini(&entity->entity); in amdgpu_ctx_init_entity() [all …]
|