diff options
Diffstat (limited to 'drivers/media/pci/cx23885/cx23885-video.c')
-rw-r--r-- | drivers/media/pci/cx23885/cx23885-video.c | 20 |
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 | ||