Home
last modified time | relevance | path

Searched refs:asd (Results 1 – 25 of 77) sorted by relevance

1234

/Linux-v5.15/drivers/staging/media/atomisp/pci/
Datomisp_compat.h49 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 …]
Datomisp_compat_css20.c192 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 …]
Datomisp_cmd.c111 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 …]
Datomisp_cmd.h59 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 …]
Datomisp_fops.c87 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 …]
Datomisp_acc.c75 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 …]
Datomisp_ioctl.c609 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 …]
Datomisp_subdev.c118 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 …]
Datomisp_acc.h42 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 …]
Datomisp_compat_css20.h108 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 …]
Datomisp_internal.h134 #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 …]
Datomisp_file.c41 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()
Datomisp_fops.h25 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);
Datomisp_subdev.h96 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,
Datomisp_csi2.c302 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()
Datomisp_v4l2.c829 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 …]
Datomisp_ioctl.h37 int atomisp_alloc_css_stat_bufs(struct atomisp_sub_device *asd,
48 *asd);
/Linux-v5.15/drivers/media/v4l2-core/
Dv4l2-async.c29 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 …]
Dv4l2-fwnode.c790 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/
Dxilinx-vipp.c37 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/
Dimx-media-of.c22 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/
Dv4l2-async.h88 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/
Drcar-core.c568 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/
Dsun4i_csi.c45 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/
Drkisp1-dev.c186 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()

1234