Lines Matching refs:skel
133 struct skeleton *skel = dev_id; in skeleton_irq() local
140 spin_lock(&skel->qlock); in skeleton_irq()
142 spin_unlock(&skel->qlock); in skeleton_irq()
144 new_buf->vb.sequence = skel->sequence++; in skeleton_irq()
145 new_buf->vb.field = skel->field; in skeleton_irq()
146 if (skel->format.field == V4L2_FIELD_ALTERNATE) { in skeleton_irq()
147 if (skel->field == V4L2_FIELD_BOTTOM) in skeleton_irq()
148 skel->field = V4L2_FIELD_TOP; in skeleton_irq()
149 else if (skel->field == V4L2_FIELD_TOP) in skeleton_irq()
150 skel->field = V4L2_FIELD_BOTTOM; in skeleton_irq()
169 struct skeleton *skel = vb2_get_drv_priv(vq); in queue_setup() local
171 skel->field = skel->format.field; in queue_setup()
172 if (skel->field == V4L2_FIELD_ALTERNATE) { in queue_setup()
179 skel->field = V4L2_FIELD_TOP; in queue_setup()
186 return sizes[0] < skel->format.sizeimage ? -EINVAL : 0; in queue_setup()
188 sizes[0] = skel->format.sizeimage; in queue_setup()
198 struct skeleton *skel = vb2_get_drv_priv(vb->vb2_queue); in buffer_prepare() local
199 unsigned long size = skel->format.sizeimage; in buffer_prepare()
202 dev_err(&skel->pdev->dev, "buffer too small (%lu < %lu)\n", in buffer_prepare()
217 struct skeleton *skel = vb2_get_drv_priv(vb->vb2_queue); in buffer_queue() local
221 spin_lock_irqsave(&skel->qlock, flags); in buffer_queue()
222 list_add_tail(&buf->list, &skel->buf_list); in buffer_queue()
226 spin_unlock_irqrestore(&skel->qlock, flags); in buffer_queue()
229 static void return_all_buffers(struct skeleton *skel, in return_all_buffers() argument
235 spin_lock_irqsave(&skel->qlock, flags); in return_all_buffers()
236 list_for_each_entry_safe(buf, node, &skel->buf_list, list) { in return_all_buffers()
240 spin_unlock_irqrestore(&skel->qlock, flags); in return_all_buffers()
251 struct skeleton *skel = vb2_get_drv_priv(vq); in start_streaming() local
254 skel->sequence = 0; in start_streaming()
263 return_all_buffers(skel, VB2_BUF_STATE_QUEUED); in start_streaming()
274 struct skeleton *skel = vb2_get_drv_priv(vq); in stop_streaming() local
279 return_all_buffers(skel, VB2_BUF_STATE_ERROR); in stop_streaming()
304 struct skeleton *skel = video_drvdata(file); in skeleton_querycap() local
309 pci_name(skel->pdev)); in skeleton_querycap()
319 static void skeleton_fill_pix_format(struct skeleton *skel, in skeleton_fill_pix_format() argument
323 if (skel->input == 0) { in skeleton_fill_pix_format()
326 pix->height = (skel->std & V4L2_STD_525_60) ? 480 : 576; in skeleton_fill_pix_format()
331 pix->width = skel->timings.bt.width; in skeleton_fill_pix_format()
332 pix->height = skel->timings.bt.height; in skeleton_fill_pix_format()
333 if (skel->timings.bt.interlaced) { in skeleton_fill_pix_format()
354 struct skeleton *skel = video_drvdata(file); in skeleton_try_fmt_vid_cap() local
365 skeleton_fill_pix_format(skel, pix); in skeleton_try_fmt_vid_cap()
372 struct skeleton *skel = video_drvdata(file); in skeleton_s_fmt_vid_cap() local
383 if (vb2_is_busy(&skel->queue)) in skeleton_s_fmt_vid_cap()
387 skel->format = f->fmt.pix; in skeleton_s_fmt_vid_cap()
394 struct skeleton *skel = video_drvdata(file); in skeleton_g_fmt_vid_cap() local
396 f->fmt.pix = skel->format; in skeleton_g_fmt_vid_cap()
412 struct skeleton *skel = video_drvdata(file); in skeleton_s_std() local
415 if (skel->input) in skeleton_s_std()
423 if (std == skel->std) in skeleton_s_std()
430 if (vb2_is_busy(&skel->queue)) in skeleton_s_std()
435 skel->std = std; in skeleton_s_std()
438 skeleton_fill_pix_format(skel, &skel->format); in skeleton_s_std()
444 struct skeleton *skel = video_drvdata(file); in skeleton_g_std() local
447 if (skel->input) in skeleton_g_std()
450 *std = skel->std; in skeleton_g_std()
463 struct skeleton *skel = video_drvdata(file); in skeleton_querystd() local
466 if (skel->input) in skeleton_querystd()
491 struct skeleton *skel = video_drvdata(file); in skeleton_s_dv_timings() local
494 if (skel->input == 0) in skeleton_s_dv_timings()
507 if (v4l2_match_dv_timings(timings, &skel->timings, 0, false)) in skeleton_s_dv_timings()
514 if (vb2_is_busy(&skel->queue)) in skeleton_s_dv_timings()
520 skel->timings = *timings; in skeleton_s_dv_timings()
523 skeleton_fill_pix_format(skel, &skel->format); in skeleton_s_dv_timings()
530 struct skeleton *skel = video_drvdata(file); in skeleton_g_dv_timings() local
533 if (skel->input == 0) in skeleton_g_dv_timings()
536 *timings = skel->timings; in skeleton_g_dv_timings()
543 struct skeleton *skel = video_drvdata(file); in skeleton_enum_dv_timings() local
546 if (skel->input == 0) in skeleton_enum_dv_timings()
565 struct skeleton *skel = video_drvdata(file); in skeleton_query_dv_timings() local
568 if (skel->input == 0) in skeleton_query_dv_timings()
585 v4l2_print_dv_timings(skel->v4l2_dev.name, "query_dv_timings:", in skeleton_query_dv_timings()
594 struct skeleton *skel = video_drvdata(file); in skeleton_dv_timings_cap() local
597 if (skel->input == 0) in skeleton_dv_timings_cap()
624 struct skeleton *skel = video_drvdata(file); in skeleton_s_input() local
633 if (vb2_is_busy(&skel->queue)) in skeleton_s_input()
636 skel->input = i; in skeleton_s_input()
642 skel->vdev.tvnorms = i ? 0 : SKEL_TVNORMS; in skeleton_s_input()
645 skeleton_fill_pix_format(skel, &skel->format); in skeleton_s_input()
651 struct skeleton *skel = video_drvdata(file); in skeleton_g_input() local
653 *i = skel->input; in skeleton_g_input()
759 struct skeleton *skel; in skeleton_probe() local
776 skel = devm_kzalloc(&pdev->dev, sizeof(struct skeleton), GFP_KERNEL); in skeleton_probe()
777 if (!skel) { in skeleton_probe()
784 skeleton_irq, 0, KBUILD_MODNAME, skel); in skeleton_probe()
789 skel->pdev = pdev; in skeleton_probe()
792 skel->timings = timings_def; in skeleton_probe()
793 skel->std = V4L2_STD_625_50; in skeleton_probe()
794 skeleton_fill_pix_format(skel, &skel->format); in skeleton_probe()
797 ret = v4l2_device_register(&pdev->dev, &skel->v4l2_dev); in skeleton_probe()
801 mutex_init(&skel->lock); in skeleton_probe()
804 hdl = &skel->ctrl_handler; in skeleton_probe()
818 skel->v4l2_dev.ctrl_handler = hdl; in skeleton_probe()
821 q = &skel->queue; in skeleton_probe()
825 q->drv_priv = skel; in skeleton_probe()
845 q->lock = &skel->lock; in skeleton_probe()
855 INIT_LIST_HEAD(&skel->buf_list); in skeleton_probe()
856 spin_lock_init(&skel->qlock); in skeleton_probe()
859 vdev = &skel->vdev; in skeleton_probe()
875 vdev->lock = &skel->lock; in skeleton_probe()
877 vdev->v4l2_dev = &skel->v4l2_dev; in skeleton_probe()
880 video_set_drvdata(vdev, skel); in skeleton_probe()
890 v4l2_ctrl_handler_free(&skel->ctrl_handler); in skeleton_probe()
891 v4l2_device_unregister(&skel->v4l2_dev); in skeleton_probe()
900 struct skeleton *skel = container_of(v4l2_dev, struct skeleton, v4l2_dev); in skeleton_remove() local
902 video_unregister_device(&skel->vdev); in skeleton_remove()
903 v4l2_ctrl_handler_free(&skel->ctrl_handler); in skeleton_remove()
904 v4l2_device_unregister(&skel->v4l2_dev); in skeleton_remove()
905 pci_disable_device(skel->pdev); in skeleton_remove()