changeset 3066:7eba9b3ac5a7

Minor fixes
author nick
date Thu, 22 Nov 2001 10:20:09 +0000
parents d1a4e18e803d
children 1207bd5de2b2
files drivers/radeon/radeon_vid.c
diffstat 1 files changed, 19 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/drivers/radeon/radeon_vid.c	Thu Nov 22 10:06:30 2001 +0000
+++ b/drivers/radeon/radeon_vid.c	Thu Nov 22 10:20:09 2001 +0000
@@ -4,7 +4,7 @@
  *
  * Copyright (C) 2001 Nick Kurshev
  * 
- * BES YUV Framebuffer driver for Radeon cards
+ * BES YUV video overlay driver for Radeon cards
  * 
  * This software has been released under the terms of the GNU Public
  * license. See http://www.gnu.org/copyleft/gpl.html for details.
@@ -400,7 +400,7 @@
 	d1line = top * dstPitch;
 	d2line = (src_h * dstPitch) + ((top >> 1) * (dstPitch >> 1));
 	d3line = d2line + ((src_h >> 1) * (dstPitch >> 1));
-        besr.vid_buf0_base_adrs = ((radeon_overlay_off + d1line) & VIF_BUF0_BASE_ADRS_MASK) | VIF_BUF1_PITCH_SEL;
+        besr.vid_buf0_base_adrs = ((radeon_overlay_off + d1line) & VIF_BUF0_BASE_ADRS_MASK) | VIF_BUF0_PITCH_SEL;
         besr.vid_buf1_base_adrs = ((radeon_overlay_off + d2line) & VIF_BUF1_BASE_ADRS_MASK) | VIF_BUF1_PITCH_SEL;
         besr.vid_buf2_base_adrs = ((radeon_overlay_off + d3line) & VIF_BUF2_BASE_ADRS_MASK) | VIF_BUF2_PITCH_SEL;
     }
@@ -454,11 +454,24 @@
 
 static void radeon_vid_frame_sel(int frame)
 {
-    uint32_t off;
-    off = frame%2?besr.vid_buf3_base_adrs:besr.vid_buf0_base_adrs;
+    uint32_t off0,off1,off2;
+    if(frame%2)
+    {
+      off0 = besr.vid_buf3_base_adrs;
+      off1 = besr.vid_buf4_base_adrs;
+      off2 = besr.vid_buf5_base_adrs;
+    }
+    else
+    {
+      off0 = besr.vid_buf0_base_adrs;
+      off1 = besr.vid_buf1_base_adrs;
+      off2 = besr.vid_buf2_base_adrs;
+    }
     OUTREG(OV0_REG_LOAD_CNTL,		REG_LD_CTL_LOCK);
     while(!(INREG(OV0_REG_LOAD_CNTL)&REG_LD_CTL_LOCK_READBACK));
-    OUTREG(OV0_VID_BUF0_BASE_ADRS,	off);
+    OUTREG(OV0_VID_BUF0_BASE_ADRS,	off0);
+    OUTREG(OV0_VID_BUF1_BASE_ADRS,	off1);
+    OUTREG(OV0_VID_BUF2_BASE_ADRS,	off2);
     OUTREG(OV0_REG_LOAD_CNTL,		0);
 }
 
@@ -679,7 +692,7 @@
 {
 	radeon_vid_in_use = 0;
 
-	RTRACE( "Radeon BES YUV Video interface v0.01 (c) Nick Kurshev\n");
+	printk( "radeon_vid: Radeon video overlay driver v"RADEON_VID_VERSION" (C) Nick Kurshev\n");
 	if(register_chrdev(RADEON_VID_MAJOR, "radeon_vid", &radeon_vid_fops))
 	{
 		printk( "radeon_vid: unable to get major: %d\n", RADEON_VID_MAJOR);