• Home
  • Raw
  • Download

Lines Matching refs:fh

662 	struct au0828_fh *fh = vq->priv_data;  in buffer_setup()  local
663 *size = (fh->dev->width * fh->dev->height * 16 + 7) >> 3; in buffer_setup()
676 struct au0828_fh *fh = vq->priv_data; in free_buffer() local
677 struct au0828_dev *dev = fh->dev; in free_buffer()
704 struct au0828_fh *fh = vq->priv_data; in buffer_prepare() local
706 struct au0828_dev *dev = fh->dev; in buffer_prepare()
709 buf->vb.size = (fh->dev->width * fh->dev->height * 16 + 7) >> 3; in buffer_prepare()
753 struct au0828_fh *fh = vq->priv_data; in buffer_queue() local
754 struct au0828_dev *dev = fh->dev; in buffer_queue()
865 static int res_get(struct au0828_fh *fh, unsigned int bit) in res_get() argument
867 struct au0828_dev *dev = fh->dev; in res_get()
869 if (fh->resources & bit) in res_get()
879 fh->resources |= bit; in res_get()
886 static int res_check(struct au0828_fh *fh, unsigned int bit) in res_check() argument
888 return fh->resources & bit; in res_check()
896 static void res_free(struct au0828_fh *fh, unsigned int bits) in res_free() argument
898 struct au0828_dev *dev = fh->dev; in res_free()
900 BUG_ON((fh->resources & bits) != bits); in res_free()
902 fh->resources &= ~bits; in res_free()
907 static int get_ressource(struct au0828_fh *fh) in get_ressource() argument
909 switch (fh->type) { in get_ressource()
976 struct au0828_fh *fh; in au0828_v4l2_open() local
990 fh = kzalloc(sizeof(struct au0828_fh), GFP_KERNEL); in au0828_v4l2_open()
991 if (NULL == fh) { in au0828_v4l2_open()
996 fh->type = type; in au0828_v4l2_open()
997 fh->dev = dev; in au0828_v4l2_open()
998 v4l2_fh_init(&fh->fh, vdev); in au0828_v4l2_open()
999 filp->private_data = fh; in au0828_v4l2_open()
1002 kfree(fh); in au0828_v4l2_open()
1011 kfree(fh); in au0828_v4l2_open()
1028 videobuf_queue_vmalloc_init(&fh->vb_vidq, &au0828_video_qops, in au0828_v4l2_open()
1032 sizeof(struct au0828_buffer), fh, in au0828_v4l2_open()
1036 videobuf_queue_vmalloc_init(&fh->vb_vbiq, &au0828_vbi_qops, in au0828_v4l2_open()
1040 sizeof(struct au0828_buffer), fh, in au0828_v4l2_open()
1042 v4l2_fh_add(&fh->fh); in au0828_v4l2_open()
1049 struct au0828_fh *fh = filp->private_data; in au0828_v4l2_close() local
1050 struct au0828_dev *dev = fh->dev; in au0828_v4l2_close()
1052 v4l2_fh_del(&fh->fh); in au0828_v4l2_close()
1053 v4l2_fh_exit(&fh->fh); in au0828_v4l2_close()
1055 if (res_check(fh, AU0828_RESOURCE_VIDEO)) { in au0828_v4l2_close()
1060 videobuf_stop(&fh->vb_vidq); in au0828_v4l2_close()
1061 res_free(fh, AU0828_RESOURCE_VIDEO); in au0828_v4l2_close()
1064 if (res_check(fh, AU0828_RESOURCE_VBI)) { in au0828_v4l2_close()
1069 videobuf_stop(&fh->vb_vbiq); in au0828_v4l2_close()
1070 res_free(fh, AU0828_RESOURCE_VBI); in au0828_v4l2_close()
1090 videobuf_mmap_free(&fh->vb_vidq); in au0828_v4l2_close()
1091 videobuf_mmap_free(&fh->vb_vbiq); in au0828_v4l2_close()
1092 kfree(fh); in au0828_v4l2_close()
1121 struct au0828_fh *fh = filp->private_data; in au0828_v4l2_read() local
1122 struct au0828_dev *dev = fh->dev; in au0828_v4l2_read()
1134 if (fh->type == V4L2_BUF_TYPE_VIDEO_CAPTURE) { in au0828_v4l2_read()
1138 return videobuf_read_stream(&fh->vb_vidq, buf, count, pos, 0, in au0828_v4l2_read()
1142 if (fh->type == V4L2_BUF_TYPE_VBI_CAPTURE) { in au0828_v4l2_read()
1143 if (!res_get(fh, AU0828_RESOURCE_VBI)) in au0828_v4l2_read()
1153 return videobuf_read_stream(&fh->vb_vbiq, buf, count, pos, 0, in au0828_v4l2_read()
1162 struct au0828_fh *fh = filp->private_data; in au0828_v4l2_poll() local
1163 struct au0828_dev *dev = fh->dev; in au0828_v4l2_poll()
1179 if (fh->type == V4L2_BUF_TYPE_VIDEO_CAPTURE) { in au0828_v4l2_poll()
1180 if (!res_get(fh, AU0828_RESOURCE_VIDEO)) in au0828_v4l2_poll()
1182 return res | videobuf_poll_stream(filp, &fh->vb_vidq, wait); in au0828_v4l2_poll()
1184 if (fh->type == V4L2_BUF_TYPE_VBI_CAPTURE) { in au0828_v4l2_poll()
1185 if (!res_get(fh, AU0828_RESOURCE_VBI)) in au0828_v4l2_poll()
1187 return res | videobuf_poll_stream(filp, &fh->vb_vbiq, wait); in au0828_v4l2_poll()
1194 struct au0828_fh *fh = filp->private_data; in au0828_v4l2_mmap() local
1195 struct au0828_dev *dev = fh->dev; in au0828_v4l2_mmap()
1202 if (fh->type == V4L2_BUF_TYPE_VIDEO_CAPTURE) in au0828_v4l2_mmap()
1203 rc = videobuf_mmap_mapper(&fh->vb_vidq, vma); in au0828_v4l2_mmap()
1204 else if (fh->type == V4L2_BUF_TYPE_VBI_CAPTURE) in au0828_v4l2_mmap()
1205 rc = videobuf_mmap_mapper(&fh->vb_vbiq, vma); in au0828_v4l2_mmap()
1273 struct au0828_fh *fh = priv; in vidioc_querycap() local
1274 struct au0828_dev *dev = fh->dev; in vidioc_querycap()
1312 struct au0828_fh *fh = priv; in vidioc_g_fmt_vid_cap() local
1313 struct au0828_dev *dev = fh->dev; in vidioc_g_fmt_vid_cap()
1329 struct au0828_fh *fh = priv; in vidioc_try_fmt_vid_cap() local
1330 struct au0828_dev *dev = fh->dev; in vidioc_try_fmt_vid_cap()
1338 struct au0828_fh *fh = priv; in vidioc_s_fmt_vid_cap() local
1339 struct au0828_dev *dev = fh->dev; in vidioc_s_fmt_vid_cap()
1346 if (videobuf_queue_is_busy(&fh->vb_vidq)) { in vidioc_s_fmt_vid_cap()
1359 struct au0828_fh *fh = priv; in vidioc_s_std() local
1360 struct au0828_dev *dev = fh->dev; in vidioc_s_std()
1381 struct au0828_fh *fh = priv; in vidioc_g_std() local
1382 struct au0828_dev *dev = fh->dev; in vidioc_g_std()
1391 struct au0828_fh *fh = priv; in vidioc_enum_input() local
1392 struct au0828_dev *dev = fh->dev; in vidioc_enum_input()
1430 struct au0828_fh *fh = priv; in vidioc_g_input() local
1431 struct au0828_dev *dev = fh->dev; in vidioc_g_input()
1489 struct au0828_fh *fh = priv; in vidioc_s_input() local
1490 struct au0828_dev *dev = fh->dev; in vidioc_s_input()
1519 struct au0828_fh *fh = priv; in vidioc_g_audio() local
1520 struct au0828_dev *dev = fh->dev; in vidioc_g_audio()
1534 struct au0828_fh *fh = priv; in vidioc_s_audio() local
1535 struct au0828_dev *dev = fh->dev; in vidioc_s_audio()
1544 struct au0828_fh *fh = priv; in vidioc_g_tuner() local
1545 struct au0828_dev *dev = fh->dev; in vidioc_g_tuner()
1562 struct au0828_fh *fh = priv; in vidioc_s_tuner() local
1563 struct au0828_dev *dev = fh->dev; in vidioc_s_tuner()
1583 struct au0828_fh *fh = priv; in vidioc_g_frequency() local
1584 struct au0828_dev *dev = fh->dev; in vidioc_g_frequency()
1595 struct au0828_fh *fh = priv; in vidioc_s_frequency() local
1596 struct au0828_dev *dev = fh->dev; in vidioc_s_frequency()
1623 struct au0828_fh *fh = priv; in vidioc_g_fmt_vbi_cap() local
1624 struct au0828_dev *dev = fh->dev; in vidioc_g_fmt_vbi_cap()
1644 struct au0828_fh *fh = priv; in vidioc_g_chip_ident() local
1645 struct au0828_dev *dev = fh->dev; in vidioc_g_chip_ident()
1664 struct au0828_fh *fh = priv; in vidioc_cropcap() local
1665 struct au0828_dev *dev = fh->dev; in vidioc_cropcap()
1686 struct au0828_fh *fh = priv; in vidioc_streamon() local
1687 struct au0828_dev *dev = fh->dev; in vidioc_streamon()
1694 if (unlikely(type != fh->type)) in vidioc_streamon()
1698 fh, type, fh->resources, dev->resources); in vidioc_streamon()
1700 if (unlikely(!res_get(fh, get_ressource(fh)))) in vidioc_streamon()
1709 if (fh->type == V4L2_BUF_TYPE_VIDEO_CAPTURE) { in vidioc_streamon()
1710 rc = videobuf_streamon(&fh->vb_vidq); in vidioc_streamon()
1713 } else if (fh->type == V4L2_BUF_TYPE_VBI_CAPTURE) { in vidioc_streamon()
1714 rc = videobuf_streamon(&fh->vb_vbiq); in vidioc_streamon()
1725 struct au0828_fh *fh = priv; in vidioc_streamoff() local
1726 struct au0828_dev *dev = fh->dev; in vidioc_streamoff()
1734 if (fh->type != V4L2_BUF_TYPE_VIDEO_CAPTURE && in vidioc_streamoff()
1735 fh->type != V4L2_BUF_TYPE_VBI_CAPTURE) in vidioc_streamoff()
1737 if (type != fh->type) in vidioc_streamoff()
1741 fh, type, fh->resources, dev->resources); in vidioc_streamoff()
1743 if (fh->type == V4L2_BUF_TYPE_VIDEO_CAPTURE) { in vidioc_streamoff()
1758 if (res_check(fh, AU0828_RESOURCE_VIDEO)) { in vidioc_streamoff()
1759 videobuf_streamoff(&fh->vb_vidq); in vidioc_streamoff()
1760 res_free(fh, AU0828_RESOURCE_VIDEO); in vidioc_streamoff()
1762 } else if (fh->type == V4L2_BUF_TYPE_VBI_CAPTURE) { in vidioc_streamoff()
1766 if (res_check(fh, AU0828_RESOURCE_VBI)) { in vidioc_streamoff()
1767 videobuf_streamoff(&fh->vb_vbiq); in vidioc_streamoff()
1768 res_free(fh, AU0828_RESOURCE_VBI); in vidioc_streamoff()
1779 struct au0828_fh *fh = priv; in vidioc_g_register() local
1780 struct au0828_dev *dev = fh->dev; in vidioc_g_register()
1798 struct au0828_fh *fh = priv; in vidioc_s_register() local
1799 struct au0828_dev *dev = fh->dev; in vidioc_s_register()
1813 static int vidioc_log_status(struct file *file, void *fh) in vidioc_log_status() argument
1817 v4l2_ctrl_log_status(file, fh); in vidioc_log_status()
1825 struct au0828_fh *fh = priv; in vidioc_reqbufs() local
1826 struct au0828_dev *dev = fh->dev; in vidioc_reqbufs()
1833 if (fh->type == V4L2_BUF_TYPE_VIDEO_CAPTURE) in vidioc_reqbufs()
1834 rc = videobuf_reqbufs(&fh->vb_vidq, rb); in vidioc_reqbufs()
1835 else if (fh->type == V4L2_BUF_TYPE_VBI_CAPTURE) in vidioc_reqbufs()
1836 rc = videobuf_reqbufs(&fh->vb_vbiq, rb); in vidioc_reqbufs()
1844 struct au0828_fh *fh = priv; in vidioc_querybuf() local
1845 struct au0828_dev *dev = fh->dev; in vidioc_querybuf()
1852 if (fh->type == V4L2_BUF_TYPE_VIDEO_CAPTURE) in vidioc_querybuf()
1853 rc = videobuf_querybuf(&fh->vb_vidq, b); in vidioc_querybuf()
1854 else if (fh->type == V4L2_BUF_TYPE_VBI_CAPTURE) in vidioc_querybuf()
1855 rc = videobuf_querybuf(&fh->vb_vbiq, b); in vidioc_querybuf()
1862 struct au0828_fh *fh = priv; in vidioc_qbuf() local
1863 struct au0828_dev *dev = fh->dev; in vidioc_qbuf()
1870 if (fh->type == V4L2_BUF_TYPE_VIDEO_CAPTURE) in vidioc_qbuf()
1871 rc = videobuf_qbuf(&fh->vb_vidq, b); in vidioc_qbuf()
1872 else if (fh->type == V4L2_BUF_TYPE_VBI_CAPTURE) in vidioc_qbuf()
1873 rc = videobuf_qbuf(&fh->vb_vbiq, b); in vidioc_qbuf()
1880 struct au0828_fh *fh = priv; in vidioc_dqbuf() local
1881 struct au0828_dev *dev = fh->dev; in vidioc_dqbuf()
1896 if (fh->type == V4L2_BUF_TYPE_VIDEO_CAPTURE) in vidioc_dqbuf()
1897 rc = videobuf_dqbuf(&fh->vb_vidq, b, file->f_flags & O_NONBLOCK); in vidioc_dqbuf()
1898 else if (fh->type == V4L2_BUF_TYPE_VBI_CAPTURE) in vidioc_dqbuf()
1899 rc = videobuf_dqbuf(&fh->vb_vbiq, b, file->f_flags & O_NONBLOCK); in vidioc_dqbuf()