/linux-4.1.27/drivers/usb/gadget/function/ |
H A D | uvc_video.c | 18 #include <linux/usb/video.h> 31 uvc_video_encode_header(struct uvc_video *video, struct uvc_buffer *buf, uvc_video_encode_header() argument 35 data[1] = UVC_STREAM_EOH | video->fid; uvc_video_encode_header() 37 if (buf->bytesused - video->queue.buf_used <= len - 2) uvc_video_encode_header() 44 uvc_video_encode_data(struct uvc_video *video, struct uvc_buffer *buf, uvc_video_encode_data() argument 47 struct uvc_video_queue *queue = &video->queue; uvc_video_encode_data() 51 /* Copy video data to the USB buffer. */ uvc_video_encode_data() 62 uvc_video_encode_bulk(struct usb_request *req, struct uvc_video *video, uvc_video_encode_bulk() argument 66 int len = video->req_size; uvc_video_encode_bulk() 70 if (video->payload_size == 0) { uvc_video_encode_bulk() 71 ret = uvc_video_encode_header(video, buf, mem, len); uvc_video_encode_bulk() 72 video->payload_size += ret; uvc_video_encode_bulk() 77 /* Process video data. */ uvc_video_encode_bulk() 78 len = min((int)(video->max_payload_size - video->payload_size), len); uvc_video_encode_bulk() 79 ret = uvc_video_encode_data(video, buf, mem, len); uvc_video_encode_bulk() 81 video->payload_size += ret; uvc_video_encode_bulk() 84 req->length = video->req_size - len; uvc_video_encode_bulk() 85 req->zero = video->payload_size == video->max_payload_size; uvc_video_encode_bulk() 87 if (buf->bytesused == video->queue.buf_used) { uvc_video_encode_bulk() 88 video->queue.buf_used = 0; uvc_video_encode_bulk() 90 uvcg_queue_next_buffer(&video->queue, buf); uvc_video_encode_bulk() 91 video->fid ^= UVC_STREAM_FID; uvc_video_encode_bulk() 93 video->payload_size = 0; uvc_video_encode_bulk() 96 if (video->payload_size == video->max_payload_size || uvc_video_encode_bulk() 97 buf->bytesused == video->queue.buf_used) uvc_video_encode_bulk() 98 video->payload_size = 0; uvc_video_encode_bulk() 102 uvc_video_encode_isoc(struct usb_request *req, struct uvc_video *video, uvc_video_encode_isoc() argument 106 int len = video->req_size; uvc_video_encode_isoc() 110 ret = uvc_video_encode_header(video, buf, mem, len); uvc_video_encode_isoc() 114 /* Process video data. */ uvc_video_encode_isoc() 115 ret = uvc_video_encode_data(video, buf, mem, len); uvc_video_encode_isoc() 118 req->length = video->req_size - len; uvc_video_encode_isoc() 120 if (buf->bytesused == video->queue.buf_used) { uvc_video_encode_isoc() 121 video->queue.buf_used = 0; uvc_video_encode_isoc() 123 uvcg_queue_next_buffer(&video->queue, buf); uvc_video_encode_isoc() 124 video->fid ^= UVC_STREAM_FID; uvc_video_encode_isoc() 137 * if a video buffer is available. 140 * the handler will start streaming if a video buffer is available and if 141 * video is not currently streaming. 143 * - V4L2 buffer queueing: the driver will start streaming if video is not 149 * The "video currently streaming" condition can't be detected by the irqqueue 160 * handler will restart the video stream. 165 struct uvc_video *video = req->context; uvc_video_complete() local 166 struct uvc_video_queue *queue = &video->queue; uvc_video_complete() 187 spin_lock_irqsave(&video->queue.irqlock, flags); uvc_video_complete() 188 buf = uvcg_queue_head(&video->queue); uvc_video_complete() 190 spin_unlock_irqrestore(&video->queue.irqlock, flags); uvc_video_complete() 194 video->encode(req, video, buf); uvc_video_complete() 199 spin_unlock_irqrestore(&video->queue.irqlock, flags); uvc_video_complete() 203 spin_unlock_irqrestore(&video->queue.irqlock, flags); uvc_video_complete() 208 spin_lock_irqsave(&video->req_lock, flags); uvc_video_complete() 209 list_add_tail(&req->list, &video->req_free); uvc_video_complete() 210 spin_unlock_irqrestore(&video->req_lock, flags); uvc_video_complete() 214 uvc_video_free_requests(struct uvc_video *video) uvc_video_free_requests() argument 219 if (video->req[i]) { uvc_video_free_requests() 220 usb_ep_free_request(video->ep, video->req[i]); uvc_video_free_requests() 221 video->req[i] = NULL; uvc_video_free_requests() 224 if (video->req_buffer[i]) { uvc_video_free_requests() 225 kfree(video->req_buffer[i]); uvc_video_free_requests() 226 video->req_buffer[i] = NULL; uvc_video_free_requests() 230 INIT_LIST_HEAD(&video->req_free); uvc_video_free_requests() 231 video->req_size = 0; uvc_video_free_requests() 236 uvc_video_alloc_requests(struct uvc_video *video) uvc_video_alloc_requests() argument 242 BUG_ON(video->req_size); uvc_video_alloc_requests() 244 req_size = video->ep->maxpacket uvc_video_alloc_requests() 245 * max_t(unsigned int, video->ep->maxburst, 1) uvc_video_alloc_requests() 246 * (video->ep->mult + 1); uvc_video_alloc_requests() 249 video->req_buffer[i] = kmalloc(req_size, GFP_KERNEL); uvc_video_alloc_requests() 250 if (video->req_buffer[i] == NULL) uvc_video_alloc_requests() 253 video->req[i] = usb_ep_alloc_request(video->ep, GFP_KERNEL); uvc_video_alloc_requests() 254 if (video->req[i] == NULL) uvc_video_alloc_requests() 257 video->req[i]->buf = video->req_buffer[i]; uvc_video_alloc_requests() 258 video->req[i]->length = 0; uvc_video_alloc_requests() 259 video->req[i]->complete = uvc_video_complete; uvc_video_alloc_requests() 260 video->req[i]->context = video; uvc_video_alloc_requests() 262 list_add_tail(&video->req[i]->list, &video->req_free); uvc_video_alloc_requests() 265 video->req_size = req_size; uvc_video_alloc_requests() 270 uvc_video_free_requests(video); uvc_video_alloc_requests() 279 * uvcg_video_pump - Pump video data into the USB requests 282 * video data from the queued buffers. 284 int uvcg_video_pump(struct uvc_video *video) uvcg_video_pump() argument 286 struct uvc_video_queue *queue = &video->queue; uvcg_video_pump() 300 spin_lock_irqsave(&video->req_lock, flags); uvcg_video_pump() 301 if (list_empty(&video->req_free)) { uvcg_video_pump() 302 spin_unlock_irqrestore(&video->req_lock, flags); uvcg_video_pump() 305 req = list_first_entry(&video->req_free, struct usb_request, uvcg_video_pump() 308 spin_unlock_irqrestore(&video->req_lock, flags); uvcg_video_pump() 310 /* Retrieve the first available video buffer and fill the uvcg_video_pump() 311 * request, protected by the video queue irqlock. uvcg_video_pump() 320 video->encode(req, video, buf); uvcg_video_pump() 323 ret = usb_ep_queue(video->ep, req, GFP_ATOMIC); uvcg_video_pump() 326 usb_ep_set_halt(video->ep); uvcg_video_pump() 334 spin_lock_irqsave(&video->req_lock, flags); uvcg_video_pump() 335 list_add_tail(&req->list, &video->req_free); uvcg_video_pump() 336 spin_unlock_irqrestore(&video->req_lock, flags); uvcg_video_pump() 341 * Enable or disable the video stream. 343 int uvcg_video_enable(struct uvc_video *video, int enable) uvcg_video_enable() argument 348 if (video->ep == NULL) { uvcg_video_enable() 356 if (video->req[i]) uvcg_video_enable() 357 usb_ep_dequeue(video->ep, video->req[i]); uvcg_video_enable() 359 uvc_video_free_requests(video); uvcg_video_enable() 360 uvcg_queue_enable(&video->queue, 0); uvcg_video_enable() 364 if ((ret = uvcg_queue_enable(&video->queue, 1)) < 0) uvcg_video_enable() 367 if ((ret = uvc_video_alloc_requests(video)) < 0) uvcg_video_enable() 370 if (video->max_payload_size) { uvcg_video_enable() 371 video->encode = uvc_video_encode_bulk; uvcg_video_enable() 372 video->payload_size = 0; uvcg_video_enable() 374 video->encode = uvc_video_encode_isoc; uvcg_video_enable() 376 return uvcg_video_pump(video); uvcg_video_enable() 380 * Initialize the UVC video stream. 382 int uvcg_video_init(struct uvc_video *video) uvcg_video_init() argument 384 INIT_LIST_HEAD(&video->req_free); uvcg_video_init() 385 spin_lock_init(&video->req_lock); uvcg_video_init() 387 video->fcc = V4L2_PIX_FMT_YUYV; uvcg_video_init() 388 video->bpp = 16; uvcg_video_init() 389 video->width = 320; uvcg_video_init() 390 video->height = 240; uvcg_video_init() 391 video->imagesize = 320 * 240 * 2; uvcg_video_init() 393 /* Initialize the video buffers queue. */ uvcg_video_init() 394 uvcg_queue_init(&video->queue, V4L2_BUF_TYPE_VIDEO_OUTPUT, uvcg_video_init() 395 &video->mutex); uvcg_video_init()
|
H A D | uvc_v4l2.c | 90 struct uvc_video *video = &uvc->video; uvc_v4l2_get_format() local 92 fmt->fmt.pix.pixelformat = video->fcc; uvc_v4l2_get_format() 93 fmt->fmt.pix.width = video->width; uvc_v4l2_get_format() 94 fmt->fmt.pix.height = video->height; uvc_v4l2_get_format() 96 fmt->fmt.pix.bytesperline = video->bpp * video->width / 8; uvc_v4l2_get_format() 97 fmt->fmt.pix.sizeimage = video->imagesize; uvc_v4l2_get_format() 109 struct uvc_video *video = &uvc->video; uvc_v4l2_set_format() local 130 video->fcc = format->fcc; uvc_v4l2_set_format() 131 video->bpp = format->bpp; uvc_v4l2_set_format() 132 video->width = fmt->fmt.pix.width; uvc_v4l2_set_format() 133 video->height = fmt->fmt.pix.height; uvc_v4l2_set_format() 134 video->imagesize = imagesize; uvc_v4l2_set_format() 150 struct uvc_video *video = &uvc->video; uvc_v4l2_reqbufs() local 152 if (b->type != video->queue.queue.type) uvc_v4l2_reqbufs() 155 return uvcg_alloc_buffers(&video->queue, b); uvc_v4l2_reqbufs() 163 struct uvc_video *video = &uvc->video; uvc_v4l2_querybuf() local 165 return uvcg_query_buffer(&video->queue, b); uvc_v4l2_querybuf() 173 struct uvc_video *video = &uvc->video; uvc_v4l2_qbuf() local 176 ret = uvcg_queue_buffer(&video->queue, b); uvc_v4l2_qbuf() 180 return uvcg_video_pump(video); uvc_v4l2_qbuf() 188 struct uvc_video *video = &uvc->video; uvc_v4l2_dqbuf() local 190 return uvcg_dequeue_buffer(&video->queue, b, file->f_flags & O_NONBLOCK); uvc_v4l2_dqbuf() 198 struct uvc_video *video = &uvc->video; uvc_v4l2_streamon() local 201 if (type != video->queue.queue.type) uvc_v4l2_streamon() 204 /* Enable UVC video. */ uvc_v4l2_streamon() 205 ret = uvcg_video_enable(video, 1); uvc_v4l2_streamon() 211 * userspace is ready to provide video frames. uvc_v4l2_streamon() 224 struct uvc_video *video = &uvc->video; uvc_v4l2_streamoff() local 226 if (type != video->queue.queue.type) uvc_v4l2_streamoff() 229 return uvcg_video_enable(video, 0); uvc_v4l2_streamoff() 298 handle->device = &uvc->video; uvc_v4l2_open() 311 struct uvc_video *video = handle->device; uvc_v4l2_release() local 315 mutex_lock(&video->mutex); uvc_v4l2_release() 316 uvcg_video_enable(video, 0); uvc_v4l2_release() 317 uvcg_free_buffers(&video->queue); uvc_v4l2_release() 318 mutex_unlock(&video->mutex); uvc_v4l2_release() 334 return uvcg_queue_mmap(&uvc->video.queue, vma); uvc_v4l2_mmap() 343 return uvcg_queue_poll(&uvc->video.queue, file, wait); uvc_v4l2_poll() 354 return uvcg_queue_get_unmapped_area(&uvc->video.queue, pgoff); uvcg_v4l2_get_unmapped_area()
|
H A D | uvc_video.h | 18 int uvcg_video_pump(struct uvc_video *video); 20 int uvcg_video_enable(struct uvc_video *video, int enable); 22 int uvcg_video_init(struct uvc_video *video);
|
H A D | f_uvc.c | 23 #include <linux/usb/video.h> 283 return uvc->video.ep->driver_data ? 1 : 0; uvc_function_get_alt() 339 if (uvc->video.ep) { uvc_function_set_alt() 340 usb_ep_disable(uvc->video.ep); uvc_function_set_alt() 341 uvc->video.ep->driver_data = NULL; uvc_function_set_alt() 355 if (!uvc->video.ep) uvc_function_set_alt() 358 if (uvc->video.ep->driver_data) { uvc_function_set_alt() 360 usb_ep_disable(uvc->video.ep); uvc_function_set_alt() 361 uvc->video.ep->driver_data = NULL; uvc_function_set_alt() 365 &(uvc->func), uvc->video.ep); uvc_function_set_alt() 368 usb_ep_enable(uvc->video.ep); uvc_function_set_alt() 369 uvc->video.ep->driver_data = uvc; uvc_function_set_alt() 395 if (uvc->video.ep->driver_data) { uvc_function_disable() 396 usb_ep_disable(uvc->video.ep); uvc_function_disable() 397 uvc->video.ep->driver_data = NULL; uvc_function_disable() 445 uvc->vdev.lock = &uvc->video.mutex; uvc_register_video() 585 uvc_streaming_header->bEndpointAddress = uvc->video.ep->address; uvc_copy_descriptors() 668 uvc->video.ep = ep; uvc_function_bind() 671 uvc_fs_streaming_ep.bEndpointAddress = uvc->video.ep->address; uvc_function_bind() 672 uvc_hs_streaming_ep.bEndpointAddress = uvc->video.ep->address; uvc_function_bind() 673 uvc_ss_streaming_ep.bEndpointAddress = uvc->video.ep->address; uvc_function_bind() 747 /* Initialise video. */ uvc_function_bind() 748 ret = uvcg_video_init(&uvc->video); uvc_function_bind() 755 printk(KERN_INFO "Unable to register video device\n"); uvc_function_bind() 766 if (uvc->video.ep) uvc_function_bind() 767 uvc->video.ep->driver_data = NULL; uvc_function_bind() 896 uvc->video.ep->driver_data = NULL; uvc_unbind() 914 mutex_init(&uvc->video.mutex); uvc_alloc()
|
H A D | uvc_queue.c | 49 struct uvc_video *video = container_of(queue, struct uvc_video, queue); uvc_queue_setup() local 56 sizes[0] = video->imagesize; uvc_queue_setup() 141 * Free the video buffers. 149 * Allocate the video buffers. 183 * Dequeue a video buffer. If nonblocking is false, block until a buffer is 193 * Poll the video queue. 195 * This function implements video queue polling and is intended to be used by 223 * Cancel the video buffers queue. 259 * Enable or disable the video buffers queue. 261 * The queue must be enabled before starting video acquisition and must be 262 * disabled after stopping it. This ensures that the video buffers queue 266 * Enabling the video queue initializes parameters (such as sequence number, 269 * Disabling the video queue cancels the queue and removes all buffers from
|
H A D | f_uvc.h | 17 #include <linux/usb/video.h>
|
H A D | uvc.h | 127 void (*encode) (struct usb_request *req, struct uvc_video *video, 151 struct uvc_video video; member in struct:uvc_device
|
/linux-4.1.27/drivers/media/usb/usbtv/ |
H A D | Makefile | 2 usbtv-video.o \
|
/linux-4.1.27/drivers/media/pci/cx25821/ |
H A D | Makefile | 2 cx25821-gpio.o cx25821-medusa-video.o \ 3 cx25821-video.o
|
/linux-4.1.27/drivers/media/pci/tw68/ |
H A D | Makefile | 1 tw68-objs := tw68-core.o tw68-video.o tw68-risc.o
|
H A D | tw68.h | 87 /* video decoder */ 95 /* video scaler */ 135 /* buffer for one video/vbi/ts frame */ 176 /* video capture */ 186 const struct tw68_tvnorm *tvnorm; /* video */ 216 /* tw68-video.c */
|
/linux-4.1.27/drivers/staging/media/omap4iss/ |
H A D | iss_video.c | 2 * TI OMAP4 ISS V4L2 Driver - Generic video node 108 * @video: ISS video instance 114 * per line value in the pix format and information from the video instance. 118 static unsigned int iss_video_mbus_to_pix(const struct iss_video *video, iss_video_mbus_to_pix() argument 144 if (video->bpl_max) iss_video_mbus_to_pix() 145 bpl = clamp(bpl, min_bpl, video->bpl_max); iss_video_mbus_to_pix() 149 if (!video->bpl_zero_padding || bpl != min_bpl) iss_video_mbus_to_pix() 150 bpl = ALIGN(bpl, video->bpl_alignment); iss_video_mbus_to_pix() 188 iss_video_remote_subdev(struct iss_video *video, u32 *pad) iss_video_remote_subdev() argument 192 remote = media_entity_remote_pad(&video->pad); iss_video_remote_subdev() 204 /* Return a pointer to the ISS video instance at the far end of the pipeline. */ 206 iss_video_far_end(struct iss_video *video) iss_video_far_end() argument 209 struct media_entity *entity = &video->video.entity; iss_video_far_end() 217 if (entity == &video->video.entity) iss_video_far_end() 224 if (far_end->type != video->type) iss_video_far_end() 235 __iss_video_get_format(struct iss_video *video, __iss_video_get_format() argument 243 subdev = iss_video_remote_subdev(video, &pad); __iss_video_get_format() 251 mutex_lock(&video->mutex); __iss_video_get_format() 253 mutex_unlock(&video->mutex); __iss_video_get_format() 263 iss_video_check_format(struct iss_video *video, struct iss_video_fh *vfh) iss_video_check_format() argument 269 ret = __iss_video_get_format(video, &format); iss_video_check_format() 274 ret = iss_video_mbus_to_pix(video, &format, &pixfmt); iss_video_check_format() 296 struct iss_video *video = vfh->video; iss_video_queue_setup() local 305 alloc_ctxs[0] = video->alloc_ctx; iss_video_queue_setup() 307 *count = min(*count, video->capture_mem / PAGE_ALIGN(sizes[0])); iss_video_queue_setup() 324 struct iss_video *video = vfh->video; iss_video_buf_prepare() local 333 dev_dbg(video->iss->dev, iss_video_buf_prepare() 346 struct iss_video *video = vfh->video; iss_video_buf_queue() local 348 struct iss_pipeline *pipe = to_iss_pipeline(&video->video.entity); iss_video_buf_queue() 352 spin_lock_irqsave(&video->qlock, flags); iss_video_buf_queue() 355 * if the video node has registered an error. vb2 will perform the same iss_video_buf_queue() 359 if (unlikely(video->error)) { iss_video_buf_queue() 361 spin_unlock_irqrestore(&video->qlock, flags); iss_video_buf_queue() 365 empty = list_empty(&video->dmaqueue); iss_video_buf_queue() 366 list_add_tail(&buffer->list, &video->dmaqueue); iss_video_buf_queue() 368 spin_unlock_irqrestore(&video->qlock, flags); iss_video_buf_queue() 374 if (video->type == V4L2_BUF_TYPE_VIDEO_CAPTURE) iss_video_buf_queue() 381 video->ops->queue(video, buffer); iss_video_buf_queue() 382 video->dmaqueue_flags |= ISS_VIDEO_DMAQUEUE_QUEUED; iss_video_buf_queue() 404 * @video: ISS video object 406 * Remove the current video buffer from the DMA queue and fill its timestamp, 409 * For capture video nodes, the buffer state is set to VB2_BUF_STATE_DONE if no 417 struct iss_buffer *omap4iss_video_buffer_next(struct iss_video *video) omap4iss_video_buffer_next() argument 419 struct iss_pipeline *pipe = to_iss_pipeline(&video->video.entity); omap4iss_video_buffer_next() 425 spin_lock_irqsave(&video->qlock, flags); omap4iss_video_buffer_next() 426 if (WARN_ON(list_empty(&video->dmaqueue))) { omap4iss_video_buffer_next() 427 spin_unlock_irqrestore(&video->qlock, flags); omap4iss_video_buffer_next() 431 buf = list_first_entry(&video->dmaqueue, struct iss_buffer, omap4iss_video_buffer_next() 434 spin_unlock_irqrestore(&video->qlock, flags); omap4iss_video_buffer_next() 440 /* Do frame number propagation only if this is the output video node. omap4iss_video_buffer_next() 446 if (video == pipe->output && !pipe->do_propagation) omap4iss_video_buffer_next() 456 spin_lock_irqsave(&video->qlock, flags); omap4iss_video_buffer_next() 457 if (list_empty(&video->dmaqueue)) { omap4iss_video_buffer_next() 458 spin_unlock_irqrestore(&video->qlock, flags); omap4iss_video_buffer_next() 459 if (video->type == V4L2_BUF_TYPE_VIDEO_CAPTURE) omap4iss_video_buffer_next() 468 if (video->pipe.stream_state == ISS_PIPELINE_STREAM_CONTINUOUS) omap4iss_video_buffer_next() 469 video->dmaqueue_flags |= ISS_VIDEO_DMAQUEUE_UNDERRUN; omap4iss_video_buffer_next() 474 if (video->type == V4L2_BUF_TYPE_VIDEO_CAPTURE && pipe->input != NULL) { omap4iss_video_buffer_next() 480 buf = list_first_entry(&video->dmaqueue, struct iss_buffer, omap4iss_video_buffer_next() 482 spin_unlock_irqrestore(&video->qlock, flags); omap4iss_video_buffer_next() 488 * omap4iss_video_cancel_stream - Cancel stream on a video node 489 * @video: ISS video object 491 * Cancelling a stream mark all buffers on the video node as erroneous and makes 494 void omap4iss_video_cancel_stream(struct iss_video *video) omap4iss_video_cancel_stream() argument 498 spin_lock_irqsave(&video->qlock, flags); omap4iss_video_cancel_stream() 500 while (!list_empty(&video->dmaqueue)) { omap4iss_video_cancel_stream() 503 buf = list_first_entry(&video->dmaqueue, struct iss_buffer, omap4iss_video_cancel_stream() 509 vb2_queue_error(video->queue); omap4iss_video_cancel_stream() 510 video->error = true; omap4iss_video_cancel_stream() 512 spin_unlock_irqrestore(&video->qlock, flags); omap4iss_video_cancel_stream() 522 struct iss_video *video = video_drvdata(file); iss_video_querycap() local 525 strlcpy(cap->card, video->video.name, sizeof(cap->card)); iss_video_querycap() 528 if (video->type == V4L2_BUF_TYPE_VIDEO_CAPTURE) iss_video_querycap() 542 struct iss_video *video = video_drvdata(file); iss_video_enum_format() local 548 if (f->type != video->type) iss_video_enum_format() 551 ret = __iss_video_get_format(video, &format); iss_video_enum_format() 578 struct iss_video *video = video_drvdata(file); iss_video_get_format() local 580 if (format->type != video->type) iss_video_get_format() 583 mutex_lock(&video->mutex); iss_video_get_format() 585 mutex_unlock(&video->mutex); iss_video_get_format() 594 struct iss_video *video = video_drvdata(file); iss_video_set_format() local 597 if (format->type != video->type) iss_video_set_format() 600 mutex_lock(&video->mutex); iss_video_set_format() 606 iss_video_mbus_to_pix(video, &fmt, &format->fmt.pix); iss_video_set_format() 610 mutex_unlock(&video->mutex); iss_video_set_format() 617 struct iss_video *video = video_drvdata(file); iss_video_try_format() local 623 if (format->type != video->type) iss_video_try_format() 626 subdev = iss_video_remote_subdev(video, &pad); iss_video_try_format() 638 iss_video_mbus_to_pix(video, &fmt.format, &format->fmt.pix); iss_video_try_format() 645 struct iss_video *video = video_drvdata(file); iss_video_cropcap() local 649 subdev = iss_video_remote_subdev(video, NULL); iss_video_cropcap() 653 mutex_lock(&video->mutex); iss_video_cropcap() 654 ret = v4l2_subdev_call(subdev, video, cropcap, cropcap); iss_video_cropcap() 655 mutex_unlock(&video->mutex); iss_video_cropcap() 663 struct iss_video *video = video_drvdata(file); iss_video_get_crop() local 669 subdev = iss_video_remote_subdev(video, &pad); iss_video_get_crop() 676 ret = v4l2_subdev_call(subdev, video, g_crop, crop); iss_video_get_crop() 697 struct iss_video *video = video_drvdata(file); iss_video_set_crop() local 701 subdev = iss_video_remote_subdev(video, NULL); iss_video_set_crop() 705 mutex_lock(&video->mutex); iss_video_set_crop() 706 ret = v4l2_subdev_call(subdev, video, s_crop, crop); iss_video_set_crop() 707 mutex_unlock(&video->mutex); iss_video_set_crop() 716 struct iss_video *video = video_drvdata(file); iss_video_get_param() local 718 if (video->type != V4L2_BUF_TYPE_VIDEO_OUTPUT || iss_video_get_param() 719 video->type != a->type) iss_video_get_param() 734 struct iss_video *video = video_drvdata(file); iss_video_set_param() local 736 if (video->type != V4L2_BUF_TYPE_VIDEO_OUTPUT || iss_video_set_param() 737 video->type != a->type) iss_video_set_param() 792 * either a sensor or a video node. The output is always a video node. 794 * As every pipeline has an output video node, the ISS video objects at the 823 struct iss_video *video = video_drvdata(file); iss_video_streamon() local 832 if (type != video->type) iss_video_streamon() 835 mutex_lock(&video->stream_lock); iss_video_streamon() 840 pipe = video->video.entity.pipe iss_video_streamon() 841 ? to_iss_pipeline(&video->video.entity) : &video->pipe; iss_video_streamon() 847 if (video->iss->pdata->set_constraints) iss_video_streamon() 848 video->iss->pdata->set_constraints(video->iss, true); iss_video_streamon() 850 ret = media_entity_pipeline_start(&video->video.entity, &pipe->pipe); iss_video_streamon() 854 entity = &video->video.entity; iss_video_streamon() 862 ret = iss_video_check_format(video, vfh); iss_video_streamon() 866 video->bpl_padding = ret; iss_video_streamon() 867 video->bpl_value = vfh->format.fmt.pix.bytesperline; iss_video_streamon() 869 /* Find the ISS video node connected at the far end of the pipeline and iss_video_streamon() 872 far_end = iss_video_far_end(video); iss_video_streamon() 874 if (video->type == V4L2_BUF_TYPE_VIDEO_CAPTURE) { iss_video_streamon() 877 pipe->output = video; iss_video_streamon() 885 pipe->input = video; iss_video_streamon() 898 if (video->type == V4L2_BUF_TYPE_VIDEO_OUTPUT) iss_video_streamon() 901 video->queue = &vfh->queue; iss_video_streamon() 902 INIT_LIST_HEAD(&video->dmaqueue); iss_video_streamon() 903 video->error = false; iss_video_streamon() 921 spin_lock_irqsave(&video->qlock, flags); iss_video_streamon() 922 if (list_empty(&video->dmaqueue)) iss_video_streamon() 923 video->dmaqueue_flags |= ISS_VIDEO_DMAQUEUE_UNDERRUN; iss_video_streamon() 924 spin_unlock_irqrestore(&video->qlock, flags); iss_video_streamon() 927 mutex_unlock(&video->stream_lock); iss_video_streamon() 933 media_entity_pipeline_stop(&video->video.entity); iss_video_streamon() 935 if (video->iss->pdata->set_constraints) iss_video_streamon() 936 video->iss->pdata->set_constraints(video->iss, false); iss_video_streamon() 937 video->queue = NULL; iss_video_streamon() 939 mutex_unlock(&video->stream_lock); iss_video_streamon() 947 struct iss_video *video = video_drvdata(file); iss_video_streamoff() local 948 struct iss_pipeline *pipe = to_iss_pipeline(&video->video.entity); iss_video_streamoff() 952 if (type != video->type) iss_video_streamoff() 955 mutex_lock(&video->stream_lock); iss_video_streamoff() 961 if (video->type == V4L2_BUF_TYPE_VIDEO_CAPTURE) iss_video_streamoff() 975 video->queue = NULL; iss_video_streamoff() 977 if (video->iss->pdata->set_constraints) iss_video_streamoff() 978 video->iss->pdata->set_constraints(video->iss, false); iss_video_streamoff() 979 media_entity_pipeline_stop(&video->video.entity); iss_video_streamoff() 982 mutex_unlock(&video->stream_lock); iss_video_streamoff() 1044 struct iss_video *video = video_drvdata(file); iss_video_open() local 1053 v4l2_fh_init(&handle->vfh, &video->video); iss_video_open() 1057 if (omap4iss_get(video->iss) == NULL) { iss_video_open() 1062 ret = omap4iss_pipeline_pm_use(&video->video.entity, 1); iss_video_open() 1064 omap4iss_put(video->iss); iss_video_open() 1068 video->alloc_ctx = vb2_dma_contig_init_ctx(video->iss->dev); iss_video_open() 1069 if (IS_ERR(video->alloc_ctx)) { iss_video_open() 1070 ret = PTR_ERR(video->alloc_ctx); iss_video_open() 1071 omap4iss_put(video->iss); iss_video_open() 1077 q->type = video->type; iss_video_open() 1087 omap4iss_put(video->iss); iss_video_open() 1092 handle->format.type = video->type; iss_video_open() 1095 handle->video = video; iss_video_open() 1109 struct iss_video *video = video_drvdata(file); iss_video_release() local 1114 iss_video_streamoff(file, vfh, video->type); iss_video_release() 1116 omap4iss_pipeline_pm_use(&video->video.entity, 0); iss_video_release() 1126 omap4iss_put(video->iss); iss_video_release() 1155 * ISS video core 1161 int omap4iss_video_init(struct iss_video *video, const char *name) omap4iss_video_init() argument 1166 switch (video->type) { omap4iss_video_init() 1169 video->pad.flags = MEDIA_PAD_FL_SINK; omap4iss_video_init() 1173 video->pad.flags = MEDIA_PAD_FL_SOURCE; omap4iss_video_init() 1180 ret = media_entity_init(&video->video.entity, 1, &video->pad, 0); omap4iss_video_init() 1184 spin_lock_init(&video->qlock); omap4iss_video_init() 1185 mutex_init(&video->mutex); omap4iss_video_init() 1186 atomic_set(&video->active, 0); omap4iss_video_init() 1188 spin_lock_init(&video->pipe.lock); omap4iss_video_init() 1189 mutex_init(&video->stream_lock); omap4iss_video_init() 1191 /* Initialize the video device. */ omap4iss_video_init() 1192 if (video->ops == NULL) omap4iss_video_init() 1193 video->ops = &iss_video_dummy_ops; omap4iss_video_init() 1195 video->video.fops = &iss_video_fops; omap4iss_video_init() 1196 snprintf(video->video.name, sizeof(video->video.name), omap4iss_video_init() 1198 video->video.vfl_type = VFL_TYPE_GRABBER; omap4iss_video_init() 1199 video->video.release = video_device_release_empty; omap4iss_video_init() 1200 video->video.ioctl_ops = &iss_video_ioctl_ops; omap4iss_video_init() 1201 video->pipe.stream_state = ISS_PIPELINE_STREAM_STOPPED; omap4iss_video_init() 1203 video_set_drvdata(&video->video, video); omap4iss_video_init() 1208 void omap4iss_video_cleanup(struct iss_video *video) omap4iss_video_cleanup() argument 1210 media_entity_cleanup(&video->video.entity); omap4iss_video_cleanup() 1211 mutex_destroy(&video->stream_lock); omap4iss_video_cleanup() 1212 mutex_destroy(&video->mutex); omap4iss_video_cleanup() 1215 int omap4iss_video_register(struct iss_video *video, struct v4l2_device *vdev) omap4iss_video_register() argument 1219 video->video.v4l2_dev = vdev; omap4iss_video_register() 1221 ret = video_register_device(&video->video, VFL_TYPE_GRABBER, -1); omap4iss_video_register() 1223 dev_err(video->iss->dev, omap4iss_video_register() 1224 "could not register video device (%d)\n", ret); omap4iss_video_register() 1229 void omap4iss_video_unregister(struct iss_video *video) omap4iss_video_unregister() argument 1231 video_unregister_device(&video->video); omap4iss_video_unregister()
|
H A D | iss_video.h | 2 * TI OMAP4 ISS V4L2 Driver - Generic video node 62 /* The stream has been started on the input video node. */ 64 /* The stream has been started on the output video node. */ 66 /* At least one buffer is queued on the input video node. */ 68 /* At least one buffer is queued on the output video node. */ 115 * @buffer: ISS video buffer 134 #define iss_video_dmaqueue_flags_clr(video) \ 135 ({ (video)->dmaqueue_flags = 0; }) 138 * struct iss_video_operations - ISS video operations 143 int (*queue)(struct iss_video *video, struct iss_buffer *buffer); 147 struct video_device video; member in struct:iss_video 178 #define to_iss_video(vdev) container_of(vdev, struct iss_video, video) 182 struct iss_video *video; member in struct:iss_video_fh 192 int omap4iss_video_init(struct iss_video *video, const char *name); 193 void omap4iss_video_cleanup(struct iss_video *video); 194 int omap4iss_video_register(struct iss_video *video, 196 void omap4iss_video_unregister(struct iss_video *video); 197 struct iss_buffer *omap4iss_video_buffer_next(struct iss_video *video); 198 void omap4iss_video_cancel_stream(struct iss_video *video); 199 struct media_pad *omap4iss_video_remote_pad(struct iss_video *video);
|
H A D | iss_resizer.h | 37 * @formats: Active video formats 40 * @video_out: Output video node
|
H A D | iss_ipipeif.h | 39 * @formats: Active video formats 42 * @video_out: Output video node
|
H A D | iss.c | 369 * one open video device node. 372 * For entities corresponding to video device nodes the use_count field stores 374 * use_count field stores the total number of users of all video device nodes 378 * close() handlers of video device nodes. It increments or decrements the use 390 * Return the total number of users of all video device nodes in the pipeline. 568 * Walk the entities chain starting at the pipeline output video node and stop 586 entity = &pipe->output->video.entity; iss_pipeline_disable() 602 ret = v4l2_subdev_call(subdev, video, s_stream, 0); iss_pipeline_disable() 623 * Walk the entities chain starting at the pipeline output video node and start 626 * Return 0 if successful, or the return value of the failed video::s_stream 654 entity = &pipe->output->video.entity; iss_pipeline_enable() 668 ret = v4l2_subdev_call(subdev, video, s_stream, mode); iss_pipeline_enable() 691 * Return 0 if successful, or the return value of the failed video::s_stream 715 * Cancelling a stream mark all buffers on all video nodes in the pipeline as 730 * video node 733 * Returns 1 if the entity has an enabled link to the output video node or 0 817 struct iss_video *video = pipe->output; omap4iss_module_sync_idle() local 844 spin_lock_irqsave(&video->qlock, flags); omap4iss_module_sync_idle() 845 if (video->dmaqueue_flags & ISS_VIDEO_DMAQUEUE_UNDERRUN) { omap4iss_module_sync_idle() 846 spin_unlock_irqrestore(&video->qlock, flags); omap4iss_module_sync_idle() 851 spin_unlock_irqrestore(&video->qlock, flags); omap4iss_module_sync_idle()
|
H A D | iss_ipipeif.c | 261 * ISP video operations 264 static int ipipeif_video_queue(struct iss_video *video, ipipeif_video_queue() argument 267 struct iss_ipipeif_device *ipipeif = container_of(video, ipipeif_video_queue() 281 if (video->dmaqueue_flags & ISS_VIDEO_DMAQUEUE_UNDERRUN) { ipipeif_video_queue() 285 iss_video_dmaqueue_flags_clr(video); ipipeif_video_queue() 373 * ipipeif_try_format - Try video format on a pad 513 * ipipeif_get_format - Retrieve the video format on a pad 536 * ipipeif_set_format - Set the video format on a pad 618 /* V4L2 subdev video operations */ 634 .video = &ipipeif_v4l2_video_ops, 762 /* Connect the IPIPEIF subdev to the video node. */ ipipeif_init_entities() 765 &ipipeif->video_out.video.entity, 0, 0); ipipeif_init_entities() 783 /* Register the subdev and video node. */ omap4iss_ipipeif_register_entities()
|
H A D | iss_resizer.c | 313 * ISS video operations 316 static int resizer_video_queue(struct iss_video *video, resizer_video_queue() argument 319 struct iss_resizer_device *resizer = container_of(video, resizer_video_queue() 333 if (video->dmaqueue_flags & ISS_VIDEO_DMAQUEUE_UNDERRUN) { resizer_video_queue() 335 iss_video_dmaqueue_flags_clr(video); resizer_video_queue() 432 * resizer_try_format - Try video format on a pad 575 * resizer_get_format - Retrieve the video format on a pad 598 * resizer_set_format - Set the video format on a pad 673 /* V4L2 subdev video operations */ 689 .video = &resizer_v4l2_video_ops, 806 /* Connect the RESIZER subdev to the video node. */ resizer_init_entities() 809 &resizer->video_out.video.entity, 0, 0); resizer_init_entities() 827 /* Register the subdev and video node. */ omap4iss_resizer_register_entities()
|
/linux-4.1.27/drivers/staging/media/davinci_vpfe/ |
H A D | vpfe_video.c | 37 (struct vpfe_video_device *video) vpfe_get_input_entity() 39 struct vpfe_device *vpfe_dev = video->vpfe_dev; vpfe_get_input_entity() 51 static int vpfe_update_current_ext_subdev(struct vpfe_video_device *video) vpfe_update_current_ext_subdev() argument 53 struct vpfe_device *vpfe_dev = video->vpfe_dev; vpfe_update_current_ext_subdev() 69 video->current_ext_subdev = &vpfe_cfg->sub_devs[i]; vpfe_update_current_ext_subdev() 81 if (!strcmp(video->current_ext_subdev->module_name, vpfe_update_current_ext_subdev() 83 video->current_ext_subdev->subdev = vpfe_dev->sd[i]; vpfe_update_current_ext_subdev() 88 /* get the subdev which is connected to the output video node */ 90 vpfe_video_remote_subdev(struct vpfe_video_device *video, u32 *pad) vpfe_video_remote_subdev() argument 92 struct media_pad *remote = media_entity_remote_pad(&video->pad); vpfe_video_remote_subdev() 103 __vpfe_video_get_format(struct vpfe_video_device *video, __vpfe_video_get_format() argument 112 subdev = vpfe_video_remote_subdev(video, &pad); __vpfe_video_get_format() 117 remote = media_entity_remote_pad(&video->pad); __vpfe_video_get_format() 124 format->type = video->type; __vpfe_video_get_format() 133 static void vpfe_prepare_pipeline(struct vpfe_video_device *video) vpfe_prepare_pipeline() argument 135 struct media_entity *entity = &video->video_dev.entity; vpfe_prepare_pipeline() 137 struct vpfe_pipeline *pipe = &video->pipe; vpfe_prepare_pipeline() 144 if (video->type == V4L2_BUF_TYPE_VIDEO_OUTPUT) vpfe_prepare_pipeline() 145 pipe->inputs[pipe->input_num++] = video; vpfe_prepare_pipeline() 147 pipe->outputs[pipe->output_num++] = video; vpfe_prepare_pipeline() 152 if (entity == &video->video_dev.entity) vpfe_prepare_pipeline() 166 static int vpfe_update_pipe_state(struct vpfe_video_device *video) vpfe_update_pipe_state() argument 168 struct vpfe_pipeline *pipe = &video->pipe; vpfe_update_pipe_state() 171 vpfe_prepare_pipeline(video); vpfe_update_pipe_state() 173 /* Find out if there is any input video vpfe_update_pipe_state() 178 ret = vpfe_update_current_ext_subdev(video); vpfe_update_pipe_state() 186 video->initialized = 1; vpfe_update_pipe_state() 187 video->skip_frame_count = 1; vpfe_update_pipe_state() 188 video->skip_frame_count_init = 1; vpfe_update_pipe_state() 226 * the fact that the out video node always has the vpfe_video_validate_pipeline() 275 * Walk the entities chain starting at the pipeline output video node and start 278 * Return 0 if successful, or the return value of the failed video::s_stream 302 ret = v4l2_subdev_call(subdev, video, s_stream, 1); vpfe_pipeline_enable() 315 * Walk the entities chain starting at the pipeline output video node and stop 343 ret = v4l2_subdev_call(subdev, video, s_stream, 0); vpfe_pipeline_disable() 360 * Return 0 if successful, or the return value of the failed video::s_stream 372 static int all_videos_stopped(struct vpfe_video_device *video) all_videos_stopped() argument 374 struct vpfe_pipeline *pipe = &video->pipe; all_videos_stopped() 387 * vpfe_open() - open video device 396 struct vpfe_video_device *video = video_drvdata(file); vpfe_open() local 405 v4l2_fh_init(&handle->vfh, &video->video_dev); vpfe_open() 408 mutex_lock(&video->lock); vpfe_open() 410 if (!video->initialized && vpfe_update_pipe_state(video)) { vpfe_open() 411 mutex_unlock(&video->lock); vpfe_open() 415 video->usrs++; vpfe_open() 418 handle->video = video; vpfe_open() 420 mutex_unlock(&video->lock); vpfe_open() 427 vpfe_video_get_next_buffer(struct vpfe_video_device *video) vpfe_video_get_next_buffer() argument 429 video->cur_frm = video->next_frm = vpfe_video_get_next_buffer() 430 list_entry(video->dma_queue.next, vpfe_video_get_next_buffer() 433 list_del(&video->next_frm->list); vpfe_video_get_next_buffer() 434 video->next_frm->vb.state = VB2_BUF_STATE_ACTIVE; vpfe_video_get_next_buffer() 435 return vb2_dma_contig_plane_dma_addr(&video->next_frm->vb, 0); vpfe_video_get_next_buffer() 439 void vpfe_video_schedule_next_buffer(struct vpfe_video_device *video) vpfe_video_schedule_next_buffer() argument 441 struct vpfe_device *vpfe_dev = video->vpfe_dev; vpfe_video_schedule_next_buffer() 444 if (list_empty(&video->dma_queue)) vpfe_video_schedule_next_buffer() 447 video->next_frm = list_entry(video->dma_queue.next, vpfe_video_schedule_next_buffer() 450 if (VPFE_PIPELINE_STREAM_SINGLESHOT == video->pipe.state) vpfe_video_schedule_next_buffer() 451 video->cur_frm = video->next_frm; vpfe_video_schedule_next_buffer() 453 list_del(&video->next_frm->list); vpfe_video_schedule_next_buffer() 454 video->next_frm->vb.state = VB2_BUF_STATE_ACTIVE; vpfe_video_schedule_next_buffer() 455 addr = vb2_dma_contig_plane_dma_addr(&video->next_frm->vb, 0); vpfe_video_schedule_next_buffer() 456 video->ops->queue(vpfe_dev, addr); vpfe_video_schedule_next_buffer() 457 video->state = VPFE_VIDEO_BUFFER_QUEUED; vpfe_video_schedule_next_buffer() 461 void vpfe_video_schedule_bottom_field(struct vpfe_video_device *video) vpfe_video_schedule_bottom_field() argument 463 struct vpfe_device *vpfe_dev = video->vpfe_dev; vpfe_video_schedule_bottom_field() 466 addr = vb2_dma_contig_plane_dma_addr(&video->cur_frm->vb, 0); vpfe_video_schedule_bottom_field() 467 addr += video->field_off; vpfe_video_schedule_bottom_field() 468 video->ops->queue(vpfe_dev, addr); vpfe_video_schedule_bottom_field() 472 void vpfe_video_process_buffer_complete(struct vpfe_video_device *video) vpfe_video_process_buffer_complete() argument 474 struct vpfe_pipeline *pipe = &video->pipe; vpfe_video_process_buffer_complete() 476 do_gettimeofday(&video->cur_frm->vb.v4l2_buf.timestamp); vpfe_video_process_buffer_complete() 477 vb2_buffer_done(&video->cur_frm->vb, VB2_BUF_STATE_DONE); vpfe_video_process_buffer_complete() 479 video->cur_frm = video->next_frm; vpfe_video_process_buffer_complete() 483 static void vpfe_stop_capture(struct vpfe_video_device *video) vpfe_stop_capture() argument 485 struct vpfe_pipeline *pipe = &video->pipe; vpfe_stop_capture() 487 video->started = 0; vpfe_stop_capture() 489 if (video->type == V4L2_BUF_TYPE_VIDEO_OUTPUT) vpfe_stop_capture() 491 if (all_videos_stopped(video)) vpfe_stop_capture() 497 * vpfe_release() - release video device 506 struct vpfe_video_device *video = video_drvdata(file); vpfe_release() local 508 struct vpfe_device *vpfe_dev = video->vpfe_dev; vpfe_release() 514 mutex_lock(&video->lock); vpfe_release() 517 if (video->started) { vpfe_release() 518 vpfe_stop_capture(video); vpfe_release() 523 video->pipe.state = VPFE_PIPELINE_STREAM_STOPPED; vpfe_release() 524 vb2_streamoff(&video->buffer_queue, vpfe_release() 525 video->buffer_queue.type); vpfe_release() 527 video->io_usrs = 0; vpfe_release() 529 vb2_queue_release(&video->buffer_queue); vpfe_release() 530 vb2_dma_contig_cleanup_ctx(video->alloc_ctx); vpfe_release() 533 video->usrs--; vpfe_release() 537 if (!video->usrs) vpfe_release() 538 video->initialized = 0; vpfe_release() 539 mutex_unlock(&video->lock); vpfe_release() 553 struct vpfe_video_device *video = video_drvdata(file); vpfe_mmap() local 554 struct vpfe_device *vpfe_dev = video->vpfe_dev; vpfe_mmap() 557 return vb2_mmap(&video->buffer_queue, vma); vpfe_mmap() 565 struct vpfe_video_device *video = video_drvdata(file); vpfe_poll() local 566 struct vpfe_device *vpfe_dev = video->vpfe_dev; vpfe_poll() 569 if (video->started) vpfe_poll() 570 return vb2_poll(&video->buffer_queue, file, wait); vpfe_poll() 585 * vpfe_querycap() - query capabilities of video device 597 struct vpfe_video_device *video = video_drvdata(file); vpfe_querycap() local 598 struct vpfe_device *vpfe_dev = video->vpfe_dev; vpfe_querycap() 602 if (video->type == V4L2_BUF_TYPE_VIDEO_CAPTURE) vpfe_querycap() 616 * vpfe_g_fmt() - get the format which is active on video device 628 struct vpfe_video_device *video = video_drvdata(file); vpfe_g_fmt() local 629 struct vpfe_device *vpfe_dev = video->vpfe_dev; vpfe_g_fmt() 633 *fmt = video->fmt; vpfe_g_fmt() 651 struct vpfe_video_device *video = video_drvdata(file); vpfe_enum_fmt() local 652 struct vpfe_device *vpfe_dev = video->vpfe_dev; vpfe_enum_fmt() 669 remote = media_entity_remote_pad(&video->pad); vpfe_enum_fmt() 672 "invalid remote pad for video node\n"); vpfe_enum_fmt() 676 subdev = vpfe_video_remote_subdev(video, NULL); vpfe_enum_fmt() 679 "invalid remote subdev for video node\n"); vpfe_enum_fmt() 688 "invalid remote subdev for video node\n"); vpfe_enum_fmt() 701 * vpfe_s_fmt() - set the format on video device 706 * validate and set the format on video device 713 struct vpfe_video_device *video = video_drvdata(file); vpfe_s_fmt() local 714 struct vpfe_device *vpfe_dev = video->vpfe_dev; vpfe_s_fmt() 720 if (video->started) { vpfe_s_fmt() 725 ret = __vpfe_video_get_format(video, &format); vpfe_s_fmt() 729 video->fmt = *fmt; vpfe_s_fmt() 734 * vpfe_try_fmt() - try the format on video device 747 struct vpfe_video_device *video = video_drvdata(file); vpfe_try_fmt() local 748 struct vpfe_device *vpfe_dev = video->vpfe_dev; vpfe_try_fmt() 754 ret = __vpfe_video_get_format(video, &format); vpfe_try_fmt() 776 struct vpfe_video_device *video = video_drvdata(file); vpfe_enum_input() local 777 struct vpfe_ext_subdev_info *sdinfo = video->current_ext_subdev; vpfe_enum_input() 778 struct vpfe_device *vpfe_dev = video->vpfe_dev; vpfe_enum_input() 800 struct vpfe_video_device *video = video_drvdata(file); vpfe_g_input() local 801 struct vpfe_device *vpfe_dev = video->vpfe_dev; vpfe_g_input() 805 *index = video->current_input; vpfe_g_input() 821 struct vpfe_video_device *video = video_drvdata(file); vpfe_s_input() local 822 struct vpfe_device *vpfe_dev = video->vpfe_dev; vpfe_s_input() 833 ret = mutex_lock_interruptible(&video->lock); vpfe_s_input() 840 if (video->started) { vpfe_s_input() 846 sdinfo = video->current_ext_subdev; vpfe_s_input() 864 sdinfo->grp_id, video, vpfe_s_input() 873 /* set standards set by subdev in video device */ vpfe_s_input() 876 video->video_dev.tvnorms |= inps->std; vpfe_s_input() 878 video->current_input = index; vpfe_s_input() 880 mutex_unlock(&video->lock); vpfe_s_input() 897 struct vpfe_video_device *video = video_drvdata(file); vpfe_querystd() local 898 struct vpfe_device *vpfe_dev = video->vpfe_dev; vpfe_querystd() 904 ret = mutex_lock_interruptible(&video->lock); vpfe_querystd() 905 sdinfo = video->current_ext_subdev; vpfe_querystd() 910 video, querystd, std_id); vpfe_querystd() 911 mutex_unlock(&video->lock); vpfe_querystd() 928 struct vpfe_video_device *video = video_drvdata(file); vpfe_s_std() local 929 struct vpfe_device *vpfe_dev = video->vpfe_dev; vpfe_s_std() 936 ret = mutex_lock_interruptible(&video->lock); vpfe_s_std() 939 sdinfo = video->current_ext_subdev; vpfe_s_std() 941 if (video->started) { vpfe_s_std() 947 video, s_std, std_id); vpfe_s_std() 950 video->stdid = V4L2_STD_UNKNOWN; vpfe_s_std() 953 video->stdid = std_id; vpfe_s_std() 955 mutex_unlock(&video->lock); vpfe_s_std() 961 struct vpfe_video_device *video = video_drvdata(file); vpfe_g_std() local 962 struct vpfe_device *vpfe_dev = video->vpfe_dev; vpfe_g_std() 965 *tvnorm = video->stdid; vpfe_g_std() 985 struct vpfe_video_device *video = video_drvdata(file); vpfe_enum_dv_timings() local 986 struct vpfe_device *vpfe_dev = video->vpfe_dev; vpfe_enum_dv_timings() 987 struct v4l2_subdev *subdev = video->current_ext_subdev->subdev; vpfe_enum_dv_timings() 1011 struct vpfe_video_device *video = video_drvdata(file); vpfe_query_dv_timings() local 1012 struct vpfe_device *vpfe_dev = video->vpfe_dev; vpfe_query_dv_timings() 1013 struct v4l2_subdev *subdev = video->current_ext_subdev->subdev; vpfe_query_dv_timings() 1016 return v4l2_subdev_call(subdev, video, query_dv_timings, timings); vpfe_query_dv_timings() 1034 struct vpfe_video_device *video = video_drvdata(file); vpfe_s_dv_timings() local 1035 struct vpfe_device *vpfe_dev = video->vpfe_dev; vpfe_s_dv_timings() 1039 video->stdid = V4L2_STD_UNKNOWN; vpfe_s_dv_timings() 1041 video->current_ext_subdev->grp_id, vpfe_s_dv_timings() 1042 video, s_dv_timings, timings); vpfe_s_dv_timings() 1060 struct vpfe_video_device *video = video_drvdata(file); vpfe_g_dv_timings() local 1061 struct vpfe_device *vpfe_dev = video->vpfe_dev; vpfe_g_dv_timings() 1062 struct v4l2_subdev *subdev = video->current_ext_subdev->subdev; vpfe_g_dv_timings() 1065 return v4l2_subdev_call(subdev, video, g_dv_timings, timings); vpfe_g_dv_timings() 1076 * @nplanes:: contains number of distinct video planes needed to hold a frame 1089 struct vpfe_video_device *video = fh->video; vpfe_buffer_queue_setup() local 1090 struct vpfe_device *vpfe_dev = video->vpfe_dev; vpfe_buffer_queue_setup() 1091 struct vpfe_pipeline *pipe = &video->pipe; vpfe_buffer_queue_setup() 1095 size = video->fmt.fmt.pix.sizeimage; vpfe_buffer_queue_setup() 1107 alloc_ctxs[0] = video->alloc_ctx; vpfe_buffer_queue_setup() 1124 struct vpfe_video_device *video = fh->video; vpfe_buffer_prepare() local 1125 struct vpfe_device *vpfe_dev = video->vpfe_dev; vpfe_buffer_prepare() 1135 vb2_set_plane_payload(vb, 0, video->fmt.fmt.pix.sizeimage); vpfe_buffer_prepare() 1152 struct vpfe_video_device *video = fh->video; vpfe_buffer_queue() local 1153 struct vpfe_device *vpfe_dev = video->vpfe_dev; vpfe_buffer_queue() 1154 struct vpfe_pipeline *pipe = &video->pipe; vpfe_buffer_queue() 1161 spin_lock_irqsave(&video->dma_queue_lock, flags); vpfe_buffer_queue() 1162 empty = list_empty(&video->dma_queue); vpfe_buffer_queue() 1164 list_add_tail(&buf->list, &video->dma_queue); vpfe_buffer_queue() 1165 spin_unlock_irqrestore(&video->dma_queue_lock, flags); vpfe_buffer_queue() 1167 if (empty && video->started && pipe->state == vpfe_buffer_queue() 1169 video->state == VPFE_VIDEO_BUFFER_NOT_QUEUED) { vpfe_buffer_queue() 1170 spin_lock(&video->dma_queue_lock); vpfe_buffer_queue() 1171 addr = vpfe_video_get_next_buffer(video); vpfe_buffer_queue() 1172 video->ops->queue(vpfe_dev, addr); vpfe_buffer_queue() 1174 video->state = VPFE_VIDEO_BUFFER_QUEUED; vpfe_buffer_queue() 1175 spin_unlock(&video->dma_queue_lock); vpfe_buffer_queue() 1185 static int vpfe_start_capture(struct vpfe_video_device *video) vpfe_start_capture() argument 1187 struct vpfe_pipeline *pipe = &video->pipe; vpfe_start_capture() 1190 video->started = 1; vpfe_start_capture() 1200 struct vpfe_video_device *video = fh->video; vpfe_start_streaming() local 1201 struct vpfe_device *vpfe_dev = video->vpfe_dev; vpfe_start_streaming() 1205 ret = mutex_lock_interruptible(&video->lock); vpfe_start_streaming() 1210 video->cur_frm = video->next_frm = vpfe_start_streaming() 1211 list_entry(video->dma_queue.next, struct vpfe_cap_buffer, list); vpfe_start_streaming() 1213 list_del(&video->cur_frm->list); vpfe_start_streaming() 1215 video->cur_frm->vb.state = VB2_BUF_STATE_ACTIVE; vpfe_start_streaming() 1217 video->field_id = 0; vpfe_start_streaming() 1218 addr = vb2_dma_contig_plane_dma_addr(&video->cur_frm->vb, 0); vpfe_start_streaming() 1219 video->ops->queue(vpfe_dev, addr); vpfe_start_streaming() 1220 video->state = VPFE_VIDEO_BUFFER_QUEUED; vpfe_start_streaming() 1222 ret = vpfe_start_capture(video); vpfe_start_streaming() 1226 vb2_buffer_done(&video->cur_frm->vb, VB2_BUF_STATE_QUEUED); vpfe_start_streaming() 1227 list_for_each_entry_safe(buf, tmp, &video->dma_queue, list) { vpfe_start_streaming() 1234 mutex_unlock(&video->lock); vpfe_start_streaming() 1238 mutex_unlock(&video->lock); vpfe_start_streaming() 1240 ret = vb2_streamoff(&video->buffer_queue, video->buffer_queue.type); vpfe_start_streaming() 1257 struct vpfe_video_device *video = fh->video; vpfe_stop_streaming() local 1260 if (video->cur_frm == video->next_frm) { vpfe_stop_streaming() 1261 vb2_buffer_done(&video->cur_frm->vb, VB2_BUF_STATE_ERROR); vpfe_stop_streaming() 1263 if (video->cur_frm != NULL) vpfe_stop_streaming() 1264 vb2_buffer_done(&video->cur_frm->vb, vpfe_stop_streaming() 1266 if (video->next_frm != NULL) vpfe_stop_streaming() 1267 vb2_buffer_done(&video->next_frm->vb, vpfe_stop_streaming() 1271 while (!list_empty(&video->dma_queue)) { vpfe_stop_streaming() 1272 video->next_frm = list_entry(video->dma_queue.next, vpfe_stop_streaming() 1274 list_del(&video->next_frm->list); vpfe_stop_streaming() 1275 vb2_buffer_done(&video->next_frm->vb, VB2_BUF_STATE_ERROR); vpfe_stop_streaming() 1282 struct vpfe_video_device *video = fh->video; vpfe_buf_cleanup() local 1283 struct vpfe_device *vpfe_dev = video->vpfe_dev; vpfe_buf_cleanup() 1309 struct vpfe_video_device *video = video_drvdata(file); vpfe_reqbufs() local 1310 struct vpfe_device *vpfe_dev = video->vpfe_dev; vpfe_reqbufs() 1323 ret = mutex_lock_interruptible(&video->lock); vpfe_reqbufs() 1327 if (video->io_usrs != 0) { vpfe_reqbufs() 1332 video->memory = req_buf->memory; vpfe_reqbufs() 1335 video->alloc_ctx = vb2_dma_contig_init_ctx(vpfe_dev->pdev); vpfe_reqbufs() 1336 if (IS_ERR(video->alloc_ctx)) { vpfe_reqbufs() 1338 return PTR_ERR(video->alloc_ctx); vpfe_reqbufs() 1341 q = &video->buffer_queue; vpfe_reqbufs() 1358 video->io_usrs = 1; vpfe_reqbufs() 1359 INIT_LIST_HEAD(&video->dma_queue); vpfe_reqbufs() 1360 ret = vb2_reqbufs(&video->buffer_queue, req_buf); vpfe_reqbufs() 1363 mutex_unlock(&video->lock); vpfe_reqbufs() 1373 struct vpfe_video_device *video = video_drvdata(file); vpfe_querybuf() local 1374 struct vpfe_device *vpfe_dev = video->vpfe_dev; vpfe_querybuf() 1384 if (video->memory != V4L2_MEMORY_MMAP) { vpfe_querybuf() 1390 return vb2_querybuf(&video->buffer_queue, buf); vpfe_querybuf() 1399 struct vpfe_video_device *video = video_drvdata(file); vpfe_qbuf() local 1400 struct vpfe_device *vpfe_dev = video->vpfe_dev; vpfe_qbuf() 1419 return vb2_qbuf(&video->buffer_queue, p); vpfe_qbuf() 1428 struct vpfe_video_device *video = video_drvdata(file); vpfe_dqbuf() local 1429 struct vpfe_device *vpfe_dev = video->vpfe_dev; vpfe_dqbuf() 1439 return vb2_dqbuf(&video->buffer_queue, vpfe_dqbuf() 1457 struct vpfe_video_device *video = video_drvdata(file); vpfe_streamon() local 1458 struct vpfe_device *vpfe_dev = video->vpfe_dev; vpfe_streamon() 1459 struct vpfe_pipeline *pipe = &video->pipe; vpfe_streamon() 1476 sdinfo = video->current_ext_subdev; vpfe_streamon() 1478 if (list_empty(&video->buffer_queue.queued_list)) { vpfe_streamon() 1489 return vb2_streamon(&video->buffer_queue, buf_type); vpfe_streamon() 1505 struct vpfe_video_device *video = video_drvdata(file); vpfe_streamoff() local 1506 struct vpfe_device *vpfe_dev = video->vpfe_dev; vpfe_streamoff() 1525 if (!video->started) { vpfe_streamoff() 1530 ret = mutex_lock_interruptible(&video->lock); vpfe_streamoff() 1534 vpfe_stop_capture(video); vpfe_streamoff() 1535 ret = vb2_streamoff(&video->buffer_queue, buf_type); vpfe_streamoff() 1536 mutex_unlock(&video->lock); vpfe_streamoff() 1570 /* VPFE video init function */ vpfe_video_init() 1571 int vpfe_video_init(struct vpfe_video_device *video, const char *name) vpfe_video_init() argument 1576 switch (video->type) { vpfe_video_init() 1579 video->pad.flags = MEDIA_PAD_FL_SINK; vpfe_video_init() 1580 video->type = V4L2_BUF_TYPE_VIDEO_CAPTURE; vpfe_video_init() 1585 video->pad.flags = MEDIA_PAD_FL_SOURCE; vpfe_video_init() 1586 video->type = V4L2_BUF_TYPE_VIDEO_OUTPUT; vpfe_video_init() 1592 /* Initialize field of video device */ vpfe_video_init() 1593 video->video_dev.release = video_device_release; vpfe_video_init() 1594 video->video_dev.fops = &vpfe_fops; vpfe_video_init() 1595 video->video_dev.ioctl_ops = &vpfe_ioctl_ops; vpfe_video_init() 1596 video->video_dev.minor = -1; vpfe_video_init() 1597 video->video_dev.tvnorms = 0; vpfe_video_init() 1598 snprintf(video->video_dev.name, sizeof(video->video_dev.name), vpfe_video_init() 1601 spin_lock_init(&video->irqlock); vpfe_video_init() 1602 spin_lock_init(&video->dma_queue_lock); vpfe_video_init() 1603 mutex_init(&video->lock); vpfe_video_init() 1604 ret = media_entity_init(&video->video_dev.entity, vpfe_video_init() 1605 1, &video->pad, 0); vpfe_video_init() 1609 video_set_drvdata(&video->video_dev, video); vpfe_video_init() 1614 /* vpfe video device register function */ vpfe_video_register() 1615 int vpfe_video_register(struct vpfe_video_device *video, vpfe_video_register() argument 1620 video->video_dev.v4l2_dev = vdev; vpfe_video_register() 1622 ret = video_register_device(&video->video_dev, VFL_TYPE_GRABBER, -1); vpfe_video_register() 1624 pr_err("%s: could not register video device (%d)\n", vpfe_video_register() 1629 /* vpfe video device unregister function */ vpfe_video_unregister() 1630 void vpfe_video_unregister(struct vpfe_video_device *video) vpfe_video_unregister() argument 1632 if (video_is_registered(&video->video_dev)) { vpfe_video_unregister() 1633 video_unregister_device(&video->video_dev); vpfe_video_unregister() 1634 media_entity_cleanup(&video->video_dev.entity); vpfe_video_unregister() 36 vpfe_get_input_entity(struct vpfe_video_device *video) vpfe_get_input_entity() argument
|
H A D | vpfe_video.h | 30 * struct vpfe_video_operations - VPFE video operations 58 /* number of active input video entities */ 60 /* number of active output video entities */ 62 /* input video nodes in case of single-shot mode */ 64 /* capturing video nodes */ 82 /* video dev */ 84 /* media pad of video entity */ 86 /* video operations supported by video device */ 88 /* type of the video buffers used by user */ 92 /* pipeline for which video device is part of */ 145 void vpfe_video_unregister(struct vpfe_video_device *video); 146 int vpfe_video_register(struct vpfe_video_device *video, 148 int vpfe_video_init(struct vpfe_video_device *video, const char *name); 149 void vpfe_video_process_buffer_complete(struct vpfe_video_device *video); 150 void vpfe_video_schedule_bottom_field(struct vpfe_video_device *video); 151 void vpfe_video_schedule_next_buffer(struct vpfe_video_device *video);
|
H A D | vpfe_mc_capture.h | 70 /* maximum video memory that is available*/ 87 struct vpfe_video_device *video; member in struct:vpfe_fh
|
H A D | dm365_isif.c | 279 * isif_try_format() - Try video format on a pad 321 struct vpfe_video_device *video = &isif->video_out; vpfe_isif_buffer_isr() local 325 if (!video->started) vpfe_isif_buffer_isr() 328 field = video->fmt.fmt.pix.field; vpfe_isif_buffer_isr() 332 if (video->cur_frm != video->next_frm) vpfe_isif_buffer_isr() 333 vpfe_video_process_buffer_complete(video); vpfe_isif_buffer_isr() 343 video->field_id ^= 1; vpfe_isif_buffer_isr() 344 if (fid == video->field_id) { vpfe_isif_buffer_isr() 352 if (video->cur_frm != video->next_frm) vpfe_isif_buffer_isr() 353 vpfe_video_process_buffer_complete(video); vpfe_isif_buffer_isr() 360 vpfe_video_schedule_bottom_field(video); vpfe_isif_buffer_isr() 369 spin_lock(&video->dma_queue_lock); vpfe_isif_buffer_isr() 370 if (!list_empty(&video->dma_queue) && vpfe_isif_buffer_isr() 371 video->cur_frm == video->next_frm) vpfe_isif_buffer_isr() 372 vpfe_video_schedule_next_buffer(video); vpfe_isif_buffer_isr() 373 spin_unlock(&video->dma_queue_lock); vpfe_isif_buffer_isr() 379 video->field_id = fid; vpfe_isif_buffer_isr() 389 struct vpfe_video_device *video = &isif->video_out; vpfe_isif_vidint1_isr() local 391 if (!video->started) vpfe_isif_vidint1_isr() 394 spin_lock(&video->dma_queue_lock); vpfe_isif_vidint1_isr() 395 if (video->fmt.fmt.pix.field == V4L2_FIELD_NONE && vpfe_isif_vidint1_isr() 396 !list_empty(&video->dma_queue) && video->cur_frm == video->next_frm) vpfe_isif_vidint1_isr() 397 vpfe_video_schedule_next_buffer(video); vpfe_isif_vidint1_isr() 399 spin_unlock(&video->dma_queue_lock); vpfe_isif_vidint1_isr() 403 * VPFE video operations 1198 /* Configure video window */ isif_config_raw() 1315 /* configure video window */ isif_config_ycbcr() 1448 * isif_get_format() - Retrieve the video format on a pad 1669 /* subdev video operations */ 1687 .video = &isif_v4l2_video_ops, 1814 pr_err("Failed to register isif video out device\n"); vpfe_isif_register_entities() 1819 /* connect isif to video node */ vpfe_isif_register_entities() 2061 pr_err("Failed to init isif-out video device\n"); vpfe_isif_init()
|
/linux-4.1.27/drivers/media/platform/omap3isp/ |
H A D | ispvideo.c | 4 * TI OMAP3 ISP - Generic video node 131 * @video: ISP video instance 137 * per line value in the pix format and information from the video instance. 141 static unsigned int isp_video_mbus_to_pix(const struct isp_video *video, isp_video_mbus_to_pix() argument 167 if (video->bpl_max) isp_video_mbus_to_pix() 168 bpl = clamp(bpl, min_bpl, video->bpl_max); isp_video_mbus_to_pix() 172 if (!video->bpl_zero_padding || bpl != min_bpl) isp_video_mbus_to_pix() 173 bpl = ALIGN(bpl, video->bpl_alignment); isp_video_mbus_to_pix() 207 isp_video_remote_subdev(struct isp_video *video, u32 *pad) isp_video_remote_subdev() argument 211 remote = media_entity_remote_pad(&video->pad); isp_video_remote_subdev() 223 /* Return a pointer to the ISP video instance at the far end of the pipeline. */ isp_video_get_graph_data() 224 static int isp_video_get_graph_data(struct isp_video *video, isp_video_get_graph_data() argument 228 struct media_entity *entity = &video->video.entity; isp_video_get_graph_data() 243 if (entity == &video->video.entity) isp_video_get_graph_data() 250 if (__video->type != video->type) isp_video_get_graph_data() 256 if (video->type == V4L2_BUF_TYPE_VIDEO_CAPTURE) { isp_video_get_graph_data() 258 pipe->output = video; isp_video_get_graph_data() 263 pipe->input = video; isp_video_get_graph_data() 271 __isp_video_get_format(struct isp_video *video, struct v4l2_format *format) __isp_video_get_format() argument 278 subdev = isp_video_remote_subdev(video, &pad); __isp_video_get_format() 285 mutex_lock(&video->mutex); __isp_video_get_format() 287 mutex_unlock(&video->mutex); __isp_video_get_format() 292 format->type = video->type; __isp_video_get_format() 293 return isp_video_mbus_to_pix(video, &fmt.format, &format->fmt.pix); __isp_video_get_format() 297 isp_video_check_format(struct isp_video *video, struct isp_video_fh *vfh) isp_video_check_format() argument 303 ret = __isp_video_get_format(video, &format); isp_video_check_format() 328 struct isp_video *video = vfh->video; isp_video_queue_setup() local 336 alloc_ctxs[0] = video->alloc_ctx; isp_video_queue_setup() 338 *count = min(*count, video->capture_mem / PAGE_ALIGN(sizes[0])); isp_video_queue_setup() 347 struct isp_video *video = vfh->video; isp_video_buffer_prepare() local 350 /* Refuse to prepare the buffer is the video node has registered an isp_video_buffer_prepare() 356 if (unlikely(video->error)) isp_video_buffer_prepare() 361 dev_dbg(video->isp->dev, isp_video_buffer_prepare() 385 struct isp_video *video = vfh->video; isp_video_buffer_queue() local 386 struct isp_pipeline *pipe = to_isp_pipeline(&video->video.entity); isp_video_buffer_queue() 392 spin_lock_irqsave(&video->irqlock, flags); isp_video_buffer_queue() 394 if (unlikely(video->error)) { isp_video_buffer_queue() 396 spin_unlock_irqrestore(&video->irqlock, flags); isp_video_buffer_queue() 400 empty = list_empty(&video->dmaqueue); isp_video_buffer_queue() 401 list_add_tail(&buffer->irqlist, &video->dmaqueue); isp_video_buffer_queue() 403 spin_unlock_irqrestore(&video->irqlock, flags); isp_video_buffer_queue() 406 if (video->type == V4L2_BUF_TYPE_VIDEO_CAPTURE) isp_video_buffer_queue() 413 video->ops->queue(video, buffer); isp_video_buffer_queue() 414 video->dmaqueue_flags |= ISP_VIDEO_DMAQUEUE_QUEUED; isp_video_buffer_queue() 435 * @video: ISP video object 437 * Remove the current video buffer from the DMA queue and fill its timestamp and 440 * For capture video nodes the buffer state is set to VB2_BUF_STATE_DONE if no 442 * For video output nodes the buffer state is always set to VB2_BUF_STATE_DONE. 449 struct isp_buffer *omap3isp_video_buffer_next(struct isp_video *video) omap3isp_video_buffer_next() argument 451 struct isp_pipeline *pipe = to_isp_pipeline(&video->video.entity); omap3isp_video_buffer_next() 456 spin_lock_irqsave(&video->irqlock, flags); omap3isp_video_buffer_next() 457 if (WARN_ON(list_empty(&video->dmaqueue))) { omap3isp_video_buffer_next() 458 spin_unlock_irqrestore(&video->irqlock, flags); omap3isp_video_buffer_next() 462 buf = list_first_entry(&video->dmaqueue, struct isp_buffer, omap3isp_video_buffer_next() 465 spin_unlock_irqrestore(&video->irqlock, flags); omap3isp_video_buffer_next() 469 /* Do frame number propagation only if this is the output video node. omap3isp_video_buffer_next() 475 if (video == pipe->output && !pipe->do_propagation) omap3isp_video_buffer_next() 487 if (video->type == V4L2_BUF_TYPE_VIDEO_CAPTURE && pipe->error) { omap3isp_video_buffer_next() 496 spin_lock_irqsave(&video->irqlock, flags); omap3isp_video_buffer_next() 498 if (list_empty(&video->dmaqueue)) { omap3isp_video_buffer_next() 499 spin_unlock_irqrestore(&video->irqlock, flags); omap3isp_video_buffer_next() 501 if (video->type == V4L2_BUF_TYPE_VIDEO_CAPTURE) omap3isp_video_buffer_next() 510 if (video->pipe.stream_state == ISP_PIPELINE_STREAM_CONTINUOUS) omap3isp_video_buffer_next() 511 video->dmaqueue_flags |= ISP_VIDEO_DMAQUEUE_UNDERRUN; omap3isp_video_buffer_next() 516 if (video->type == V4L2_BUF_TYPE_VIDEO_CAPTURE && pipe->input != NULL) { omap3isp_video_buffer_next() 522 buf = list_first_entry(&video->dmaqueue, struct isp_buffer, omap3isp_video_buffer_next() 525 spin_unlock_irqrestore(&video->irqlock, flags); omap3isp_video_buffer_next() 531 * omap3isp_video_cancel_stream - Cancel stream on a video node 532 * @video: ISP video object 534 * Cancelling a stream mark all buffers on the video node as erroneous and makes 537 void omap3isp_video_cancel_stream(struct isp_video *video) omap3isp_video_cancel_stream() argument 541 spin_lock_irqsave(&video->irqlock, flags); omap3isp_video_cancel_stream() 543 while (!list_empty(&video->dmaqueue)) { omap3isp_video_cancel_stream() 546 buf = list_first_entry(&video->dmaqueue, omap3isp_video_cancel_stream() 552 video->error = true; omap3isp_video_cancel_stream() 554 spin_unlock_irqrestore(&video->irqlock, flags); omap3isp_video_cancel_stream() 559 * @video: ISP video object 563 * requests video queue layer to discard buffers marked as DONE if it's in 567 void omap3isp_video_resume(struct isp_video *video, int continuous) omap3isp_video_resume() argument 571 if (continuous && video->type == V4L2_BUF_TYPE_VIDEO_CAPTURE) { omap3isp_video_resume() 572 mutex_lock(&video->queue_lock); omap3isp_video_resume() 573 vb2_discard_done(video->queue); omap3isp_video_resume() 574 mutex_unlock(&video->queue_lock); omap3isp_video_resume() 577 if (!list_empty(&video->dmaqueue)) { omap3isp_video_resume() 578 buf = list_first_entry(&video->dmaqueue, omap3isp_video_resume() 580 video->ops->queue(video, buf); omap3isp_video_resume() 581 video->dmaqueue_flags |= ISP_VIDEO_DMAQUEUE_QUEUED; omap3isp_video_resume() 584 video->dmaqueue_flags |= ISP_VIDEO_DMAQUEUE_UNDERRUN; omap3isp_video_resume() 595 struct isp_video *video = video_drvdata(file); isp_video_querycap() local 598 strlcpy(cap->card, video->video.name, sizeof(cap->card)); isp_video_querycap() 604 if (video->type == V4L2_BUF_TYPE_VIDEO_CAPTURE) isp_video_querycap() 616 struct isp_video *video = video_drvdata(file); isp_video_get_format() local 618 if (format->type != video->type) isp_video_get_format() 621 mutex_lock(&video->mutex); isp_video_get_format() 623 mutex_unlock(&video->mutex); isp_video_get_format() 632 struct isp_video *video = video_drvdata(file); isp_video_set_format() local 635 if (format->type != video->type) isp_video_set_format() 645 if (video->type == V4L2_BUF_TYPE_VIDEO_OUTPUT) isp_video_set_format() 649 /* The ISP has no concept of video standard, select the isp_video_set_format() 658 if (video != &video->isp->isp_ccdc.video_out) isp_video_set_format() 677 isp_video_mbus_to_pix(video, &fmt, &format->fmt.pix); isp_video_set_format() 679 mutex_lock(&video->mutex); isp_video_set_format() 681 mutex_unlock(&video->mutex); isp_video_set_format() 689 struct isp_video *video = video_drvdata(file); isp_video_try_format() local 695 if (format->type != video->type) isp_video_try_format() 698 subdev = isp_video_remote_subdev(video, &pad); isp_video_try_format() 710 isp_video_mbus_to_pix(video, &fmt.format, &format->fmt.pix); isp_video_try_format() 717 struct isp_video *video = video_drvdata(file); isp_video_cropcap() local 721 subdev = isp_video_remote_subdev(video, NULL); isp_video_cropcap() 725 mutex_lock(&video->mutex); isp_video_cropcap() 726 ret = v4l2_subdev_call(subdev, video, cropcap, cropcap); isp_video_cropcap() 727 mutex_unlock(&video->mutex); isp_video_cropcap() 735 struct isp_video *video = video_drvdata(file); isp_video_get_crop() local 741 subdev = isp_video_remote_subdev(video, &pad); isp_video_get_crop() 748 ret = v4l2_subdev_call(subdev, video, g_crop, crop); isp_video_get_crop() 769 struct isp_video *video = video_drvdata(file); isp_video_set_crop() local 773 subdev = isp_video_remote_subdev(video, NULL); isp_video_set_crop() 777 mutex_lock(&video->mutex); isp_video_set_crop() 778 ret = v4l2_subdev_call(subdev, video, s_crop, crop); isp_video_set_crop() 779 mutex_unlock(&video->mutex); isp_video_set_crop() 788 struct isp_video *video = video_drvdata(file); isp_video_get_param() local 790 if (video->type != V4L2_BUF_TYPE_VIDEO_OUTPUT || isp_video_get_param() 791 video->type != a->type) isp_video_get_param() 806 struct isp_video *video = video_drvdata(file); isp_video_set_param() local 808 if (video->type != V4L2_BUF_TYPE_VIDEO_OUTPUT || isp_video_set_param() 809 video->type != a->type) isp_video_set_param() 824 struct isp_video *video = video_drvdata(file); isp_video_reqbufs() local 827 mutex_lock(&video->queue_lock); isp_video_reqbufs() 829 mutex_unlock(&video->queue_lock); isp_video_reqbufs() 838 struct isp_video *video = video_drvdata(file); isp_video_querybuf() local 841 mutex_lock(&video->queue_lock); isp_video_querybuf() 843 mutex_unlock(&video->queue_lock); isp_video_querybuf() 852 struct isp_video *video = video_drvdata(file); isp_video_qbuf() local 855 mutex_lock(&video->queue_lock); isp_video_qbuf() 857 mutex_unlock(&video->queue_lock); isp_video_qbuf() 866 struct isp_video *video = video_drvdata(file); isp_video_dqbuf() local 869 mutex_lock(&video->queue_lock); isp_video_dqbuf() 871 mutex_unlock(&video->queue_lock); isp_video_dqbuf() 876 static int isp_video_check_external_subdevs(struct isp_video *video, isp_video_check_external_subdevs() argument 879 struct isp_device *isp = video->isp; isp_video_check_external_subdevs() 971 * either a sensor or a video node. The output is always a video node. 973 * As every pipeline has an output video node, the ISP video objects at the 1002 struct isp_video *video = video_drvdata(file); isp_video_streamon() local 1008 if (type != video->type) isp_video_streamon() 1011 mutex_lock(&video->stream_lock); isp_video_streamon() 1016 pipe = video->video.entity.pipe isp_video_streamon() 1017 ? to_isp_pipeline(&video->video.entity) : &video->pipe; isp_video_streamon() 1021 if (video->isp->pdata && video->isp->pdata->set_constraints) isp_video_streamon() 1022 video->isp->pdata->set_constraints(video->isp, true); isp_video_streamon() 1023 pipe->l3_ick = clk_get_rate(video->isp->clock[ISP_CLK_L3_ICK]); isp_video_streamon() 1026 ret = media_entity_pipeline_start(&video->video.entity, &pipe->pipe); isp_video_streamon() 1033 ret = isp_video_check_format(video, vfh); isp_video_streamon() 1037 video->bpl_padding = ret; isp_video_streamon() 1038 video->bpl_value = vfh->format.fmt.pix.bytesperline; isp_video_streamon() 1040 ret = isp_video_get_graph_data(video, pipe); isp_video_streamon() 1044 if (video->type == V4L2_BUF_TYPE_VIDEO_CAPTURE) isp_video_streamon() 1049 ret = isp_video_check_external_subdevs(video, pipe); isp_video_streamon() 1064 if (video->type == V4L2_BUF_TYPE_VIDEO_OUTPUT) isp_video_streamon() 1067 video->queue = &vfh->queue; isp_video_streamon() 1068 INIT_LIST_HEAD(&video->dmaqueue); isp_video_streamon() 1072 mutex_lock(&video->queue_lock); isp_video_streamon() 1074 mutex_unlock(&video->queue_lock); isp_video_streamon() 1087 spin_lock_irqsave(&video->irqlock, flags); isp_video_streamon() 1088 if (list_empty(&video->dmaqueue)) isp_video_streamon() 1089 video->dmaqueue_flags |= ISP_VIDEO_DMAQUEUE_UNDERRUN; isp_video_streamon() 1090 spin_unlock_irqrestore(&video->irqlock, flags); isp_video_streamon() 1093 mutex_unlock(&video->stream_lock); isp_video_streamon() 1097 mutex_lock(&video->queue_lock); isp_video_streamon() 1099 mutex_unlock(&video->queue_lock); isp_video_streamon() 1101 media_entity_pipeline_stop(&video->video.entity); isp_video_streamon() 1103 if (video->isp->pdata && video->isp->pdata->set_constraints) isp_video_streamon() 1104 video->isp->pdata->set_constraints(video->isp, false); isp_video_streamon() 1112 INIT_LIST_HEAD(&video->dmaqueue); isp_video_streamon() 1113 video->queue = NULL; isp_video_streamon() 1115 mutex_unlock(&video->stream_lock); isp_video_streamon() 1123 struct isp_video *video = video_drvdata(file); isp_video_streamoff() local 1124 struct isp_pipeline *pipe = to_isp_pipeline(&video->video.entity); isp_video_streamoff() 1129 if (type != video->type) isp_video_streamoff() 1132 mutex_lock(&video->stream_lock); isp_video_streamoff() 1135 mutex_lock(&video->queue_lock); isp_video_streamoff() 1137 mutex_unlock(&video->queue_lock); isp_video_streamoff() 1143 if (video->type == V4L2_BUF_TYPE_VIDEO_CAPTURE) isp_video_streamoff() 1156 omap3isp_video_cancel_stream(video); isp_video_streamoff() 1158 mutex_lock(&video->queue_lock); isp_video_streamoff() 1160 mutex_unlock(&video->queue_lock); isp_video_streamoff() 1161 video->queue = NULL; isp_video_streamoff() 1162 video->error = false; isp_video_streamoff() 1164 if (video->isp->pdata && video->isp->pdata->set_constraints) isp_video_streamoff() 1165 video->isp->pdata->set_constraints(video->isp, false); isp_video_streamoff() 1166 media_entity_pipeline_stop(&video->video.entity); isp_video_streamoff() 1169 mutex_unlock(&video->stream_lock); isp_video_streamoff() 1229 struct isp_video *video = video_drvdata(file); isp_video_open() local 1238 v4l2_fh_init(&handle->vfh, &video->video); isp_video_open() 1242 if (omap3isp_get(video->isp) == NULL) { isp_video_open() 1247 ret = omap3isp_pipeline_pm_use(&video->video.entity, 1); isp_video_open() 1249 omap3isp_put(video->isp); isp_video_open() 1254 queue->type = video->type; isp_video_open() 1264 omap3isp_put(video->isp); isp_video_open() 1269 handle->format.type = video->type; isp_video_open() 1272 handle->video = video; isp_video_open() 1286 struct isp_video *video = video_drvdata(file); isp_video_release() local 1291 isp_video_streamoff(file, vfh, video->type); isp_video_release() 1293 mutex_lock(&video->queue_lock); isp_video_release() 1295 mutex_unlock(&video->queue_lock); isp_video_release() 1297 omap3isp_pipeline_pm_use(&video->video.entity, 0); isp_video_release() 1304 omap3isp_put(video->isp); isp_video_release() 1312 struct isp_video *video = video_drvdata(file); isp_video_poll() local 1315 mutex_lock(&video->queue_lock); isp_video_poll() 1317 mutex_unlock(&video->queue_lock); isp_video_poll() 1339 * ISP video core 1345 int omap3isp_video_init(struct isp_video *video, const char *name) omap3isp_video_init() argument 1350 switch (video->type) { omap3isp_video_init() 1353 video->pad.flags = MEDIA_PAD_FL_SINK omap3isp_video_init() 1358 video->pad.flags = MEDIA_PAD_FL_SOURCE omap3isp_video_init() 1360 video->video.vfl_dir = VFL_DIR_TX; omap3isp_video_init() 1367 video->alloc_ctx = vb2_dma_contig_init_ctx(video->isp->dev); omap3isp_video_init() 1368 if (IS_ERR(video->alloc_ctx)) omap3isp_video_init() 1369 return PTR_ERR(video->alloc_ctx); omap3isp_video_init() 1371 ret = media_entity_init(&video->video.entity, 1, &video->pad, 0); omap3isp_video_init() 1373 vb2_dma_contig_cleanup_ctx(video->alloc_ctx); omap3isp_video_init() 1377 mutex_init(&video->mutex); omap3isp_video_init() 1378 atomic_set(&video->active, 0); omap3isp_video_init() 1380 spin_lock_init(&video->pipe.lock); omap3isp_video_init() 1381 mutex_init(&video->stream_lock); omap3isp_video_init() 1382 mutex_init(&video->queue_lock); omap3isp_video_init() 1383 spin_lock_init(&video->irqlock); omap3isp_video_init() 1385 /* Initialize the video device. */ omap3isp_video_init() 1386 if (video->ops == NULL) omap3isp_video_init() 1387 video->ops = &isp_video_dummy_ops; omap3isp_video_init() 1389 video->video.fops = &isp_video_fops; omap3isp_video_init() 1390 snprintf(video->video.name, sizeof(video->video.name), omap3isp_video_init() 1392 video->video.vfl_type = VFL_TYPE_GRABBER; omap3isp_video_init() 1393 video->video.release = video_device_release_empty; omap3isp_video_init() 1394 video->video.ioctl_ops = &isp_video_ioctl_ops; omap3isp_video_init() 1395 video->pipe.stream_state = ISP_PIPELINE_STREAM_STOPPED; omap3isp_video_init() 1397 video_set_drvdata(&video->video, video); omap3isp_video_init() 1402 void omap3isp_video_cleanup(struct isp_video *video) omap3isp_video_cleanup() argument 1404 vb2_dma_contig_cleanup_ctx(video->alloc_ctx); omap3isp_video_cleanup() 1405 media_entity_cleanup(&video->video.entity); omap3isp_video_cleanup() 1406 mutex_destroy(&video->queue_lock); omap3isp_video_cleanup() 1407 mutex_destroy(&video->stream_lock); omap3isp_video_cleanup() 1408 mutex_destroy(&video->mutex); omap3isp_video_cleanup() 1411 int omap3isp_video_register(struct isp_video *video, struct v4l2_device *vdev) omap3isp_video_register() argument 1415 video->video.v4l2_dev = vdev; omap3isp_video_register() 1417 ret = video_register_device(&video->video, VFL_TYPE_GRABBER, -1); omap3isp_video_register() 1419 dev_err(video->isp->dev, omap3isp_video_register() 1420 "%s: could not register video device (%d)\n", omap3isp_video_register() 1426 void omap3isp_video_unregister(struct isp_video *video) omap3isp_video_unregister() argument 1428 if (video_is_registered(&video->video)) omap3isp_video_unregister() 1429 video_unregister_device(&video->video); omap3isp_video_unregister()
|
H A D | ispvideo.h | 4 * TI OMAP3 ISP - Generic video node 63 /* The stream has been started on the input video node. */ 65 /* The stream has been started on the output video node. */ 67 /* At least one buffer is queued on the input video node. */ 69 /* At least one buffer is queued on the output video node. */ 119 * struct isp_buffer - ISP video buffer 139 #define isp_video_dmaqueue_flags_clr(video) \ 140 ({ (video)->dmaqueue_flags = 0; }) 143 * struct isp_video_operations - ISP video operations 148 int(*queue)(struct isp_video *video, struct isp_buffer *buffer); 152 struct video_device video; member in struct:isp_video 184 #define to_isp_video(vdev) container_of(vdev, struct isp_video, video) 188 struct isp_video *video; member in struct:isp_video_fh 198 int omap3isp_video_init(struct isp_video *video, const char *name); 199 void omap3isp_video_cleanup(struct isp_video *video); 200 int omap3isp_video_register(struct isp_video *video, 202 void omap3isp_video_unregister(struct isp_video *video); 203 struct isp_buffer *omap3isp_video_buffer_next(struct isp_video *video); 204 void omap3isp_video_cancel_stream(struct isp_video *video); 205 void omap3isp_video_resume(struct isp_video *video, int continuous); 206 struct media_pad *omap3isp_video_remote_pad(struct isp_video *video);
|
H A D | isp.c | 543 * Handle shared buffer logic overflows for video buffers. isp_isr_sbl() 665 * one open video device node. 668 * For entities corresponding to video device nodes the use_count field stores 670 * use_count field stores the total number of users of all video device nodes 674 * close() handlers of video device nodes. It increments or decrements the use 686 * Return the total number of users of all video device nodes in the pipeline. 865 * Walk the entities chain starting at the pipeline output video node and start 868 * Return 0 if successful, or the return value of the failed video::s_stream 895 entity = &pipe->output->video.entity; isp_pipeline_enable() 909 ret = v4l2_subdev_call(subdev, video, s_stream, mode); isp_pipeline_enable() 914 v4l2_subdev_call(&isp->isp_aewb.subdev, video, isp_pipeline_enable() 916 v4l2_subdev_call(&isp->isp_af.subdev, video, isp_pipeline_enable() 918 v4l2_subdev_call(&isp->isp_hist.subdev, video, isp_pipeline_enable() 964 * Walk the entities chain starting at the pipeline output video node and stop 985 entity = &pipe->output->video.entity; isp_pipeline_disable() 1001 video, s_stream, 0); isp_pipeline_disable() 1003 video, s_stream, 0); isp_pipeline_disable() 1005 video, s_stream, 0); isp_pipeline_disable() 1008 ret = v4l2_subdev_call(subdev, video, s_stream, 0); isp_pipeline_disable() 1049 * Return 0 if successful, or the return value of the failed video::s_stream 1073 * Cancelling a stream mark all buffers on all video nodes in the pipeline as 1090 * Resume video output and input and re-enable pipeline. 1115 * video node 1118 * Returns 1 if the entity has an enabled link to the output video node or 0 1141 * output video node. It works only while pipeline can have no more than one 1155 * output video node. It works only while pipeline can have no more than one 1404 struct isp_video *video = pipe->output; omap3isp_module_sync_idle() local 1406 spin_lock_irqsave(&video->irqlock, flags); omap3isp_module_sync_idle() 1407 if (video->dmaqueue_flags & ISP_VIDEO_DMAQUEUE_UNDERRUN) { omap3isp_module_sync_idle() 1408 spin_unlock_irqrestore(&video->irqlock, flags); omap3isp_module_sync_idle() 1413 spin_unlock_irqrestore(&video->irqlock, flags); omap3isp_module_sync_idle() 1708 * As the ISP can't properly handle an input video stream interruption on a non
|
/linux-4.1.27/drivers/media/platform/vsp1/ |
H A D | vsp1_video.c | 173 static int vsp1_video_verify_format(struct vsp1_video *video) vsp1_video_verify_format() argument 179 subdev = vsp1_video_remote_subdev(&video->pad, &fmt.pad); vsp1_video_verify_format() 188 if (video->fmtinfo->mbus != fmt.format.code || vsp1_video_verify_format() 189 video->format.height != fmt.format.height || vsp1_video_verify_format() 190 video->format.width != fmt.format.width) vsp1_video_verify_format() 196 static int __vsp1_video_try_format(struct vsp1_video *video, __vsp1_video_try_format() argument 278 vsp1_video_format_adjust(struct vsp1_video *video, vsp1_video_format_adjust() argument 285 __vsp1_video_try_format(video, adjust, NULL); vsp1_video_format_adjust() 328 /* We've reached a video node, that shouldn't have happened. */ vsp1_pipeline_validate_branch() 408 struct vsp1_video *video) vsp1_pipeline_validate() 411 struct media_entity *entity = &video->video.entity; vsp1_pipeline_validate() 418 /* Walk the graph to locate the entities and video nodes. */ vsp1_pipeline_validate() 438 rwpf->video.pipe_index = pipe->num_inputs; vsp1_pipeline_validate() 442 rwpf->video.pipe_index = 0; vsp1_pipeline_validate() 476 struct vsp1_video *video) vsp1_pipeline_init() 484 ret = vsp1_pipeline_validate(pipe, video); vsp1_pipeline_init() 537 v4l2_subdev_call(&entity->subdev, video, s_stream, 0); vsp1_pipeline_stop() 556 * @video: the video node 569 vsp1_video_complete_buffer(struct vsp1_video *video) vsp1_video_complete_buffer() argument 571 struct vsp1_pipeline *pipe = to_vsp1_pipeline(&video->video.entity); vsp1_video_complete_buffer() 577 spin_lock_irqsave(&video->irqlock, flags); vsp1_video_complete_buffer() 579 if (list_empty(&video->irqqueue)) { vsp1_video_complete_buffer() 580 spin_unlock_irqrestore(&video->irqlock, flags); vsp1_video_complete_buffer() 584 done = list_first_entry(&video->irqqueue, vsp1_video_complete_buffer() 588 if (pipe->lif && list_is_singular(&video->irqqueue)) { vsp1_video_complete_buffer() 589 spin_unlock_irqrestore(&video->irqlock, flags); vsp1_video_complete_buffer() 595 if (!list_empty(&video->irqqueue)) vsp1_video_complete_buffer() 596 next = list_first_entry(&video->irqqueue, vsp1_video_complete_buffer() 599 spin_unlock_irqrestore(&video->irqlock, flags); vsp1_video_complete_buffer() 601 done->buf.v4l2_buf.sequence = video->sequence++; vsp1_video_complete_buffer() 611 struct vsp1_video *video) vsp1_video_frame_end() 616 buf = vsp1_video_complete_buffer(video); vsp1_video_frame_end() 622 video->ops->queue(video, buf); vsp1_video_frame_end() 623 pipe->buffers_ready |= 1 << video->pipe_index; vsp1_video_frame_end() 637 /* Complete buffers on all video nodes. */ vsp1_pipeline_frame_end() 639 vsp1_video_frame_end(pipe, &pipe->inputs[i]->video); vsp1_pipeline_frame_end() 642 vsp1_video_frame_end(pipe, &pipe->output->video); vsp1_pipeline_frame_end() 715 struct vsp1_video *video = vb2_get_drv_priv(vq); vsp1_video_queue_setup() local 724 if (!vsp1_video_format_adjust(video, &fmt->fmt.pix_mp, &pix_mp)) vsp1_video_queue_setup() 729 format = &video->format; vsp1_video_queue_setup() 736 alloc_ctxs[i] = video->alloc_ctx; vsp1_video_queue_setup() 744 struct vsp1_video *video = vb2_get_drv_priv(vb->vb2_queue); vsp1_video_buffer_prepare() local 746 const struct v4l2_pix_format_mplane *format = &video->format; vsp1_video_buffer_prepare() 765 struct vsp1_video *video = vb2_get_drv_priv(vb->vb2_queue); vsp1_video_buffer_queue() local 766 struct vsp1_pipeline *pipe = to_vsp1_pipeline(&video->video.entity); vsp1_video_buffer_queue() 771 spin_lock_irqsave(&video->irqlock, flags); vsp1_video_buffer_queue() 772 empty = list_empty(&video->irqqueue); vsp1_video_buffer_queue() 773 list_add_tail(&buf->queue, &video->irqqueue); vsp1_video_buffer_queue() 774 spin_unlock_irqrestore(&video->irqlock, flags); vsp1_video_buffer_queue() 781 video->ops->queue(video, buf); vsp1_video_buffer_queue() 782 pipe->buffers_ready |= 1 << video->pipe_index; vsp1_video_buffer_queue() 784 if (vb2_is_streaming(&video->queue) && vsp1_video_buffer_queue() 805 struct vsp1_video *video = vb2_get_drv_priv(vq); vsp1_video_start_streaming() local 806 struct vsp1_pipeline *pipe = to_vsp1_pipeline(&video->video.entity); vsp1_video_start_streaming() 828 uds->scale_alpha = rpf->video.fmtinfo->alpha; vsp1_video_start_streaming() 835 ret = v4l2_subdev_call(&entity->subdev, video, vsp1_video_start_streaming() 857 struct vsp1_video *video = vb2_get_drv_priv(vq); vsp1_video_stop_streaming() local 858 struct vsp1_pipeline *pipe = to_vsp1_pipeline(&video->video.entity); vsp1_video_stop_streaming() 868 dev_err(video->vsp1->dev, "pipeline stop timeout\n"); vsp1_video_stop_streaming() 873 media_entity_pipeline_stop(&video->video.entity); vsp1_video_stop_streaming() 876 spin_lock_irqsave(&video->irqlock, flags); vsp1_video_stop_streaming() 877 list_for_each_entry(buffer, &video->irqqueue, queue) vsp1_video_stop_streaming() 879 INIT_LIST_HEAD(&video->irqqueue); vsp1_video_stop_streaming() 880 spin_unlock_irqrestore(&video->irqlock, flags); vsp1_video_stop_streaming() 901 struct vsp1_video *video = to_vsp1_video(vfh->vdev); vsp1_video_querycap() local 907 if (video->type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE) vsp1_video_querycap() 915 strlcpy(cap->card, video->video.name, sizeof(cap->card)); vsp1_video_querycap() 917 dev_name(video->vsp1->dev)); vsp1_video_querycap() 926 struct vsp1_video *video = to_vsp1_video(vfh->vdev); vsp1_video_get_format() local 928 if (format->type != video->queue.type) vsp1_video_get_format() 931 mutex_lock(&video->lock); vsp1_video_get_format() 932 format->fmt.pix_mp = video->format; vsp1_video_get_format() 933 mutex_unlock(&video->lock); vsp1_video_get_format() 942 struct vsp1_video *video = to_vsp1_video(vfh->vdev); vsp1_video_try_format() local 944 if (format->type != video->queue.type) vsp1_video_try_format() 947 return __vsp1_video_try_format(video, &format->fmt.pix_mp, NULL); vsp1_video_try_format() 954 struct vsp1_video *video = to_vsp1_video(vfh->vdev); vsp1_video_set_format() local 958 if (format->type != video->queue.type) vsp1_video_set_format() 961 ret = __vsp1_video_try_format(video, &format->fmt.pix_mp, &info); vsp1_video_set_format() 965 mutex_lock(&video->lock); vsp1_video_set_format() 967 if (vb2_is_busy(&video->queue)) { vsp1_video_set_format() 972 video->format = format->fmt.pix_mp; vsp1_video_set_format() 973 video->fmtinfo = info; vsp1_video_set_format() 976 mutex_unlock(&video->lock); vsp1_video_set_format() 984 struct vsp1_video *video = to_vsp1_video(vfh->vdev); vsp1_video_streamon() local 988 if (video->queue.owner && video->queue.owner != file->private_data) vsp1_video_streamon() 991 video->sequence = 0; vsp1_video_streamon() 996 * Use the VSP1 pipeline object embedded in the first video object that vsp1_video_streamon() 999 pipe = video->video.entity.pipe vsp1_video_streamon() 1000 ? to_vsp1_pipeline(&video->video.entity) : &video->pipe; vsp1_video_streamon() 1002 ret = media_entity_pipeline_start(&video->video.entity, &pipe->pipe); vsp1_video_streamon() 1009 ret = vsp1_video_verify_format(video); vsp1_video_streamon() 1013 ret = vsp1_pipeline_init(pipe, video); vsp1_video_streamon() 1018 ret = vb2_streamon(&video->queue, type); vsp1_video_streamon() 1027 media_entity_pipeline_stop(&video->video.entity); vsp1_video_streamon() 1055 struct vsp1_video *video = video_drvdata(file); vsp1_video_open() local 1063 v4l2_fh_init(vfh, &video->video); vsp1_video_open() 1068 ret = vsp1_device_get(video->vsp1); vsp1_video_open() 1079 struct vsp1_video *video = video_drvdata(file); vsp1_video_release() local 1082 mutex_lock(&video->lock); vsp1_video_release() 1083 if (video->queue.owner == vfh) { vsp1_video_release() 1084 vb2_queue_release(&video->queue); vsp1_video_release() 1085 video->queue.owner = NULL; vsp1_video_release() 1087 mutex_unlock(&video->lock); vsp1_video_release() 1089 vsp1_device_put(video->vsp1); vsp1_video_release() 1111 int vsp1_video_init(struct vsp1_video *video, struct vsp1_entity *rwpf) vsp1_video_init() argument 1116 switch (video->type) { vsp1_video_init() 1119 video->pad.flags = MEDIA_PAD_FL_SINK; vsp1_video_init() 1124 video->pad.flags = MEDIA_PAD_FL_SOURCE; vsp1_video_init() 1125 video->video.vfl_dir = VFL_DIR_TX; vsp1_video_init() 1132 video->rwpf = rwpf; vsp1_video_init() 1134 mutex_init(&video->lock); vsp1_video_init() 1135 spin_lock_init(&video->irqlock); vsp1_video_init() 1136 INIT_LIST_HEAD(&video->irqqueue); vsp1_video_init() 1138 mutex_init(&video->pipe.lock); vsp1_video_init() 1139 spin_lock_init(&video->pipe.irqlock); vsp1_video_init() 1140 INIT_LIST_HEAD(&video->pipe.entities); vsp1_video_init() 1141 init_waitqueue_head(&video->pipe.wq); vsp1_video_init() 1142 video->pipe.state = VSP1_PIPELINE_STOPPED; vsp1_video_init() 1145 ret = media_entity_init(&video->video.entity, 1, &video->pad, 0); vsp1_video_init() 1150 video->fmtinfo = vsp1_get_format_info(VSP1_VIDEO_DEF_FORMAT); vsp1_video_init() 1151 video->format.pixelformat = video->fmtinfo->fourcc; vsp1_video_init() 1152 video->format.colorspace = V4L2_COLORSPACE_SRGB; vsp1_video_init() 1153 video->format.field = V4L2_FIELD_NONE; vsp1_video_init() 1154 video->format.width = VSP1_VIDEO_DEF_WIDTH; vsp1_video_init() 1155 video->format.height = VSP1_VIDEO_DEF_HEIGHT; vsp1_video_init() 1156 video->format.num_planes = 1; vsp1_video_init() 1157 video->format.plane_fmt[0].bytesperline = vsp1_video_init() 1158 video->format.width * video->fmtinfo->bpp[0] / 8; vsp1_video_init() 1159 video->format.plane_fmt[0].sizeimage = vsp1_video_init() 1160 video->format.plane_fmt[0].bytesperline * video->format.height; vsp1_video_init() 1162 /* ... and the video node... */ vsp1_video_init() 1163 video->video.v4l2_dev = &video->vsp1->v4l2_dev; vsp1_video_init() 1164 video->video.fops = &vsp1_video_fops; vsp1_video_init() 1165 snprintf(video->video.name, sizeof(video->video.name), "%s %s", vsp1_video_init() 1167 video->video.vfl_type = VFL_TYPE_GRABBER; vsp1_video_init() 1168 video->video.release = video_device_release_empty; vsp1_video_init() 1169 video->video.ioctl_ops = &vsp1_video_ioctl_ops; vsp1_video_init() 1171 video_set_drvdata(&video->video, video); vsp1_video_init() 1174 video->alloc_ctx = vb2_dma_contig_init_ctx(video->vsp1->dev); vsp1_video_init() 1175 if (IS_ERR(video->alloc_ctx)) { vsp1_video_init() 1176 ret = PTR_ERR(video->alloc_ctx); vsp1_video_init() 1180 video->queue.type = video->type; vsp1_video_init() 1181 video->queue.io_modes = VB2_MMAP | VB2_USERPTR | VB2_DMABUF; vsp1_video_init() 1182 video->queue.lock = &video->lock; vsp1_video_init() 1183 video->queue.drv_priv = video; vsp1_video_init() 1184 video->queue.buf_struct_size = sizeof(struct vsp1_video_buffer); vsp1_video_init() 1185 video->queue.ops = &vsp1_video_queue_qops; vsp1_video_init() 1186 video->queue.mem_ops = &vb2_dma_contig_memops; vsp1_video_init() 1187 video->queue.timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_COPY; vsp1_video_init() 1188 ret = vb2_queue_init(&video->queue); vsp1_video_init() 1190 dev_err(video->vsp1->dev, "failed to initialize vb2 queue\n"); vsp1_video_init() 1194 /* ... and register the video device. */ vsp1_video_init() 1195 video->video.queue = &video->queue; vsp1_video_init() 1196 ret = video_register_device(&video->video, VFL_TYPE_GRABBER, -1); vsp1_video_init() 1198 dev_err(video->vsp1->dev, "failed to register video device\n"); vsp1_video_init() 1205 vb2_dma_contig_cleanup_ctx(video->alloc_ctx); vsp1_video_init() 1206 vsp1_video_cleanup(video); vsp1_video_init() 1210 void vsp1_video_cleanup(struct vsp1_video *video) vsp1_video_cleanup() argument 1212 if (video_is_registered(&video->video)) vsp1_video_cleanup() 1213 video_unregister_device(&video->video); vsp1_video_cleanup() 1215 vb2_dma_contig_cleanup_ctx(video->alloc_ctx); vsp1_video_cleanup() 1216 media_entity_cleanup(&video->video.entity); vsp1_video_cleanup() 407 vsp1_pipeline_validate(struct vsp1_pipeline *pipe, struct vsp1_video *video) vsp1_pipeline_validate() argument 475 vsp1_pipeline_init(struct vsp1_pipeline *pipe, struct vsp1_video *video) vsp1_pipeline_init() argument 610 vsp1_video_frame_end(struct vsp1_pipeline *pipe, struct vsp1_video *video) vsp1_video_frame_end() argument
|
H A D | vsp1_wpf.c | 115 struct v4l2_pix_format_mplane *format = &wpf->video.format; wpf_s_stream() 133 const struct vsp1_format_info *fmtinfo = wpf->video.fmtinfo; wpf_s_stream() 190 .video = &wpf_video_ops, 198 static void wpf_vdev_queue(struct vsp1_video *video, wpf_vdev_queue() argument 201 struct vsp1_rwpf *wpf = container_of(video, struct vsp1_rwpf, video); wpf_vdev_queue() 221 struct vsp1_video *video; vsp1_wpf_create() local 267 /* Initialize the video device. */ vsp1_wpf_create() 268 video = &wpf->video; vsp1_wpf_create() 270 video->type = V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE; vsp1_wpf_create() 271 video->vsp1 = vsp1; vsp1_wpf_create() 272 video->ops = &wpf_vdev_ops; vsp1_wpf_create() 274 ret = vsp1_video_init(video, &wpf->entity); vsp1_wpf_create() 278 wpf->entity.video = video; vsp1_wpf_create() 280 /* Connect the video device to the WPF. All connections are immutable vsp1_wpf_create() 289 &wpf->video.video.entity, 0, flags); vsp1_wpf_create() 293 wpf->entity.sink = &wpf->video.video.entity; vsp1_wpf_create()
|
H A D | vsp1_rpf.c | 78 const struct vsp1_format_info *fmtinfo = rpf->video.fmtinfo; rpf_s_stream() 79 const struct v4l2_pix_format_mplane *format = &rpf->video.format; rpf_s_stream() 181 .video = &rpf_video_ops, 189 static void rpf_vdev_queue(struct vsp1_video *video, rpf_vdev_queue() argument 192 struct vsp1_rwpf *rpf = container_of(video, struct vsp1_rwpf, video); rpf_vdev_queue() 222 struct vsp1_video *video; vsp1_rpf_create() local 267 /* Initialize the video device. */ vsp1_rpf_create() 268 video = &rpf->video; vsp1_rpf_create() 270 video->type = V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE; vsp1_rpf_create() 271 video->vsp1 = vsp1; vsp1_rpf_create() 272 video->ops = &rpf_vdev_ops; vsp1_rpf_create() 274 ret = vsp1_video_init(video, &rpf->entity); vsp1_rpf_create() 278 rpf->entity.video = video; vsp1_rpf_create() 280 /* Connect the video device to the RPF. */ vsp1_rpf_create() 281 ret = media_entity_create_link(&rpf->video.video.entity, 0, vsp1_rpf_create()
|
H A D | vsp1_video.h | 26 * struct vsp1_format_info - VSP1 video format description 111 void (*queue)(struct vsp1_video *video, struct vsp1_video_buffer *buf); 120 struct video_device video; member in struct:vsp1_video 140 return container_of(vdev, struct vsp1_video, video); to_vsp1_video() 143 int vsp1_video_init(struct vsp1_video *video, struct vsp1_entity *rwpf); 144 void vsp1_video_cleanup(struct vsp1_video *video);
|
/linux-4.1.27/include/video/ |
H A D | edid.h | 4 #include <uapi/video/edid.h>
|
H A D | pmagb-b-fb.h | 2 * linux/include/video/pmagb-b-fb.h 25 #define SFB_REG_VID_HOR 0x64 /* video horizontal setup */ 26 #define SFB_REG_VID_VER 0x68 /* video vertical setup */ 27 #define SFB_REG_VID_BASE 0x6c /* video base address */ 29 #define SFB_REG_VIDCLK_COUNT 0x7c /* video clock count */ 38 #define SFB_VID_HOR_PIX_SHIFT 0x00 /* active video */ 52 #define SFB_VID_BASE_MASK 0x1ff /* video base row address */
|
H A D | maxinefb.h | 2 * linux/drivers/video/maxinefb.h 14 * IMS332 video controller register base address 25 * The IMS 332 video controller used in the DECstation 5000/xx series
|
H A D | omap-panel-data.h | 30 #include <video/omapdss.h> 31 #include <video/display_timing.h> 67 * @source: name of the display entity used as a video source 79 * @source: name of the display entity used as a video source 89 * @source: name of the display entity used as a video source 104 * @source: name of the display entity used as a video source 125 * @source: name of the display entity used as a video source 152 * @source: name of the display entity used as a video source 168 * @source: name of the display entity used as a video source 186 * @source: name of the display entity used as a video source 210 * @source: name of the display entity used as a video source 226 * @source: name of the display entity used as a video source 244 * @source: name of the display entity used as a video source
|
H A D | platform_lcd.h | 1 /* include/video/platform_lcd.h
|
H A D | gbe.h | 2 * include/video/gbe.h -- SGI GBE (Graphics Back End) 72 volatile uint32_t vc_0; /* video capture crtl 0 */ 73 volatile uint32_t vc_1; /* video capture crtl 1 */ 74 volatile uint32_t vc_2; /* video capture crtl 2 */ 75 volatile uint32_t vc_3; /* video capture crtl 3 */ 76 volatile uint32_t vc_4; /* video capture crtl 4 */ 77 volatile uint32_t vc_5; /* video capture crtl 5 */ 78 volatile uint32_t vc_6; /* video capture crtl 6 */ 79 volatile uint32_t vc_7; /* video capture crtl 7 */ 80 volatile uint32_t vc_8; /* video capture crtl 8 */
|
H A D | display_timing.h | 46 * (see include/video/videomode.h). As each timing_entry can be defined as a 63 struct timing_entry hactive; /* hor. active video */ 68 struct timing_entry vactive; /* ver. active video */
|
H A D | pmag-ba-fb.h | 2 * linux/include/video/pmag-ba-fb.h
|
H A D | videomode.h | 13 #include <video/display_timing.h>
|
H A D | kyro.h | 2 * linux/drivers/video/kyro/kryo.h 70 * for the creation of overlay surfaces and setting the video mode.
|
H A D | sstfb.h | 2 * linux/drivers/video/sstfb.h -- voodoo graphics frame buffer 84 #define PCI_VCLK_ENABLE 0xc0 /* enable video */ 124 #define FBIINIT1 0x0214 /* PCI + video controls */ 125 # define VIDEO_MASK 0x8080010f /* masks video related bits V1+V2*/ 165 # define FBIINIT5_MASK 0xfa40ffff /* mask video bits*/ 241 * 8 freq registers (0-7) for video clock (CLK0)
|
/linux-4.1.27/drivers/staging/xgifb/ |
H A D | vgatypes.h | 5 #include "../../video/fbdev/sis/vgatypes.h" 6 #include "../../video/fbdev/sis/sis.h" /* for LCD_TYPE */ 18 VB_CHIP_UNKNOWN, /* other video bridge or no video bridge */ 23 unsigned long ulExternalChip; /* NO VB or other video bridge*/ 39 unsigned char ujVBChipID; /* the ID of video bridge */
|
/linux-4.1.27/drivers/media/usb/hdpvr/ |
H A D | Makefile | 1 hdpvr-objs := hdpvr-control.o hdpvr-core.o hdpvr-video.o hdpvr-i2c.o
|
/linux-4.1.27/drivers/media/usb/stk1160/ |
H A D | Makefile | 5 stk1160-video.o \
|
H A D | stk1160.h | 44 /* Max and min video buffers */ 78 /* Buffer for one video frame */ 133 /* video capture */ 182 /* Provided by stk1160-video.c */
|
H A D | stk1160-core.c | 122 v4l2_device_call_all(&dev->v4l2_dev, 0, video, s_routing, stk1160_select_input() 224 dev_err(&udev->dev, "no audio or video endpoints found\n"); stk1160_scan_usb() 258 dev_info(&udev->dev, "video interface %d found\n", stk1160_scan_usb() 263 * video stream wouldn't likely work, since 12 Mbps is generally stk1160_scan_usb() 268 You may not be able to stream video smoothly\n"); stk1160_scan_usb() 344 * registration of video device node as the last thing. stk1160_probe() 371 v4l2_device_call_all(&dev->v4l2_dev, 0, video, s_stream, 0); stk1160_probe()
|
H A D | stk1160-v4l.c | 45 /* supported video standards */ 195 v4l2_device_call_all(&dev->v4l2_dev, 0, video, s_stream, 1); stk1160_start_streaming() 235 v4l2_device_call_all(&dev->v4l2_dev, 0, video, s_stream, 0); stk1160_stop_hw() 366 v4l2_device_call_all(&dev->v4l2_dev, 0, video, querystd, norm); vidioc_querystd() 396 /* This is taken from saa7115 video decoder */ vidioc_s_std() 410 v4l2_device_call_all(&dev->v4l2_dev, 0, video, s_std, vidioc_s_std() 659 /* initialize video dma queue */ stk1160_vb2_setup() 692 v4l2_device_call_all(&dev->v4l2_dev, 0, video, s_std, stk1160_video_register()
|
/linux-4.1.27/drivers/media/usb/usbvision/ |
H A D | Makefile | 1 usbvision-objs := usbvision-core.o usbvision-video.o usbvision-i2c.o usbvision-cards.o
|
/linux-4.1.27/drivers/acpi/ |
H A D | video.c | 2 * video.c - ACPI Video Driver 43 #include <acpi/video.h> 65 ACPI_MODULE_NAME("video"); 75 * By default, we don't allow duplicate ACPI video bus devices 82 * For Windows 8 systems: used to decide if video module 109 .name = "video", 120 u8 multihead:1; /* can switch video heads */ 121 u8 rom:1; /* can retrieve a video rom */ 216 struct acpi_video_bus *video; member in struct:acpi_video_device 231 static void acpi_video_device_rebind(struct acpi_video_bus *video); 232 static void acpi_video_device_bind(struct acpi_video_bus *video, 234 static int acpi_video_device_enumerate(struct acpi_video_bus *video); 302 struct acpi_video_device *video = acpi_driver_data(device); video_get_max_state() local 304 *state = video->brightness->count - 3; video_get_max_state() 312 struct acpi_video_device *video = acpi_driver_data(device); video_get_cur_state() local 316 if (acpi_video_device_lcd_get_level_current(video, &level, false)) video_get_cur_state() 318 for (offset = 2; offset < video->brightness->count; offset++) video_get_cur_state() 319 if (level == video->brightness->levels[offset]) { video_get_cur_state() 320 *state = video->brightness->count - offset - 1; video_get_cur_state() 331 struct acpi_video_device *video = acpi_driver_data(device); video_set_cur_state() local 334 if (state >= video->brightness->count - 2) video_set_cur_state() 337 state = video->brightness->count - state; video_set_cur_state() 338 level = video->brightness->levels[state - 1]; video_set_cur_state() 339 return acpi_video_device_lcd_set_level(video, level); video_set_cur_state() 657 * ACPI video backlight still works w/ buggy _BQC. acpi_video_device_lcd_get_level_current() 712 * video : video bus device pointer 732 acpi_video_bus_DOS(struct acpi_video_bus *video, int bios_flag, int lcd_flag) acpi_video_bus_DOS() argument 736 if (!video->cap._DOS) acpi_video_bus_DOS() 741 video->dos_setting = (lcd_flag << 2) | bios_flag; acpi_video_bus_DOS() 742 status = acpi_execute_simple_method(video->device->handle, "_DOS", acpi_video_bus_DOS() 812 * device : video output device (LCD, CRT, ..) 962 * device : video output device (LCD, CRT, ..) 992 * device : video output device (VGA) 997 * Find out all required AML methods defined under the video bus device. 1000 static void acpi_video_bus_find_cap(struct acpi_video_bus *video) acpi_video_bus_find_cap() argument 1002 if (acpi_has_method(video->device->handle, "_DOS")) acpi_video_bus_find_cap() 1003 video->cap._DOS = 1; acpi_video_bus_find_cap() 1004 if (acpi_has_method(video->device->handle, "_DOD")) acpi_video_bus_find_cap() 1005 video->cap._DOD = 1; acpi_video_bus_find_cap() 1006 if (acpi_has_method(video->device->handle, "_ROM")) acpi_video_bus_find_cap() 1007 video->cap._ROM = 1; acpi_video_bus_find_cap() 1008 if (acpi_has_method(video->device->handle, "_GPD")) acpi_video_bus_find_cap() 1009 video->cap._GPD = 1; acpi_video_bus_find_cap() 1010 if (acpi_has_method(video->device->handle, "_SPD")) acpi_video_bus_find_cap() 1011 video->cap._SPD = 1; acpi_video_bus_find_cap() 1012 if (acpi_has_method(video->device->handle, "_VPO")) acpi_video_bus_find_cap() 1013 video->cap._VPO = 1; acpi_video_bus_find_cap() 1017 * Check whether the video bus device has required AML method to 1021 static int acpi_video_bus_check(struct acpi_video_bus *video) acpi_video_bus_check() argument 1026 if (!video) acpi_video_bus_check() 1029 dev = acpi_get_pci_dev(video->device->handle); acpi_video_bus_check() 1039 /* Does this device support video switching? */ acpi_video_bus_check() 1040 if (video->cap._DOS || video->cap._DOD) { acpi_video_bus_check() 1041 if (!video->cap._DOS) { acpi_video_bus_check() 1044 acpi_device_bid(video->device)); acpi_video_bus_check() 1046 video->flags.multihead = 1; acpi_video_bus_check() 1050 /* Does this device support retrieving a video ROM? */ acpi_video_bus_check() 1051 if (video->cap._ROM) { acpi_video_bus_check() 1052 video->flags.rom = 1; acpi_video_bus_check() 1056 /* Does this device support configuring which video device to POST? */ acpi_video_bus_check() 1057 if (video->cap._GPD && video->cap._SPD && video->cap._VPO) { acpi_video_bus_check() 1058 video->flags.post = 1; acpi_video_bus_check() 1073 acpi_video_get_device_attr(struct acpi_video_bus *video, unsigned long device_id) acpi_video_get_device_attr() argument 1078 for (i = 0; i < video->attached_count; i++) { acpi_video_get_device_attr() 1079 ids = &video->attached_array[i]; acpi_video_get_device_attr() 1088 acpi_video_get_device_type(struct acpi_video_bus *video, acpi_video_get_device_type() argument 1094 for (i = 0; i < video->attached_count; i++) { acpi_video_get_device_type() 1095 ids = &video->attached_array[i]; acpi_video_get_device_type() 1105 struct acpi_video_bus *video) acpi_video_bus_get_one_device() 1127 data->video = video; acpi_video_bus_get_one_device() 1132 attribute = acpi_video_get_device_attr(video, device_id); acpi_video_bus_get_one_device() 1156 device_type = acpi_video_get_device_type(video, device_id); acpi_video_bus_get_one_device() 1173 acpi_video_device_bind(video, data); acpi_video_bus_get_one_device() 1176 mutex_lock(&video->device_list_lock); acpi_video_bus_get_one_device() 1177 list_add_tail(&data->entry, &video->video_device_list); acpi_video_bus_get_one_device() 1178 mutex_unlock(&video->device_list_lock); acpi_video_bus_get_one_device() 1185 * video : video bus device 1190 * Enumerate the video device list of the video bus, 1191 * bind the ids with the corresponding video devices 1192 * under the video bus. 1195 static void acpi_video_device_rebind(struct acpi_video_bus *video) acpi_video_device_rebind() argument 1199 mutex_lock(&video->device_list_lock); acpi_video_device_rebind() 1201 list_for_each_entry(dev, &video->video_device_list, entry) acpi_video_device_rebind() 1202 acpi_video_device_bind(video, dev); acpi_video_device_rebind() 1204 mutex_unlock(&video->device_list_lock); acpi_video_device_rebind() 1209 * video : video bus device 1210 * device : video output device under the video 1216 * Bind the ids with the corresponding video devices 1217 * under the video bus. 1221 acpi_video_device_bind(struct acpi_video_bus *video, acpi_video_device_bind() argument 1227 for (i = 0; i < video->attached_count; i++) { acpi_video_device_bind() 1228 ids = &video->attached_array[i]; acpi_video_device_bind() 1238 struct acpi_video_bus *video = device->video; acpi_video_device_in_dod() local 1246 if (!video->attached_count || video->child_count > 8) acpi_video_device_in_dod() 1249 for (i = 0; i < video->attached_count; i++) { acpi_video_device_in_dod() 1250 if ((video->attached_array[i].value.int_val & 0xfff) == acpi_video_device_in_dod() 1260 * video : video bus device 1269 static int acpi_video_device_enumerate(struct acpi_video_bus *video) acpi_video_device_enumerate() argument 1279 status = acpi_evaluate_object(video->device->handle, "_DOD", NULL, &buffer); acpi_video_device_enumerate() 1292 ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Found %d video heads in _DOD\n", acpi_video_device_enumerate() 1320 kfree(video->attached_array); acpi_video_device_enumerate() 1322 video->attached_array = active_list; acpi_video_device_enumerate() 1323 video->attached_count = count; acpi_video_device_enumerate() 1413 struct acpi_video_bus *video; acpi_video_get_edid() local 1422 video = acpi_driver_data(device); acpi_video_get_edid() 1424 for (i = 0; i < video->attached_count; i++) { acpi_video_get_edid() 1425 video_device = video->attached_array[i].bind_info; acpi_video_get_edid() 1479 acpi_video_bus_get_devices(struct acpi_video_bus *video, acpi_video_bus_get_devices() argument 1486 * There are systems where video module known to work fine regardless acpi_video_bus_get_devices() 1490 acpi_video_device_enumerate(video); acpi_video_bus_get_devices() 1494 status = acpi_video_bus_get_one_device(dev, video); acpi_video_bus_get_devices() 1499 video->child_count++; acpi_video_bus_get_devices() 1510 static int acpi_video_bus_start_devices(struct acpi_video_bus *video) acpi_video_bus_start_devices() argument 1512 return acpi_video_bus_DOS(video, 0, acpi_video_bus_start_devices() 1516 static int acpi_video_bus_stop_devices(struct acpi_video_bus *video) acpi_video_bus_stop_devices() argument 1518 return acpi_video_bus_DOS(video, 0, acpi_video_bus_stop_devices() 1524 struct acpi_video_bus *video = acpi_driver_data(device); acpi_video_bus_notify() local 1528 if (!video || !video->input) acpi_video_bus_notify() 1531 input = video->input; acpi_video_bus_notify() 1539 case ACPI_VIDEO_NOTIFY_PROBE: /* User plugged in or removed a video acpi_video_bus_notify() 1541 acpi_video_device_enumerate(video); acpi_video_bus_notify() 1542 acpi_video_device_rebind(video); acpi_video_bus_notify() 1598 bus = video_device->video; acpi_video_device_notify() 1643 struct acpi_video_bus *video; acpi_video_resume() local 1654 video = container_of(nb, struct acpi_video_bus, pm_nb); acpi_video_resume() 1656 dev_info(&video->device->dev, "Restoring backlight state\n"); acpi_video_resume() 1658 for (i = 0; i < video->attached_count; i++) { acpi_video_resume() 1659 video_device = video->attached_array[i].bind_info; acpi_video_resume() 1699 * Do not create backlight device for video output acpi_video_dev_register_backlight() 1748 * register video output if cooling device registration failed? acpi_video_dev_register_backlight() 1768 static void acpi_video_run_bcl_for_osi(struct acpi_video_bus *video) acpi_video_run_bcl_for_osi() argument 1773 mutex_lock(&video->device_list_lock); acpi_video_run_bcl_for_osi() 1774 list_for_each_entry(dev, &video->video_device_list, entry) { acpi_video_run_bcl_for_osi() 1778 mutex_unlock(&video->device_list_lock); acpi_video_run_bcl_for_osi() 1781 static int acpi_video_bus_register_backlight(struct acpi_video_bus *video) acpi_video_bus_register_backlight() argument 1785 if (video->backlight_registered) acpi_video_bus_register_backlight() 1788 acpi_video_run_bcl_for_osi(video); acpi_video_bus_register_backlight() 1793 mutex_lock(&video->device_list_lock); acpi_video_bus_register_backlight() 1794 list_for_each_entry(dev, &video->video_device_list, entry) acpi_video_bus_register_backlight() 1796 mutex_unlock(&video->device_list_lock); acpi_video_bus_register_backlight() 1798 video->backlight_registered = true; acpi_video_bus_register_backlight() 1800 video->pm_nb.notifier_call = acpi_video_resume; acpi_video_bus_register_backlight() 1801 video->pm_nb.priority = 0; acpi_video_bus_register_backlight() 1802 return register_pm_notifier(&video->pm_nb); acpi_video_bus_register_backlight() 1824 static int acpi_video_bus_unregister_backlight(struct acpi_video_bus *video) acpi_video_bus_unregister_backlight() argument 1829 if (!video->backlight_registered) acpi_video_bus_unregister_backlight() 1832 error = unregister_pm_notifier(&video->pm_nb); acpi_video_bus_unregister_backlight() 1834 mutex_lock(&video->device_list_lock); acpi_video_bus_unregister_backlight() 1835 list_for_each_entry(dev, &video->video_device_list, entry) acpi_video_bus_unregister_backlight() 1837 mutex_unlock(&video->device_list_lock); acpi_video_bus_unregister_backlight() 1839 video->backlight_registered = false; acpi_video_bus_unregister_backlight() 1857 static int acpi_video_bus_add_notify_handler(struct acpi_video_bus *video) acpi_video_bus_add_notify_handler() argument 1863 video->input = input = input_allocate_device(); acpi_video_bus_add_notify_handler() 1869 error = acpi_video_bus_start_devices(video); acpi_video_bus_add_notify_handler() 1873 snprintf(video->phys, sizeof(video->phys), acpi_video_bus_add_notify_handler() 1874 "%s/video/input0", acpi_device_hid(video->device)); acpi_video_bus_add_notify_handler() 1876 input->name = acpi_device_name(video->device); acpi_video_bus_add_notify_handler() 1877 input->phys = video->phys; acpi_video_bus_add_notify_handler() 1880 input->dev.parent = &video->device->dev; acpi_video_bus_add_notify_handler() 1895 mutex_lock(&video->device_list_lock); acpi_video_bus_add_notify_handler() 1896 list_for_each_entry(dev, &video->video_device_list, entry) acpi_video_bus_add_notify_handler() 1898 mutex_unlock(&video->device_list_lock); acpi_video_bus_add_notify_handler() 1903 acpi_video_bus_stop_devices(video); acpi_video_bus_add_notify_handler() 1906 video->input = NULL; acpi_video_bus_add_notify_handler() 1920 static void acpi_video_bus_remove_notify_handler(struct acpi_video_bus *video) acpi_video_bus_remove_notify_handler() argument 1924 mutex_lock(&video->device_list_lock); acpi_video_bus_remove_notify_handler() 1925 list_for_each_entry(dev, &video->video_device_list, entry) acpi_video_bus_remove_notify_handler() 1927 mutex_unlock(&video->device_list_lock); acpi_video_bus_remove_notify_handler() 1929 acpi_video_bus_stop_devices(video); acpi_video_bus_remove_notify_handler() 1930 input_unregister_device(video->input); acpi_video_bus_remove_notify_handler() 1931 video->input = NULL; acpi_video_bus_remove_notify_handler() 1938 struct acpi_video_bus *video; acpi_video_backlight_notify() local 1944 video = container_of(nb, struct acpi_video_bus, backlight_nb); acpi_video_backlight_notify() 1949 acpi_video_bus_unregister_backlight(video); acpi_video_backlight_notify() 1952 acpi_video_bus_register_backlight(video); acpi_video_backlight_notify() 1960 struct acpi_video_bus *video) acpi_video_bus_add_backlight_notify_handler() 1964 video->backlight_nb.notifier_call = acpi_video_backlight_notify; acpi_video_bus_add_backlight_notify_handler() 1965 video->backlight_nb.priority = 0; acpi_video_bus_add_backlight_notify_handler() 1966 error = backlight_register_notifier(&video->backlight_nb); acpi_video_bus_add_backlight_notify_handler() 1968 video->backlight_notifier_registered = true; acpi_video_bus_add_backlight_notify_handler() 1974 struct acpi_video_bus *video) acpi_video_bus_remove_backlight_notify_handler() 1976 if (!video->backlight_notifier_registered) acpi_video_bus_remove_backlight_notify_handler() 1979 video->backlight_notifier_registered = false; acpi_video_bus_remove_backlight_notify_handler() 1981 return backlight_unregister_notifier(&video->backlight_nb); acpi_video_bus_remove_backlight_notify_handler() 1984 static int acpi_video_bus_put_devices(struct acpi_video_bus *video) acpi_video_bus_put_devices() argument 1988 mutex_lock(&video->device_list_lock); acpi_video_bus_put_devices() 1989 list_for_each_entry_safe(dev, next, &video->video_device_list, entry) { acpi_video_bus_put_devices() 1993 mutex_unlock(&video->device_list_lock); acpi_video_bus_put_devices() 2002 struct acpi_video_bus *video; acpi_video_bus_add() local 2012 "Duplicate ACPI video bus devices for the" acpi_video_bus_add() 2014 "parameter \"video.allow_duplicates=1\"" acpi_video_bus_add() 2020 video = kzalloc(sizeof(struct acpi_video_bus), GFP_KERNEL); acpi_video_bus_add() 2021 if (!video) acpi_video_bus_add() 2037 video->device = device; acpi_video_bus_add() 2040 device->driver_data = video; acpi_video_bus_add() 2042 acpi_video_bus_find_cap(video); acpi_video_bus_add() 2043 error = acpi_video_bus_check(video); acpi_video_bus_add() 2047 mutex_init(&video->device_list_lock); acpi_video_bus_add() 2048 INIT_LIST_HEAD(&video->video_device_list); acpi_video_bus_add() 2050 error = acpi_video_bus_get_devices(video, device); acpi_video_bus_add() 2056 video->flags.multihead ? "yes" : "no", acpi_video_bus_add() 2057 video->flags.rom ? "yes" : "no", acpi_video_bus_add() 2058 video->flags.post ? "yes" : "no"); acpi_video_bus_add() 2060 list_add_tail(&video->entry, &video_bus_head); acpi_video_bus_add() 2063 acpi_video_bus_register_backlight(video); acpi_video_bus_add() 2064 acpi_video_bus_add_notify_handler(video); acpi_video_bus_add() 2065 acpi_video_bus_add_backlight_notify_handler(video); acpi_video_bus_add() 2070 acpi_video_bus_put_devices(video); acpi_video_bus_add() 2071 kfree(video->attached_array); acpi_video_bus_add() 2073 kfree(video); acpi_video_bus_add() 2081 struct acpi_video_bus *video = NULL; acpi_video_bus_remove() local 2087 video = acpi_driver_data(device); acpi_video_bus_remove() 2089 acpi_video_bus_remove_backlight_notify_handler(video); acpi_video_bus_remove() 2090 acpi_video_bus_remove_notify_handler(video); acpi_video_bus_remove() 2091 acpi_video_bus_unregister_backlight(video); acpi_video_bus_remove() 2092 acpi_video_bus_put_devices(video); acpi_video_bus_remove() 2095 list_del(&video->entry); acpi_video_bus_remove() 2098 kfree(video->attached_array); acpi_video_bus_remove() 2099 kfree(video); acpi_video_bus_remove() 2168 * If the acpi video bus is already unloaded, don't acpi_video_unregister() 2183 struct acpi_video_bus *video; acpi_video_unregister_backlight() local 2189 list_for_each_entry(video, &video_bus_head, entry) acpi_video_unregister_backlight() 2190 acpi_video_bus_unregister_backlight(video); acpi_video_unregister_backlight() 2197 * the video opregion code to be run first in order to initialise 2198 * state before any ACPI video calls are made. To handle this we defer 2199 * registration of the video class until the opregion code has run. 1104 acpi_video_bus_get_one_device(struct acpi_device *device, struct acpi_video_bus *video) acpi_video_bus_get_one_device() argument 1959 acpi_video_bus_add_backlight_notify_handler( struct acpi_video_bus *video) acpi_video_bus_add_backlight_notify_handler() argument 1973 acpi_video_bus_remove_backlight_notify_handler( struct acpi_video_bus *video) acpi_video_bus_remove_backlight_notify_handler() argument
|
H A D | video_detect.c | 9 * There a Linux specific (Spec does not provide a HID for video devices) is 18 * video capabilities will be triggered by the first caller of 24 * are available, video.ko should be used to handle the device. 43 ACPI_MODULE_NAME("video"); 69 /* Returns true if the ACPI object is a video device which can be 70 * handled by video.ko. 74 * Use acpi_video_get_capabilities() to detect general ACPI video 81 /* Is this device able to support video switching ? */ acpi_is_video_device() 85 /* Is this device able to retrieve a video ROM ? */ acpi_is_video_device() 89 /* Is this device able to configure which video head to be POSTed ? */ acpi_is_video_device() 141 * reboot. It's why we should prevent video.ko from being used here 173 * Returns the video capabilities of a specific ACPI graphics device 216 ACPI_DEBUG_PRINT((ACPI_DB_INFO, "We have 0x%lX video support %s %s\n", acpi_video_get_capabilities() 240 /* Promote the vendor interface instead of the generic video module. 244 * acpi_video_unregister() to make sure the video module is not loaded 262 /* Returns true if video.ko can do backlight switching */ acpi_video_backlight_support() 285 * Use acpi_backlight=vendor/video to force that backlight switching 286 * is processed by vendor specific acpi drivers or video.ko driver. 296 if (!strcmp("video", str)) acpi_backlight()
|
/linux-4.1.27/arch/x86/realmode/rm/ |
H A D | Makefile | 13 wakeup-objs := wakeup_asm.o wakemain.o video-mode.o 15 # The link order of the video-*.o modules can matter. In particular, 16 # video-vga.o *must* be listed first, followed by video-vesa.o. 18 # probed, and video-bios.o should typically be last. 19 wakeup-objs += video-vga.o 20 wakeup-objs += video-vesa.o 21 wakeup-objs += video-bios.o
|
/linux-4.1.27/arch/sh/include/mach-migor/mach/ |
H A D | migor.h | 10 #include <video/sh_mobile_lcdc.h>
|
/linux-4.1.27/drivers/media/platform/exynos4-is/ |
H A D | fimc-isp-video.c | 4 * FIMC-IS ISP video input and video output DMA interface driver 38 #include "fimc-isp-video.h" 91 struct fimc_is_video *video = &isp->video_capture; isp_video_capture_start_streaming() local 103 dma->buffer_number = video->reqbufs_count; isp_video_capture_start_streaming() 104 dma->dma_out_mask = video->buf_mask; isp_video_capture_start_streaming() 106 isp_dbg(2, &video->ve.vdev, isp_video_capture_start_streaming() 108 video->buf_count, video->format->memplanes, isp_video_capture_start_streaming() 120 ret = fimc_pipeline_call(&video->ve, set_stream, 1); isp_video_capture_start_streaming() 163 struct fimc_is_video *video = &isp->video_capture; isp_video_capture_buffer_prepare() local 166 if (video->format == NULL) isp_video_capture_buffer_prepare() 169 for (i = 0; i < video->format->memplanes; i++) { isp_video_capture_buffer_prepare() 170 unsigned long size = video->pixfmt.plane_fmt[i].sizeimage; isp_video_capture_buffer_prepare() 173 v4l2_err(&video->ve.vdev, isp_video_capture_buffer_prepare() 186 for (i = 0; i < video->buf_count; i++) isp_video_capture_buffer_prepare() 187 if (video->buffers[i]->dma_addr[0] == dma_addr) isp_video_capture_buffer_prepare() 198 struct fimc_is_video *video = &isp->video_capture; isp_video_capture_buffer_queue() local 206 video->buf_mask |= BIT(ivb->index); isp_video_capture_buffer_queue() 209 unsigned int num_planes = video->format->memplanes; isp_video_capture_buffer_queue() 211 ivb->index = video->buf_count; isp_video_capture_buffer_queue() 212 video->buffers[ivb->index] = ivb; isp_video_capture_buffer_queue() 221 isp_dbg(2, &video->ve.vdev, isp_video_capture_buffer_queue() 227 if (++video->buf_count < video->reqbufs_count) isp_video_capture_buffer_queue() 230 video->buf_mask = (1UL << video->buf_count) - 1; isp_video_capture_buffer_queue() 244 struct fimc_is_video *video = &is->isp.video_capture; fimc_isp_video_irq_handler() local 252 buf_index = (is->i2h_cmd.args[1] - 1) % video->buf_count; fimc_isp_video_irq_handler() 253 vb = &video->buffers[buf_index]->vb; fimc_isp_video_irq_handler() 258 video->buf_mask &= ~BIT(buf_index); fimc_isp_video_irq_handler() 259 fimc_is_hw_set_isp_buf_mask(is, video->buf_mask); fimc_isp_video_irq_handler() 295 /* Mark the video pipeline as in use. */ isp_video_open() 521 struct fimc_is_video *video = &isp->video_capture; isp_video_streamoff() local 528 media_entity_pipeline_stop(&video->ve.vdev.entity); isp_video_streamoff() 529 video->streaming = 0; isp_video_streamoff()
|
H A D | fimc-isp.h | 115 * struct fimc_is_video - fimc-is video device structure 117 * @type: video device type (CAPTURE/OUTPUT) 118 * @pad: video device media (sink) pad 122 * @active_buf_count: number of video buffers scheduled in hardware 156 * @video_lock: mutex serializing video device and the subdev operations 160 * @video_capture: the ISP block video capture device
|
H A D | Makefile | 10 exynos-fimc-is-objs += fimc-isp-video.o
|
H A D | fimc-lite.h | 96 * struct flite_buffer - video buffer structure 113 * @ve: exynos video device entity structure 118 * @vd_pad: media (sink) pad for the capture video node 124 * @pipeline: video capture pipeline data structure 125 * @pipeline_ops: media pipeline ops for the video node driver 127 * @lock: mutex serializing video device and the subdev operations 141 * @active_buf_count: number of video buffers scheduled in hardware
|
H A D | fimc-is-sensor.h | 45 * @test_pattern: true to enable video test pattern
|
/linux-4.1.27/drivers/media/pci/cx18/ |
H A D | cx18-video.c | 2 * cx18 video interface functions 23 #include "cx18-video.h" 30 v4l2_subdev_call(cx->sd_av, video, s_routing, cx18_video_set_io()
|
H A D | Makefile | 3 cx18-mailbox.o cx18-vbi.o cx18-audio.o cx18-video.o cx18-irq.o \
|
H A D | cx18-cards.h | 40 /* video inputs */ 64 u8 video_type; /* video input type */ 66 u32 video_input; /* hardware video input */
|
H A D | cx18-av-core.c | 173 /* video output drive strength */ cx18_av_initialize() 176 /* reset video */ cx18_av_initialize() 200 /* set video to auto-detect */ cx18_av_initialize() 221 /* Set the video input. cx18_av_initialize() 236 * clamp_sel_ch1 video decoder cx18_av_initialize() 238 * vga_sel_ch[1-2] video decoder cx18_av_initialize() 324 * vblank656: half lines after line 625/mid-313 of blanked video cx18_av_std_setup() 325 * vblank: half lines, after line 5/317, of blanked video cx18_av_std_setup() 326 * vactive: half lines of active video + cx18_av_std_setup() 327 * 5 half lines after the end of active video cx18_av_std_setup() 345 * video must be included in vactive (579 instead of 574), cx18_av_std_setup() 358 * the end of active video to start a horizontal line, so that cx18_av_std_setup() 397 * vblank656: half lines, after line 3/mid-266, of blanked video cx18_av_std_setup() 398 * vblank: half lines, after line 9/272, of blanked video cx18_av_std_setup() 399 * vactive: half lines of active video cx18_av_std_setup() 418 * end of active video, leaving 122 pixels of hblank to ignore cx18_av_std_setup() 419 * before active video starts. cx18_av_std_setup() 601 CX18_DEBUG_INFO_DEV(sd, "decoder set video input %d, audio input %d\n", set_input() 621 CX18_ERR_DEV(sd, "0x%06x is not a valid video input!\n", set_input() 641 CX18_ERR_DEV(sd, "0x%06x is not a valid video input!\n", set_input() 894 CX18_DEBUG_INFO_DEV(sd, "changing video std to fmt %i\n", fmt); cx18_av_s_std() 1063 CX18_INFO_DEV(sd, "Specified video input: Composite %d\n", log_video_status() 1066 CX18_INFO_DEV(sd, "Specified video input: " log_video_status() 1302 .video = &cx18_av_video_ops,
|
/linux-4.1.27/drivers/media/platform/ |
H A D | via-camera.h | 5 #define VCR_IC_EAV 0x0001 /* End of active video status */ 8 #define VCR_IC_ACTBUF 0x0018 /* Active video buffer */ 9 #define VCR_IC_VSYNC 0x0020 /* 0 = VB, 1 = active video */ 12 #define VCR_IC_INTEN 0x0100 /* End of active video int. enable */ 66 #define VCR_HORRANGE 0x314 /* Active video horizontal range */ 67 #define VCR_VERTRANGE 0x318 /* Active video vertical range */ 68 #define VCR_AVSCALE 0x31c /* Active video scaling control */ 76 #define VCR_MAXDATA 0x334 /* Active data count of active video */ 79 #define VCR_VBUF1 0x340 /* First video buffer */ 80 #define VCR_VBUF2 0x344 /* Second video buffer */ 81 #define VCR_VBUF3 0x348 /* Third video buffer */ 84 #define VCR_VSTRIDE 0x350 /* Stride of video + coring control */
|
/linux-4.1.27/arch/arm/mach-omap2/ |
H A D | board-rx51-video.c | 2 * linux/arch/arm/mach-omap2/board-rx51-video.c 18 #include <video/omapdss.h> 19 #include <video/omap-panel-data.h>
|
/linux-4.1.27/arch/x86/boot/ |
H A D | video.h | 12 * Header file for the real-mode video probing code 21 * This code uses an extended set of video mode numbers. These include: 31 /* Standard BIOS video modes (BIOS number + 0x0100) */ 34 /* VESA BIOS video modes (VESA number + 0x0200) */ 40 /* Special video modes */ 86 int mode_defined(u16 mode); /* video.c */ 88 /* Basic video information */ 118 u16 vga_crtc(void); /* video-vga.c */
|
H A D | video-bios.c | 13 * Standard video BIOS modes 19 #include "video.h" 43 do_restore = 1; /* Assume video contents were lost */ set_bios_mode() 55 video mode. */ set_bios_mode()
|
H A D | video-mode.c | 12 * arch/i386/boot/video-mode.c 14 * Set the video mode. This is separated out into a different 19 #include "video.h" 30 /* Probe the video drivers and have them generate their mode lists. */ probe_cards() 114 * Recalculate the vertical video cutoff (hack!)
|
H A D | Makefile | 27 setup-y += pm.o pmjump.o printf.o regs.o string.o tty.o video.o 28 setup-y += video-mode.o version.o 31 # The link order of the video-*.o modules can matter. In particular, 32 # video-vga.o *must* be listed first, followed by video-vesa.o. 34 # probed, and video-bios.o should typically be last. 35 setup-y += video-vga.o 36 setup-y += video-vesa.o 37 setup-y += video-bios.o
|
H A D | video.c | 13 * Select video mode 17 #include "video.h" 44 /* N.B.: the saving of the video page here is a bit silly, store_video_mode() 56 * Store the video mode parameters for later usage by the kernel. 67 (currently only video-vesa.c) to store the parameters */ store_mode_params() 205 puts("Press <ENTER> to see video modes available, " mode_menu() 222 puts("Enter a video mode or \"scan\" to scan for " mode_menu() 334 printf("Undefined video mode number: %x\n", mode); set_video()
|
H A D | video-vga.c | 17 #include "video.h" 126 /* Reset video mode */ vga_set_80x43() 231 * video-vga.c is listed first in the Makefile.
|
/linux-4.1.27/drivers/media/pci/cx23885/ |
H A D | Makefile | 1 cx23885-objs := cx23885-cards.o cx23885-video.o cx23885-vbi.o \
|
/linux-4.1.27/drivers/media/usb/au0828/ |
H A D | Makefile | 4 au0828-objs += au0828-video.o au0828-vbi.o
|
H A D | au0828-cards.c | 166 case 72001: /* WinTV-HVR950q (Retail, IR, ATSC/QAM and analog video */ hauppauge_eeprom() 167 case 72101: /* WinTV-HVR950q (Retail, IR, ATSC/QAM and analog video */ hauppauge_eeprom() 168 case 72201: /* WinTV-HVR950q (OEM, IR, ATSC/QAM and analog video */ hauppauge_eeprom() 169 case 72211: /* WinTV-HVR950q (OEM, IR, ATSC/QAM and analog video */ hauppauge_eeprom() 170 case 72221: /* WinTV-HVR950q (OEM, IR, ATSC/QAM and analog video */ hauppauge_eeprom() 171 case 72231: /* WinTV-HVR950q (OEM, IR, ATSC/QAM and analog video */ hauppauge_eeprom() 172 case 72241: /* WinTV-HVR950q (OEM, No IR, ATSC/QAM and analog video */ hauppauge_eeprom() 173 case 72251: /* WinTV-HVR950q (Retail, IR, ATSC/QAM and analog video */ hauppauge_eeprom() 174 case 72261: /* WinTV-HVR950q (OEM, No IR, ATSC/QAM and analog video */ hauppauge_eeprom() 175 case 72271: /* WinTV-HVR950q (OEM, No IR, ATSC/QAM and analog video */ hauppauge_eeprom() 176 case 72281: /* WinTV-HVR950q (OEM, No IR, ATSC/QAM and analog video */ hauppauge_eeprom() 177 case 72301: /* WinTV-HVR850 (Retail, IR, ATSC and analog video */ hauppauge_eeprom()
|
/linux-4.1.27/drivers/media/usb/cx231xx/ |
H A D | Makefile | 1 cx231xx-y += cx231xx-video.o cx231xx-i2c.o cx231xx-cards.o cx231xx-core.o
|
/linux-4.1.27/drivers/media/usb/em28xx/ |
H A D | Makefile | 3 em28xx-v4l-objs := em28xx-video.o em28xx-vbi.o
|
/linux-4.1.27/drivers/media/usb/tm6000/ |
H A D | Makefile | 4 tm6000-video.o \
|
H A D | tm6000.h | 2 * tm6000.h - driver for TM5600/TM6000/TM6010 USB video capture devices 84 /* buffer for one video frame */ 96 /* thread for generating video stream*/ 216 /* video for linux */ 231 struct tm6000_input vinput[3]; /* video input */ 298 /* video capture */ 405 #define V4L2_DEBUG_OPEN 0x0080 /* video open/close debug */
|
/linux-4.1.27/drivers/video/ |
H A D | display_timing.c | 11 #include <video/display_timing.h>
|
H A D | of_videomode.c | 11 #include <video/display_timing.h> 12 #include <video/of_display_timing.h> 13 #include <video/of_videomode.h> 14 #include <video/videomode.h>
|
H A D | videomode.c | 11 #include <video/display_timing.h> 12 #include <video/videomode.h>
|
/linux-4.1.27/drivers/video/fbdev/matrox/ |
H A D | matroxfb_crtc2.h | 22 } video; member in struct:matroxfb_dh_fb_info
|
H A D | matroxfb_crtc2.c | 179 pos += m2info->video.offbase; matroxfb_dh_pan_var() 204 vramlen = m2info->video.len_usable; matroxfb_dh_decode_var() 303 fix->smem_start = m2info->video.base; matroxfb_dh_init_fix() 304 fix->smem_len = m2info->video.len_usable; matroxfb_dh_init_fix() 336 m2info->fbcon.screen_base = vaddr_va(m2info->video.vbase); matroxfb_dh_set_par() 354 pos += m2info->video.offbase; matroxfb_dh_set_par() 616 if (minfo->video.len_usable + mem <= minfo->video.len) matroxfb_dh_regit() 617 m2info->video.offbase = minfo->video.len - mem; matroxfb_dh_regit() 618 else if (minfo->video.len < mem) { matroxfb_dh_regit() 621 m2info->video.borrowed = mem; matroxfb_dh_regit() 622 minfo->video.len_usable -= mem; matroxfb_dh_regit() 623 m2info->video.offbase = minfo->video.len_usable; matroxfb_dh_regit() 625 m2info->video.base = minfo->video.base + m2info->video.offbase; matroxfb_dh_regit() 626 m2info->video.len = m2info->video.len_usable = m2info->video.len_maximum = mem; matroxfb_dh_regit() 627 m2info->video.vbase.vaddr = vaddr_va(minfo->video.vbase) + m2info->video.offbase; matroxfb_dh_regit() 685 minfo->video.len_usable += m2info->video.borrowed; matroxfb_dh_deregisterfb()
|
/linux-4.1.27/arch/sh/include/mach-kfr2r09/mach/ |
H A D | kfr2r09.h | 4 #include <video/sh_mobile_lcdc.h>
|
/linux-4.1.27/arch/ia64/pci/ |
H A D | fixup.c | 14 * Fixup to mark boot BIOS video selected by BIOS before it changes 19 * to select an initial video card for boot display. This boot video 21 * IORESOURCE_ROM_SHADOW is used to associate the boot video 27 * already determined primary video card.
|
/linux-4.1.27/drivers/video/fbdev/ |
H A D | macmodes.c | 2 * linux/drivers/video/macmodes.c -- Standard MacOS video modes 26 * MacOS video mode definitions 133 * Mapping between MacOS video mode numbers and video mode definitions 178 * Mapping between monitor sense values and MacOS video mode numbers 210 * @vmode: MacOS video mode 212 * @var: frame buffer video mode structure 214 * Converts a MacOS vmode/cmode pair to a frame buffer video 292 * @var: frame buffer video mode structure 293 * @vmode: MacOS video mode 296 * Converts a frame buffer video mode structure to a MacOS 363 * Returns MacOS vmode video mode number. 379 * mac_find_mode - find a video mode 382 * @mode_option: video mode name (see mac_modedb[]) 385 * Finds a suitable video mode. Tries to set mode specified 387 * 'mac', the Mac video mode database will be used, otherwise it 388 * will fall back to the standard video mode database.
|
H A D | macmodes.h | 2 * linux/drivers/video/macmodes.h -- Standard MacOS video modes 65 * Addresses in NVRAM where video mode and pixel size are stored.
|
H A D | pm3fb.c | 2 * linux/drivers/video/pm3fb.c -- 3DLabs Permedia3 frame buffer device 13 * Based on linux/drivers/video/skeletonfb.c: 15 * Based on linux/driver/video/pm2fb.c: 39 #include <video/pm3fb.h> 69 * you place this in a header file in linux/include/video. This file usually 76 u32 video; /* video flags before blanking */ member in struct:pm3_par 815 unsigned int video = par->video; pm3fb_write_mode() local 817 video &= ~(PM3VideoControl_HSYNC_MASK | pm3fb_write_mode() 819 video |= PM3VideoControl_HSYNC_ACTIVE_HIGH | pm3fb_write_mode() 821 PM3_WRITE_REG(par, PM3VideoControl, video); pm3fb_write_mode() 851 if ((par->video & PM3VideoControl_HSYNC_MASK) == pm3fb_write_mode() 854 if ((par->video & PM3VideoControl_VSYNC_MASK) == pm3fb_write_mode() 1028 par->video = 0; pm3fb_set_par() 1031 par->video |= PM3VideoControl_HSYNC_ACTIVE_HIGH; pm3fb_set_par() 1033 par->video |= PM3VideoControl_HSYNC_ACTIVE_LOW; pm3fb_set_par() 1036 par->video |= PM3VideoControl_VSYNC_ACTIVE_HIGH; pm3fb_set_par() 1038 par->video |= PM3VideoControl_VSYNC_ACTIVE_LOW; pm3fb_set_par() 1041 par->video |= PM3VideoControl_LINE_DOUBLE_ON; pm3fb_set_par() 1044 par->video |= PM3VideoControl_ENABLE; pm3fb_set_par() 1050 par->video |= PM3VideoControl_PIXELSIZE_8BIT; pm3fb_set_par() 1053 par->video |= PM3VideoControl_PIXELSIZE_16BIT; pm3fb_set_par() 1056 par->video |= PM3VideoControl_PIXELSIZE_32BIT; pm3fb_set_par() 1163 u32 video = par->video; pm3fb_blank() local 1171 video &= ~(PM3VideoControl_HSYNC_MASK | pm3fb_blank() 1173 video |= PM3VideoControl_HSYNC_ACTIVE_HIGH | pm3fb_blank() 1178 video |= PM3VideoControl_ENABLE; pm3fb_blank() 1181 video &= ~PM3VideoControl_ENABLE; pm3fb_blank() 1184 video &= ~(PM3VideoControl_HSYNC_MASK | pm3fb_blank() 1188 video &= ~(PM3VideoControl_VSYNC_MASK | pm3fb_blank() 1192 video &= ~(PM3VideoControl_HSYNC_MASK | pm3fb_blank() 1202 PM3_WRITE_REG(par, PM3VideoControl, video); pm3fb_blank() 1394 par->video = PM3_READ_REG(par, PM3VideoControl); pm3fb_probe() 1421 * This should give a reasonable default video mode. The following is pm3fb_probe() 1422 * done when we can set a video mode. pm3fb_probe() 1525 /* Parse user specified options (`video=pm3fb:') */ pm3fb_setup() 1550 * For kernel boot options (in 'video=pm3fb:<options>' format) pm3fb_init() 1574 MODULE_PARM_DESC(mode_option, "Initial video mode e.g. '648x480-8@60'");
|
H A D | s3c2410fb.h | 2 * linux/drivers/video/s3c2410fb.h
|
H A D | vt8500lcdfb.h | 2 * linux/drivers/video/vt8500lcdfb.h
|
H A D | fm2fb.c | 2 * linux/drivers/video/fm2fb.c -- BSC FrameMaster II/Rainbow II frame buffer 34 * The FrameMaster II supports the following video modes. 59 * 1 2 0=video out disabled/1=video out enabled 75 * JP8 video mode (1-2 PAL/2-3 NTSC) 85 * There is no other possibility to change the video timings 87 * video mode PAL (50 Hz)/NTSC (60 Hz). Inside this 92 * 9 pin female video connector:
|
H A D | pm2fb.c | 45 #include <video/permedia2.h> 46 #include <video/cvisionppc.h> 98 u32 video; /* video flags before blanking */ member in struct:pm2fb_par 121 * Default video mode. In case the modedb doesn't work. 519 static void set_video(struct pm2fb_par *p, u32 video) set_video() argument 522 u32 vsync = video; set_video() 524 DPRINTK("video = 0x%x\n", video); set_video() 541 if ((video & PM2F_HSYNC_MASK) == PM2F_HSYNC_ACT_LOW) set_video() 543 if ((video & PM2F_VSYNC_MASK) == PM2F_VSYNC_ACT_LOW) set_video() 549 if ((video & PM2F_HSYNC_MASK) == PM2F_HSYNC_ACT_LOW) set_video() 551 if ((video & PM2F_VSYNC_MASK) == PM2F_VSYNC_ACT_LOW) set_video() 698 u32 video = 0; pm2fb_set_par() local 736 video |= PM2F_DATA_64_ENABLE; pm2fb_set_par() 741 video |= PM2F_HSYNC_ACT_LOW; pm2fb_set_par() 743 video |= PM2F_HSYNC_ACT_HIGH; pm2fb_set_par() 745 video |= PM2F_HSYNC_ACT_LOW; pm2fb_set_par() 750 video |= PM2F_VSYNC_ACT_LOW; pm2fb_set_par() 752 video |= PM2F_VSYNC_ACT_HIGH; pm2fb_set_par() 754 video |= PM2F_VSYNC_ACT_LOW; pm2fb_set_par() 761 video |= PM2F_LINE_DOUBLE; pm2fb_set_par() 763 video |= PM2F_VIDEO_ENABLE; pm2fb_set_par() 764 par->video = video; pm2fb_set_par() 834 set_video(par, video); pm2fb_set_par() 993 * video mode which doesn't support it. Implements VESA suspend 1005 u32 video = par->video; pm2fb_blank() local 1012 video |= PM2F_VIDEO_ENABLE; pm2fb_blank() 1016 video &= ~PM2F_VIDEO_ENABLE; pm2fb_blank() 1020 video &= ~(PM2F_VSYNC_MASK | PM2F_BLANK_LOW); pm2fb_blank() 1024 video &= ~(PM2F_HSYNC_MASK | PM2F_BLANK_LOW); pm2fb_blank() 1028 video &= ~(PM2F_VSYNC_MASK | PM2F_HSYNC_MASK | PM2F_BLANK_LOW); pm2fb_blank() 1031 set_video(par, video); pm2fb_blank() 1776 * This is, comma-separated options following `video=pm2fb:'. 1838 MODULE_PARM_DESC(mode_option, "Initial video mode e.g. '648x480-8@60'"); 1840 MODULE_PARM_DESC(mode, "Initial video mode e.g. '648x480-8@60' (deprecated)");
|
H A D | maxinefb.c | 2 * linux/drivers/video/maxinefb.c 34 #include <video/maxinefb.h> 62 /* Handle the funny Inmos RamDAC/video controller ... */
|
H A D | xen-fbfront.c | 7 * Based on linux/drivers/video/q40fb.c 62 static int video[KPARAM_CNT] = { 2, XENFB_WIDTH, XENFB_HEIGHT }; variable 63 module_param_array(video, int, NULL, 0); 64 MODULE_PARM_DESC(video, 287 if (var->xres == video[KPARAM_WIDTH] && xenfb_check_var() 288 var->yres == video[KPARAM_HEIGHT] && xenfb_check_var() 296 if (var->xres > video[KPARAM_WIDTH] || var->yres > video[KPARAM_HEIGHT]) xenfb_check_var() 379 if (val < video[KPARAM_MEM]) xenfb_probe() 380 video[KPARAM_MEM] = val; xenfb_probe() 384 fb_size = video[KPARAM_MEM] * 1024 * 1024; xenfb_probe() 385 if (video[KPARAM_WIDTH] * video[KPARAM_HEIGHT] * XENFB_DEPTH / 8 xenfb_probe() 387 video[KPARAM_WIDTH] = XENFB_WIDTH; xenfb_probe() 388 video[KPARAM_HEIGHT] = XENFB_HEIGHT; xenfb_probe() 426 fb_info->var.xres_virtual = fb_info->var.xres = video[KPARAM_WIDTH]; xenfb_probe() 427 fb_info->var.yres_virtual = fb_info->var.yres = video[KPARAM_HEIGHT]; xenfb_probe()
|
H A D | nuc900fb.h | 19 #include <linux/platform_data/video-nuc900fb.h>
|
H A D | efifb.c | 17 #include <video/vga.h> 169 * used video mode, i.e. the minimum amount of efifb_probe() 173 /* size_total -- all video memory we have. Used for efifb_probe() 180 /* size_remap -- the amount of video memory we are going to efifb_probe() 197 "efifb: cannot reserve video memory at 0x%lx\n", efifb_probe() 221 printk(KERN_ERR "efifb: abort, cannot ioremap video memory " efifb_probe()
|
H A D | pvr2fb.c | 2 * drivers/video/pvr2fb.c 16 * 'pseudo' values (think of them as placeholders) for the fb video mode, so 31 * the fb video mode: 79 /* 2D video registers */ 108 /* Supported video output types */ 124 * This describes the current video mode 181 static unsigned int do_vmode_full = 0; /* Change the video mode */ 182 static unsigned int do_vmode_pan = 0; /* Update the video mode */ 231 * Broadcast video modes (PAL and NTSC). I'm unfamiliar with 399 /* NTSC video output */ pvr2fb_set_par() 515 /* PAL video output */ pvr2fb_check_var() 522 /* NTSC video output */ pvr2fb_check_var() 551 * Initialize the video mode. Currently, the 16bpp and 24bpp modes aren't 552 * very stable. It's probably due to the fact that a lot of the 2D video 602 /* video enable, color sync, interlace, pvr2_init_display() 759 * Also worth noting is that the cable and video output types are likely 818 fb_info(fb_info, "%s (rev %ld.%ld) frame buffer device, using %ldk/%ldk of video memory\n", pvr2fb_common_init() 822 fb_info(fb_info, "Mode %dx%d-%d pitch = %ld cable: %s video output: %s\n", pvr2fb_common_init() 835 fb_notice(fb_info, "Mapped video memory to SQ addr 0x%lx\n", pvr2fb_common_init() 871 * XXX: This needs to pull default video output via BIOS or other means pvr2fb_dc_init() 1015 * cable:composite|rgb|vga Override the video cable type 1016 * output:NTSC|PAL|VGA Override the video output format 1019 * <name>[-<bpp>][@<refresh>] Startup using this video mode
|
H A D | bt431.h | 2 * linux/drivers/video/bt431.h 182 * H = pixels between HSYNCH falling and active video bt431_position_cursor() 186 * clocks after VSYNCH falling, and active video bt431_position_cursor()
|
H A D | valkyriefb.c | 23 * drivers/video/chipsfb.c -- frame buffer device for 136 /* Sets the video mode according to info->var */ valkyriefb_set_par() 190 * to e.g. a video mode which doesn't support it. Implements VESA suspend 287 /* Try to pick a video mode out of NVRAM if we have one. */ valkyrie_choose_mode() 314 printk(KERN_INFO "using video mode %d and color mode %d.\n", valkyrie_choose_mode() 392 printk(KERN_ERR "valkyriefb: can't set default video mode\n"); valkyriefb_init() 480 /* Check if we know about the wanted video mode */ valkyrie_var_to_par() 561 * Parse user specified options (`video=valkyriefb:')
|
/linux-4.1.27/drivers/media/pci/ivtv/ |
H A D | ivtv-routing.c | 2 Audio/video-routing-related ivtv functions. 60 /* Selects the video input and output according to the current 68 v4l2_subdev_call(itv->sd_video, video, s_routing, ivtv_video_set_io() 82 ivtv_call_hw(itv, IVTV_HW_GPIO, video, s_routing, ivtv_video_set_io() 96 ivtv_call_hw(itv, IVTV_HW_UPD64031A, video, s_routing, ivtv_video_set_io() 116 ivtv_call_hw(itv, IVTV_HW_UPD6408X, video, s_routing, ivtv_video_set_io()
|
H A D | ivtv-routing.h | 2 Audio/video-routing-related ivtv functions.
|
/linux-4.1.27/drivers/media/platform/xilinx/ |
H A D | xilinx-dma.c | 95 * Walk the entities chain starting at the pipeline output video node and start 98 * Return: 0 if successful, or the return value of the failed video::s_stream 109 entity = &dma->video.entity; xvip_pipeline_start_stop() 123 ret = v4l2_subdev_call(subdev, video, s_stream, start); xvip_pipeline_start_stop() 152 * Return: 0 if successful, or the return value of the failed video::s_stream 183 struct media_entity *entity = &start->video.entity; xvip_pipeline_validate() 190 /* Walk the graph to locate the video nodes. */ xvip_pipeline_validate() 402 pipe = dma->video.entity.pipe xvip_dma_start_streaming() 403 ? to_xvip_pipeline(&dma->video.entity) : &dma->pipe; xvip_dma_start_streaming() 405 ret = media_entity_pipeline_start(&dma->video.entity, &pipe->pipe); xvip_dma_start_streaming() 431 media_entity_pipeline_stop(&dma->video.entity); xvip_dma_start_streaming() 448 struct xvip_pipeline *pipe = to_xvip_pipeline(&dma->video.entity); xvip_dma_stop_streaming() 459 media_entity_pipeline_stop(&dma->video.entity); xvip_dma_stop_streaming() 499 strlcpy(cap->card, dma->video.name, sizeof(cap->card)); xvip_dma_querycap() 679 ret = media_entity_init(&dma->video.entity, 1, &dma->pad, 0); xvip_dma_init() 683 /* ... and the video node... */ xvip_dma_init() 684 dma->video.fops = &xvip_dma_fops; xvip_dma_init() 685 dma->video.v4l2_dev = &xdev->v4l2_dev; xvip_dma_init() 686 dma->video.queue = &dma->queue; xvip_dma_init() 687 snprintf(dma->video.name, sizeof(dma->video.name), "%s %s %u", xvip_dma_init() 691 dma->video.vfl_type = VFL_TYPE_GRABBER; xvip_dma_init() 692 dma->video.vfl_dir = type == V4L2_BUF_TYPE_VIDEO_CAPTURE xvip_dma_init() 694 dma->video.release = video_device_release_empty; xvip_dma_init() 695 dma->video.ioctl_ops = &xvip_dma_ioctl_ops; xvip_dma_init() 696 dma->video.lock = &dma->lock; xvip_dma_init() 698 video_set_drvdata(&dma->video, dma); xvip_dma_init() 707 * 'cat /dev/video?' thus won't be possible, but given that the driver xvip_dma_init() 708 * anyway requires a test tool to setup the pipeline before any video xvip_dma_init() 738 ret = video_register_device(&dma->video, VFL_TYPE_GRABBER, -1); xvip_dma_init() 740 dev_err(dma->xdev->dev, "failed to register video device\n"); xvip_dma_init() 753 if (video_is_registered(&dma->video)) xvip_dma_cleanup() 754 video_unregister_device(&dma->video); xvip_dma_cleanup() 762 media_entity_cleanup(&dma->video.entity); xvip_dma_cleanup()
|
H A D | xilinx-dma.h | 59 * @video: V4L2 video device associated with the DMA channel 60 * @pad: media pad for the video device entity 79 struct video_device video; member in struct:xvip_dma 103 #define to_xvip_dma(vdev) container_of(vdev, struct xvip_dma, video)
|
/linux-4.1.27/drivers/media/pci/cx88/ |
H A D | Makefile | 3 cx8800-objs := cx88-video.o cx88-vbi.o
|
/linux-4.1.27/drivers/media/usb/pvrusb2/ |
H A D | pvrusb2-std.h | 25 // Convert string describing one or more video standards into a mask of V4L 33 // Convert any arbitrary set of video standard bits into an unambiguous 41 // video standards to support. The array is allocated from the heap, and 46 // Return mask of which video standard bits are valid
|
H A D | pvrusb2-video-v4l.c | 30 #include "pvrusb2-video-v4l.h" 49 /* In radio mode, we mute the video, but point at one 101 sd->ops->video->s_routing(sd, input, 0, 0); pvr2_saa7115_subdev_update()
|
H A D | Makefile | 7 pvrusb2-encoder.o pvrusb2-video-v4l.o \
|
H A D | pvrusb2-cx2584x-v4l.c | 30 #include "pvrusb2-video-v4l.h" 151 sd->ops->video->s_routing(sd, (u32)vid_input, 0, 0); pvr2_cx25840_subdev_update()
|
/linux-4.1.27/drivers/video/fbdev/omap2/dss/ |
H A D | Makefile | 5 output.o dss-of.o pll.o video-pll.o
|
H A D | overlay.c | 2 * linux/drivers/video/omap2/dss/overlay.c 7 * Some code and ideas taken from drivers/video/omap/ driver 33 #include <video/omapdss.h> 193 * RGB12U or RGB16 mode, and video port width interface is 18bpp or 24bpp
|
H A D | manager.c | 2 * linux/drivers/video/omap2/dss/manager.c 7 * Some code and ideas taken from drivers/video/omap/ driver 31 #include <video/omapdss.h>
|
H A D | dispc_coefs.c | 2 * linux/drivers/video/omap2/dss/dispc_coefs.c 21 #include <video/omapdss.h>
|
/linux-4.1.27/include/linux/ |
H A D | pwm_backlight.h | 2 * Generic PWM backlight driver data - see drivers/video/backlight/pwm_bl.c
|
H A D | vt_buffer.h | 10 * the foreground console directly in video memory.
|
/linux-4.1.27/include/uapi/linux/ |
H A D | screen_info.h | 56 #define VIDEO_TYPE_PICA_S3 0x30 /* ACER PICA-61 local S3 video */ 57 #define VIDEO_TYPE_MIPS_G364 0x31 /* MIPS Magnum 4000 G364 video */ 69 #define VIDEO_FLAGS_NOCURSOR (1 << 0) /* The video mode has no cursor set */
|
H A D | nubus.h | 49 * RBV built-in video (IIci): <3,1,1,24> 50 * Valkyrie built-in video (Q630): <3,1,1,46> 52 * Sonora built-in video (P460): <3,1,1,34> 105 least, it should... some video cards are known to incorrectly 114 NUBUS_DRHW_APPLE_SE30 = 0x0009, /* Apple SE/30 video */ 117 NUBUS_DRHW_APPLE_RBV1 = 0x0018, /* IIci RBV video */ 119 NUBUS_DRHW_APPLE_SONORA = 0x0022, /* Sonora built-in video */
|
H A D | uvcvideo.h | 62 /* defined in linux/usb/video.h A.8. */
|
/linux-4.1.27/drivers/media/platform/davinci/ |
H A D | vpif_capture.h | 66 /* Buffer queue used in video-buf */ 72 /* Used in video-buf */ 94 /* Identifies video device for this channel */ 110 /* video object */ 111 struct video_obj video; member in struct:channel_obj
|
H A D | vpif_display.h | 76 * video-buf */ 81 spinlock_t irqlock; /* Used in video-buf */ 103 struct video_device video_dev; /* Identifies video device for 115 struct video_obj video; member in struct:channel_obj
|
H A D | vpif_display.c | 102 * @nplanes:: contains number of distinct video planes needed to hold a frame 424 struct video_obj *vid_ch = &ch->video; vpif_update_std_info() 453 struct video_obj *vid_ch = &ch->video; vpif_update_resolution() 498 struct video_obj *vid_ch = &ch->video; vpif_calculate_offsets() 699 ch->video.stdid = std_id; vpif_s_std() 700 memset(&ch->video.dv_timings, 0, sizeof(ch->video.dv_timings)); vpif_s_std() 707 ret = v4l2_device_call_until_err(&vpif_obj.v4l2_dev, 1, video, vpif_s_std() 714 ret = v4l2_device_call_until_err(&vpif_obj.v4l2_dev, 1, video, vpif_s_std() 737 *std = ch->video.stdid; vpif_g_std() 821 ret = v4l2_subdev_call(sd, video, s_routing, input, output, 0); vpif_set_output() 902 * @timings: digital video timings 913 struct video_obj *vid_ch = &ch->video; vpif_s_dv_timings() 936 ret = v4l2_subdev_call(ch->sd, video, s_dv_timings, timings); vpif_s_dv_timings() 961 /* Configure video port timings */ vpif_s_dv_timings() 1006 * @timings: digital video timings 1015 struct video_obj *vid_ch = &ch->video; vpif_g_dv_timings() 1172 ch->video.stdid = V4L2_STD_525_60; vpif_probe_complete() 1173 memset(&ch->video.dv_timings, 0, sizeof(ch->video.dv_timings)); vpif_probe_complete() 1202 /* register video device */ vpif_probe_complete() 1352 /* Unregister video device */ vpif_remove()
|
H A D | vpif_capture.c | 107 * @nplanes:: contains number of distinct video planes needed to hold a frame 194 ret = v4l2_subdev_call(ch->sd, video, s_stream, 1); vpif_start_streaming() 203 vpif_dbg(1, debug, "can't set video params\n"); vpif_start_streaming() 282 ret = v4l2_subdev_call(ch->sd, video, s_stream, 0); vpif_stop_streaming() 467 struct video_obj *vid_ch = &ch->video; vpif_update_std_info() 533 struct video_obj *vid_ch = &(ch->video); vpif_calculate_offsets() 702 ret = v4l2_subdev_call(sd, video, s_routing, vpif_set_input() 736 ret = v4l2_subdev_call(ch->sd, video, querystd, std_id); vpif_querystd() 772 *std = ch->video.stdid; vpif_g_std() 806 ch->video.stdid = std_id; vpif_s_std() 807 memset(&ch->video.dv_timings, 0, sizeof(ch->video.dv_timings)); vpif_s_std() 816 ret = v4l2_subdev_call(ch->sd, video, s_std, std_id); vpif_s_std() 1092 ret = v4l2_subdev_call(ch->sd, video, query_dv_timings, timings); vpif_query_dv_timings() 1103 * @timings: digital video timings 1114 struct video_obj *vid_ch = &ch->video; vpif_s_dv_timings() 1137 ret = v4l2_subdev_call(ch->sd, video, s_dv_timings, timings); vpif_s_dv_timings() 1162 /* Configure video port timings */ vpif_s_dv_timings() 1206 * @timings: digital video timings 1214 struct video_obj *vid_ch = &ch->video; vpif_g_dv_timings() 1355 ch->video.stdid = V4L2_STD_525_60; vpif_probe_complete() 1356 memset(&ch->video.dv_timings, 0, sizeof(ch->video.dv_timings)); vpif_probe_complete() 1412 /* Unregister video device */ vpif_probe_complete() 1546 /* Unregister video device */ vpif_remove()
|
/linux-4.1.27/arch/m68k/include/uapi/asm/ |
H A D | bootinfo-mac.h | 14 #define BI_MAC_VADDR 0x8001 /* Mac video base address */ 15 #define BI_MAC_VDEPTH 0x8002 /* Mac video depth */ 16 #define BI_MAC_VROW 0x8003 /* Mac video rowbytes */ 17 #define BI_MAC_VDIM 0x8004 /* Mac video dimensions */ 18 #define BI_MAC_VLOGICAL 0x8005 /* Mac video logical base */
|
/linux-4.1.27/drivers/phy/ |
H A D | phy-exynos-dp-video.c | 67 .compatible = "samsung,exynos5250-dp-video-phy", 70 .compatible = "samsung,exynos5420-dp-video-phy", 114 .name = "exynos-dp-video-phy",
|
/linux-4.1.27/drivers/gpu/drm/rcar-du/ |
H A D | rcar_du_lvdscon.c | 19 #include <video/display_timing.h> 20 #include <video/of_display_timing.h> 21 #include <video/videomode.h>
|
/linux-4.1.27/drivers/video/fbdev/core/ |
H A D | fb_cmdline.c | 2 * linux/drivers/video/fb_cmdline.c 30 * (video=<name>:<options>) 110 __setup("video=", video_setup);
|
H A D | fb_notify.c | 2 * linux/drivers/video/fb_notify.c
|
/linux-4.1.27/include/media/ |
H A D | cx2341x.h | 61 /* video */ 107 /* needed for the video clock freq */ 111 /* needed for setting up the video resolution */ 145 /* video gop cluster */ 160 /* video mute cluster */ 166 /* video filter mode cluster */ 173 /* video filter type cluster */ 179 /* video filter cluster */ 185 /* video median cluster */
|
H A D | v4l2-subdev.h | 63 device. These devices are usually audio/video muxers/encoders/decoders or 71 a few categories: core ops, audio ops, video ops and tuner ops. 80 implement the video category ops). The exception is the core category: 207 Used to slave an audio processor to the video decoder, ensuring that 208 audio and video remain synchronized. Usual values for the frequency 267 s_std_output: set v4l2_std_id for video OUTPUT devices. This is ignored by 268 video input devices. 270 g_std_output: get current standard for video OUTPUT devices. This is ignored 271 by video input devices. 273 g_tvnorms: get v4l2_std_id with all standards supported by the video 274 CAPTURE device. This is ignored by video output devices. 276 g_tvnorms_output: get v4l2_std_id with all standards supported by the video 277 OUTPUT device. This is ignored by video capture devices. 287 s_routing: see s_routing in audio_ops, except this version is for video 292 in the hardware to generate/detect the video signal. 296 enum_mbus_fmt: enumerate pixel formats, provided by a video data source 298 g_mbus_fmt: get the current pixel format, provided by a video data source 300 try_mbus_fmt: try to set a pixel format on a video data source 302 s_mbus_fmt: set a pixel format on a video data source 358 decode_vbi_line: video decoders that support sliced VBI need to implement 367 s_vbi_data: used to generate VBI signals on a video signal. 374 Not all video decoders support this. If no data is available because 380 s_raw_fmt: setup the video encoder/decoder for raw VBI. 544 const struct v4l2_subdev_video_ops *video; member in struct:v4l2_subdev_ops 590 /* Per-subdevice data, specific for a certain video host device */ 701 Example: err = v4l2_subdev_call(sd, video, s_std, norm);
|
H A D | videobuf-dvb.h | 16 /* video-buf-dvb state info */
|
H A D | videobuf-vmalloc.h | 7 * to touch the video data.
|
H A D | videobuf2-dvb.h | 17 /* video-buf-dvb state info */
|
H A D | bt819.h | 29 or the video standard.
|
H A D | timb_video.h | 2 * timb_video.h Platform struct for the Timberdale video driver
|
H A D | tveeprom.h | 7 /* The audio processor is internal to the video processor */
|
H A D | saa7146_vv.h | 57 /* buffer for one video/vbi frame */ 92 /* video capture */ 118 /* video overlay */ 124 /* video capture */ 152 /* informations about the video capabilities of the device */
|
H A D | cx25840.h | 31 until the first open of the video device. Another reason for 34 you can avoid loading the fw as long as the video device isn't used. */ 37 /* Composite video inputs In1-In8 */
|
H A D | videobuf-dma-sg.h | 7 * to touch the video data. 11 * Highly based on video-buf written originally by:
|
/linux-4.1.27/include/acpi/ |
H A D | video.h | 8 #define ACPI_VIDEO_CLASS "video"
|
/linux-4.1.27/Documentation/DocBook/media/ |
H A D | Makefile | 19 video.h.xml \ 65 $(shell perl -ne 'print "$$1 " if /\#define\s+([^\s]+)\s+_IO/' $(srctree)/include/uapi/linux/dvb/video.h) \ 87 $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/uapi/linux/dvb/video.h) \ 99 $(shell perl -ne 'print "$$1 " if (/^struct\s+([^\s]+)\s+/)' $(srctree)/include/uapi/linux/dvb/video.h) \ 188 -e "s,\(audio-mixer\|audio-karaoke\|audio-status\|ca-slot-info\|ca-descr-info\|ca-caps\|ca-msg\|ca-descr\|ca-pid\|dmx-filter\|dmx-caps\|video-system\|video-highlight\|video-spu\|video-spu-palette\|video-navi-pack\)-t,\1,g" \ 274 $(MEDIA_OBJ_DIR)/video.h.xml: $(srctree)/include/uapi/linux/dvb/video.h $(MEDIA_OBJ_DIR)/v4l2.xml
|
/linux-4.1.27/drivers/media/i2c/ |
H A D | ks0127.h | 5 * This module is an interface to the KS0127 video decoder chip. 46 /* video standards */
|
H A D | ths8200.c | 2 * ths8200 - Texas Instruments THS8200 video encoder driver 35 MODULE_DESCRIPTION("Texas Instruments THS8200 video encoder driver"); 153 /* Power up/down - leave in reset state until input video is present */ ths8200_s_power() 169 * V4L2 subdev video operations 224 /* configure video output timings */ ths8200_setup() 232 /* Distance from leading edge of h sync to start of active video. ths8200_setup() 278 * while a line type that enable the RGB-outputs is used in active video ths8200_setup() 279 * area. The line numbers for start of active video, start of front ths8200_setup() 286 * 0x0 - Active video: Video data is always passed. Used in active ths8200_setup() 287 * video area. ths8200_setup() 321 /* For progressive video vlength2 must be set to all 0 and vdly2 must ths8200_setup() 346 /* Timing of video input bus is derived from HS, VS, and FID dedicated ths8200_setup() 420 /* Specific video subsystem operation handlers */ 435 .video = &ths8200_video_ops,
|
H A D | tvp5150_reg.h | 2 * tvp5150 - Texas Instruments TVP5150A/AM1 video decoder registers 29 #define TVP5150_ACT_VD_CROP_ST_MSB 0x11 /* Active video cropping start MSB */ 30 #define TVP5150_ACT_VD_CROP_ST_LSB 0x12 /* Active video cropping start LSB */ 31 #define TVP5150_ACT_VD_CROP_STP_MSB 0x13 /* Active video cropping stop MSB */ 32 #define TVP5150_ACT_VD_CROP_STP_LSB 0x14 /* Active video cropping stop LSB */
|
H A D | m52790.c | 62 /* Note: audio and video are linked and cannot be switched separately. 63 So audio and video routing commands are identical for this chip. 64 In theory the video amplifier and audio modes could be handled 138 .video = &m52790_video_ops,
|
H A D | saa6752hs.c | 53 SAA6752HS_VF_D1 = 0, /* standard D1 video format: 720x576 */ 54 SAA6752HS_VF_2_3_D1 = 1,/* 2/3D1 video format: 480x576 */ 55 SAA6752HS_VF_1_2_D1 = 2,/* 1/2D1 video format: 352x576 */ 56 SAA6752HS_VF_SIF = 3, /* SIF video format: 352x288 */ 72 /* video */ 96 struct { /* video bitrate mode control cluster */ 176 0x02, 0xe0, 0x00, 0xf0, 0x00, /* video stream type(2), pid */ 206 0x02, 0xe1, 0x00, 0xf0, 0x00, /* video stream type(2), pid */ 331 /* set the video bitrate */ saa6752hs_set_bitrate() 357 /* Note: the total max bitrate is determined by adding the video and audio saa6752hs_set_bitrate() 446 /* Set video format - must be done first as it resets other settings */ saa6752hs_init() 467 /* Set video output stream format {TS} */ saa6752hs_init() 657 .video = &saa6752hs_video_ops,
|
H A D | tea6415c.c | 7 The tea6415c is a bus controlled video-matrix-switch 128 .video = &tea6415c_video_ops,
|
/linux-4.1.27/drivers/media/rc/keymaps/ |
H A D | rc-encore-enltv-fm53.c | 50 { 0x1e, KEY_MENU}, /* video setting */ 54 { 0x0a, KEY_CLEAR}, /* video default */
|
H A D | rc-leadtek-y04g0051.c | 45 { 0x031e, KEY_VIDEO }, /* 2nd video */ 66 { 0x0352, KEY_VIDEO }, /* 1st video */
|
/linux-4.1.27/drivers/video/fbdev/geode/ |
H A D | video_cs5530.h | 2 * drivers/video/geode/video_cs5530.h 3 * -- CS5530 video device
|
H A D | geodefb.h | 2 * drivers/video/geode/geodefb.h
|
H A D | gxfb_core.c | 13 * for the video device. The PCI header is assumed to contain the following 19 * BAR3 - video processor and flat panel control registers. 162 /* Enough video memory? */ gxfb_check_var() 238 ret = pci_request_region(dev, 3, "gxfb (video processor)"); gxfb_map_video_memory() 275 dev_info(&dev->dev, "%d KiB of video memory at 0x%lx\n", gxfb_map_video_memory() 407 dev_err(&pdev->dev, "could not find valid video mode\n"); gxfb_probe() 536 MODULE_PARM_DESC(mode_option, "video mode (<x>x<y>[-<bpp>][@<refr>])"); 539 MODULE_PARM_DESC(vram, "video memory size");
|
H A D | gx1fb_core.c | 2 * drivers/video/geode/gx1fb_core.c 125 /* Enough video memory? */ gx1fb_check_var() 213 ret = pci_request_region(dev, 0, "gx1fb (video)"); gx1fb_map_video_memory() 234 dev_info(&dev->dev, "%d Kibyte of video memory at 0x%lx\n", gx1fb_map_video_memory() 332 /* GX1 display controller and CS5530 video device */ gx1fb_probe() 344 dev_err(&pdev->dev, "could not find valid video mode\n"); gx1fb_probe() 465 MODULE_PARM_DESC(mode, "video mode (<x>x<y>[-<bpp>][@<refr>])");
|
H A D | video_cs5530.c | 2 * drivers/video/geode/video_cs5530.c 3 * -- CS5530 video device
|
/linux-4.1.27/drivers/video/fbdev/kyro/ |
H A D | STG4000Interface.h | 2 * linux/drivers/video/kyro/STG4000Interface.h 15 #include <video/kyro.h>
|
H A D | STG4000Ramdac.c | 2 * linux/drivers/video/kyro/STG4000Ramdac.c 14 #include <video/kyro.h>
|
H A D | STG4000VTG.c | 2 * linux/drivers/video/kyro/STG4000VTG.c 12 #include <video/kyro.h>
|
/linux-4.1.27/drivers/video/fbdev/mmp/fb/ |
H A D | mmpfb.h | 2 * linux/drivers/video/mmp/fb/mmpfb.h 26 #include <video/mmp_disp.h>
|
/linux-4.1.27/drivers/video/fbdev/msm/ |
H A D | mddi_client_dummy.c | 1 /* drivers/video/msm_fb/mddi_client_dummy.c 24 #include <linux/platform_data/video-msm_fb.h>
|
H A D | mdp_scale_tables.h | 1 /* drivers/video/msm_fb/mdp_scale_tables.h
|
/linux-4.1.27/drivers/video/fbdev/riva/ |
H A D | rivafb.h | 5 #include <video/vga.h> 50 struct riva_regs initial_state; /* initial startup video mode */
|
/linux-4.1.27/include/linux/platform_data/ |
H A D | omap_drm.h | 28 * detected devices. Remaining overlays are used as video planes. This 37 /* overlays to use as video planes: */
|
/linux-4.1.27/arch/powerpc/include/uapi/asm/ |
H A D | ps3fb.h | 26 #define PS3FB_IOCTL_SETMODE _IOW('r', 1, int) /* set video mode */ 27 #define PS3FB_IOCTL_GETMODE _IOR('r', 2, int) /* get video mode */
|
/linux-4.1.27/arch/arm/mach-s3c64xx/ |
H A D | mach-ncp.c | 27 #include <video/platform_lcd.h> 28 #include <video/samsung_fimd.h>
|
/linux-4.1.27/drivers/media/pci/sta2x11/ |
H A D | sta2x11_vip.c | 107 * @decoder: contains information about video DAC 110 * @std: video standard (e.g. PAL/NTSC) 111 * @input: input line for video signal ( 0 or 1 ) 428 * vidioc_s_std - set video standard 432 * the video standard is set 438 * other, returned from video DAC. 447 v4l2_subdev_call(vip->decoder, video, s_std, std); vidioc_s_std() 449 v4l2_subdev_call(vip->decoder, video, querystd, &newstd); vidioc_s_std() 450 v4l2_subdev_call(vip->decoder, video, g_input_status, &status); vidioc_s_std() 470 return v4l2_subdev_call(vip->decoder, video, s_std, std); vidioc_s_std() 474 * vidioc_g_std - get video standard 478 * the current video standard is returned 491 * vidioc_querystd - get possible video standards 495 * all possible video standards are returned 497 * return value: delivered by video DAC routine. 503 return v4l2_subdev_call(vip->decoder, video, querystd, std); vidioc_querystd() 537 ret = v4l2_subdev_call(vip->decoder, video, s_routing, i, 0, 0); vidioc_s_input() 563 * vidioc_enum_fmt_vid_cap - return video capture format 566 * returns name and format of video capture 585 * vidioc_try_fmt_vid_cap - set video capture format 589 * new video format is set which includes width and 647 * vidioc_s_fmt_vid_cap - set current video format parameters 654 * other, delivered by video DAC routine. 714 * vidioc_g_fmt_vid_cap - get current video format parameters 718 * returns current video format parameters 962 * sta2x11_vip_init_one - init one instance of video device 967 * Reset video DAC, this is done via reset line. 972 * find and initialize video DAC 1085 /* Initialize and register video device */ sta2x11_vip_init_one() 1154 * unregister video device 1327 MODULE_SUPPORTED_DEVICE("sta2x11 video input");
|
H A D | sta2x11_vip.h | 25 * struct vip_config - video input configuration data
|
/linux-4.1.27/include/media/davinci/ |
H A D | vpbe_display.h | 80 * Buffer queue used in video-buf 87 /* Used in video-buf */ 90 /* Identifies video device for this layer */
|
H A D | dm644x_ccdc.h | 139 /* Define to enable/disable video port */ 145 /* settings for commonly used video formats */ 156 /* video window */ 180 /* video window */
|
H A D | vpbe_osd.h | 164 * @OSD_1_VID_7: OSD pixels contribute 1/8, video pixels contribute 7/8 165 * @OSD_2_VID_6: OSD pixels contribute 2/8, video pixels contribute 6/8 166 * @OSD_3_VID_5: OSD pixels contribute 3/8, video pixels contribute 5/8 167 * @OSD_4_VID_4: OSD pixels contribute 4/8, video pixels contribute 4/8 168 * @OSD_5_VID_3: OSD pixels contribute 5/8, video pixels contribute 3/8 169 * @OSD_6_VID_2: OSD pixels contribute 6/8, video pixels contribute 2/8 287 * (OSD) or video layer related to how the image is stored in memory. 300 /* parameters that apply on a per-window (OSD or video) basis */
|
H A D | vpss.h | 18 * vpss - video processing subsystem module header file. 21 * module. It exports a set of library functions for video drivers to
|
/linux-4.1.27/drivers/media/platform/blackfin/ |
H A D | bfin_capture.c | 2 * Analog Devices video capture driver 90 /* pointing to current video buffer */ 164 while (!v4l2_subdev_call(bcap_dev->sd, video, bcap_init_sensor_formats() 175 v4l2_subdev_call(bcap_dev->sd, video, bcap_init_sensor_formats() 268 ret = v4l2_subdev_call(bcap_dev->sd, video, s_stream, 1); bcap_start_streaming() 358 ret = v4l2_subdev_call(bcap_dev->sd, video, s_stream, 0); bcap_stop_streaming() 437 return v4l2_subdev_call(bcap_dev->sd, video, querystd, std); bcap_querystd() 466 ret = v4l2_subdev_call(bcap_dev->sd, video, s_std, std); bcap_s_std() 500 return v4l2_subdev_call(bcap_dev->sd, video, bcap_query_dv_timings() 532 ret = v4l2_subdev_call(bcap_dev->sd, video, s_dv_timings, timings); bcap_s_dv_timings() 553 ret = v4l2_subdev_call(bcap_dev->sd, video, g_input_status, &status); bcap_enum_input() 581 ret = v4l2_subdev_call(bcap_dev->sd, video, s_routing, bcap_s_input() 612 ret = v4l2_subdev_call(bcap->sd, video, bcap_try_format() 683 ret = v4l2_subdev_call(bcap_dev->sd, video, s_mbus_fmt, &mbus_fmt); bcap_s_fmt_vid_cap() 712 return v4l2_subdev_call(bcap_dev->sd, video, g_parm, a); bcap_g_parm() 722 return v4l2_subdev_call(bcap_dev->sd, video, s_parm, a); bcap_s_parm() 813 /* initialize field of video device */ bcap_probe() 857 /* init video dma queues */ bcap_probe() 863 /* register video device */ bcap_probe() 867 "Unable to register video device\n"); bcap_probe() 871 v4l2_info(&bcap_dev->v4l2_dev, "video device registered as: %s\n", bcap_probe() 907 ret = v4l2_subdev_call(bcap_dev->sd, video, s_routing, bcap_probe() 921 ret = v4l2_subdev_call(bcap_dev->sd, video, g_std, &std); bcap_probe() 931 ret = v4l2_subdev_call(bcap_dev->sd, video, bcap_probe() 987 MODULE_DESCRIPTION("Analog Devices blackfin video capture driver");
|
/linux-4.1.27/drivers/media/platform/vivid/ |
H A D | vivid-kthread-cap.h | 2 * vivid-kthread-cap.h - video/vbi capture thread support functions.
|
H A D | vivid-kthread-out.h | 2 * vivid-kthread-out.h - video/vbi output thread support functions.
|
/linux-4.1.27/drivers/video/fbdev/omap2/displays-new/ |
H A D | encoder-opa362.c | 2 * OPA362 analog video amplifier with output/power control 23 #include <video/omapdss.h> 218 dev_err(&pdev->dev, "failed to find video source\n"); opa362_probe() 284 MODULE_DESCRIPTION("OPA362 analog video amplifier with output/power control");
|
H A D | panel-dpi.c | 19 #include <video/omapdss.h> 20 #include <video/omap-panel-data.h> 21 #include <video/of_display_timing.h> 171 dev_err(&pdev->dev, "failed to find video source '%s'\n", panel_dpi_probe_pdata() 229 dev_err(&pdev->dev, "failed to get video timing\n"); panel_dpi_probe_of() 238 dev_err(&pdev->dev, "failed to find video source\n"); panel_dpi_probe_of()
|
H A D | connector-analog-tv.c | 17 #include <video/omapdss.h> 18 #include <video/omap-panel-data.h> 204 dev_err(&pdev->dev, "Failed to find video source\n"); tvc_probe_pdata() 227 dev_err(&pdev->dev, "failed to find video source\n"); tvc_probe_of() 300 { .compatible = "omapdss,composite-video-connector", },
|
/linux-4.1.27/include/sound/ |
H A D | omap-hdmi-audio.h | 19 #include <video/omapdss.h>
|
/linux-4.1.27/arch/avr32/boards/merisc/ |
H A D | display.c | 13 #include <video/atmel_lcdc.h>
|
/linux-4.1.27/arch/cris/arch-v10/kernel/ |
H A D | shadows.c | 22 * A common usage is that CSP0 controls LEDs and CSP4 video chips.
|
/linux-4.1.27/arch/arm/mach-w90x900/ |
H A D | mach-nuc950evb.c | 23 #include <linux/platform_data/video-nuc900fb.h>
|
/linux-4.1.27/drivers/media/platform/s3c-camif/ |
H A D | camif-core.h | 189 * @pad: media pad for the video node 190 * @vdev video device 191 * @ctrl_handler: video node controls handler 200 * @out_fmt: pixel format at this video path output 203 * @state: the video path's state 253 * @m_pipeline: video entity pipeline description 256 * @vp: video path (DMA) description (codec/preview) 318 * struct camif_buffer - the camif video buffer structure
|
/linux-4.1.27/arch/arm/mach-sa1100/ |
H A D | h3100.c | 17 #include <video/sa1100fb.h> 85 assumption that they are used for video */ h3100_map_io()
|
/linux-4.1.27/arch/arm/include/asm/mach/ |
H A D | arch.h | 40 unsigned int video_start; /* start of video RAM */ 41 unsigned int video_end; /* end of video RAM */
|
/linux-4.1.27/include/drm/ |
H A D | exynos_drm.h | 18 #include <video/videomode.h> 23 * @timing: default video mode for initializing
|
H A D | drm_panel.h | 46 * starts to transmit video data. Panel drivers can use this to turn the panel 51 * After the display controller has started transmitting video data, it's safe 58 * Before stopping video transmission from the display controller it can be 63 * cease transmission of video data. 65 * To save power when no video data is transmitted, a driver can power down
|
/linux-4.1.27/drivers/media/pci/saa7134/ |
H A D | saa7134-empress.c | 126 saa_call_all(dev, video, g_mbus_fmt, &mbus_fmt); empress_g_fmt_vid_cap() 143 saa_call_all(dev, video, s_mbus_fmt, &mbus_fmt); empress_s_fmt_vid_cap() 160 saa_call_all(dev, video, try_mbus_fmt, &mbus_fmt); empress_try_fmt_vid_cap() 224 dprintk("no video signal\n"); empress_signal_update() 226 dprintk("video signal acquired\n"); empress_signal_update() 305 printk(KERN_INFO "%s: can't register video device\n", empress_init()
|
/linux-4.1.27/arch/sparc/kernel/ |
H A D | setup_32.c | 56 0, /* orig-video-page */ 57 0, /* orig-video-mode */ 58 128, /* orig-video-cols */ 60 54, /* orig-video-lines */ 61 0, /* orig-video-isVGA */ 62 16 /* orig-video-points */
|
/linux-4.1.27/arch/powerpc/include/asm/ |
H A D | ps3av.h | 121 /* for video module */ 314 /* for video mode */ 457 /* backend: video cs param */ 461 u16 av_vid; /* in: video resolution */ 470 /* backend: video mute */ 481 /* backend: video disable signal */ 547 /* video: initialize */ 554 /* video: mode setting */ 559 u32 video_vid; /* in: video resolution */ 573 /* video: format */ 583 /* video: pitch */ 673 * struct ps3av_pkt_video_mode video[num_of_video_pkt]; 690 #define PS3AV_STATUS_INVALID_VID 0x0005 /* invalid video format */ 691 #define PS3AV_STATUS_INVALID_COLOR_SPACE 0x0006 /* invalid video colose space */ 699 #define PS3AV_STATUS_INVALID_VIDEO_PARAM 0x000e /* invalid video param */
|
/linux-4.1.27/drivers/media/platform/soc_camera/ |
H A D | mx3_camera.c | 86 * @lock: protects video buffer lists 87 * @active: active video buffer 108 spinlock_t lock; /* Protects video buffer lists */ 267 struct idmac_video_param *video = &ichan->params.video; mx3_videobuf_queue() local 301 video->out_pixel_fmt = fourcc_to_ipu_pix(host_fmt->fourcc); mx3_videobuf_queue() 303 if (video->out_pixel_fmt == IPU_PIX_FMT_GENERIC) { mx3_videobuf_queue() 311 video->out_width = icd->bytesperline; mx3_videobuf_queue() 312 video->out_height = icd->user_height; mx3_videobuf_queue() 313 video->out_stride = icd->bytesperline; mx3_videobuf_queue() 319 video->out_width = icd->user_width; mx3_videobuf_queue() 320 video->out_height = icd->user_height; mx3_videobuf_queue() 321 video->out_stride = icd->user_width; mx3_videobuf_queue() 594 ret = v4l2_subdev_call(sd, video, g_mbus_config, &cfg); mx3_camera_try_bus_param() 665 ret = v4l2_subdev_call(sd, video, enum_mbus_fmt, idx, &code); mx3_camera_get_formats() 810 ret = v4l2_subdev_call(sd, video, s_crop, a); mx3_camera_set_crop() 815 ret = v4l2_subdev_call(sd, video, g_mbus_fmt, &mf); mx3_camera_set_crop() 825 ret = v4l2_subdev_call(sd, video, s_mbus_fmt, &mf); mx3_camera_set_crop() 878 ret = v4l2_subdev_call(sd, video, s_mbus_fmt, &mf); mx3_camera_set_fmt() 932 ret = v4l2_subdev_call(sd, video, try_mbus_fmt, &mf); mx3_camera_try_fmt() 1012 ret = v4l2_subdev_call(sd, video, g_mbus_config, &cfg); mx3_camera_set_bus_param() 1065 ret = v4l2_subdev_call(sd, video, s_mbus_config, &cfg); mx3_camera_set_bus_param() 1199 /* list of video-buffers */ mx3_camera_probe()
|
H A D | soc_scale_crop.c | 49 ret = v4l2_subdev_call(sd, video, g_crop, &crop); soc_camera_client_g_rect() 58 ret = v4l2_subdev_call(sd, video, cropcap, &cap); soc_camera_client_g_rect() 106 v4l2_subdev_call(sd, video, s_crop, crop); soc_camera_client_s_crop() 130 ret = v4l2_subdev_call(sd, video, cropcap, &cap); soc_camera_client_s_crop() 184 v4l2_subdev_call(sd, video, s_crop, cam_crop); soc_camera_client_s_crop() 198 v4l2_subdev_call(sd, video, s_crop, cam_crop); soc_camera_client_s_crop() 228 soc_camera_grp_id(icd), video, client_s_fmt() 247 ret = v4l2_subdev_call(sd, video, cropcap, &cap); client_s_fmt() 268 soc_camera_grp_id(icd), video, client_s_fmt()
|
/linux-4.1.27/drivers/media/pci/bt8xx/ |
H A D | bttv-vbi.c | 123 as earlier driver versions did. The driver permits video vbi_buffer_prepare() 125 instead of btv->tvnorm to skip zero lines after video vbi_buffer_prepare() 187 /* VBI capturing ends at VDELAY, start of video capturing, vbi_buffer_prepare() 252 the VBI and video capture window may overlap. In reality RISC try_fmt() 253 magic aborts VBI capturing at the first line of video capturing, try_fmt() 255 VBI capturing must always start before video capturing. >> 1 try_fmt() 353 /* First possible line of video capturing. Should be bttv_s_fmt_vbi_cap() 356 pretend the VBI and video capture window may overlap, bttv_s_fmt_vbi_cap() 392 behaviour of earlier driver versions after video bttv_g_fmt_vbi_cap() 440 VBI_BPL regardless of the current video standard. */ bttv_vbi_fmt_reset()
|
H A D | bttvp.h | 192 /* fmt.start[] and count[] refer to this video standard. */ 195 /* Earliest possible start of video capturing with this 225 /* video capture */ 231 /* video overlay */ 359 struct bttv_buffer_set video; member in struct:bttv_suspend_state 427 /* video state */ 470 struct list_head capture; /* video capture queue */ 494 /* Default (0) and current (1) video capturing and overlay 499 /* Earliest possible start of video capturing in
|
/linux-4.1.27/drivers/mfd/ |
H A D | dm355evm_msp.c | 25 * The DM355 is a DaVinci chip with video support but no C64+ DSP. Its 371 const char *video = msp_has_tvp() ? "TVP5146" : "imager"; dm355evm_msp_probe() local 381 dev_info(&client->dev, "firmware v.%02X, %s as video-in\n", dm355evm_msp_probe() 382 status, video); dm355evm_msp_probe() 384 /* mux video input: either tvp5146 or some external imager */ dm355evm_msp_probe() 388 dev_warn(&client->dev, "error %d muxing %s as video-in\n", dm355evm_msp_probe() 389 status, video); dm355evm_msp_probe()
|
/linux-4.1.27/include/uapi/linux/dvb/ |
H A D | video.h | 2 * video.h 148 int video_blank; /* blank video on freeze? */ 217 /* can you send a system and/or program stream to video device? 218 (you still have to open the video and the audio device but only 219 send the stream to the video device) */
|
/linux-4.1.27/drivers/media/pci/saa7146/ |
H A D | mxb.c | 89 which has to be switched corresponding to the video source (mxb_channels) */ 359 /* select video mode in saa7111a */ mxb_init_done() 360 saa7111a_call(mxb, video, s_std, std); mxb_init_done() 364 saa7111a_call(mxb, video, s_routing, SAA7115_COMPOSITE0, mxb_init_done() 378 /* set a default video standard */ mxb_init_done() 382 saa7111a_call(mxb, video, s_std, std); mxb_init_done() 383 tuner_call(mxb, video, s_std, std); mxb_init_done() 386 tea6415c_call(mxb, video, s_routing, 3, 17, 0); mxb_init_done() 389 tea6415c_call(mxb, video, s_routing, 3, 13, 0); mxb_init_done() 502 err = tea6415c_call(mxb, video, s_routing, 3, 17, 0); vidioc_s_input() 506 err = tea6415c_call(mxb, video, s_routing, 3, 13, 0); vidioc_s_input() 520 err = tea6415c_call(mxb, video, s_routing, 1, 17, 0); vidioc_s_input() 527 /* switch video in saa7111a */ vidioc_s_input() 528 if (saa7111a_call(mxb, video, s_routing, i, SAA7111_FMT_CCIR, 0)) vidioc_s_input() 582 return call_all(dev, video, querystd, norm); vidioc_querystd() 774 saa7111a_call(mxb, video, s_std, std); std_callback() 776 tuner_call(mxb, video, s_std, std); std_callback() 786 saa7111a_call(mxb, video, s_std, std); std_callback() 788 tuner_call(mxb, video, s_std, std); std_callback()
|
/linux-4.1.27/arch/unicore32/include/mach/ |
H A D | regs-unigfx.h | 64 * video position UDE_VXY 68 * video start address reg UDE_VSA 72 * video size reg UDE_VS
|
/linux-4.1.27/drivers/video/fbdev/omap2/omapfb/ |
H A D | omapfb.h | 2 * linux/drivers/video/omap2/omapfb.h 7 * Some code and ideas taken from drivers/video/omap/ driver 34 #include <video/omapdss.h>
|
/linux-4.1.27/drivers/video/fbdev/vermilion/ |
H A D | cr_pll.c | 8 * This file is part of the Carillo Ranch video subsystem driver. 9 * The Carillo Ranch video subsystem driver is free software; 15 * The Carillo Ranch video subsystem driver is distributed
|
/linux-4.1.27/drivers/media/pci/zoran/ |
H A D | zoran.h | 66 # error "Too many video frame buffers to handle" 243 int inputs; /* number of video inputs */ 277 struct v4l2_subdev *decoder; /* video decoder sub-device */ 278 struct v4l2_subdev *encoder; /* video encoder sub-device */ 280 struct videocodec *codec; /* video codec */ 281 struct videocodec *vfe; /* video front end */
|
/linux-4.1.27/drivers/gpu/drm/radeon/ |
H A D | radeon_gart.c | 119 * Allocate video memory for GART page table 121 * gart table to be in video memory. 146 * gart table to be in video memory. 190 * These asics require the gart table to be in video memory. 213 * Free the video memory used for the GART page table 215 * be in video memory.
|
/linux-4.1.27/drivers/gpu/drm/i915/ |
H A D | intel_dsi.h | 62 /* video mode pixel format for MIPI_DSI_FUNC_PRG register */ 65 /* video mode format for MIPI_VIDEO_MODE_FORMAT register */
|
/linux-4.1.27/drivers/gpu/drm/vmwgfx/ |
H A D | svga_overlay.h | 29 * Definitions for video-overlay support. 86 * Struct definitions for the video overlay commands built on
|
/linux-4.1.27/drivers/video/backlight/ |
H A D | platform_lcd.c | 1 /* drivers/video/backlight/platform_lcd.c 22 #include <video/platform_lcd.h>
|
/linux-4.1.27/drivers/video/fbdev/mmp/panel/ |
H A D | tpo_tj032md01bw.c | 2 * linux/drivers/video/mmp/panel/tpo_tj032md01bw.c 34 #include <video/mmp_disp.h>
|
/linux-4.1.27/arch/arm/mach-clps711x/ |
H A D | board-edb7211.c | 30 #include <video/platform_lcd.h> 169 platform_device_register_simple("video-clps711x", 0, NULL, 0); edb7211_init_late()
|