Lines Matching refs:dev

324 static int set_itvc_reg(struct cx231xx *dev, u32 gpio_direction, u32 value)  in set_itvc_reg()  argument
331 status = cx231xx_send_gpio_cmd(dev, _gpio_direction, in set_itvc_reg()
336 static int get_itvc_reg(struct cx231xx *dev, u32 gpio_direction, u32 *val_ptr) in get_itvc_reg() argument
344 status = cx231xx_send_gpio_cmd(dev, _gpio_direction, in get_itvc_reg()
349 static int wait_for_mci_complete(struct cx231xx *dev) in wait_for_mci_complete() argument
354 get_itvc_reg(dev, gpio_direction, &gpio); in wait_for_mci_complete()
359 get_itvc_reg(dev, gpio_direction, &gpio); in wait_for_mci_complete()
369 static int mc417_register_write(struct cx231xx *dev, u16 address, u32 value) in mc417_register_write() argument
376 status = set_itvc_reg(dev, ITVC_WRITE_DIR, temp); in mc417_register_write()
380 set_itvc_reg(dev, ITVC_WRITE_DIR, temp); in mc417_register_write()
385 set_itvc_reg(dev, ITVC_WRITE_DIR, temp); in mc417_register_write()
387 set_itvc_reg(dev, ITVC_WRITE_DIR, temp); in mc417_register_write()
392 set_itvc_reg(dev, ITVC_WRITE_DIR, temp); in mc417_register_write()
394 set_itvc_reg(dev, ITVC_WRITE_DIR, temp); in mc417_register_write()
399 set_itvc_reg(dev, ITVC_WRITE_DIR, temp); in mc417_register_write()
401 set_itvc_reg(dev, ITVC_WRITE_DIR, temp); in mc417_register_write()
406 set_itvc_reg(dev, ITVC_WRITE_DIR, temp); in mc417_register_write()
408 set_itvc_reg(dev, ITVC_WRITE_DIR, temp); in mc417_register_write()
413 set_itvc_reg(dev, ITVC_WRITE_DIR, temp); in mc417_register_write()
415 set_itvc_reg(dev, ITVC_WRITE_DIR, temp); in mc417_register_write()
420 set_itvc_reg(dev, ITVC_WRITE_DIR, temp); in mc417_register_write()
422 set_itvc_reg(dev, ITVC_WRITE_DIR, temp); in mc417_register_write()
424 return wait_for_mci_complete(dev); in mc417_register_write()
427 static int mc417_register_read(struct cx231xx *dev, u16 address, u32 *value) in mc417_register_read() argument
436 set_itvc_reg(dev, ITVC_WRITE_DIR, temp); in mc417_register_read()
438 set_itvc_reg(dev, ITVC_WRITE_DIR, temp); in mc417_register_read()
443 set_itvc_reg(dev, ITVC_WRITE_DIR, temp); in mc417_register_read()
445 set_itvc_reg(dev, ITVC_WRITE_DIR, temp); in mc417_register_read()
450 set_itvc_reg(dev, ITVC_WRITE_DIR, temp); in mc417_register_read()
452 set_itvc_reg(dev, ITVC_WRITE_DIR, temp); in mc417_register_read()
456 ret = wait_for_mci_complete(dev); in mc417_register_read()
462 set_itvc_reg(dev, ITVC_READ_DIR, temp); in mc417_register_read()
464 set_itvc_reg(dev, ITVC_READ_DIR, temp); in mc417_register_read()
465 get_itvc_reg(dev, ITVC_READ_DIR, &temp); in mc417_register_read()
467 set_itvc_reg(dev, ITVC_READ_DIR, (0x87 << 10)); in mc417_register_read()
471 set_itvc_reg(dev, ITVC_READ_DIR, temp); in mc417_register_read()
473 set_itvc_reg(dev, ITVC_READ_DIR, temp); in mc417_register_read()
474 get_itvc_reg(dev, ITVC_READ_DIR, &temp); in mc417_register_read()
477 set_itvc_reg(dev, ITVC_READ_DIR, (0x87 << 10)); in mc417_register_read()
481 set_itvc_reg(dev, ITVC_READ_DIR, temp); in mc417_register_read()
483 set_itvc_reg(dev, ITVC_READ_DIR, temp); in mc417_register_read()
484 get_itvc_reg(dev, ITVC_READ_DIR, &temp); in mc417_register_read()
486 set_itvc_reg(dev, ITVC_READ_DIR, (0x87 << 10)); in mc417_register_read()
490 set_itvc_reg(dev, ITVC_READ_DIR, temp); in mc417_register_read()
492 set_itvc_reg(dev, ITVC_READ_DIR, temp); in mc417_register_read()
493 get_itvc_reg(dev, ITVC_READ_DIR, &temp); in mc417_register_read()
495 set_itvc_reg(dev, ITVC_READ_DIR, (0x87 << 10)); in mc417_register_read()
501 static int mc417_memory_write(struct cx231xx *dev, u32 address, u32 value) in mc417_memory_write() argument
510 ret = set_itvc_reg(dev, ITVC_WRITE_DIR, temp); in mc417_memory_write()
514 set_itvc_reg(dev, ITVC_WRITE_DIR, temp); in mc417_memory_write()
519 set_itvc_reg(dev, ITVC_WRITE_DIR, temp); in mc417_memory_write()
521 set_itvc_reg(dev, ITVC_WRITE_DIR, temp); in mc417_memory_write()
526 set_itvc_reg(dev, ITVC_WRITE_DIR, temp); in mc417_memory_write()
528 set_itvc_reg(dev, ITVC_WRITE_DIR, temp); in mc417_memory_write()
533 set_itvc_reg(dev, ITVC_WRITE_DIR, temp); in mc417_memory_write()
535 set_itvc_reg(dev, ITVC_WRITE_DIR, temp); in mc417_memory_write()
541 set_itvc_reg(dev, ITVC_WRITE_DIR, temp); in mc417_memory_write()
543 set_itvc_reg(dev, ITVC_WRITE_DIR, temp); in mc417_memory_write()
548 set_itvc_reg(dev, ITVC_WRITE_DIR, temp); in mc417_memory_write()
550 set_itvc_reg(dev, ITVC_WRITE_DIR, temp); in mc417_memory_write()
555 set_itvc_reg(dev, ITVC_WRITE_DIR, temp); in mc417_memory_write()
557 set_itvc_reg(dev, ITVC_WRITE_DIR, temp); in mc417_memory_write()
560 wait_for_mci_complete(dev); in mc417_memory_write()
565 static int mc417_memory_read(struct cx231xx *dev, u32 address, u32 *value) in mc417_memory_read() argument
575 ret = set_itvc_reg(dev, ITVC_WRITE_DIR, temp); in mc417_memory_read()
579 set_itvc_reg(dev, ITVC_WRITE_DIR, temp); in mc417_memory_read()
584 set_itvc_reg(dev, ITVC_WRITE_DIR, temp); in mc417_memory_read()
586 set_itvc_reg(dev, ITVC_WRITE_DIR, temp); in mc417_memory_read()
591 set_itvc_reg(dev, ITVC_WRITE_DIR, temp); in mc417_memory_read()
593 set_itvc_reg(dev, ITVC_WRITE_DIR, temp); in mc417_memory_read()
596 ret = wait_for_mci_complete(dev); in mc417_memory_read()
601 set_itvc_reg(dev, ITVC_READ_DIR, temp); in mc417_memory_read()
603 set_itvc_reg(dev, ITVC_READ_DIR, temp); in mc417_memory_read()
604 get_itvc_reg(dev, ITVC_READ_DIR, &temp); in mc417_memory_read()
606 set_itvc_reg(dev, ITVC_READ_DIR, (0x87 << 10)); in mc417_memory_read()
610 set_itvc_reg(dev, ITVC_READ_DIR, temp); in mc417_memory_read()
612 set_itvc_reg(dev, ITVC_READ_DIR, temp); in mc417_memory_read()
613 get_itvc_reg(dev, ITVC_READ_DIR, &temp); in mc417_memory_read()
615 set_itvc_reg(dev, ITVC_READ_DIR, (0x87 << 10)); in mc417_memory_read()
619 set_itvc_reg(dev, ITVC_READ_DIR, temp); in mc417_memory_read()
621 set_itvc_reg(dev, ITVC_READ_DIR, temp); in mc417_memory_read()
622 get_itvc_reg(dev, ITVC_READ_DIR, &temp); in mc417_memory_read()
624 set_itvc_reg(dev, ITVC_READ_DIR, (0x87 << 10)); in mc417_memory_read()
628 set_itvc_reg(dev, ITVC_READ_DIR, temp); in mc417_memory_read()
630 set_itvc_reg(dev, ITVC_READ_DIR, temp); in mc417_memory_read()
631 get_itvc_reg(dev, ITVC_READ_DIR, &temp); in mc417_memory_read()
633 set_itvc_reg(dev, ITVC_READ_DIR, (0x87 << 10)); in mc417_memory_read()
733 struct cx231xx *dev = priv; in cx231xx_mbox_func() local
743 mc417_memory_read(dev, dev->cx23417_mailbox - 4, &value); in cx231xx_mbox_func()
753 mc417_memory_read(dev, dev->cx23417_mailbox, &flag); in cx231xx_mbox_func()
761 mc417_memory_write(dev, dev->cx23417_mailbox, flag); in cx231xx_mbox_func()
765 mc417_memory_write(dev, dev->cx23417_mailbox + 1, command); in cx231xx_mbox_func()
766 mc417_memory_write(dev, dev->cx23417_mailbox + 3, in cx231xx_mbox_func()
769 mc417_memory_write(dev, dev->cx23417_mailbox + 4 + i, data[i]); in cx231xx_mbox_func()
773 mc417_memory_write(dev, dev->cx23417_mailbox + 4 + i, 0); in cx231xx_mbox_func()
776 mc417_memory_write(dev, dev->cx23417_mailbox, flag); in cx231xx_mbox_func()
781 mc417_memory_read(dev, dev->cx23417_mailbox, &flag); in cx231xx_mbox_func()
793 mc417_memory_read(dev, dev->cx23417_mailbox + 4 + i, data + i); in cx231xx_mbox_func()
797 mc417_memory_read(dev, dev->cx23417_mailbox + 2, &retval); in cx231xx_mbox_func()
801 mc417_memory_write(dev, dev->cx23417_mailbox, flag); in cx231xx_mbox_func()
809 static int cx231xx_api_cmd(struct cx231xx *dev, u32 command, in cx231xx_api_cmd() argument
822 err = cx231xx_mbox_func(dev, command, inputcnt, outputcnt, data); in cx231xx_api_cmd()
833 static int cx231xx_find_mailbox(struct cx231xx *dev) in cx231xx_find_mailbox() argument
846 ret = mc417_memory_read(dev, i, &value); in cx231xx_find_mailbox()
862 static void mci_write_memory_to_gpio(struct cx231xx *dev, u32 address, u32 value, in mci_write_memory_to_gpio() argument
938 static int cx231xx_load_firmware(struct cx231xx *dev) in cx231xx_load_firmware() argument
975 retval |= mc417_memory_read(dev, 0x9020, &gpio_output); in cx231xx_load_firmware()
976 retval |= mc417_memory_read(dev, 0x900C, &value); in cx231xx_load_firmware()
978 retval = mc417_register_write(dev, in cx231xx_load_firmware()
980 retval |= mc417_register_write(dev, in cx231xx_load_firmware()
982 retval |= mc417_register_write(dev, in cx231xx_load_firmware()
984 retval |= mc417_register_write(dev, in cx231xx_load_firmware()
986 retval |= mc417_register_write(dev, in cx231xx_load_firmware()
990 dev_err(dev->dev, in cx231xx_load_firmware()
996 dev->dev); in cx231xx_load_firmware()
999 dev_err(dev->dev, in cx231xx_load_firmware()
1002 dev_err(dev->dev, in cx231xx_load_firmware()
1008 dev_err(dev->dev, in cx231xx_load_firmware()
1016 dev_err(dev->dev, in cx231xx_load_firmware()
1022 initGPIO(dev); in cx231xx_load_firmware()
1032 mci_write_memory_to_gpio(dev, address, fw_data, p_current_fw); in cx231xx_load_firmware()
1051 cx231xx_ep5_bulkout(dev, p_buffer, _buffer_size); in cx231xx_load_firmware()
1057 uninitGPIO(dev); in cx231xx_load_firmware()
1061 retval |= mc417_register_write(dev, IVTV_REG_HW_BLOCKS, in cx231xx_load_firmware()
1064 dev_err(dev->dev, in cx231xx_load_firmware()
1070 retval |= mc417_register_write(dev, 0x9020, gpio_output); in cx231xx_load_firmware()
1071 retval |= mc417_register_write(dev, 0x900C, value); in cx231xx_load_firmware()
1073 retval |= mc417_register_read(dev, IVTV_REG_VPU, &value); in cx231xx_load_firmware()
1074 retval |= mc417_register_write(dev, IVTV_REG_VPU, value & 0xFFFFFFE8); in cx231xx_load_firmware()
1077 dev_err(dev->dev, in cx231xx_load_firmware()
1085 static void cx231xx_417_check_encoder(struct cx231xx *dev) in cx231xx_417_check_encoder() argument
1091 cx231xx_api_cmd(dev, CX2341X_ENC_GET_SEQ_END, 0, 2, &status, &seq); in cx231xx_417_check_encoder()
1095 static void cx231xx_codec_settings(struct cx231xx *dev) in cx231xx_codec_settings() argument
1100 cx231xx_api_cmd(dev, CX2341X_ENC_SET_FRAME_SIZE, 2, 0, in cx231xx_codec_settings()
1101 dev->ts1.height, dev->ts1.width); in cx231xx_codec_settings()
1103 dev->mpeg_ctrl_handler.width = dev->ts1.width; in cx231xx_codec_settings()
1104 dev->mpeg_ctrl_handler.height = dev->ts1.height; in cx231xx_codec_settings()
1106 cx2341x_handler_setup(&dev->mpeg_ctrl_handler); in cx231xx_codec_settings()
1108 cx231xx_api_cmd(dev, CX2341X_ENC_MISC, 2, 0, 3, 1); in cx231xx_codec_settings()
1109 cx231xx_api_cmd(dev, CX2341X_ENC_MISC, 2, 0, 4, 1); in cx231xx_codec_settings()
1112 static int cx231xx_initialize_codec(struct cx231xx *dev) in cx231xx_initialize_codec() argument
1120 cx231xx_disable656(dev); in cx231xx_initialize_codec()
1121 retval = cx231xx_api_cmd(dev, CX2341X_ENC_PING_FW, 0, 0); /* ping */ in cx231xx_initialize_codec()
1124 retval = cx231xx_load_firmware(dev); in cx231xx_initialize_codec()
1126 dev_err(dev->dev, in cx231xx_initialize_codec()
1130 retval = cx231xx_find_mailbox(dev); in cx231xx_initialize_codec()
1132 dev_err(dev->dev, "%s: mailbox < 0, error\n", in cx231xx_initialize_codec()
1136 dev->cx23417_mailbox = retval; in cx231xx_initialize_codec()
1137 retval = cx231xx_api_cmd(dev, CX2341X_ENC_PING_FW, 0, 0); in cx231xx_initialize_codec()
1139 dev_err(dev->dev, in cx231xx_initialize_codec()
1143 retval = cx231xx_api_cmd(dev, CX2341X_ENC_GET_VERSION, 0, 1, in cx231xx_initialize_codec()
1146 dev_err(dev->dev, in cx231xx_initialize_codec()
1155 retval = mc417_register_read(dev, 0x20f8, &val); in cx231xx_initialize_codec()
1162 cx231xx_enable656(dev); in cx231xx_initialize_codec()
1164 cx231xx_api_cmd(dev, CX2341X_ENC_STOP_CAPTURE, in cx231xx_initialize_codec()
1167 cx231xx_codec_settings(dev); in cx231xx_initialize_codec()
1190 cx231xx_api_cmd(dev, CX2341X_ENC_SET_VBI_CONFIG, 7, 0, data[0], data[1], in cx231xx_initialize_codec()
1197 cx231xx_api_cmd(dev, CX2341X_ENC_SET_VBI_LINE, 5, 0, i, in cx231xx_initialize_codec()
1199 cx231xx_api_cmd(dev, CX2341X_ENC_SET_VBI_LINE, 5, 0, in cx231xx_initialize_codec()
1207 retval = cx231xx_api_cmd(dev, CX2341X_ENC_INITIALIZE_INPUT, 0, 0); in cx231xx_initialize_codec()
1213 mc417_memory_write(dev, 2120, 0x00000080); in cx231xx_initialize_codec()
1216 retval = cx231xx_api_cmd(dev, CX2341X_ENC_START_CAPTURE, 2, 0, in cx231xx_initialize_codec()
1223 mc417_register_read(dev, 0x20f8, &val); in cx231xx_initialize_codec()
1237 fh->dev->ts1.ts_packet_size = mpeglinesize; in bb_buf_setup()
1238 fh->dev->ts1.ts_packet_count = mpeglines; in bb_buf_setup()
1240 *size = fh->dev->ts1.ts_packet_size * fh->dev->ts1.ts_packet_count; in bb_buf_setup()
1249 struct cx231xx *dev = fh->dev; in free_buffer() local
1255 spin_lock_irqsave(&dev->video_mode.slock, flags); in free_buffer()
1256 if (dev->USE_ISO) { in free_buffer()
1257 if (dev->video_mode.isoc_ctl.buf == buf) in free_buffer()
1258 dev->video_mode.isoc_ctl.buf = NULL; in free_buffer()
1260 if (dev->video_mode.bulk_ctl.buf == buf) in free_buffer()
1261 dev->video_mode.bulk_ctl.buf = NULL; in free_buffer()
1263 spin_unlock_irqrestore(&dev->video_mode.slock, flags); in free_buffer()
1269 static void buffer_copy(struct cx231xx *dev, char *data, int len, struct urb *urb, in buffer_copy() argument
1283 dev->video_mode.isoc_ctl.buf = buf; in buffer_copy()
1287 buf = dev->video_mode.isoc_ctl.buf; in buffer_copy()
1350 static int cx231xx_isoc_copy(struct cx231xx *dev, struct urb *urb) in cx231xx_isoc_copy() argument
1359 buffer_copy(dev, dma_q->p_left_data, in cx231xx_isoc_copy()
1370 buffer_copy(dev, p_buffer, buffer_size, urb, dma_q); in cx231xx_isoc_copy()
1376 static int cx231xx_bulk_copy(struct cx231xx *dev, struct urb *urb) in cx231xx_bulk_copy() argument
1404 struct cx231xx *dev = fh->dev; in bb_buf_prepare() local
1406 int size = fh->dev->ts1.ts_packet_size * fh->dev->ts1.ts_packet_count; in bb_buf_prepare()
1410 buf->vb.width = fh->dev->ts1.ts_packet_size; in bb_buf_prepare()
1411 buf->vb.height = fh->dev->ts1.ts_packet_count; in bb_buf_prepare()
1421 if (dev->USE_ISO) { in bb_buf_prepare()
1422 if (!dev->video_mode.isoc_ctl.num_bufs) in bb_buf_prepare()
1425 if (!dev->video_mode.bulk_ctl.num_bufs) in bb_buf_prepare()
1428 dev_dbg(dev->dev, in bb_buf_prepare()
1430 urb_init, dev->video_mode.max_pkt_size); in bb_buf_prepare()
1431 dev->mode_tv = 1; in bb_buf_prepare()
1434 rc = cx231xx_set_mode(dev, CX231XX_DIGITAL_MODE); in bb_buf_prepare()
1435 rc = cx231xx_unmute_audio(dev); in bb_buf_prepare()
1436 if (dev->USE_ISO) { in bb_buf_prepare()
1437 cx231xx_set_alt_setting(dev, INDEX_TS1, 4); in bb_buf_prepare()
1438 rc = cx231xx_init_isoc(dev, mpeglines, in bb_buf_prepare()
1440 dev->ts1_mode.max_pkt_size, in bb_buf_prepare()
1443 cx231xx_set_alt_setting(dev, INDEX_TS1, 0); in bb_buf_prepare()
1444 rc = cx231xx_init_bulk(dev, mpeglines, in bb_buf_prepare()
1446 dev->ts1_mode.max_pkt_size, in bb_buf_prepare()
1468 struct cx231xx *dev = fh->dev; in bb_buf_queue() local
1469 struct cx231xx_dmaqueue *vidq = &dev->video_mode.vidq; in bb_buf_queue()
1499 struct cx231xx *dev = fh->dev; in vidioc_g_std() local
1501 *norm = dev->encodernorm.id; in vidioc_g_std()
1508 struct cx231xx *dev = fh->dev; in vidioc_s_std() local
1516 dev->encodernorm = cx231xx_tvnorms[i]; in vidioc_s_std()
1518 if (dev->encodernorm.id & 0xb000) { in vidioc_s_std()
1520 dev->norm = V4L2_STD_NTSC; in vidioc_s_std()
1521 dev->ts1.height = 480; in vidioc_s_std()
1522 cx2341x_handler_set_50hz(&dev->mpeg_ctrl_handler, false); in vidioc_s_std()
1525 dev->norm = V4L2_STD_PAL_B; in vidioc_s_std()
1526 dev->ts1.height = 576; in vidioc_s_std()
1527 cx2341x_handler_set_50hz(&dev->mpeg_ctrl_handler, true); in vidioc_s_std()
1529 call_all(dev, video, s_std, dev->norm); in vidioc_s_std()
1531 cx231xx_do_mode_ctrl_overrides(dev); in vidioc_s_std()
1541 struct cx231xx *dev = fh->dev; in vidioc_s_ctrl() local
1545 call_all(dev, core, s_ctrl, ctl); in vidioc_s_ctrl()
1566 struct cx231xx *dev = fh->dev; in vidioc_g_fmt_vid_cap() local
1573 f->fmt.pix.width = dev->ts1.width; in vidioc_g_fmt_vid_cap()
1574 f->fmt.pix.height = dev->ts1.height; in vidioc_g_fmt_vid_cap()
1577 dev->ts1.width, dev->ts1.height); in vidioc_g_fmt_vid_cap()
1586 struct cx231xx *dev = fh->dev; in vidioc_try_fmt_vid_cap() local
1595 dev->ts1.width, dev->ts1.height); in vidioc_try_fmt_vid_cap()
1636 struct cx231xx *dev = fh->dev; in vidioc_streamon() local
1639 cx231xx_set_alt_setting(dev, INDEX_TS1, 0); in vidioc_streamon()
1640 cx231xx_set_mode(dev, CX231XX_DIGITAL_MODE); in vidioc_streamon()
1641 if (dev->USE_ISO) in vidioc_streamon()
1642 cx231xx_init_isoc(dev, CX231XX_NUM_PACKETS, in vidioc_streamon()
1644 dev->video_mode.max_pkt_size, in vidioc_streamon()
1647 cx231xx_init_bulk(dev, 320, in vidioc_streamon()
1649 dev->ts1_mode.max_pkt_size, in vidioc_streamon()
1666 struct cx231xx *dev = fh->dev; in vidioc_log_status() local
1668 call_all(dev, core, log_status); in vidioc_log_status()
1675 struct cx231xx *dev = video_drvdata(file); in mpeg_open() local
1680 if (mutex_lock_interruptible(&dev->lock)) in mpeg_open()
1686 mutex_unlock(&dev->lock); in mpeg_open()
1692 fh->dev = dev; in mpeg_open()
1696 NULL, &dev->video_mode.slock, in mpeg_open()
1698 sizeof(struct cx231xx_buffer), fh, &dev->lock); in mpeg_open()
1708 cx231xx_set_alt_setting(dev, INDEX_VANC, 1); in mpeg_open()
1709 cx231xx_set_gpio_value(dev, 2, 0); in mpeg_open()
1711 cx231xx_initialize_codec(dev); in mpeg_open()
1713 mutex_unlock(&dev->lock); in mpeg_open()
1715 cx231xx_start_TS1(dev); in mpeg_open()
1723 struct cx231xx *dev = fh->dev; in mpeg_release() local
1725 dprintk(3, "mpeg_release()! dev=0x%p\n", dev); in mpeg_release()
1727 mutex_lock(&dev->lock); in mpeg_release()
1729 cx231xx_stop_TS1(dev); in mpeg_release()
1732 if (dev->USE_ISO) in mpeg_release()
1733 cx231xx_uninit_isoc(dev); in mpeg_release()
1735 cx231xx_uninit_bulk(dev); in mpeg_release()
1736 cx231xx_set_mode(dev, CX231XX_SUSPEND); in mpeg_release()
1738 cx231xx_api_cmd(fh->dev, CX2341X_ENC_STOP_CAPTURE, 3, 0, in mpeg_release()
1745 if (atomic_dec_return(&dev->v4l_reader_count) == 0) { in mpeg_release()
1749 cx231xx_417_check_encoder(dev); in mpeg_release()
1763 mutex_unlock(&dev->lock); in mpeg_release()
1771 struct cx231xx *dev = fh->dev; in mpeg_read() local
1776 if (atomic_inc_return(&dev->v4l_reader_count) == 1) { in mpeg_read()
1777 if (cx231xx_initialize_codec(dev) < 0) in mpeg_read()
1791 struct cx231xx *dev = fh->dev; in mpeg_poll() local
1802 mutex_lock(&dev->lock); in mpeg_poll()
1804 mutex_unlock(&dev->lock); in mpeg_poll()
1866 void cx231xx_417_unregister(struct cx231xx *dev) in cx231xx_417_unregister() argument
1871 if (video_is_registered(&dev->v4l_device)) { in cx231xx_417_unregister()
1872 video_unregister_device(&dev->v4l_device); in cx231xx_417_unregister()
1873 v4l2_ctrl_handler_free(&dev->mpeg_ctrl_handler.hdl); in cx231xx_417_unregister()
1879 struct cx231xx *dev = container_of(cxhdl, struct cx231xx, mpeg_ctrl_handler); in cx231xx_s_video_encoding() local
1887 v4l2_subdev_call(dev->sd_cx25840, video, s_mbus_fmt, &fmt); in cx231xx_s_video_encoding()
1894 struct cx231xx *dev = container_of(cxhdl, struct cx231xx, mpeg_ctrl_handler); in cx231xx_s_audio_sampling_freq() local
1899 call_all(dev, audio, s_clock_freq, freqs[idx]); in cx231xx_s_audio_sampling_freq()
1911 struct cx231xx *dev, in cx231xx_video_dev_init() argument
1919 snprintf(vfd->name, sizeof(vfd->name), "%s %s (%s)", dev->name, in cx231xx_video_dev_init()
1920 type, cx231xx_boards[dev->model].name); in cx231xx_video_dev_init()
1922 vfd->v4l2_dev = &dev->v4l2_dev; in cx231xx_video_dev_init()
1923 vfd->lock = &dev->lock; in cx231xx_video_dev_init()
1925 vfd->ctrl_handler = &dev->mpeg_ctrl_handler.hdl; in cx231xx_video_dev_init()
1926 video_set_drvdata(vfd, dev); in cx231xx_video_dev_init()
1927 if (dev->tuner_type == TUNER_ABSENT) { in cx231xx_video_dev_init()
1935 int cx231xx_417_register(struct cx231xx *dev) in cx231xx_417_register() argument
1939 struct cx231xx_tsport *tsport = &dev->ts1; in cx231xx_417_register()
1944 dev->encodernorm = cx231xx_tvnorms[0]; in cx231xx_417_register()
1946 if (dev->encodernorm.id & V4L2_STD_525_60) in cx231xx_417_register()
1952 err = cx2341x_handler_init(&dev->mpeg_ctrl_handler, 50); in cx231xx_417_register()
1954 dprintk(3, "%s: can't init cx2341x controls\n", dev->name); in cx231xx_417_register()
1957 dev->mpeg_ctrl_handler.func = cx231xx_mbox_func; in cx231xx_417_register()
1958 dev->mpeg_ctrl_handler.priv = dev; in cx231xx_417_register()
1959 dev->mpeg_ctrl_handler.ops = &cx231xx_ops; in cx231xx_417_register()
1960 if (dev->sd_cx25840) in cx231xx_417_register()
1961 v4l2_ctrl_add_handler(&dev->mpeg_ctrl_handler.hdl, in cx231xx_417_register()
1962 dev->sd_cx25840->ctrl_handler, NULL); in cx231xx_417_register()
1963 if (dev->mpeg_ctrl_handler.hdl.error) { in cx231xx_417_register()
1964 err = dev->mpeg_ctrl_handler.hdl.error; in cx231xx_417_register()
1965 dprintk(3, "%s: can't add cx25840 controls\n", dev->name); in cx231xx_417_register()
1966 v4l2_ctrl_handler_free(&dev->mpeg_ctrl_handler.hdl); in cx231xx_417_register()
1969 dev->norm = V4L2_STD_NTSC; in cx231xx_417_register()
1971 dev->mpeg_ctrl_handler.port = CX2341X_PORT_SERIAL; in cx231xx_417_register()
1972 cx2341x_handler_set_50hz(&dev->mpeg_ctrl_handler, false); in cx231xx_417_register()
1975 cx231xx_video_dev_init(dev, dev->udev, in cx231xx_417_register()
1976 &dev->v4l_device, &cx231xx_mpeg_template, "mpeg"); in cx231xx_417_register()
1977 err = video_register_device(&dev->v4l_device, in cx231xx_417_register()
1980 dprintk(3, "%s: can't register mpeg device\n", dev->name); in cx231xx_417_register()
1981 v4l2_ctrl_handler_free(&dev->mpeg_ctrl_handler.hdl); in cx231xx_417_register()
1986 dev->name, dev->v4l_device.num); in cx231xx_417_register()