Lines Matching refs:rkisp1

375 	u32 mi_ctrl = rkisp1_read(cap->rkisp1, RKISP1_CIF_MI_CTRL);  in rkisp1_mi_config_ctrl()
386 rkisp1_write(cap->rkisp1, mi_ctrl, RKISP1_CIF_MI_CTRL); in rkisp1_mi_config_ctrl()
404 u32 mi_imsc = rkisp1_read(cap->rkisp1, RKISP1_CIF_MI_IMSC); in rkisp1_irq_frame_end_enable()
407 rkisp1_write(cap->rkisp1, mi_imsc, RKISP1_CIF_MI_IMSC); in rkisp1_irq_frame_end_enable()
413 struct rkisp1_device *rkisp1 = cap->rkisp1; in rkisp1_mp_config() local
416 rkisp1_write(rkisp1, rkisp1_pixfmt_comp_size(pixm, RKISP1_PLANE_Y), in rkisp1_mp_config()
418 rkisp1_write(rkisp1, rkisp1_pixfmt_comp_size(pixm, RKISP1_PLANE_CB), in rkisp1_mp_config()
420 rkisp1_write(rkisp1, rkisp1_pixfmt_comp_size(pixm, RKISP1_PLANE_CR), in rkisp1_mp_config()
427 reg = rkisp1_read(rkisp1, RKISP1_CIF_MI_XTD_FORMAT_CTRL); in rkisp1_mp_config()
432 rkisp1_write(rkisp1, reg, RKISP1_CIF_MI_XTD_FORMAT_CTRL); in rkisp1_mp_config()
437 reg = rkisp1_read(rkisp1, RKISP1_CIF_MI_CTRL); in rkisp1_mp_config()
440 rkisp1_write(rkisp1, reg, RKISP1_CIF_MI_CTRL); in rkisp1_mp_config()
442 reg = rkisp1_read(rkisp1, RKISP1_CIF_MI_CTRL); in rkisp1_mp_config()
444 rkisp1_write(rkisp1, reg, RKISP1_CIF_MI_CTRL); in rkisp1_mp_config()
450 struct rkisp1_device *rkisp1 = cap->rkisp1; in rkisp1_sp_config() local
453 rkisp1_write(rkisp1, rkisp1_pixfmt_comp_size(pixm, RKISP1_PLANE_Y), in rkisp1_sp_config()
455 rkisp1_write(rkisp1, rkisp1_pixfmt_comp_size(pixm, RKISP1_PLANE_CB), in rkisp1_sp_config()
457 rkisp1_write(rkisp1, rkisp1_pixfmt_comp_size(pixm, RKISP1_PLANE_CR), in rkisp1_sp_config()
460 rkisp1_write(rkisp1, pixm->width, RKISP1_CIF_MI_SP_Y_PIC_WIDTH); in rkisp1_sp_config()
461 rkisp1_write(rkisp1, pixm->height, RKISP1_CIF_MI_SP_Y_PIC_HEIGHT); in rkisp1_sp_config()
462 rkisp1_write(rkisp1, cap->sp_y_stride, RKISP1_CIF_MI_SP_Y_LLENGTH); in rkisp1_sp_config()
468 reg = rkisp1_read(rkisp1, RKISP1_CIF_MI_XTD_FORMAT_CTRL); in rkisp1_sp_config()
473 rkisp1_write(rkisp1, reg, RKISP1_CIF_MI_XTD_FORMAT_CTRL); in rkisp1_sp_config()
478 mi_ctrl = rkisp1_read(rkisp1, RKISP1_CIF_MI_CTRL); in rkisp1_sp_config()
484 rkisp1_write(rkisp1, mi_ctrl, RKISP1_CIF_MI_CTRL); in rkisp1_sp_config()
489 u32 mi_ctrl = rkisp1_read(cap->rkisp1, RKISP1_CIF_MI_CTRL); in rkisp1_mp_disable()
493 rkisp1_write(cap->rkisp1, mi_ctrl, RKISP1_CIF_MI_CTRL); in rkisp1_mp_disable()
498 u32 mi_ctrl = rkisp1_read(cap->rkisp1, RKISP1_CIF_MI_CTRL); in rkisp1_sp_disable()
501 rkisp1_write(cap->rkisp1, mi_ctrl, RKISP1_CIF_MI_CTRL); in rkisp1_sp_disable()
510 mi_ctrl = rkisp1_read(cap->rkisp1, RKISP1_CIF_MI_CTRL); in rkisp1_mp_enable()
517 rkisp1_write(cap->rkisp1, mi_ctrl, RKISP1_CIF_MI_CTRL); in rkisp1_mp_enable()
522 u32 mi_ctrl = rkisp1_read(cap->rkisp1, RKISP1_CIF_MI_CTRL); in rkisp1_sp_enable()
525 rkisp1_write(cap->rkisp1, mi_ctrl, RKISP1_CIF_MI_CTRL); in rkisp1_sp_enable()
532 rkisp1_write(cap->rkisp1, in rkisp1_mp_sp_stop()
542 return !(rkisp1_read(cap->rkisp1, RKISP1_CIF_MI_CTRL_SHD) & en); in rkisp1_mp_is_stopped()
547 return !(rkisp1_read(cap->rkisp1, RKISP1_CIF_MI_CTRL_SHD) & in rkisp1_sp_is_stopped()
553 u32 dpcl = rkisp1_read(cap->rkisp1, RKISP1_CIF_VI_DPCL); in rkisp1_mp_set_data_path()
557 rkisp1_write(cap->rkisp1, dpcl, RKISP1_CIF_VI_DPCL); in rkisp1_mp_set_data_path()
562 u32 dpcl = rkisp1_read(cap->rkisp1, RKISP1_CIF_VI_DPCL); in rkisp1_sp_set_data_path()
565 rkisp1_write(cap->rkisp1, dpcl, RKISP1_CIF_VI_DPCL); in rkisp1_sp_set_data_path()
600 dummy_buf->vaddr = dma_alloc_attrs(cap->rkisp1->dev, in rkisp1_dummy_buf_create()
613 dma_free_attrs(cap->rkisp1->dev, in rkisp1_dummy_buf_destroy()
631 rkisp1_write(cap->rkisp1, in rkisp1_set_next_buf()
640 rkisp1_write(cap->rkisp1, in rkisp1_set_next_buf()
643 rkisp1_write(cap->rkisp1, in rkisp1_set_next_buf()
647 rkisp1_write(cap->rkisp1, in rkisp1_set_next_buf()
650 rkisp1_write(cap->rkisp1, in rkisp1_set_next_buf()
659 rkisp1_write(cap->rkisp1, in rkisp1_set_next_buf()
662 rkisp1_write(cap->rkisp1, in rkisp1_set_next_buf()
665 rkisp1_write(cap->rkisp1, in rkisp1_set_next_buf()
671 rkisp1_write(cap->rkisp1, 0, cap->config->mi.y_offs_cnt_init); in rkisp1_set_next_buf()
672 rkisp1_write(cap->rkisp1, 0, cap->config->mi.cb_offs_cnt_init); in rkisp1_set_next_buf()
673 rkisp1_write(cap->rkisp1, 0, cap->config->mi.cr_offs_cnt_init); in rkisp1_set_next_buf()
683 struct rkisp1_isp *isp = &cap->rkisp1->isp; in rkisp1_handle_buffer()
695 cap->rkisp1->debug.frame_drop[cap->id]++; in rkisp1_handle_buffer()
705 struct rkisp1_device *rkisp1 = dev_get_drvdata(dev); in rkisp1_capture_isr() local
709 status = rkisp1_read(rkisp1, RKISP1_CIF_MI_MIS); in rkisp1_capture_isr()
713 rkisp1_write(rkisp1, status, RKISP1_CIF_MI_ICR); in rkisp1_capture_isr()
715 for (i = 0; i < ARRAY_SIZE(rkisp1->capture_devs); ++i) { in rkisp1_capture_isr()
716 struct rkisp1_capture *cap = &rkisp1->capture_devs[i]; in rkisp1_capture_isr()
828 dev_err(cap->rkisp1->dev, in rkisp1_vb2_buf_prepare()
870 struct rkisp1_device *rkisp1 = cap->rkisp1; in rkisp1_cap_stream_enable() local
871 struct rkisp1_capture *other = &rkisp1->capture_devs[cap->id ^ 1]; in rkisp1_cap_stream_enable()
891 rkisp1_write(rkisp1, in rkisp1_cap_stream_enable()
909 cap->rkisp1->debug.stop_timeout[cap->id]++; in rkisp1_cap_stream_disable()
924 __must_hold(&cap->rkisp1->stream_lock) in rkisp1_pipeline_stream_disable()
926 struct rkisp1_device *rkisp1 = cap->rkisp1; in rkisp1_pipeline_stream_disable() local
934 if (rkisp1->pipe.streaming_count < 2) { in rkisp1_pipeline_stream_disable()
935 v4l2_subdev_call(rkisp1->active_sensor->sd, video, s_stream, in rkisp1_pipeline_stream_disable()
937 v4l2_subdev_call(&rkisp1->isp.sd, video, s_stream, false); in rkisp1_pipeline_stream_disable()
940 v4l2_subdev_call(&rkisp1->resizer_devs[cap->id].sd, video, s_stream, in rkisp1_pipeline_stream_disable()
951 __must_hold(&cap->rkisp1->stream_lock) in rkisp1_pipeline_stream_enable()
953 struct rkisp1_device *rkisp1 = cap->rkisp1; in rkisp1_pipeline_stream_enable() local
958 ret = v4l2_subdev_call(&rkisp1->resizer_devs[cap->id].sd, video, in rkisp1_pipeline_stream_enable()
967 if (rkisp1->pipe.streaming_count > 1) in rkisp1_pipeline_stream_enable()
970 ret = v4l2_subdev_call(&rkisp1->isp.sd, video, s_stream, true); in rkisp1_pipeline_stream_enable()
974 ret = v4l2_subdev_call(rkisp1->active_sensor->sd, video, s_stream, in rkisp1_pipeline_stream_enable()
982 v4l2_subdev_call(&rkisp1->isp.sd, video, s_stream, false); in rkisp1_pipeline_stream_enable()
984 v4l2_subdev_call(&rkisp1->resizer_devs[cap->id].sd, video, s_stream, in rkisp1_pipeline_stream_enable()
996 struct rkisp1_device *rkisp1 = cap->rkisp1; in rkisp1_vb2_stop_streaming() local
999 mutex_lock(&cap->rkisp1->stream_lock); in rkisp1_vb2_stop_streaming()
1006 ret = pm_runtime_put(rkisp1->dev); in rkisp1_vb2_stop_streaming()
1008 dev_err(rkisp1->dev, "power down failed error:%d\n", ret); in rkisp1_vb2_stop_streaming()
1014 mutex_unlock(&cap->rkisp1->stream_lock); in rkisp1_vb2_stop_streaming()
1024 mutex_lock(&cap->rkisp1->stream_lock); in rkisp1_vb2_start_streaming()
1026 ret = media_pipeline_start(entity, &cap->rkisp1->pipe); in rkisp1_vb2_start_streaming()
1028 dev_err(cap->rkisp1->dev, "start pipeline failed %d\n", ret); in rkisp1_vb2_start_streaming()
1036 ret = pm_runtime_resume_and_get(cap->rkisp1->dev); in rkisp1_vb2_start_streaming()
1038 dev_err(cap->rkisp1->dev, "power up failed %d\n", ret); in rkisp1_vb2_start_streaming()
1043 dev_err(cap->rkisp1->dev, "open cif pipeline failed %d\n", ret); in rkisp1_vb2_start_streaming()
1051 mutex_unlock(&cap->rkisp1->stream_lock); in rkisp1_vb2_start_streaming()
1058 pm_runtime_put(cap->rkisp1->dev); in rkisp1_vb2_start_streaming()
1065 mutex_unlock(&cap->rkisp1->stream_lock); in rkisp1_vb2_start_streaming()
1257 struct rkisp1_device *rkisp1 = cap_dev->rkisp1; in rkisp1_querycap() local
1259 strscpy(cap->driver, rkisp1->dev->driver->name, sizeof(cap->driver)); in rkisp1_querycap()
1260 strscpy(cap->card, rkisp1->dev->driver->name, sizeof(cap->card)); in rkisp1_querycap()
1333 void rkisp1_capture_devs_unregister(struct rkisp1_device *rkisp1) in rkisp1_capture_devs_unregister() argument
1335 struct rkisp1_capture *mp = &rkisp1->capture_devs[RKISP1_MAINPATH]; in rkisp1_capture_devs_unregister()
1336 struct rkisp1_capture *sp = &rkisp1->capture_devs[RKISP1_SELFPATH]; in rkisp1_capture_devs_unregister()
1346 struct v4l2_device *v4l2_dev = &cap->rkisp1->v4l2_dev; in rkisp1_register_capture()
1379 q->dev = cap->rkisp1->dev; in rkisp1_register_capture()
1382 dev_err(cap->rkisp1->dev, in rkisp1_register_capture()
1391 dev_err(cap->rkisp1->dev, in rkisp1_register_capture()
1408 rkisp1_capture_init(struct rkisp1_device *rkisp1, enum rkisp1_stream_id id) in rkisp1_capture_init() argument
1410 struct rkisp1_capture *cap = &rkisp1->capture_devs[id]; in rkisp1_capture_init()
1415 cap->rkisp1 = rkisp1; in rkisp1_capture_init()
1437 int rkisp1_capture_devs_register(struct rkisp1_device *rkisp1) in rkisp1_capture_devs_register() argument
1443 for (i = 0; i < ARRAY_SIZE(rkisp1->capture_devs); i++) { in rkisp1_capture_devs_register()
1444 rkisp1_capture_init(rkisp1, i); in rkisp1_capture_devs_register()
1445 cap = &rkisp1->capture_devs[i]; in rkisp1_capture_devs_register()
1446 cap->rkisp1 = rkisp1; in rkisp1_capture_devs_register()
1456 cap = &rkisp1->capture_devs[j]; in rkisp1_capture_devs_register()