| /linux/drivers/gpu/drm/scheduler/ |
| H A D | sched_entity.c | 58 int drm_sched_entity_init(struct drm_sched_entity *entity, in drm_sched_entity_init() argument 64 if (!(entity && sched_list && (num_sched_list == 0 || sched_list[0]))) in drm_sched_entity_init() 67 memset(entity, 0, sizeof(struct drm_sched_entity)); in drm_sched_entity_init() 68 INIT_LIST_HEAD(&entity->list); in drm_sched_entity_init() 69 entity->rq = NULL; in drm_sched_entity_init() 70 entity->guilty = guilty; in drm_sched_entity_init() 71 entity->num_sched_list = num_sched_list; in drm_sched_entity_init() 72 entity->priority = priority; in drm_sched_entity_init() 73 entity->last_user = current->group_leader; in drm_sched_entity_init() 79 entity->sched_list = num_sched_list > 1 ? sched_list : NULL; in drm_sched_entity_init() [all …]
|
| H A D | sched_main.c | 116 struct drm_sched_entity *entity) in drm_sched_can_queue() argument 120 s_job = drm_sched_entity_queue_peek(entity); in drm_sched_can_queue() 145 static void drm_sched_rq_remove_fifo_locked(struct drm_sched_entity *entity, in drm_sched_rq_remove_fifo_locked() argument 148 if (!RB_EMPTY_NODE(&entity->rb_tree_node)) { in drm_sched_rq_remove_fifo_locked() 149 rb_erase_cached(&entity->rb_tree_node, &rq->rb_tree_root); in drm_sched_rq_remove_fifo_locked() 150 RB_CLEAR_NODE(&entity->rb_tree_node); in drm_sched_rq_remove_fifo_locked() 154 void drm_sched_rq_update_fifo_locked(struct drm_sched_entity *entity, in drm_sched_rq_update_fifo_locked() argument 163 lockdep_assert_held(&entity->lock); in drm_sched_rq_update_fifo_locked() 166 drm_sched_rq_remove_fifo_locked(entity, rq); in drm_sched_rq_update_fifo_locked() 168 entity->oldest_job_waiting = ts; in drm_sched_rq_update_fifo_locked() [all …]
|
| /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() 194 static bool bfq_no_longer_next_in_service(struct bfq_entity *entity) in bfq_no_longer_next_in_service() argument 198 if (bfq_entity_to_bfqq(entity)) in bfq_no_longer_next_in_service() 201 bfqg = container_of(entity, struct bfq_group, entity); in bfq_no_longer_next_in_service() 221 static void bfq_inc_active_entities(struct bfq_entity *entity) in bfq_inc_active_entities() argument 223 struct bfq_sched_data *sd = entity->sched_data; in bfq_inc_active_entities() 230 static void bfq_dec_active_entities(struct bfq_entity *entity) in bfq_dec_active_entities() argument 232 struct bfq_sched_data *sd = entity->sched_data; in bfq_dec_active_entities() 246 static bool bfq_no_longer_next_in_service(struct bfq_entity *entity) in bfq_no_longer_next_in_service() argument [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() 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 537 entity->orig_weight = entity->weight = entity->new_weight = d->weight; in bfq_pd_init() [all …]
|
| H A D | bfq-iosched.h | 288 struct bfq_entity entity; member 1008 struct bfq_entity entity; member 1028 struct bfq_entity entity; member 1084 void bfq_init_entity(struct bfq_entity *entity, struct bfq_group *bfqg); 1105 #define for_each_entity(entity) \ argument 1106 for (; entity ; entity = entity->parent) 1114 #define for_each_entity_safe(entity, parent) \ argument 1115 for (; entity && ({ parent = entity->parent; 1; }); entity = parent) 1123 #define for_each_entity(entity) \ argument 1124 for (; entity ; entity = NULL) [all …]
|
| /linux/sound/soc/sdca/ |
| H A D | sdca_asoc.c | 36 static bool exported_control(struct sdca_entity *entity, struct sdca_control *control) in exported_control() argument 38 switch (SDCA_CTL_TYPE(entity->type, control->sel)) { in exported_control() 85 struct sdca_entity *entity = &function->entities[i]; in sdca_asoc_count_component() local 88 switch (entity->type) { in sdca_asoc_count_component() 91 *num_routes += !!entity->iot.clock; in sdca_asoc_count_component() 92 *num_routes += !!entity->iot.is_dataport; in sdca_asoc_count_component() 93 *num_controls += !entity->iot.is_dataport; in sdca_asoc_count_component() 94 *num_dais += !!entity->iot.is_dataport; in sdca_asoc_count_component() 97 *num_routes += entity->pde.num_managed; in sdca_asoc_count_component() 103 if (entity->group) in sdca_asoc_count_component() [all …]
|
| H A D | sdca_regmap.c | 33 entity_find_control(struct sdca_entity *entity, unsigned int reg) in entity_find_control() argument 37 for (i = 0; i < entity->num_controls; i++) { in entity_find_control() 38 if (SDW_SDCA_CTL_CSEL(reg) == entity->controls[i].sel) in entity_find_control() 39 return &entity->controls[i]; in entity_find_control() 48 struct sdca_entity *entity; in function_find_control() local 50 entity = function_find_entity(function, reg); in function_find_control() 51 if (!entity) in function_find_control() 54 return entity_find_control(entity, reg); in function_find_control() 218 struct sdca_entity *entity = &function->entities[i]; in sdca_regmap_count_constants() 220 for (j = 0; j < entity in sdca_regmap_count_constants() 225 struct sdca_entity *entity = &function->entities[i]; sdca_regmap_count_constants() local 259 struct sdca_entity *entity = &function->entities[i]; sdca_regmap_populate_constants() local 304 struct sdca_entity *entity = &function->entities[i]; sdca_regmap_write_defaults() local [all...] |
| H A D | sdca_functions.c | 247 const struct sdca_entity *entity, in find_sdca_control_label() argument 250 switch (SDCA_CTL_TYPE(entity->type, control->sel)) { in find_sdca_control_label() 540 static unsigned int find_sdca_control_bits(const struct sdca_entity *entity, in find_sdca_control_bits() argument 543 switch (SDCA_CTL_TYPE(entity->type, control->sel)) { in find_sdca_control_bits() 609 find_sdca_control_datatype(const struct sdca_entity *entity, in find_sdca_control_datatype() argument 612 switch (SDCA_CTL_TYPE(entity->type, control->sel)) { in find_sdca_control_datatype() 780 static bool find_sdca_control_volatile(const struct sdca_entity *entity, in find_sdca_control_volatile() argument 794 switch (SDCA_CTL_TYPE(entity->type, control->sel)) { in find_sdca_control_volatile() 874 static int find_sdca_control_value(struct device *dev, struct sdca_entity *entity, in find_sdca_control_value() argument 911 static int find_sdca_control_reset(const struct sdca_entity *entity, in find_sdca_control_reset() argument [all …]
|
| /linux/drivers/media/mc/ |
| H A D | mc-entity.c | 123 pad->entity->name, pad->index); in dev_dbg_obj() 194 int media_entity_pads_init(struct media_entity *entity, u16 num_pads, in media_entity_pads_init() argument 197 struct media_device *mdev = entity->graph_obj.mdev; in media_entity_pads_init() 205 entity->num_pads = num_pads; in media_entity_pads_init() 206 entity->pads = pads; in media_entity_pads_init() 211 media_entity_for_each_pad(entity, iter) { in media_entity_pads_init() 212 iter->entity = entity; in media_entity_pads_init() 227 media_entity_for_each_pad(entity, iter) in media_entity_pads_init() 266 static bool media_entity_has_pad_interdep(struct media_entity *entity, in media_entity_has_pad_interdep() argument 269 if (pad0 >= entity->num_pads || pad1 >= entity->num_pads) in media_entity_has_pad_interdep() [all …]
|
| H A D | mc-device.c | 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() 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() 157 if (entity == NULL) in media_device_enum_links() 163 for (p = 0; p < entity->num_pads; p++) { in media_device_enum_links() [all …]
|
| /linux/drivers/media/usb/uvc/ |
| H A D | uvc_ctrl.c | 41 .entity = UVC_GUID_UVC_PROCESSING, 50 .entity = UVC_GUID_UVC_PROCESSING, 59 .entity = UVC_GUID_UVC_PROCESSING, 69 .entity = UVC_GUID_UVC_PROCESSING, 78 .entity = UVC_GUID_UVC_PROCESSING, 87 .entity = UVC_GUID_UVC_PROCESSING, 96 .entity = UVC_GUID_UVC_PROCESSING, 106 .entity = UVC_GUID_UVC_PROCESSING, 116 .entity = UVC_GUID_UVC_PROCESSING, 125 .entity = UVC_GUID_UVC_PROCESSING, [all …]
|
| H A D | uvc_driver.c | 138 struct uvc_entity *entity; in uvc_entity_by_id() local 143 list_for_each_entry(entity, &dev->entities, list) { in uvc_entity_by_id() 144 if (entity->id == id) in uvc_entity_by_id() 145 return entity; in uvc_entity_by_id() 152 int id, struct uvc_entity *entity) in uvc_entity_by_reference() argument 156 if (entity == NULL) in uvc_entity_by_reference() 157 entity = list_entry(&dev->entities, struct uvc_entity, list); in uvc_entity_by_reference() 159 list_for_each_entry_continue(entity, &dev->entities, list) { in uvc_entity_by_reference() 160 for (i = 0; i < entity->bNrInPins; ++i) in uvc_entity_by_reference() 161 if (entity->baSourceID[i] == id) in uvc_entity_by_reference() [all …]
|
| /linux/drivers/staging/media/imx/ |
| H A D | imx-media-dev-common.c | 55 struct media_entity *entity = srcpad->entity; in imx_media_add_vdev_to_pad() local 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() 86 vdev->vfd->entity.name, entity->name, srcpad->index); in imx_media_add_vdev_to_pad() 97 for (i = 0; i < entity->num_pads; i++) { in imx_media_add_vdev_to_pad() 98 struct media_pad *pad = &entity->pads[i]; in imx_media_add_vdev_to_pad() 103 list_for_each_entry(link, &entity->links, list) { in imx_media_add_vdev_to_pad() 124 struct media_entity *entity; in imx_media_alloc_pad_vdev_lists() local 129 entity = &sd->entity; in imx_media_alloc_pad_vdev_lists() [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/drivers/media/platform/renesas/vsp1/ |
| H A D | vsp1_video.c | 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() 209 struct vsp1_pipeline *pipe = video->rwpf->entity.pipe; in vsp1_video_complete_buffer() 263 struct vsp1_entity *entity; in vsp1_video_pipeline_run_partition() local 265 list_for_each_entry(entity, &pipe->entities, list_pipe) in vsp1_video_pipeline_run_partition() 266 vsp1_entity_configure_partition(entity, pipe, part, dl, dlb); in vsp1_video_pipeline_run_partition() 271 struct vsp1_device *vsp1 = pipe->output->entity.vsp1; in vsp1_video_pipeline_run() 272 struct vsp1_entity *entity; in vsp1_video_pipeline_run() local 290 list_for_each_entry(entity, &pipe->entities, list_pipe) in vsp1_video_pipeline_run() 291 vsp1_entity_configure_frame(entity, pipe, dl, dlb); in vsp1_video_pipeline_run() [all …]
|
| H A D | vsp1_uif.c | 31 return vsp1_read(uif->entity.vsp1, in vsp1_uif_read() 32 uif->entity.index * VI6_UIF_OFFSET + reg); in vsp1_uif_read() 38 vsp1_dl_body_write(dlb, reg + uif->entity.index * VI6_UIF_OFFSET, data); in vsp1_uif_write() 96 mutex_lock(&uif->entity.lock); in uif_get_selection() 98 state = vsp1_entity_get_state(&uif->entity, sd_state, sel->which); in uif_get_selection() 124 mutex_unlock(&uif->entity.lock); in uif_get_selection() 142 mutex_lock(&uif->entity.lock); in uif_set_selection() 144 state = vsp1_entity_get_state(&uif->entity, sd_state, sel->which); in uif_set_selection() 165 mutex_unlock(&uif->entity.lock); in uif_set_selection() 190 static void uif_configure_stream(struct vsp1_entity *entity, in uif_configure_stream() argument [all …]
|
| H A D | vsp1_clu.c | 172 static void clu_configure_stream(struct vsp1_entity *entity, in clu_configure_stream() argument 178 struct vsp1_clu *clu = to_clu(&entity->subdev); in clu_configure_stream() 189 static void clu_configure_frame(struct vsp1_entity *entity, in clu_configure_frame() argument 194 struct vsp1_clu *clu = to_clu(&entity->subdev); in clu_configure_frame() 220 static void clu_destroy(struct vsp1_entity *entity) in clu_destroy() argument 222 struct vsp1_clu *clu = to_clu(&entity->subdev); in clu_destroy() 248 clu->entity.ops = &clu_entity_ops; in vsp1_clu_create() 249 clu->entity.type = VSP1_ENTITY_CLU; in vsp1_clu_create() 251 ret = vsp1_entity_init(vsp1, &clu->entity, "clu", 2, &clu_ops, in vsp1_clu_create() 262 clu->pool = vsp1_dl_body_pool_create(clu->entity.vsp1, 3, CLU_SIZE + 1, in vsp1_clu_create() [all …]
|
| H A D | vsp1_lif.c | 29 vsp1_dl_body_write(dlb, reg + lif->entity.index * VI6_LIF_OFFSET, in vsp1_lif_write() 85 static void lif_configure_stream(struct vsp1_entity *entity, in lif_configure_stream() argument 92 struct vsp1_lif *lif = to_lif(&entity->subdev); in lif_configure_stream() 99 switch (entity->vsp1->version & VI6_IP_VERSION_MODEL_MASK) { in lif_configure_stream() 139 if (vsp1_feature(entity->vsp1, VSP1_HAS_NON_ZERO_LBA)) in lif_configure_stream() 162 lif->entity.ops = &lif_entity_ops; in vsp1_lif_create() 163 lif->entity.type = VSP1_ENTITY_LIF; in vsp1_lif_create() 164 lif->entity.index = index; in vsp1_lif_create() 171 ret = vsp1_entity_init(vsp1, &lif->entity, "lif", 2, &lif_ops, in vsp1_lif_create()
|
| H A D | vsp1_lut.c | 148 static void lut_configure_stream(struct vsp1_entity *entity, in lut_configure_stream() argument 154 struct vsp1_lut *lut = to_lut(&entity->subdev); in lut_configure_stream() 159 static void lut_configure_frame(struct vsp1_entity *entity, in lut_configure_frame() argument 164 struct vsp1_lut *lut = to_lut(&entity->subdev); in lut_configure_frame() 181 static void lut_destroy(struct vsp1_entity *entity) in lut_destroy() argument 183 struct vsp1_lut *lut = to_lut(&entity->subdev); in lut_destroy() 209 lut->entity.ops = &lut_entity_ops; in vsp1_lut_create() 210 lut->entity.type = VSP1_ENTITY_LUT; in vsp1_lut_create() 212 ret = vsp1_entity_init(vsp1, &lut->entity, "lut", 2, &lut_ops, in vsp1_lut_create() 230 lut->entity.subdev.ctrl_handler = &lut->ctrls; in vsp1_lut_create() [all …]
|
| /linux/drivers/net/wwan/t7xx/ |
| H A D | t7xx_pci.c | 287 struct md_pm_entity *entity; in t7xx_pci_pm_entity_register() local 290 list_for_each_entry(entity, &t7xx_dev->md_pm_entities, entity) { in t7xx_pci_pm_entity_register() 291 if (entity->id == pm_entity->id) { in t7xx_pci_pm_entity_register() 297 list_add_tail(&pm_entity->entity, &t7xx_dev->md_pm_entities); in t7xx_pci_pm_entity_register() 304 struct md_pm_entity *entity, *tmp_entity; in t7xx_pci_pm_entity_unregister() local 307 list_for_each_entry_safe(entity, tmp_entity, &t7xx_dev->md_pm_entities, entity) { in t7xx_pci_pm_entity_unregister() 308 if (entity->id == pm_entity->id) { in t7xx_pci_pm_entity_unregister() 309 list_del(&pm_entity->entity); in t7xx_pci_pm_entity_unregister() 411 struct md_pm_entity *entity; in __t7xx_pci_pm_suspend() local 432 list_for_each_entry(entity, &t7xx_dev->md_pm_entities, entity) { in __t7xx_pci_pm_suspend() [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() 266 struct media_entity *entity = &dvbdev->tsout_entity[i]; in dvb_create_tsout_entity() local 269 entity->name = kasprintf(GFP_KERNEL, "%s #%d", name, i); in dvb_create_tsout_entity() 270 if (!entity->name) in dvb_create_tsout_entity() 273 entity->function = MEDIA_ENT_F_IO_DTV; in dvb_create_tsout_entity() 276 ret = media_entity_pads_init(entity, 1, pads); in dvb_create_tsout_entity() 281 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_flex(*entity, fences, amdgpu_sched_jobs); in amdgpu_ctx_init_entity() 216 if (!entity) in amdgpu_ctx_init_entity() 221 entity->hw_ip = hw_ip; in amdgpu_ctx_init_entity() 222 entity->sequence = 1; in amdgpu_ctx_init_entity() 251 r = drm_sched_entity_init(&entity->entity, drm_prio, scheds, num_scheds, in amdgpu_ctx_init_entity() 257 if (cmpxchg(&ctx->entities[hw_ip][ring], NULL, entity)) in amdgpu_ctx_init_entity() 263 drm_sched_entity_fini(&entity->entity); in amdgpu_ctx_init_entity() 266 kfree(entity); in amdgpu_ctx_init_entity() [all …]
|
| /linux/drivers/media/platform/ti/omap3isp/ |
| H A D | isp.c | 545 pipe = to_isp_pipeline(&isp->isp_ccp2.subdev.entity); in isp_isr_sbl() 551 pipe = to_isp_pipeline(&isp->isp_csi2a.subdev.entity); in isp_isr_sbl() 557 pipe = to_isp_pipeline(&isp->isp_ccdc.subdev.entity); in isp_isr_sbl() 563 pipe = to_isp_pipeline(&isp->isp_prev.subdev.entity); in isp_isr_sbl() 572 pipe = to_isp_pipeline(&isp->isp_res.subdev.entity); in isp_isr_sbl() 675 struct media_entity *entity; in isp_pipeline_enable() local 697 entity = &pipe->output->video.entity; in isp_pipeline_enable() 699 pad = &entity->pads[0]; in isp_pipeline_enable() 704 if (!pad || !is_media_entity_v4l2_subdev(pad->entity)) in isp_pipeline_enable() 707 entity = pad->entity; in isp_pipeline_enable() [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/gpu/drm/msm/ |
| H A D | msm_submitqueue.c | 79 if (queue->entity == &queue->_vm_bind_entity[0]) in msm_submitqueue_destroy() 80 drm_sched_entity_destroy(queue->entity); in msm_submitqueue_destroy() 122 if (queue->entity == &queue->_vm_bind_entity[0]) in msm_submitqueue_close() 123 drm_sched_entity_flush(queue->entity, MAX_WAIT_SCHED_ENTITY_Q_EMPTY); in msm_submitqueue_close() 150 struct drm_sched_entity *entity; in get_sched_entity() local 154 entity = kzalloc_obj(*ctx->entities[idx]); in get_sched_entity() 156 ret = drm_sched_entity_init(entity, sched_prio, &sched, 1, NULL); in get_sched_entity() 159 kfree(entity); in get_sched_entity() 163 ctx->entities[idx] = entity; in get_sched_entity() 222 queue->entity = &queue->_vm_bind_entity[0]; in msm_submitqueue_create() [all …]
|