# HG changeset patch # User nick # Date 1006424409 0 # Node ID 7eba9b3ac5a7bb07935fbb57ccdc953d9151d798 # Parent d1a4e18e803d6314924d304ad2e24be4c28f1b73 Minor fixes diff -r d1a4e18e803d -r 7eba9b3ac5a7 drivers/radeon/radeon_vid.c --- 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)®_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);