aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/pci/cx23885/cx23885-video.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/pci/cx23885/cx23885-video.c')
-rw-r--r--drivers/media/pci/cx23885/cx23885-video.c20
1 files changed, 16 insertions, 4 deletions
diff --git a/drivers/media/pci/cx23885/cx23885-video.c b/drivers/media/pci/cx23885/cx23885-video.c
index 1a21926ca412..5991bc8dc158 100644
--- a/drivers/media/pci/cx23885/cx23885-video.c
+++ b/drivers/media/pci/cx23885/cx23885-video.c
@@ -300,7 +300,7 @@ void cx23885_video_wakeup(struct cx23885_dev *dev,
300 if ((s16) (count - buf->count) < 0) 300 if ((s16) (count - buf->count) < 0)
301 break; 301 break;
302 302
303 do_gettimeofday(&buf->vb.ts); 303 v4l2_get_timestamp(&buf->vb.ts);
304 dprintk(2, "[%p/%d] wakeup reg=%d buf=%d\n", buf, buf->vb.i, 304 dprintk(2, "[%p/%d] wakeup reg=%d buf=%d\n", buf, buf->vb.i,
305 count, buf->count); 305 count, buf->count);
306 buf->vb.state = VIDEOBUF_DONE; 306 buf->vb.state = VIDEOBUF_DONE;
@@ -509,7 +509,8 @@ static int cx23885_video_mux(struct cx23885_dev *dev, unsigned int input)
509 (dev->board == CX23885_BOARD_HAUPPAUGE_HVR1255) || 509 (dev->board == CX23885_BOARD_HAUPPAUGE_HVR1255) ||
510 (dev->board == CX23885_BOARD_HAUPPAUGE_HVR1255_22111) || 510 (dev->board == CX23885_BOARD_HAUPPAUGE_HVR1255_22111) ||
511 (dev->board == CX23885_BOARD_HAUPPAUGE_HVR1850) || 511 (dev->board == CX23885_BOARD_HAUPPAUGE_HVR1850) ||
512 (dev->board == CX23885_BOARD_MYGICA_X8507)) { 512 (dev->board == CX23885_BOARD_MYGICA_X8507) ||
513 (dev->board == CX23885_BOARD_AVERMEDIA_HC81R)) {
513 /* Configure audio routing */ 514 /* Configure audio routing */
514 v4l2_subdev_call(dev->sd_cx25840, audio, s_routing, 515 v4l2_subdev_call(dev->sd_cx25840, audio, s_routing,
515 INPUT(input)->amux, 0, 0); 516 INPUT(input)->amux, 0, 0);
@@ -1818,8 +1819,7 @@ int cx23885_video_register(struct cx23885_dev *dev)
1818 spin_lock_init(&dev->slock); 1819 spin_lock_init(&dev->slock);
1819 1820
1820 /* Initialize VBI template */ 1821 /* Initialize VBI template */
1821 memcpy(&cx23885_vbi_template, &cx23885_video_template, 1822 cx23885_vbi_template = cx23885_video_template;
1822 sizeof(cx23885_vbi_template));
1823 strcpy(cx23885_vbi_template.name, "cx23885-vbi"); 1823 strcpy(cx23885_vbi_template.name, "cx23885-vbi");
1824 1824
1825 dev->tvnorm = cx23885_video_template.current_norm; 1825 dev->tvnorm = cx23885_video_template.current_norm;
@@ -1878,6 +1878,18 @@ int cx23885_video_register(struct cx23885_dev *dev)
1878 }; 1878 };
1879 v4l2_subdev_call(sd, tuner, s_config, &cfg); 1879 v4l2_subdev_call(sd, tuner, s_config, &cfg);
1880 } 1880 }
1881
1882 if (dev->board == CX23885_BOARD_AVERMEDIA_HC81R) {
1883 struct xc2028_ctrl ctrl = {
1884 .fname = "xc3028L-v36.fw",
1885 .max_len = 64
1886 };
1887 struct v4l2_priv_tun_config cfg = {
1888 .tuner = dev->tuner_type,
1889 .priv = &ctrl
1890 };
1891 v4l2_subdev_call(sd, tuner, s_config, &cfg);
1892 }
1881 } 1893 }
1882 } 1894 }
1883 1895