diff options
Diffstat (limited to 'drivers/media/video/ivtv/ivtv-driver.c')
-rw-r--r-- | drivers/media/video/ivtv/ivtv-driver.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/media/video/ivtv/ivtv-driver.c b/drivers/media/video/ivtv/ivtv-driver.c index aeaa13f6cb36..d36485023b68 100644 --- a/drivers/media/video/ivtv/ivtv-driver.c +++ b/drivers/media/video/ivtv/ivtv-driver.c | |||
@@ -1211,6 +1211,10 @@ static int __devinit ivtv_probe(struct pci_dev *dev, | |||
1211 | 1211 | ||
1212 | if (itv->v4l2_cap & V4L2_CAP_VIDEO_OUTPUT) { | 1212 | if (itv->v4l2_cap & V4L2_CAP_VIDEO_OUTPUT) { |
1213 | ivtv_call_i2c_clients(itv, VIDIOC_INT_S_STD_OUTPUT, &itv->std); | 1213 | ivtv_call_i2c_clients(itv, VIDIOC_INT_S_STD_OUTPUT, &itv->std); |
1214 | /* Turn off the output signal. The mpeg decoder is not yet | ||
1215 | active so without this you would get a green image until the | ||
1216 | mpeg decoder becomes active. */ | ||
1217 | ivtv_saa7127(itv, VIDIOC_STREAMOFF, NULL); | ||
1214 | } | 1218 | } |
1215 | 1219 | ||
1216 | /* clear interrupt mask, effectively disabling interrupts */ | 1220 | /* clear interrupt mask, effectively disabling interrupts */ |
@@ -1330,6 +1334,10 @@ int ivtv_init_on_first_open(struct ivtv *itv) | |||
1330 | ivtv_s_frequency(NULL, &fh, &vf); | 1334 | ivtv_s_frequency(NULL, &fh, &vf); |
1331 | 1335 | ||
1332 | if (itv->card->v4l2_capabilities & V4L2_CAP_VIDEO_OUTPUT) { | 1336 | if (itv->card->v4l2_capabilities & V4L2_CAP_VIDEO_OUTPUT) { |
1337 | /* Turn on the TV-out: ivtv_init_mpeg_decoder() initializes | ||
1338 | the mpeg decoder so now the saa7127 receives a proper | ||
1339 | signal. */ | ||
1340 | ivtv_saa7127(itv, VIDIOC_STREAMON, NULL); | ||
1333 | ivtv_init_mpeg_decoder(itv); | 1341 | ivtv_init_mpeg_decoder(itv); |
1334 | } | 1342 | } |
1335 | ivtv_s_std(NULL, &fh, &itv->tuner_std); | 1343 | ivtv_s_std(NULL, &fh, &itv->tuner_std); |
@@ -1366,6 +1374,10 @@ static void ivtv_remove(struct pci_dev *pci_dev) | |||
1366 | 1374 | ||
1367 | /* Stop all decoding */ | 1375 | /* Stop all decoding */ |
1368 | IVTV_DEBUG_INFO("Stopping decoding\n"); | 1376 | IVTV_DEBUG_INFO("Stopping decoding\n"); |
1377 | |||
1378 | /* Turn off the TV-out */ | ||
1379 | if (itv->v4l2_cap & V4L2_CAP_VIDEO_OUTPUT) | ||
1380 | ivtv_saa7127(itv, VIDIOC_STREAMOFF, NULL); | ||
1369 | if (atomic_read(&itv->decoding) > 0) { | 1381 | if (atomic_read(&itv->decoding) > 0) { |
1370 | int type; | 1382 | int type; |
1371 | 1383 | ||