瀏覽代碼

V4L/DVB (6090): ivtv-fb: correct transparency bit reporting

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Hans Verkuil 18 年之前
父節點
當前提交
459a52fab2
共有 1 個文件被更改,包括 6 次插入3 次删除
  1. 6 3
      drivers/media/video/ivtv/ivtv-fb.c

+ 6 - 3
drivers/media/video/ivtv/ivtv-fb.c

@@ -608,9 +608,6 @@ static int _ivtvfb_check_var(struct fb_var_screeninfo *var, struct ivtv *itv)
 		var->blue.length = 8;
 		var->blue.length = 8;
 	}
 	}
 	else if (var->bits_per_pixel == 16) {
 	else if (var->bits_per_pixel == 16) {
-		var->transp.offset = 0;
-		var->transp.length = 0;
-
 		/* To find out the true mode, check green length */
 		/* To find out the true mode, check green length */
 		switch (var->green.length) {
 		switch (var->green.length) {
 			case 4:
 			case 4:
@@ -620,6 +617,8 @@ static int _ivtvfb_check_var(struct fb_var_screeninfo *var, struct ivtv *itv)
 				var->green.length = 4;
 				var->green.length = 4;
 				var->blue.offset = 0;
 				var->blue.offset = 0;
 				var->blue.length = 4;
 				var->blue.length = 4;
+				var->transp.offset = 12;
+				var->transp.length = 1;
 				break;
 				break;
 			case 5:
 			case 5:
 				var->red.offset = 10;
 				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->green.length = 5;
 				var->blue.offset = 0;
 				var->blue.offset = 0;
 				var->blue.length = 5;
 				var->blue.length = 5;
+				var->transp.offset = 15;
+				var->transp.length = 1;
 				break;
 				break;
 			default:
 			default:
 				var->red.offset = 11;
 				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->green.length = 6;
 				var->blue.offset = 0;
 				var->blue.offset = 0;
 				var->blue.length = 5;
 				var->blue.length = 5;
+				var->transp.offset = 0;
+				var->transp.length = 0;
 				break;
 				break;
 		}
 		}
 	}
 	}