• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/staging/solo6x10/

Lines Matching refs:fh

192 static int solo_enc_on(struct solo_enc_fh *fh)
194 struct solo_enc_dev *solo_enc = fh->enc;
201 if (fh->enc_on)
214 fh->kthread = kthread_run(solo_enc_thread, fh, SOLO6010_NAME "_enc");
216 if (IS_ERR(fh->kthread))
217 return PTR_ERR(fh->kthread);
219 fh->enc_on = 1;
220 fh->rd_idx = solo_enc->solo_dev->enc_wr_idx;
222 if (fh->type == SOLO_ENC_TYPE_EXT)
259 static void solo_enc_off(struct solo_enc_fh *fh)
261 struct solo_enc_dev *solo_enc = fh->enc;
264 if (!fh->enc_on)
267 if (fh->kthread) {
268 kthread_stop(fh->kthread);
269 fh->kthread = NULL;
273 fh->enc_on = 0;
365 static int solo_fill_jpeg(struct solo_enc_fh *fh, struct solo_enc_buf *enc_buf,
368 struct solo_enc_dev *solo_enc = fh->enc;
370 u8 *p = videobuf_queue_to_vaddr(&fh->vidq, vb);
385 static int solo_fill_mpeg(struct solo_enc_fh *fh, struct solo_enc_buf *enc_buf,
388 struct solo_enc_dev *solo_enc = fh->enc;
413 u8 *p = videobuf_queue_to_vaddr(&fh->vidq, vb);
453 static int solo_enc_fillbuf(struct solo_enc_fh *fh,
456 struct solo_enc_dev *solo_enc = fh->enc;
461 u16 idx = fh->rd_idx;
466 if (fh->fmt == V4L2_PIX_FMT_MPEG) {
467 if (fh->type != ebuf->type)
479 fh->rd_idx = idx;
484 if ((fh->fmt == V4L2_PIX_FMT_MPEG &&
486 (fh->fmt == V4L2_PIX_FMT_MJPEG &&
497 if (fh->fmt == V4L2_PIX_FMT_MPEG)
498 ret = solo_fill_mpeg(fh, enc_buf, vb, vbuf);
500 ret = solo_fill_jpeg(fh, enc_buf, vb, vbuf);
515 static void solo_enc_thread_try(struct solo_enc_fh *fh)
517 struct solo_enc_dev *solo_enc = fh->enc;
523 if (list_empty(&fh->vidq_active))
526 vb = list_first_entry(&fh->vidq_active,
533 if (solo_enc_fillbuf(fh, vb))
543 struct solo_enc_fh *fh = data;
544 struct solo_enc_dev *solo_enc = fh->enc;
554 solo_enc_thread_try(fh);
683 struct solo_enc_fh *fh = vq->priv_data;
684 struct solo_enc_dev *solo_enc = fh->enc;
711 struct solo_enc_fh *fh = vq->priv_data;
714 list_add_tail(&vb->queue, &fh->vidq_active);
715 wake_up_interruptible(&fh->enc->thread_wait);
735 struct solo_enc_fh *fh = file->private_data;
737 return videobuf_poll_stream(file, &fh->vidq, wait);
742 struct solo_enc_fh *fh = file->private_data;
744 return videobuf_mmap_mapper(&fh->vidq, vma);
750 struct solo_enc_fh *fh;
752 if ((fh = kzalloc(sizeof(*fh), GFP_KERNEL)) == NULL)
757 fh->enc = solo_enc;
758 file->private_data = fh;
759 INIT_LIST_HEAD(&fh->vidq_active);
760 fh->fmt = V4L2_PIX_FMT_MPEG;
761 fh->type = SOLO_ENC_TYPE_STD;
763 videobuf_queue_dma_contig_init(&fh->vidq, &solo_enc_video_qops,
768 sizeof(struct videobuf_buffer), fh);
778 struct solo_enc_fh *fh = file->private_data;
779 struct solo_enc_dev *solo_enc = fh->enc;
782 if (!fh->enc_on) {
786 ret = solo_enc_on(fh);
792 return videobuf_read_stream(&fh->vidq, data, count, ppos, 0,
798 struct solo_enc_fh *fh = file->private_data;
800 videobuf_stop(&fh->vidq);
801 videobuf_mmap_free(&fh->vidq);
802 solo_enc_off(fh);
803 kfree(fh);
811 struct solo_enc_fh *fh = priv;
812 struct solo_enc_dev *solo_enc = fh->enc;
830 struct solo_enc_fh *fh = priv;
831 struct solo_enc_dev *solo_enc = fh->enc;
892 struct solo_enc_fh *fh = priv;
893 struct solo_enc_dev *solo_enc = fh->enc;
931 struct solo_enc_fh *fh = priv;
932 struct solo_enc_dev *solo_enc = fh->enc;
950 fh->fmt = pix->pixelformat;
953 fh->type = SOLO_ENC_TYPE_EXT;
954 ret = solo_enc_on(fh);
964 struct solo_enc_fh *fh = priv;
965 struct solo_enc_dev *solo_enc = fh->enc;
970 pix->pixelformat = fh->fmt;
982 struct solo_enc_fh *fh = priv;
984 return videobuf_reqbufs(&fh->vidq, req);
990 struct solo_enc_fh *fh = priv;
992 return videobuf_querybuf(&fh->vidq, buf);
997 struct solo_enc_fh *fh = priv;
999 return videobuf_qbuf(&fh->vidq, buf);
1005 struct solo_enc_fh *fh = priv;
1006 struct solo_enc_dev *solo_enc = fh->enc;
1010 if (!fh->enc_on) {
1012 ret = solo_enc_on(fh);
1018 ret = videobuf_dqbuf(&fh->vidq, buf, file->f_flags & O_NONBLOCK);
1034 if (fh->fmt == V4L2_PIX_FMT_MPEG) {
1035 struct videobuf_buffer *vb = fh->vidq.bufs[buf->index];
1036 u8 *p = videobuf_queue_to_vaddr(&fh->vidq, vb);
1049 struct solo_enc_fh *fh = priv;
1054 return videobuf_streamon(&fh->vidq);
1060 struct solo_enc_fh *fh = priv;
1065 return videobuf_streamoff(&fh->vidq);
1076 struct solo_enc_fh *fh = priv;
1077 struct solo6010_dev *solo_dev = fh->enc->solo_dev;
1103 struct solo_enc_fh *fh = priv;
1104 struct solo6010_dev *solo_dev = fh->enc->solo_dev;
1126 struct solo_enc_fh *fh = priv;
1127 struct solo_enc_dev *solo_enc = fh->enc;
1143 struct solo_enc_fh *fh = priv;
1144 struct solo_enc_dev *solo_enc = fh->enc;
1183 struct solo_enc_fh *fh = priv;
1184 struct solo_enc_dev *solo_enc = fh->enc;
1260 struct solo_enc_fh *fh = priv;
1261 struct solo_enc_dev *solo_enc = fh->enc;
1294 struct solo_enc_fh *fh = priv;
1295 struct solo_enc_dev *solo_enc = fh->enc;
1340 struct solo_enc_fh *fh = priv;
1341 struct solo_enc_dev *solo_enc = fh->enc;
1377 struct solo_enc_fh *fh = priv;
1378 struct solo_enc_dev *solo_enc = fh->enc;