/Linux-v5.15/drivers/staging/media/atomisp/pci/ |
D | atomisp_compat.h | 49 void atomisp_css_init_struct(struct atomisp_sub_device *asd); 63 int atomisp_q_video_buffer_to_css(struct atomisp_sub_device *asd, 69 int atomisp_q_s3a_buffer_to_css(struct atomisp_sub_device *asd, 74 int atomisp_q_metadata_buffer_to_css(struct atomisp_sub_device *asd, 79 int atomisp_q_dis_buffer_to_css(struct atomisp_sub_device *asd, 86 int atomisp_css_start(struct atomisp_sub_device *asd, 89 void atomisp_css_update_isp_params(struct atomisp_sub_device *asd); 90 void atomisp_css_update_isp_params_on_pipe(struct atomisp_sub_device *asd, 93 int atomisp_css_queue_buffer(struct atomisp_sub_device *asd, 99 int atomisp_css_dequeue_buffer(struct atomisp_sub_device *asd, [all …]
|
D | atomisp_compat_css20.c | 192 static void __dump_pipe_config(struct atomisp_sub_device *asd, in __dump_pipe_config() argument 196 struct atomisp_device *isp = asd->isp; in __dump_pipe_config() 287 static void __dump_stream_config(struct atomisp_sub_device *asd, in __dump_stream_config() argument 290 struct atomisp_device *isp = asd->isp; in __dump_stream_config() 297 __dump_pipe_config(asd, stream_env, j); in __dump_stream_config() 421 static int __destroy_stream(struct atomisp_sub_device *asd, in __destroy_stream() argument 424 struct atomisp_device *isp = asd->isp; in __destroy_stream() 473 static int __destroy_streams(struct atomisp_sub_device *asd, bool force) in __destroy_streams() argument 478 ret = __destroy_stream(asd, &asd->stream_env[i], force); in __destroy_streams() 482 asd->stream_prepared = false; in __destroy_streams() [all …]
|
D | atomisp_cmd.c | 111 static unsigned short atomisp_get_sensor_fps(struct atomisp_sub_device *asd) in atomisp_get_sensor_fps() argument 114 struct atomisp_device *isp = asd->isp; in atomisp_get_sensor_fps() 119 ret = v4l2_subdev_call(isp->inputs[asd->input_curr].camera, in atomisp_get_sensor_fps() 212 struct atomisp_sub_device *asd = &isp->asd[0]; in atomisp_freq_scaling() local 225 ATOMISP_PCI_DEVICE_SOC_CHT && ATOMISP_USE_YUVPP(asd)) in atomisp_freq_scaling() 247 fps = atomisp_get_sensor_fps(asd); in atomisp_freq_scaling() 255 curr_rules.width = asd->fmt[asd->capture_pad].fmt.width; in atomisp_freq_scaling() 256 curr_rules.height = asd->fmt[asd->capture_pad].fmt.height; in atomisp_freq_scaling() 258 curr_rules.run_mode = asd->run_mode->val; in atomisp_freq_scaling() 264 if (asd->continuous_mode->val) { in atomisp_freq_scaling() [all …]
|
D | atomisp_cmd.h | 59 void atomisp_flush_bufs_and_wakeup(struct atomisp_sub_device *asd); 60 void atomisp_clear_css_buffer_counters(struct atomisp_sub_device *asd); 62 bool atomisp_buffers_queued(struct atomisp_sub_device *asd); 71 void atomisp_setup_flash(struct atomisp_sub_device *asd); 90 int atomisp_set_sensor_runmode(struct atomisp_sub_device *asd, 96 int atomisp_gdc_cac(struct atomisp_sub_device *asd, int flag, 100 int atomisp_low_light(struct atomisp_sub_device *asd, int flag, 107 int atomisp_xnr(struct atomisp_sub_device *asd, int flag, int *arg); 109 int atomisp_formats(struct atomisp_sub_device *asd, int flag, 113 int atomisp_nr(struct atomisp_sub_device *asd, int flag, [all …]
|
D | atomisp_fops.c | 87 static int atomisp_q_one_metadata_buffer(struct atomisp_sub_device *asd, in atomisp_q_one_metadata_buffer() argument 93 atomisp_get_metadata_type(asd, css_pipe_id); in atomisp_q_one_metadata_buffer() 96 if (asd->metadata_bufs_in_css[stream_id][css_pipe_id] >= in atomisp_q_one_metadata_buffer() 100 if (!list_empty(&asd->metadata[md_type])) { in atomisp_q_one_metadata_buffer() 101 metadata_list = &asd->metadata[md_type]; in atomisp_q_one_metadata_buffer() 102 } else if (!list_empty(&asd->metadata_ready[md_type])) { in atomisp_q_one_metadata_buffer() 103 metadata_list = &asd->metadata_ready[md_type]; in atomisp_q_one_metadata_buffer() 105 dev_warn(asd->isp->dev, "%s: No metadata buffers available for type %d!\n", in atomisp_q_one_metadata_buffer() 114 if (atomisp_q_metadata_buffer_to_css(asd, metadata_buf, in atomisp_q_one_metadata_buffer() 120 &asd->metadata_in_css[md_type]); in atomisp_q_one_metadata_buffer() [all …]
|
D | atomisp_acc.c | 75 acc_get_fw(struct atomisp_sub_device *asd, unsigned int handle) in acc_get_fw() argument 79 list_for_each_entry(acc_fw, &asd->acc.fw, list) in acc_get_fw() 86 static struct atomisp_map *acc_get_map(struct atomisp_sub_device *asd, in acc_get_map() argument 91 list_for_each_entry(atomisp_map, &asd->acc.memory_maps, list) { in acc_get_map() 99 static int acc_stop_acceleration(struct atomisp_sub_device *asd) in acc_stop_acceleration() argument 103 ret = atomisp_css_stop_acc_pipe(asd); in acc_stop_acceleration() 104 atomisp_css_destroy_acc_pipe(asd); in acc_stop_acceleration() 114 ida_destroy(&isp->asd[i].acc.ida); in atomisp_acc_cleanup() 117 void atomisp_acc_release(struct atomisp_sub_device *asd) in atomisp_acc_release() argument 123 if (asd->acc.pipeline) in atomisp_acc_release() [all …]
|
D | atomisp_ioctl.c | 609 atomisp_subdev_streaming_count(struct atomisp_sub_device *asd) in atomisp_subdev_streaming_count() argument 611 return asd->video_out_preview.capq.streaming in atomisp_subdev_streaming_count() 612 + asd->video_out_capture.capq.streaming in atomisp_subdev_streaming_count() 613 + asd->video_out_video_capture.capq.streaming in atomisp_subdev_streaming_count() 614 + asd->video_out_vf.capq.streaming in atomisp_subdev_streaming_count() 615 + asd->video_in.capq.streaming; in atomisp_subdev_streaming_count() 623 sum += isp->asd[i].streaming == in atomisp_streaming_count() 634 if (isp->asd[i].acc.pipeline) in atomisp_is_acc_enabled() 647 struct atomisp_sub_device *asd = atomisp_to_video_pipe(vdev)->asd; in atomisp_g_input() local 650 *input = asd->input_curr; in atomisp_g_input() [all …]
|
D | atomisp_subdev.c | 118 bool atomisp_subdev_format_conversion(struct atomisp_sub_device *asd, in atomisp_subdev_format_conversion() argument 123 sink = atomisp_subdev_get_ffmt(&asd->subdev, NULL, in atomisp_subdev_format_conversion() 126 src = atomisp_subdev_get_ffmt(&asd->subdev, NULL, in atomisp_subdev_format_conversion() 580 static int atomisp_get_sensor_bin_factor(struct atomisp_sub_device *asd) in atomisp_get_sensor_bin_factor() argument 583 struct atomisp_device *isp = asd->isp; in atomisp_get_sensor_bin_factor() 587 if (isp->inputs[asd->input_curr].type == FILE_INPUT || in atomisp_get_sensor_bin_factor() 588 isp->inputs[asd->input_curr].type == TEST_PATTERN) in atomisp_get_sensor_bin_factor() 593 v4l2_g_ctrl(isp->inputs[asd->input_curr].camera->ctrl_handler, in atomisp_get_sensor_bin_factor() 598 v4l2_g_ctrl(isp->inputs[asd->input_curr].camera->ctrl_handler, in atomisp_get_sensor_bin_factor() 738 static void isp_subdev_init_params(struct atomisp_sub_device *asd) in isp_subdev_init_params() argument [all …]
|
D | atomisp_acc.h | 42 void atomisp_acc_release(struct atomisp_sub_device *asd); 45 int atomisp_acc_load(struct atomisp_sub_device *asd, 49 int atomisp_acc_load_to_pipe(struct atomisp_sub_device *asd, 53 int atomisp_acc_unload(struct atomisp_sub_device *asd, 59 int atomisp_acc_map(struct atomisp_sub_device *asd, 65 int atomisp_acc_unmap(struct atomisp_sub_device *asd, 71 int atomisp_acc_s_mapped_arg(struct atomisp_sub_device *asd, 79 int atomisp_acc_start(struct atomisp_sub_device *asd, 87 int atomisp_acc_wait(struct atomisp_sub_device *asd, 94 void atomisp_acc_done(struct atomisp_sub_device *asd, unsigned int handle); [all …]
|
D | atomisp_compat_css20.h | 108 void atomisp_css_set_macc_config(struct atomisp_sub_device *asd, 111 void atomisp_css_set_ecd_config(struct atomisp_sub_device *asd, 114 void atomisp_css_set_ynr_config(struct atomisp_sub_device *asd, 117 void atomisp_css_set_fc_config(struct atomisp_sub_device *asd, 120 void atomisp_css_set_aa_config(struct atomisp_sub_device *asd, 123 void atomisp_css_set_baa_config(struct atomisp_sub_device *asd, 126 void atomisp_css_set_anr_config(struct atomisp_sub_device *asd, 129 void atomisp_css_set_xnr_config(struct atomisp_sub_device *asd, 132 void atomisp_css_set_cnr_config(struct atomisp_sub_device *asd, 135 void atomisp_css_set_ctc_config(struct atomisp_sub_device *asd, [all …]
|
D | atomisp_internal.h | 134 #define ATOMISP_SOC_CAMERA(asd) \ argument 135 (asd->isp->inputs[asd->input_curr].type == SOC_CAMERA \ 136 && asd->isp->inputs[asd->input_curr].camera_caps-> \ 137 sensor[asd->sensor_curr].stream_num == 1) 139 #define ATOMISP_USE_YUVPP(asd) \ argument 140 (ATOMISP_SOC_CAMERA(asd) && ATOMISP_CSS_SUPPORT_YUVPP && \ 141 !asd->copy_mode) 168 struct atomisp_sub_device *asd; member 235 struct atomisp_sub_device *asd; member 297 void atomisp_wdt_refresh(struct atomisp_sub_device *asd, unsigned int delay); [all …]
|
D | atomisp_file.c | 41 struct atomisp_sub_device *asd = &isp->asd[0]; in file_work() local 42 struct atomisp_video_pipe *out_pipe = &asd->video_in; in file_work() 46 if (asd->streaming != ATOMISP_DEVICE_STREAMING_ENABLED) in file_work() 50 isp_sink_fmt = *atomisp_subdev_get_ffmt(&asd->subdev, NULL, in file_work() 57 ia_css_stream_send_input_frame(asd->stream_env[ATOMISP_INPUT_STREAM_GENERAL].stream, in file_work() 68 struct atomisp_sub_device *asd = &isp->asd[0]; in file_input_s_stream() local 72 if (asd->streaming != ATOMISP_DEVICE_STREAMING_ENABLED) in file_input_s_stream() 90 struct atomisp_sub_device *asd = &isp->asd[0]; in file_input_get_fmt() local 95 isp_sink_fmt = atomisp_subdev_get_ffmt(&asd->subdev, NULL, in file_input_get_fmt()
|
D | atomisp_fops.h | 25 int atomisp_q_video_buffers_to_css(struct atomisp_sub_device *asd, 32 unsigned int atomisp_sub_dev_users(struct atomisp_sub_device *asd); 45 int atomisp_qbuffers_to_css(struct atomisp_sub_device *asd);
|
D | atomisp_subdev.h | 96 struct atomisp_sub_device *asd; member 124 struct atomisp_sub_device *asd; member 433 bool atomisp_subdev_format_conversion(struct atomisp_sub_device *asd, 456 int atomisp_update_run_mode(struct atomisp_sub_device *asd); 458 void atomisp_subdev_cleanup_pending_events(struct atomisp_sub_device *asd); 460 void atomisp_subdev_unregister_entities(struct atomisp_sub_device *asd); 461 int atomisp_subdev_register_entities(struct atomisp_sub_device *asd,
|
D | atomisp_csi2.c | 302 static void atomisp_csi2_configure_isp2401(struct atomisp_sub_device *asd) in atomisp_csi2_configure_isp2401() argument 366 struct atomisp_device *isp = asd->isp; in atomisp_csi2_configure_isp2401() 374 isp->inputs[asd->input_curr].camera); in atomisp_csi2_configure_isp2401() 379 (isp->inputs[asd->input_curr].camera->ctrl_handler, &ctrl) == 0) in atomisp_csi2_configure_isp2401() 400 void atomisp_csi2_configure(struct atomisp_sub_device *asd) in atomisp_csi2_configure() argument 402 if (IS_HWREVISION(asd->isp, ATOMISP_HW_REVISION_ISP2401)) in atomisp_csi2_configure() 403 atomisp_csi2_configure_isp2401(asd); in atomisp_csi2_configure()
|
D | atomisp_v4l2.c | 829 struct atomisp_sub_device *asd = &isp->asd[0]; in atomisp_suspend() local 841 if (asd->streaming != ATOMISP_DEVICE_STREAMING_DISABLED) { in atomisp_suspend() 1174 atomisp_subdev_unregister_entities(&isp->asd[i]); in atomisp_unregister_entities() 1241 struct atomisp_sub_device *asd = &isp->asd[i]; in atomisp_register_entities() local 1243 ret = atomisp_subdev_register_entities(asd, &isp->v4l2_dev); in atomisp_register_entities() 1249 &isp->asd[i - 1]); in atomisp_register_entities() 1255 struct atomisp_sub_device *asd = &isp->asd[i]; in atomisp_register_entities() local 1257 init_completion(&asd->init_done); in atomisp_register_entities() 1259 asd->delayed_init_workq = in atomisp_register_entities() 1262 if (!asd->delayed_init_workq) { in atomisp_register_entities() [all …]
|
D | atomisp_ioctl.h | 37 int atomisp_alloc_css_stat_bufs(struct atomisp_sub_device *asd, 48 *asd);
|
/Linux-v5.15/drivers/media/v4l2-core/ |
D | v4l2-async.c | 29 struct v4l2_async_subdev *asd) in v4l2_async_notifier_call_bound() argument 34 return n->ops->bound(n, subdev, asd); in v4l2_async_notifier_call_bound() 39 struct v4l2_async_subdev *asd) in v4l2_async_notifier_call_unbind() argument 44 n->ops->unbind(n, subdev, asd); in v4l2_async_notifier_call_unbind() 56 struct v4l2_subdev *sd, struct v4l2_async_subdev *asd) in match_i2c() argument 62 asd->match.i2c.adapter_id == client->adapter->nr && in match_i2c() 63 asd->match.i2c.address == client->addr; in match_i2c() 70 struct v4l2_subdev *sd, struct v4l2_async_subdev *asd) in match_fwnode() argument 83 if (sd->fwnode == asd->match.fwnode) in match_fwnode() 91 sd->fwnode->secondary == asd->match.fwnode) in match_fwnode() [all …]
|
D | v4l2-fwnode.c | 790 struct v4l2_async_subdev *asd; in v4l2_async_notifier_fwnode_parse_endpoint() local 793 asd = kzalloc(asd_struct_size, GFP_KERNEL); in v4l2_async_notifier_fwnode_parse_endpoint() 794 if (!asd) in v4l2_async_notifier_fwnode_parse_endpoint() 797 asd->match_type = V4L2_ASYNC_MATCH_FWNODE; in v4l2_async_notifier_fwnode_parse_endpoint() 798 asd->match.fwnode = in v4l2_async_notifier_fwnode_parse_endpoint() 800 if (!asd->match.fwnode) { in v4l2_async_notifier_fwnode_parse_endpoint() 813 ret = parse_endpoint ? parse_endpoint(dev, &vep, asd) : 0; in v4l2_async_notifier_fwnode_parse_endpoint() 825 ret = __v4l2_async_notifier_add_subdev(notifier, asd); in v4l2_async_notifier_fwnode_parse_endpoint() 836 fwnode_handle_put(asd->match.fwnode); in v4l2_async_notifier_fwnode_parse_endpoint() 837 kfree(asd); in v4l2_async_notifier_fwnode_parse_endpoint() [all …]
|
/Linux-v5.15/drivers/media/platform/xilinx/ |
D | xilinx-vipp.c | 37 struct v4l2_async_subdev asd; /* must be first */ member 43 to_xvip_entity(struct v4l2_async_subdev *asd) in to_xvip_entity() argument 45 return container_of(asd, struct xvip_graph_entity, asd); in to_xvip_entity() 57 struct v4l2_async_subdev *asd; in xvip_graph_find_entity() local 59 list_for_each_entry(asd, &xdev->notifier.asd_list, asd_list) { in xvip_graph_find_entity() 60 entity = to_xvip_entity(asd); in xvip_graph_find_entity() 61 if (entity->asd.match.fwnode == fwnode) in xvip_graph_find_entity() 85 ep = fwnode_graph_get_next_endpoint(entity->asd.match.fwnode, in xvip_graph_build_one() 288 struct v4l2_async_subdev *asd; in xvip_graph_notify_complete() local 294 list_for_each_entry(asd, &xdev->notifier.asd_list, asd_list) { in xvip_graph_notify_complete() [all …]
|
/Linux-v5.15/drivers/staging/media/imx/ |
D | imx-media-of.c | 22 struct v4l2_async_subdev *asd; in imx_media_of_add_csi() local 32 asd = v4l2_async_notifier_add_fwnode_subdev(&imxmd->notifier, in imx_media_of_add_csi() 35 if (IS_ERR(asd)) { in imx_media_of_add_csi() 36 ret = PTR_ERR(asd); in imx_media_of_add_csi()
|
/Linux-v5.15/include/media/ |
D | v4l2-async.h | 88 struct v4l2_async_subdev *asd); 92 struct v4l2_async_subdev *asd); 157 struct v4l2_async_subdev *asd);
|
/Linux-v5.15/drivers/media/platform/rcar-vin/ |
D | rcar-core.c | 568 struct v4l2_async_subdev *asd) in rvin_parallel_notify_unbind() argument 581 struct v4l2_async_subdev *asd) in rvin_parallel_notify_bound() argument 613 struct v4l2_async_subdev *asd; in rvin_parallel_parse_of() local 644 asd = v4l2_async_notifier_add_fwnode_subdev(&vin->notifier, fwnode, in rvin_parallel_parse_of() 646 if (IS_ERR(asd)) { in rvin_parallel_parse_of() 647 ret = PTR_ERR(asd); in rvin_parallel_parse_of() 651 vin->parallel.asd = asd; in rvin_parallel_parse_of() 671 if (!vin->parallel.asd) in rvin_parallel_init() 675 to_of_node(vin->parallel.asd->match.fwnode)); in rvin_parallel_init() 763 struct v4l2_async_subdev *asd) in rvin_group_notify_unbind() argument [all …]
|
/Linux-v5.15/drivers/media/platform/sunxi/sun4i-csi/ |
D | sun4i_csi.c | 45 struct v4l2_async_subdev *asd) in sun4i_csi_notify_bound() argument 121 struct v4l2_async_subdev *asd; in sun4i_csi_notifier_init() local 138 asd = v4l2_async_notifier_add_fwnode_remote_subdev(&csi->notifier, ep, in sun4i_csi_notifier_init() 140 if (IS_ERR(asd)) { in sun4i_csi_notifier_init() 141 ret = PTR_ERR(asd); in sun4i_csi_notifier_init()
|
/Linux-v5.15/drivers/media/platform/rockchip/rkisp1/ |
D | rkisp1-dev.c | 186 struct v4l2_async_subdev *asd) in rkisp1_subdev_notifier_bound() argument 191 container_of(asd, struct rkisp1_sensor_async, asd); in rkisp1_subdev_notifier_bound() 210 struct v4l2_async_subdev *asd) in rkisp1_subdev_notifier_unbind() argument 213 container_of(asd, struct rkisp1_sensor_async, asd); in rkisp1_subdev_notifier_unbind()
|