Mercurial > mplayer.hg
changeset 3334:f7ba4fb75b69
Rage128 problems. Attempt #3
author | nick |
---|---|
date | Wed, 05 Dec 2001 08:58:09 +0000 |
parents | 5c6cdf5490f0 |
children | af2a76fdba9c |
files | drivers/radeon/radeon_vid.c |
diffstat | 1 files changed, 18 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/drivers/radeon/radeon_vid.c Wed Dec 05 07:11:36 2001 +0000 +++ b/drivers/radeon/radeon_vid.c Wed Dec 05 08:58:09 2001 +0000 @@ -14,7 +14,7 @@ * Also here was used code from CVS of GATOS project and X11 trees. */ -#define RADEON_VID_VERSION "1.0.2.1" +#define RADEON_VID_VERSION "1.0.2.2" /* It's entirely possible this major conflicts with something else @@ -301,6 +301,15 @@ #define INREG(addr) readl((radeon_mmio_base)+addr) #define OUTREG(addr,val) writel(val, (radeon_mmio_base)+addr) +static __inline__ void _radeon_fifo_wait (int entries) +{ + int i; + + for (i=0; i<2000000; i++) + if ((INREG(RBBM_STATUS) & 0x7f) >= entries) + return; +} + static uint32_t radeon_vid_get_dbpp( void ) { uint32_t dbpp,retval; @@ -404,7 +413,12 @@ bes_flags = SCALER_ENABLE | SCALER_SMART_SWITCH | +#ifdef RADEON SCALER_HORZ_PICK_NEAREST; +#else + SCALER_Y2R_TEMP | + SCALER_PIX_EXPAND; +#endif if(besr.double_buff) bes_flags |= SCALER_DOUBLE_BUFFER; if(besr.deinterlace_on) bes_flags |= SCALER_ADAPTIVE_DEINT; #ifdef RAGE128 @@ -427,9 +441,6 @@ case IMGFMT_IYUV: case IMGFMT_I420: case IMGFMT_YV12: bes_flags |= SCALER_SOURCE_YUV12; -#ifdef RAGE128 - bes_flags |= SCALER_Y2R_TEMP | SCALER_PIX_EXPAND; -#endif break; /* 4:2:2 */ case IMGFMT_UYVY: bes_flags |= SCALER_SOURCE_YVYU422; break; @@ -883,9 +894,9 @@ len = 0; len += sprintf(&radeon_param_buff[len],"Interface version: %04X\nDriver version: %s\n",MGA_VID_VERSION,RADEON_VID_VERSION); len += sprintf(&radeon_param_buff[len],"Chip: %s\n",ati_card_ids[detected_chip].name); - len += sprintf(&radeon_param_buff[len],"Memory: %p:%x\n",radeon_mem_base,radeon_ram_size*0x100000); + len += sprintf(&radeon_param_buff[len],"Memory: %x:%x\n",radeon_mem_base,radeon_ram_size*0x100000); len += sprintf(&radeon_param_buff[len],"MMIO: %p\n",radeon_mmio_base); - len += sprintf(&radeon_param_buff[len],"Overlay offset: %p\n",radeon_overlay_off); + len += sprintf(&radeon_param_buff[len],"Overlay offset: %x\n",radeon_overlay_off); #ifdef CONFIG_MTRR len += sprintf(&radeon_param_buff[len],"Tune MTRR: %s\n",mtrr?"on":"off"); #endif @@ -896,7 +907,7 @@ len += sprintf(&radeon_param_buff[len],"Configurable stuff:\n"); len += sprintf(&radeon_param_buff[len],"~~~~~~~~~~~~~~~~~~~\n"); len += sprintf(&radeon_param_buff[len],PARAM_DOUBLE_BUFF"%s\n",besr.double_buff?"on":"off"); - len += sprintf(&radeon_param_buff[len],PARAM_BRIGHTNESS"%i\n",brightness); + len += sprintf(&radeon_param_buff[len],PARAM_BRIGHTNESS"%li\n",brightness); len += sprintf(&radeon_param_buff[len],PARAM_SATURATION"%u\n",saturation); len += sprintf(&radeon_param_buff[len],PARAM_DEINTERLACE"%s\n",besr.deinterlace_on?"on":"off"); len += sprintf(&radeon_param_buff[len],PARAM_DEINTERLACE_PATTERN"%X\n",besr.deinterlace_pattern);