Lines Matching refs:fh
157 struct v4l2_fh fh; member
365 struct viu_fh *fh = vq->priv_data; in buffer_setup() local
367 *size = fh->width * fh->height * fh->fmt->depth >> 3; in buffer_setup()
449 struct viu_fh *fh = vq->priv_data; in buffer_prepare() local
453 BUG_ON(fh->fmt == NULL); in buffer_prepare()
455 if (fh->width < 48 || fh->width > norm_maxw() || in buffer_prepare()
456 fh->height < 32 || fh->height > norm_maxh()) in buffer_prepare()
458 buf->vb.size = (fh->width * fh->height * fh->fmt->depth) >> 3; in buffer_prepare()
462 if (buf->fmt != fh->fmt || in buffer_prepare()
463 buf->vb.width != fh->width || in buffer_prepare()
464 buf->vb.height != fh->height || in buffer_prepare()
466 buf->fmt = fh->fmt; in buffer_prepare()
467 buf->vb.width = fh->width; in buffer_prepare()
468 buf->vb.height = fh->height; in buffer_prepare()
477 buf->vb.width = fh->width; in buffer_prepare()
478 buf->vb.height = fh->height; in buffer_prepare()
480 buf->fmt = fh->fmt; in buffer_prepare()
494 struct viu_fh *fh = vq->priv_data; in buffer_queue() local
495 struct viu_dev *dev = fh->dev; in buffer_queue()
545 struct viu_fh *fh = vq->priv_data; in buffer_release() local
546 struct viu_dev *dev = (struct viu_dev *)fh->dev; in buffer_release()
591 struct viu_fh *fh = priv; in vidioc_g_fmt_cap() local
593 f->fmt.pix.width = fh->width; in vidioc_g_fmt_cap()
594 f->fmt.pix.height = fh->height; in vidioc_g_fmt_cap()
595 f->fmt.pix.field = fh->vb_vidq.field; in vidioc_g_fmt_cap()
596 f->fmt.pix.pixelformat = fh->fmt->pixelformat; in vidioc_g_fmt_cap()
598 (f->fmt.pix.width * fh->fmt->depth) >> 3; in vidioc_g_fmt_cap()
599 f->fmt.pix.sizeimage = fh->sizeimage; in vidioc_g_fmt_cap()
641 struct viu_fh *fh = priv; in vidioc_s_fmt_cap() local
644 ret = vidioc_try_fmt_cap(file, fh, f); in vidioc_s_fmt_cap()
648 fh->fmt = format_by_fourcc(f->fmt.pix.pixelformat); in vidioc_s_fmt_cap()
649 fh->width = f->fmt.pix.width; in vidioc_s_fmt_cap()
650 fh->height = f->fmt.pix.height; in vidioc_s_fmt_cap()
651 fh->sizeimage = f->fmt.pix.sizeimage; in vidioc_s_fmt_cap()
652 fh->vb_vidq.field = f->fmt.pix.field; in vidioc_s_fmt_cap()
653 fh->type = f->type; in vidioc_s_fmt_cap()
660 struct viu_fh *fh = priv; in vidioc_g_fmt_overlay() local
662 f->fmt.win = fh->win; in vidioc_g_fmt_overlay()
715 static int viu_setup_preview(struct viu_dev *dev, struct viu_fh *fh) in viu_setup_preview() argument
720 fh->win.w.width, fh->win.w.height); in viu_setup_preview()
725 reg_val.picture_count = (fh->win.w.height / 2) << 16 | in viu_setup_preview()
726 fh->win.w.width; in viu_setup_preview()
733 reg_val.dma_inc = fh->win.w.width * 2; in viu_setup_preview()
737 reg_val.dma_inc = fh->win.w.width * 4; in viu_setup_preview()
745 dev->ovfield = fh->win.field; in viu_setup_preview()
760 struct viu_fh *fh = priv; in vidioc_s_fmt_overlay() local
761 struct viu_dev *dev = (struct viu_dev *)fh->dev; in vidioc_s_fmt_overlay()
769 fh->win = f->fmt.win; in vidioc_s_fmt_overlay()
772 viu_setup_preview(dev, fh); in vidioc_s_fmt_overlay()
785 struct viu_fh *fh = priv; in vidioc_overlay() local
786 struct viu_dev *dev = (struct viu_dev *)fh->dev; in vidioc_overlay()
807 struct viu_fh *fh = priv; in vidioc_g_fbuf() local
808 struct viu_dev *dev = fh->dev; in vidioc_g_fbuf()
818 struct viu_fh *fh = priv; in vidioc_s_fbuf() local
819 struct viu_dev *dev = fh->dev; in vidioc_s_fbuf()
844 struct viu_fh *fh = priv; in vidioc_reqbufs() local
846 return videobuf_reqbufs(&fh->vb_vidq, p); in vidioc_reqbufs()
852 struct viu_fh *fh = priv; in vidioc_querybuf() local
854 return videobuf_querybuf(&fh->vb_vidq, p); in vidioc_querybuf()
859 struct viu_fh *fh = priv; in vidioc_qbuf() local
861 return videobuf_qbuf(&fh->vb_vidq, p); in vidioc_qbuf()
866 struct viu_fh *fh = priv; in vidioc_dqbuf() local
868 return videobuf_dqbuf(&fh->vb_vidq, p, in vidioc_dqbuf()
874 struct viu_fh *fh = priv; in vidioc_streamon() local
875 struct viu_dev *dev = fh->dev; in vidioc_streamon()
877 if (fh->type != V4L2_BUF_TYPE_VIDEO_CAPTURE) in vidioc_streamon()
879 if (fh->type != i) in vidioc_streamon()
885 viu_start_dma(fh->dev); in vidioc_streamon()
887 return videobuf_streamon(&fh->vb_vidq); in vidioc_streamon()
892 struct viu_fh *fh = priv; in vidioc_streamoff() local
894 if (fh->type != V4L2_BUF_TYPE_VIDEO_CAPTURE) in vidioc_streamoff()
896 if (fh->type != i) in vidioc_streamoff()
899 viu_stop_dma(fh->dev); in vidioc_streamoff()
901 return videobuf_streamoff(&fh->vb_vidq); in vidioc_streamoff()
909 struct viu_fh *fh = priv; in vidioc_querystd() local
911 decoder_call(fh->dev, video, querystd, std_id); in vidioc_querystd()
917 struct viu_fh *fh = priv; in vidioc_s_std() local
919 fh->dev->std = id; in vidioc_s_std()
920 decoder_call(fh->dev, video, s_std, id); in vidioc_s_std()
926 struct viu_fh *fh = priv; in vidioc_g_std() local
928 *std_id = fh->dev->std; in vidioc_g_std()
936 struct viu_fh *fh = priv; in vidioc_enum_input() local
942 inp->std = fh->dev->vdev->tvnorms; in vidioc_enum_input()
955 struct viu_fh *fh = priv; in vidioc_s_input() local
960 decoder_call(fh->dev, video, s_routing, i, 0, 0); in vidioc_s_input()
1171 struct viu_fh *fh; in viu_open() local
1195 fh = kzalloc(sizeof(*fh), GFP_KERNEL); in viu_open()
1196 if (!fh) { in viu_open()
1202 v4l2_fh_init(&fh->fh, vdev); in viu_open()
1203 file->private_data = fh; in viu_open()
1204 fh->dev = dev; in viu_open()
1206 fh->type = V4L2_BUF_TYPE_VIDEO_CAPTURE; in viu_open()
1207 fh->fmt = format_by_fourcc(V4L2_PIX_FMT_RGB32); in viu_open()
1208 fh->width = norm_maxw(); in viu_open()
1209 fh->height = norm_maxh(); in viu_open()
1210 dev->crop_current.width = fh->width; in viu_open()
1211 dev->crop_current.height = fh->height; in viu_open()
1214 (unsigned long)fh, (unsigned long)dev, in viu_open()
1232 spin_lock_init(&fh->vbq_lock); in viu_open()
1233 videobuf_queue_dma_contig_init(&fh->vb_vidq, &viu_video_qops, in viu_open()
1234 dev->dev, &fh->vbq_lock, in viu_open()
1235 fh->type, V4L2_FIELD_INTERLACED, in viu_open()
1236 sizeof(struct viu_buf), fh, in viu_open()
1237 &fh->dev->lock); in viu_open()
1238 v4l2_fh_add(&fh->fh); in viu_open()
1246 struct viu_fh *fh = file->private_data; in viu_read() local
1247 struct viu_dev *dev = fh->dev; in viu_read()
1254 if (fh->type == V4L2_BUF_TYPE_VIDEO_CAPTURE) { in viu_read()
1258 ret = videobuf_read_stream(&fh->vb_vidq, data, count, in viu_read()
1268 struct viu_fh *fh = file->private_data; in viu_poll() local
1269 struct videobuf_queue *q = &fh->vb_vidq; in viu_poll()
1270 struct viu_dev *dev = fh->dev; in viu_poll()
1274 if (V4L2_BUF_TYPE_VIDEO_CAPTURE != fh->type) in viu_poll()
1288 struct viu_fh *fh = file->private_data; in viu_release() local
1289 struct viu_dev *dev = fh->dev; in viu_release()
1294 videobuf_stop(&fh->vb_vidq); in viu_release()
1295 videobuf_mmap_free(&fh->vb_vidq); in viu_release()
1296 v4l2_fh_del(&fh->fh); in viu_release()
1297 v4l2_fh_exit(&fh->fh); in viu_release()
1300 kfree(fh); in viu_release()
1324 struct viu_fh *fh = file->private_data; in viu_mmap() local
1325 struct viu_dev *dev = fh->dev; in viu_mmap()
1332 ret = videobuf_mmap_mapper(&fh->vb_vidq, vma); in viu_mmap()