Lines Matching defs:rkisp1

21 #include "rkisp1-common.h"
24 * NOTE: There are two capture video devices in rkisp1, selfpath and mainpath.
450 u32 mi_ctrl = rkisp1_read(cap->rkisp1, RKISP1_CIF_MI_CTRL);
461 rkisp1_write(cap->rkisp1, RKISP1_CIF_MI_CTRL, mi_ctrl);
479 u32 mi_imsc = rkisp1_read(cap->rkisp1, RKISP1_CIF_MI_IMSC);
482 rkisp1_write(cap->rkisp1, RKISP1_CIF_MI_IMSC, mi_imsc);
488 struct rkisp1_device *rkisp1 = cap->rkisp1;
491 rkisp1_write(rkisp1, cap->config->mi.y_size_init,
493 rkisp1_write(rkisp1, cap->config->mi.cb_size_init,
495 rkisp1_write(rkisp1, cap->config->mi.cr_size_init,
498 if (rkisp1_has_feature(rkisp1, MAIN_STRIDE)) {
499 rkisp1_write(rkisp1, RKISP1_CIF_MI_MP_Y_LLENGTH, cap->stride);
500 rkisp1_write(rkisp1, RKISP1_CIF_MI_MP_Y_PIC_WIDTH, pixm->width);
501 rkisp1_write(rkisp1, RKISP1_CIF_MI_MP_Y_PIC_HEIGHT, pixm->height);
502 rkisp1_write(rkisp1, RKISP1_CIF_MI_MP_Y_PIC_SIZE,
510 reg = rkisp1_read(rkisp1, RKISP1_CIF_MI_XTD_FORMAT_CTRL);
515 rkisp1_write(rkisp1, RKISP1_CIF_MI_XTD_FORMAT_CTRL, reg);
523 if (rkisp1_has_feature(rkisp1, MAIN_STRIDE)) {
524 reg = rkisp1_read(rkisp1, RKISP1_CIF_MI_OUTPUT_ALIGN_FORMAT);
531 rkisp1_write(rkisp1, RKISP1_CIF_MI_OUTPUT_ALIGN_FORMAT, reg);
533 rkisp1_write(rkisp1, RKISP1_CIF_MI_INIT,
539 reg = rkisp1_read(rkisp1, RKISP1_CIF_MI_CTRL);
542 rkisp1_write(rkisp1, RKISP1_CIF_MI_CTRL, reg);
544 reg = rkisp1_read(rkisp1, RKISP1_CIF_MI_CTRL);
546 rkisp1_write(rkisp1, RKISP1_CIF_MI_CTRL, reg);
552 struct rkisp1_device *rkisp1 = cap->rkisp1;
555 rkisp1_write(rkisp1, cap->config->mi.y_size_init,
557 rkisp1_write(rkisp1, cap->config->mi.cb_size_init,
559 rkisp1_write(rkisp1, cap->config->mi.cr_size_init,
562 rkisp1_write(rkisp1, RKISP1_CIF_MI_SP_Y_LLENGTH, cap->stride);
563 rkisp1_write(rkisp1, RKISP1_CIF_MI_SP_Y_PIC_WIDTH, pixm->width);
564 rkisp1_write(rkisp1, RKISP1_CIF_MI_SP_Y_PIC_HEIGHT, pixm->height);
565 rkisp1_write(rkisp1, RKISP1_CIF_MI_SP_Y_PIC_SIZE,
572 reg = rkisp1_read(rkisp1, RKISP1_CIF_MI_XTD_FORMAT_CTRL);
577 rkisp1_write(rkisp1, RKISP1_CIF_MI_XTD_FORMAT_CTRL, reg);
585 if (rkisp1_has_feature(rkisp1, MAIN_STRIDE)) {
586 reg = rkisp1_read(rkisp1, RKISP1_CIF_MI_OUTPUT_ALIGN_FORMAT);
591 rkisp1_write(rkisp1, RKISP1_CIF_MI_OUTPUT_ALIGN_FORMAT, reg);
596 mi_ctrl = rkisp1_read(rkisp1, RKISP1_CIF_MI_CTRL);
602 rkisp1_write(rkisp1, RKISP1_CIF_MI_CTRL, mi_ctrl);
607 u32 mi_ctrl = rkisp1_read(cap->rkisp1, RKISP1_CIF_MI_CTRL);
611 rkisp1_write(cap->rkisp1, RKISP1_CIF_MI_CTRL, mi_ctrl);
616 u32 mi_ctrl = rkisp1_read(cap->rkisp1, RKISP1_CIF_MI_CTRL);
619 rkisp1_write(cap->rkisp1, RKISP1_CIF_MI_CTRL, mi_ctrl);
628 mi_ctrl = rkisp1_read(cap->rkisp1, RKISP1_CIF_MI_CTRL);
635 rkisp1_write(cap->rkisp1, RKISP1_CIF_MI_CTRL, mi_ctrl);
640 u32 mi_ctrl = rkisp1_read(cap->rkisp1, RKISP1_CIF_MI_CTRL);
643 rkisp1_write(cap->rkisp1, RKISP1_CIF_MI_CTRL, mi_ctrl);
650 rkisp1_write(cap->rkisp1, RKISP1_CIF_MI_ICR, RKISP1_CIF_MI_FRAME(cap));
659 return !(rkisp1_read(cap->rkisp1, RKISP1_CIF_MI_CTRL_SHD) & en);
664 return !(rkisp1_read(cap->rkisp1, RKISP1_CIF_MI_CTRL_SHD) &
670 u32 dpcl = rkisp1_read(cap->rkisp1, RKISP1_CIF_VI_DPCL);
674 rkisp1_write(cap->rkisp1, RKISP1_CIF_VI_DPCL, dpcl);
679 u32 dpcl = rkisp1_read(cap->rkisp1, RKISP1_CIF_VI_DPCL);
682 rkisp1_write(cap->rkisp1, RKISP1_CIF_VI_DPCL, dpcl);
717 dummy_buf->vaddr = dma_alloc_attrs(cap->rkisp1->dev,
730 dma_free_attrs(cap->rkisp1->dev,
737 u8 shift = rkisp1_has_feature(cap->rkisp1, DMA_34BIT) ? 2 : 0;
750 rkisp1_write(cap->rkisp1, cap->config->mi.y_base_ad_init,
758 rkisp1_write(cap->rkisp1,
761 rkisp1_write(cap->rkisp1,
765 rkisp1_write(cap->rkisp1,
768 rkisp1_write(cap->rkisp1,
777 rkisp1_write(cap->rkisp1, cap->config->mi.y_base_ad_init,
779 rkisp1_write(cap->rkisp1, cap->config->mi.cb_base_ad_init,
781 rkisp1_write(cap->rkisp1, cap->config->mi.cr_base_ad_init,
786 rkisp1_write(cap->rkisp1, cap->config->mi.y_offs_cnt_init, 0);
787 rkisp1_write(cap->rkisp1, cap->config->mi.cb_offs_cnt_init, 0);
788 rkisp1_write(cap->rkisp1, cap->config->mi.cr_offs_cnt_init, 0);
798 struct rkisp1_isp *isp = &cap->rkisp1->isp;
810 cap->rkisp1->debug.frame_drop[cap->id]++;
820 struct rkisp1_device *rkisp1 = dev_get_drvdata(dev);
821 unsigned int dev_count = rkisp1_path_count(rkisp1);
825 if (!rkisp1->irqs_enabled)
828 status = rkisp1_read(rkisp1, RKISP1_CIF_MI_MIS);
832 rkisp1_write(rkisp1, RKISP1_CIF_MI_ICR, status);
835 struct rkisp1_capture *cap = &rkisp1->capture_devs[i];
947 dev_err(cap->rkisp1->dev,
989 struct rkisp1_device *rkisp1 = cap->rkisp1;
990 struct rkisp1_capture *other = &rkisp1->capture_devs[cap->id ^ 1];
991 bool has_self_path = rkisp1_has_feature(rkisp1, SELF_PATH);
1025 if (rkisp1_has_feature(rkisp1, MAIN_STRIDE))
1026 reg = rkisp1_read(rkisp1, RKISP1_CIF_MI_INIT)
1032 rkisp1_write(rkisp1, RKISP1_CIF_MI_INIT, reg);
1050 cap->rkisp1->debug.stop_timeout[cap->id]++;
1065 __must_hold(&cap->rkisp1->stream_lock)
1067 struct rkisp1_device *rkisp1 = cap->rkisp1;
1075 if (rkisp1->pipe.start_count < 2)
1076 v4l2_subdev_call(&rkisp1->isp.sd, video, s_stream, false);
1078 v4l2_subdev_call(&rkisp1->resizer_devs[cap->id].sd, video, s_stream,
1089 __must_hold(&cap->rkisp1->stream_lock)
1091 struct rkisp1_device *rkisp1 = cap->rkisp1;
1096 ret = v4l2_subdev_call(&rkisp1->resizer_devs[cap->id].sd, video,
1105 if (rkisp1->pipe.start_count > 1)
1108 ret = v4l2_subdev_call(&rkisp1->isp.sd, video, s_stream, true);
1115 v4l2_subdev_call(&rkisp1->resizer_devs[cap->id].sd, video, s_stream,
1127 struct rkisp1_device *rkisp1 = cap->rkisp1;
1130 mutex_lock(&cap->rkisp1->stream_lock);
1137 ret = pm_runtime_put(rkisp1->dev);
1139 dev_err(rkisp1->dev, "power down failed error:%d\n", ret);
1145 mutex_unlock(&cap->rkisp1->stream_lock);
1155 mutex_lock(&cap->rkisp1->stream_lock);
1157 ret = video_device_pipeline_start(&cap->vnode.vdev, &cap->rkisp1->pipe);
1159 dev_err(cap->rkisp1->dev, "start pipeline failed %d\n", ret);
1167 ret = pm_runtime_resume_and_get(cap->rkisp1->dev);
1169 dev_err(cap->rkisp1->dev, "power up failed %d\n", ret);
1174 dev_err(cap->rkisp1->dev, "open cif pipeline failed %d\n", ret);
1182 mutex_unlock(&cap->rkisp1->stream_lock);
1189 pm_runtime_put(cap->rkisp1->dev);
1196 mutex_unlock(&cap->rkisp1->stream_lock);
1237 rkisp1_has_feature(cap->rkisp1, MAIN_STRIDE))
1272 bool yc_swap_support = rkisp1_has_feature(cap->rkisp1, MAIN_STRIDE);
1348 bool yc_swap_support = rkisp1_has_feature(cap->rkisp1, MAIN_STRIDE);
1483 dev_dbg(cap->rkisp1->dev,
1522 void rkisp1_capture_devs_unregister(struct rkisp1_device *rkisp1)
1524 struct rkisp1_capture *mp = &rkisp1->capture_devs[RKISP1_MAINPATH];
1525 struct rkisp1_capture *sp = &rkisp1->capture_devs[RKISP1_SELFPATH];
1536 struct v4l2_device *v4l2_dev = &cap->rkisp1->v4l2_dev;
1569 q->dev = cap->rkisp1->dev;
1572 dev_err(cap->rkisp1->dev,
1585 dev_err(cap->rkisp1->dev,
1602 rkisp1_capture_init(struct rkisp1_device *rkisp1, enum rkisp1_stream_id id)
1604 struct rkisp1_capture *cap = &rkisp1->capture_devs[id];
1609 cap->rkisp1 = rkisp1;
1631 int rkisp1_capture_devs_register(struct rkisp1_device *rkisp1)
1633 unsigned int dev_count = rkisp1_path_count(rkisp1);
1638 struct rkisp1_capture *cap = &rkisp1->capture_devs[i];
1640 rkisp1_capture_init(rkisp1, i);
1644 rkisp1_capture_devs_unregister(rkisp1);