summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/ivtv/ivtv-fb.c
diff options
context:
space:
mode:
Diffstat (limited to 'linux/drivers/media/video/ivtv/ivtv-fb.c')
-rw-r--r--linux/drivers/media/video/ivtv/ivtv-fb.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/linux/drivers/media/video/ivtv/ivtv-fb.c b/linux/drivers/media/video/ivtv/ivtv-fb.c
index 008076543..e80564aed 100644
--- a/linux/drivers/media/video/ivtv/ivtv-fb.c
+++ b/linux/drivers/media/video/ivtv/ivtv-fb.c
@@ -382,7 +382,7 @@ static int ivtv_fb_prep_frame(struct ivtv *itv, int cmd, void __user *source,
}
/* OSD Address to send DMA to */
- dest_offset += IVTV_DEC_MEM_START + oi->video_rbase;
+ dest_offset += IVTV_DECODER_OFFSET + oi->video_rbase;
/* Fill Buffers */
return ivtv_fb_prep_dec_dma_to_device(itv, dest_offset, source, count);
@@ -405,7 +405,7 @@ static int ivtvfb_ioctl(struct fb_info *info, unsigned int cmd, unsigned long ar
if (itv->is_50hz && trace > 312) trace -= 312;
else if (itv->is_60hz && trace > 262) trace -= 262;
if (trace == 1) vblank.flags |= FB_VBLANK_VSYNCING;
- vblank.count = itv->lastVsyncFrame;
+ vblank.count = itv->last_vsync_field;
vblank.vcount = trace;
vblank.hcount = 0;
if (copy_to_user((void __user *)arg, &vblank, sizeof(vblank)))
@@ -608,9 +608,6 @@ static int _ivtvfb_check_var(struct fb_var_screeninfo *var, struct ivtv *itv)
var->blue.length = 8;
}
else if (var->bits_per_pixel == 16) {
- var->transp.offset = 0;
- var->transp.length = 0;
-
/* To find out the true mode, check green length */
switch (var->green.length) {
case 4:
@@ -620,6 +617,8 @@ static int _ivtvfb_check_var(struct fb_var_screeninfo *var, struct ivtv *itv)
var->green.length = 4;
var->blue.offset = 0;
var->blue.length = 4;
+ var->transp.offset = 12;
+ var->transp.length = 1;
break;
case 5:
var->red.offset = 10;
@@ -628,6 +627,8 @@ static int _ivtvfb_check_var(struct fb_var_screeninfo *var, struct ivtv *itv)
var->green.length = 5;
var->blue.offset = 0;
var->blue.length = 5;
+ var->transp.offset = 15;
+ var->transp.length = 1;
break;
default:
var->red.offset = 11;
@@ -636,6 +637,8 @@ static int _ivtvfb_check_var(struct fb_var_screeninfo *var, struct ivtv *itv)
var->green.length = 6;
var->blue.offset = 0;
var->blue.length = 5;
+ var->transp.offset = 0;
+ var->transp.length = 0;
break;
}
}