• 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

206 static void solo_fillbuf(struct solo_filehandle *fh,
209 struct solo6010_dev *solo_dev = fh->solo_dev;
220 void *p = videobuf_queue_to_vaddr(&fh->vidq, vb);
231 fdma_addr = SOLO_DISP_EXT_ADDR(solo_dev) + (fh->old_write * frame_size);
260 static void solo_thread_try(struct solo_filehandle *fh)
266 spin_lock(&fh->slock);
268 if (list_empty(&fh->vidq_active))
271 vb = list_first_entry(&fh->vidq_active, struct videobuf_buffer,
277 cur_write = SOLO_VI_STATUS0_PAGE(solo_reg_read(fh->solo_dev,
279 if (cur_write == fh->old_write)
282 fh->old_write = cur_write;
285 spin_unlock(&fh->slock);
287 solo_fillbuf(fh, vb);
290 assert_spin_locked(&fh->slock);
291 spin_unlock(&fh->slock);
296 struct solo_filehandle *fh = data;
297 struct solo6010_dev *solo_dev = fh->solo_dev;
307 solo_thread_try(fh);
316 static int solo_start_thread(struct solo_filehandle *fh)
318 fh->kthread = kthread_run(solo_thread, fh, SOLO6010_NAME "_disp");
320 if (IS_ERR(fh->kthread))
321 return PTR_ERR(fh->kthread);
326 static void solo_stop_thread(struct solo_filehandle *fh)
328 if (fh->kthread) {
329 kthread_stop(fh->kthread);
330 fh->kthread = NULL;
337 struct solo_filehandle *fh = vq->priv_data;
338 struct solo6010_dev *solo_dev = fh->solo_dev;
351 struct solo_filehandle *fh = vq->priv_data;
352 struct solo6010_dev *solo_dev = fh->solo_dev;
379 struct solo_filehandle *fh = vq->priv_data;
380 struct solo6010_dev *solo_dev = fh->solo_dev;
383 list_add_tail(&vb->queue, &fh->vidq_active);
404 struct solo_filehandle *fh = file->private_data;
406 return videobuf_poll_stream(file, &fh->vidq, wait);
411 struct solo_filehandle *fh = file->private_data;
413 return videobuf_mmap_mapper(&fh->vidq, vma);
419 struct solo_filehandle *fh;
422 if ((fh = kzalloc(sizeof(*fh), GFP_KERNEL)) == NULL)
425 spin_lock_init(&fh->slock);
426 INIT_LIST_HEAD(&fh->vidq_active);
427 fh->solo_dev = solo_dev;
428 file->private_data = fh;
430 if ((ret = solo_start_thread(fh))) {
431 kfree(fh);
435 videobuf_queue_dma_contig_init(&fh->vidq, &solo_video_qops,
436 &solo_dev->pdev->dev, &fh->slock,
439 sizeof(struct videobuf_buffer), fh);
447 struct solo_filehandle *fh = file->private_data;
449 return videobuf_read_stream(&fh->vidq, data, count, ppos, 0,
455 struct solo_filehandle *fh = file->private_data;
457 videobuf_stop(&fh->vidq);
458 videobuf_mmap_free(&fh->vidq);
459 solo_stop_thread(fh);
460 kfree(fh);
468 struct solo_filehandle *fh = priv;
469 struct solo6010_dev *solo_dev = fh->solo_dev;
511 struct solo_filehandle *fh = priv;
512 struct solo6010_dev *solo_dev = fh->solo_dev;
539 struct solo_filehandle *fh = priv;
541 return solo_v4l2_set_ch(fh->solo_dev, index);
546 struct solo_filehandle *fh = priv;
548 *index = fh->solo_dev->cur_disp_ch;
568 struct solo_filehandle *fh = priv;
569 struct solo6010_dev *solo_dev = fh->solo_dev;
596 struct solo_filehandle *fh = priv;
598 if (videobuf_queue_is_busy(&fh->vidq))
609 struct solo_filehandle *fh = priv;
610 struct solo6010_dev *solo_dev = fh->solo_dev;
627 struct solo_filehandle *fh = priv;
629 return videobuf_reqbufs(&fh->vidq, req);
634 struct solo_filehandle *fh = priv;
636 return videobuf_querybuf(&fh->vidq, buf);
641 struct solo_filehandle *fh = priv;
643 return videobuf_qbuf(&fh->vidq, buf);
648 struct solo_filehandle *fh = priv;
650 return videobuf_dqbuf(&fh->vidq, buf, file->f_flags & O_NONBLOCK);
655 struct solo_filehandle *fh = priv;
660 return videobuf_streamon(&fh->vidq);
665 struct solo_filehandle *fh = priv;
670 return videobuf_streamoff(&fh->vidq);
715 struct solo_filehandle *fh = priv;
716 struct solo6010_dev *solo_dev = fh->solo_dev;
730 struct solo_filehandle *fh = priv;
731 struct solo6010_dev *solo_dev = fh->solo_dev;