• Home
  • Raw
  • Download

Lines Matching refs:vsensor

99 	struct vimc_sensor_device *vsensor =  in vimc_sensor_get_fmt()  local
104 vsensor->mbus_format; in vimc_sensor_get_fmt()
109 static void vimc_sensor_tpg_s_format(struct vimc_sensor_device *vsensor) in vimc_sensor_tpg_s_format() argument
112 vimc_pix_map_by_code(vsensor->mbus_format.code); in vimc_sensor_tpg_s_format()
114 tpg_reset_source(&vsensor->tpg, vsensor->mbus_format.width, in vimc_sensor_tpg_s_format()
115 vsensor->mbus_format.height, vsensor->mbus_format.field); in vimc_sensor_tpg_s_format()
116 tpg_s_bytesperline(&vsensor->tpg, 0, vsensor->mbus_format.width * vpix->bpp); in vimc_sensor_tpg_s_format()
117 tpg_s_buf_height(&vsensor->tpg, vsensor->mbus_format.height); in vimc_sensor_tpg_s_format()
118 tpg_s_fourcc(&vsensor->tpg, vpix->pixelformat); in vimc_sensor_tpg_s_format()
120 tpg_s_field(&vsensor->tpg, vsensor->mbus_format.field, false); in vimc_sensor_tpg_s_format()
121 tpg_s_colorspace(&vsensor->tpg, vsensor->mbus_format.colorspace); in vimc_sensor_tpg_s_format()
122 tpg_s_ycbcr_enc(&vsensor->tpg, vsensor->mbus_format.ycbcr_enc); in vimc_sensor_tpg_s_format()
123 tpg_s_quantization(&vsensor->tpg, vsensor->mbus_format.quantization); in vimc_sensor_tpg_s_format()
124 tpg_s_xfer_func(&vsensor->tpg, vsensor->mbus_format.xfer_func); in vimc_sensor_tpg_s_format()
152 struct vimc_sensor_device *vsensor = v4l2_get_subdevdata(sd); in vimc_sensor_set_fmt() local
157 if (vsensor->frame) in vimc_sensor_set_fmt()
160 mf = &vsensor->mbus_format; in vimc_sensor_set_fmt()
168 dev_dbg(vsensor->ved.dev, "%s: format update: " in vimc_sensor_set_fmt()
170 "new:%dx%d (0x%x, %d, %d, %d, %d)\n", vsensor->sd.name, in vimc_sensor_set_fmt()
196 struct vimc_sensor_device *vsensor = in vimc_sensor_process_frame() local
204 tpg_fill_plane_buffer(&vsensor->tpg, 0, 0, vsensor->frame); in vimc_sensor_process_frame()
205 tpg_calc_text_basep(&vsensor->tpg, basep, 0, vsensor->frame); in vimc_sensor_process_frame()
206 switch (vsensor->osd_value) { in vimc_sensor_process_frame()
208 const char *order = tpg_g_color_order(&vsensor->tpg); in vimc_sensor_process_frame()
210 tpg_gen_text(&vsensor->tpg, basep, line++ * line_height, in vimc_sensor_process_frame()
214 vsensor->tpg.brightness, in vimc_sensor_process_frame()
215 vsensor->tpg.contrast, in vimc_sensor_process_frame()
216 vsensor->tpg.saturation, in vimc_sensor_process_frame()
217 vsensor->tpg.hue); in vimc_sensor_process_frame()
218 tpg_gen_text(&vsensor->tpg, basep, line++ * line_height, 16, str); in vimc_sensor_process_frame()
220 vsensor->mbus_format.width, in vimc_sensor_process_frame()
221 vsensor->mbus_format.height); in vimc_sensor_process_frame()
222 tpg_gen_text(&vsensor->tpg, basep, line++ * line_height, 16, str); in vimc_sensor_process_frame()
228 ms = div_u64(ktime_get_ns() - vsensor->start_stream_ts, 1000000); in vimc_sensor_process_frame()
234 tpg_gen_text(&vsensor->tpg, basep, line++ * line_height, 16, str); in vimc_sensor_process_frame()
242 return vsensor->frame; in vimc_sensor_process_frame()
247 struct vimc_sensor_device *vsensor = in vimc_sensor_s_stream() local
254 vsensor->start_stream_ts = ktime_get_ns(); in vimc_sensor_s_stream()
257 vpix = vimc_pix_map_by_code(vsensor->mbus_format.code); in vimc_sensor_s_stream()
258 frame_size = vsensor->mbus_format.width * vpix->bpp * in vimc_sensor_s_stream()
259 vsensor->mbus_format.height; in vimc_sensor_s_stream()
265 vsensor->frame = vmalloc(frame_size); in vimc_sensor_s_stream()
266 if (!vsensor->frame) in vimc_sensor_s_stream()
270 vimc_sensor_tpg_s_format(vsensor); in vimc_sensor_s_stream()
274 vfree(vsensor->frame); in vimc_sensor_s_stream()
275 vsensor->frame = NULL; in vimc_sensor_s_stream()
299 struct vimc_sensor_device *vsensor = in vimc_sensor_s_ctrl() local
304 tpg_s_pattern(&vsensor->tpg, ctrl->val); in vimc_sensor_s_ctrl()
307 tpg_s_hflip(&vsensor->tpg, ctrl->val); in vimc_sensor_s_ctrl()
310 tpg_s_vflip(&vsensor->tpg, ctrl->val); in vimc_sensor_s_ctrl()
313 tpg_s_brightness(&vsensor->tpg, ctrl->val); in vimc_sensor_s_ctrl()
316 tpg_s_contrast(&vsensor->tpg, ctrl->val); in vimc_sensor_s_ctrl()
319 tpg_s_hue(&vsensor->tpg, ctrl->val); in vimc_sensor_s_ctrl()
322 tpg_s_saturation(&vsensor->tpg, ctrl->val); in vimc_sensor_s_ctrl()
325 vsensor->osd_value = ctrl->val; in vimc_sensor_s_ctrl()
339 struct vimc_sensor_device *vsensor = in vimc_sensor_release() local
342 v4l2_ctrl_handler_free(&vsensor->hdl); in vimc_sensor_release()
343 tpg_free(&vsensor->tpg); in vimc_sensor_release()
344 media_entity_cleanup(vsensor->ved.ent); in vimc_sensor_release()
345 kfree(vsensor); in vimc_sensor_release()
385 struct vimc_sensor_device *vsensor; in vimc_sensor_add() local
389 vsensor = kzalloc(sizeof(*vsensor), GFP_KERNEL); in vimc_sensor_add()
390 if (!vsensor) in vimc_sensor_add()
393 v4l2_ctrl_handler_init(&vsensor->hdl, 4); in vimc_sensor_add()
395 v4l2_ctrl_new_custom(&vsensor->hdl, &vimc_sensor_ctrl_class, NULL); in vimc_sensor_add()
396 v4l2_ctrl_new_custom(&vsensor->hdl, &vimc_sensor_ctrl_test_pattern, NULL); in vimc_sensor_add()
397 v4l2_ctrl_new_custom(&vsensor->hdl, &vimc_sensor_ctrl_osd_mode, NULL); in vimc_sensor_add()
398 v4l2_ctrl_new_std(&vsensor->hdl, &vimc_sensor_ctrl_ops, in vimc_sensor_add()
400 v4l2_ctrl_new_std(&vsensor->hdl, &vimc_sensor_ctrl_ops, in vimc_sensor_add()
402 v4l2_ctrl_new_std(&vsensor->hdl, &vimc_sensor_ctrl_ops, in vimc_sensor_add()
404 v4l2_ctrl_new_std(&vsensor->hdl, &vimc_sensor_ctrl_ops, in vimc_sensor_add()
406 v4l2_ctrl_new_std(&vsensor->hdl, &vimc_sensor_ctrl_ops, in vimc_sensor_add()
408 v4l2_ctrl_new_std(&vsensor->hdl, &vimc_sensor_ctrl_ops, in vimc_sensor_add()
410 vsensor->sd.ctrl_handler = &vsensor->hdl; in vimc_sensor_add()
411 if (vsensor->hdl.error) { in vimc_sensor_add()
412 ret = vsensor->hdl.error; in vimc_sensor_add()
417 tpg_init(&vsensor->tpg, vsensor->mbus_format.width, in vimc_sensor_add()
418 vsensor->mbus_format.height); in vimc_sensor_add()
419 ret = tpg_alloc(&vsensor->tpg, VIMC_FRAME_MAX_WIDTH); in vimc_sensor_add()
424 vsensor->pad.flags = MEDIA_PAD_FL_SOURCE; in vimc_sensor_add()
425 ret = vimc_ent_sd_register(&vsensor->ved, &vsensor->sd, v4l2_dev, in vimc_sensor_add()
427 MEDIA_ENT_F_CAM_SENSOR, 1, &vsensor->pad, in vimc_sensor_add()
432 vsensor->ved.process_frame = vimc_sensor_process_frame; in vimc_sensor_add()
433 vsensor->ved.dev = vimc->mdev.dev; in vimc_sensor_add()
436 vsensor->mbus_format = fmt_default; in vimc_sensor_add()
438 return &vsensor->ved; in vimc_sensor_add()
441 tpg_free(&vsensor->tpg); in vimc_sensor_add()
443 v4l2_ctrl_handler_free(&vsensor->hdl); in vimc_sensor_add()
445 kfree(vsensor); in vimc_sensor_add()