Lines Matching refs:skel
121 struct skeleton *skel = dev_id; in skeleton_irq() local
128 spin_lock(&skel->qlock); in skeleton_irq()
130 spin_unlock(&skel->qlock); in skeleton_irq()
132 new_buf->vb.sequence = skel->sequence++; in skeleton_irq()
133 new_buf->vb.field = skel->field; in skeleton_irq()
134 if (skel->format.field == V4L2_FIELD_ALTERNATE) { in skeleton_irq()
135 if (skel->field == V4L2_FIELD_BOTTOM) in skeleton_irq()
136 skel->field = V4L2_FIELD_TOP; in skeleton_irq()
137 else if (skel->field == V4L2_FIELD_TOP) in skeleton_irq()
138 skel->field = V4L2_FIELD_BOTTOM; in skeleton_irq()
157 struct skeleton *skel = vb2_get_drv_priv(vq); in queue_setup() local
159 skel->field = skel->format.field; in queue_setup()
160 if (skel->field == V4L2_FIELD_ALTERNATE) { in queue_setup()
167 skel->field = V4L2_FIELD_TOP; in queue_setup()
174 return sizes[0] < skel->format.sizeimage ? -EINVAL : 0; in queue_setup()
176 sizes[0] = skel->format.sizeimage; in queue_setup()
186 struct skeleton *skel = vb2_get_drv_priv(vb->vb2_queue); in buffer_prepare() local
187 unsigned long size = skel->format.sizeimage; in buffer_prepare()
190 dev_err(&skel->pdev->dev, "buffer too small (%lu < %lu)\n", in buffer_prepare()
205 struct skeleton *skel = vb2_get_drv_priv(vb->vb2_queue); in buffer_queue() local
209 spin_lock_irqsave(&skel->qlock, flags); in buffer_queue()
210 list_add_tail(&buf->list, &skel->buf_list); in buffer_queue()
214 spin_unlock_irqrestore(&skel->qlock, flags); in buffer_queue()
217 static void return_all_buffers(struct skeleton *skel, in return_all_buffers() argument
223 spin_lock_irqsave(&skel->qlock, flags); in return_all_buffers()
224 list_for_each_entry_safe(buf, node, &skel->buf_list, list) { in return_all_buffers()
228 spin_unlock_irqrestore(&skel->qlock, flags); in return_all_buffers()
239 struct skeleton *skel = vb2_get_drv_priv(vq); in start_streaming() local
242 skel->sequence = 0; in start_streaming()
251 return_all_buffers(skel, VB2_BUF_STATE_QUEUED); in start_streaming()
262 struct skeleton *skel = vb2_get_drv_priv(vq); in stop_streaming() local
267 return_all_buffers(skel, VB2_BUF_STATE_ERROR); in stop_streaming()
292 struct skeleton *skel = video_drvdata(file); in skeleton_querycap() local
297 pci_name(skel->pdev)); in skeleton_querycap()
307 static void skeleton_fill_pix_format(struct skeleton *skel, in skeleton_fill_pix_format() argument
311 if (skel->input == 0) { in skeleton_fill_pix_format()
314 pix->height = (skel->std & V4L2_STD_525_60) ? 480 : 576; in skeleton_fill_pix_format()
319 pix->width = skel->timings.bt.width; in skeleton_fill_pix_format()
320 pix->height = skel->timings.bt.height; in skeleton_fill_pix_format()
321 if (skel->timings.bt.interlaced) { in skeleton_fill_pix_format()
342 struct skeleton *skel = video_drvdata(file); in skeleton_try_fmt_vid_cap() local
353 skeleton_fill_pix_format(skel, pix); in skeleton_try_fmt_vid_cap()
360 struct skeleton *skel = video_drvdata(file); in skeleton_s_fmt_vid_cap() local
371 if (vb2_is_busy(&skel->queue)) in skeleton_s_fmt_vid_cap()
375 skel->format = f->fmt.pix; in skeleton_s_fmt_vid_cap()
382 struct skeleton *skel = video_drvdata(file); in skeleton_g_fmt_vid_cap() local
384 f->fmt.pix = skel->format; in skeleton_g_fmt_vid_cap()
400 struct skeleton *skel = video_drvdata(file); in skeleton_s_std() local
403 if (skel->input) in skeleton_s_std()
411 if (std == skel->std) in skeleton_s_std()
418 if (vb2_is_busy(&skel->queue)) in skeleton_s_std()
423 skel->std = std; in skeleton_s_std()
426 skeleton_fill_pix_format(skel, &skel->format); in skeleton_s_std()
432 struct skeleton *skel = video_drvdata(file); in skeleton_g_std() local
435 if (skel->input) in skeleton_g_std()
438 *std = skel->std; in skeleton_g_std()
451 struct skeleton *skel = video_drvdata(file); in skeleton_querystd() local
454 if (skel->input) in skeleton_querystd()
479 struct skeleton *skel = video_drvdata(file); in skeleton_s_dv_timings() local
482 if (skel->input == 0) in skeleton_s_dv_timings()
495 if (v4l2_match_dv_timings(timings, &skel->timings, 0, false)) in skeleton_s_dv_timings()
502 if (vb2_is_busy(&skel->queue)) in skeleton_s_dv_timings()
508 skel->timings = *timings; in skeleton_s_dv_timings()
511 skeleton_fill_pix_format(skel, &skel->format); in skeleton_s_dv_timings()
518 struct skeleton *skel = video_drvdata(file); in skeleton_g_dv_timings() local
521 if (skel->input == 0) in skeleton_g_dv_timings()
524 *timings = skel->timings; in skeleton_g_dv_timings()
531 struct skeleton *skel = video_drvdata(file); in skeleton_enum_dv_timings() local
534 if (skel->input == 0) in skeleton_enum_dv_timings()
553 struct skeleton *skel = video_drvdata(file); in skeleton_query_dv_timings() local
556 if (skel->input == 0) in skeleton_query_dv_timings()
573 v4l2_print_dv_timings(skel->v4l2_dev.name, "query_dv_timings:", in skeleton_query_dv_timings()
582 struct skeleton *skel = video_drvdata(file); in skeleton_dv_timings_cap() local
585 if (skel->input == 0) in skeleton_dv_timings_cap()
612 struct skeleton *skel = video_drvdata(file); in skeleton_s_input() local
621 if (vb2_is_busy(&skel->queue)) in skeleton_s_input()
624 skel->input = i; in skeleton_s_input()
630 skel->vdev.tvnorms = i ? 0 : SKEL_TVNORMS; in skeleton_s_input()
633 skeleton_fill_pix_format(skel, &skel->format); in skeleton_s_input()
639 struct skeleton *skel = video_drvdata(file); in skeleton_g_input() local
641 *i = skel->input; in skeleton_g_input()
747 struct skeleton *skel; in skeleton_probe() local
764 skel = devm_kzalloc(&pdev->dev, sizeof(struct skeleton), GFP_KERNEL); in skeleton_probe()
765 if (!skel) { in skeleton_probe()
772 skeleton_irq, 0, KBUILD_MODNAME, skel); in skeleton_probe()
777 skel->pdev = pdev; in skeleton_probe()
780 skel->timings = timings_def; in skeleton_probe()
781 skel->std = V4L2_STD_625_50; in skeleton_probe()
782 skeleton_fill_pix_format(skel, &skel->format); in skeleton_probe()
785 ret = v4l2_device_register(&pdev->dev, &skel->v4l2_dev); in skeleton_probe()
789 mutex_init(&skel->lock); in skeleton_probe()
792 hdl = &skel->ctrl_handler; in skeleton_probe()
806 skel->v4l2_dev.ctrl_handler = hdl; in skeleton_probe()
809 q = &skel->queue; in skeleton_probe()
813 q->drv_priv = skel; in skeleton_probe()
833 q->lock = &skel->lock; in skeleton_probe()
843 INIT_LIST_HEAD(&skel->buf_list); in skeleton_probe()
844 spin_lock_init(&skel->qlock); in skeleton_probe()
847 vdev = &skel->vdev; in skeleton_probe()
863 vdev->lock = &skel->lock; in skeleton_probe()
865 vdev->v4l2_dev = &skel->v4l2_dev; in skeleton_probe()
868 video_set_drvdata(vdev, skel); in skeleton_probe()
878 v4l2_ctrl_handler_free(&skel->ctrl_handler); in skeleton_probe()
879 v4l2_device_unregister(&skel->v4l2_dev); in skeleton_probe()
888 struct skeleton *skel = container_of(v4l2_dev, struct skeleton, v4l2_dev); in skeleton_remove() local
890 video_unregister_device(&skel->vdev); in skeleton_remove()
891 v4l2_ctrl_handler_free(&skel->ctrl_handler); in skeleton_remove()
892 v4l2_device_unregister(&skel->v4l2_dev); in skeleton_remove()
893 pci_disable_device(skel->pdev); in skeleton_remove()