On 01/09/11 17:23, Ted Unangst wrote:
> these are some new IDs extracted from version 6.12.7 of the ati driver.  
> they may not all work, depending on kernel support.  untested, i have no 
> hardware.  part 1 of a broken up ati driver update.
> 
> diff -ru xf86-video-ati-orig/src/ati_pciids_gen.h 
> xf86-video-ati/src/ati_pciids_gen.h
> --- xf86-video-ati-orig/src/ati_pciids_gen.h  Sun Jan  9 11:43:11 2011
> +++ xf86-video-ati/src/ati_pciids_gen.h       Sun Jan  9 11:43:36 2011
> @@ -60,6 +60,8 @@
>  #define PCI_CHIP_R420_JN 0x4A4E
>  #define PCI_CHIP_R420_4A4F 0x4A4F
>  #define PCI_CHIP_R420_JP 0x4A50
> +#define PCI_CHIP_R420_JT 0x4A54
> +#define PCI_CHIP_R481_4B48 0x4B48
>  #define PCI_CHIP_R481_4B49 0x4B49
>  #define PCI_CHIP_R481_4B4A 0x4B4A
>  #define PCI_CHIP_R481_4B4B 0x4B4B
> @@ -334,6 +336,7 @@
>  #define PCI_CHIP_RV770_9440 0x9440
>  #define PCI_CHIP_RV770_9441 0x9441
>  #define PCI_CHIP_RV770_9442 0x9442
> +#define PCI_CHIP_RV770_9443 0x9443
>  #define PCI_CHIP_RV770_9444 0x9444
>  #define PCI_CHIP_RV770_9446 0x9446
>  #define PCI_CHIP_RV770_944A 0x944A
> @@ -351,15 +354,26 @@
>  #define PCI_CHIP_RV770_946B 0x946B
>  #define PCI_CHIP_RV770_947A 0x947A
>  #define PCI_CHIP_RV770_947B 0x947B
> +#define PCI_CHIP_RV730_9480 0x9480
>  #define PCI_CHIP_RV730_9487 0x9487
> +#define PCI_CHIP_RV730_9488 0x9488
>  #define PCI_CHIP_RV730_9489 0x9489
>  #define PCI_CHIP_RV730_948F 0x948F
>  #define PCI_CHIP_RV730_9490 0x9490
>  #define PCI_CHIP_RV730_9491 0x9491
> +#define PCI_CHIP_RV730_9495 0x9495
>  #define PCI_CHIP_RV730_9498 0x9498
>  #define PCI_CHIP_RV730_949C 0x949C
>  #define PCI_CHIP_RV730_949E 0x949E
>  #define PCI_CHIP_RV730_949F 0x949F
> +#define PCI_CHIP_RV740_94A0 0x94A0
> +#define PCI_CHIP_RV740_94A1 0x94A1
> +#define PCI_CHIP_RV740_94A3 0x94A3
> +#define PCI_CHIP_RV740_94B1 0x94B1
> +#define PCI_CHIP_RV740_94B3 0x94B3
> +#define PCI_CHIP_RV740_94B4 0x94B4
> +#define PCI_CHIP_RV740_94B5 0x94B5
> +#define PCI_CHIP_RV740_94B9 0x94B9
>  #define PCI_CHIP_RV610_94C0 0x94C0
>  #define PCI_CHIP_RV610_94C1 0x94C1
>  #define PCI_CHIP_RV610_94C3 0x94C3
> @@ -392,6 +406,7 @@
>  #define PCI_CHIP_RV710_9552 0x9552
>  #define PCI_CHIP_RV710_9553 0x9553
>  #define PCI_CHIP_RV710_9555 0x9555
> +#define PCI_CHIP_RV710_9557 0x9557
>  #define PCI_CHIP_RV630_9580 0x9580
>  #define PCI_CHIP_RV630_9581 0x9581
>  #define PCI_CHIP_RV630_9583 0x9583
> @@ -438,3 +453,4 @@
>  #define PCI_CHIP_RS880_9712 0x9712
>  #define PCI_CHIP_RS880_9713 0x9713
>  #define PCI_CHIP_RS880_9714 0x9714
> +#define PCI_CHIP_RS880_9715 0x9715
> diff -ru xf86-video-ati-orig/src/atipciids.h xf86-video-ati/src/atipciids.h
> --- xf86-video-ati-orig/src/atipciids.h       Sun Jan  9 11:43:11 2011
> +++ xf86-video-ati/src/atipciids.h    Sun Jan  9 11:43:36 2011
> @@ -41,6 +41,9 @@
>  #define PCI_VENDOR_DELL                      0x1028
>  #define PCI_VENDOR_VIA                       0x1106
>  #define PCI_VENDOR_INTEL             0x8086
> +#ifndef PCI_VENDOR_HP
> +#define PCI_VENDOR_HP                        0x103c
> +#endif
>  
>  #include "ati_pciids_gen.h"
>  
> diff -ru xf86-video-ati-orig/src/legacy_crtc.c 
> xf86-video-ati/src/legacy_crtc.c
> --- xf86-video-ati-orig/src/legacy_crtc.c     Sun Jan  9 11:43:11 2011
> +++ xf86-video-ati/src/legacy_crtc.c  Sun Jan  9 11:43:36 2011
> @@ -649,6 +649,9 @@
>      if (!info->directRenderingEnabled)
>       return;
>  
> +    if (info->ChipFamily >= CHIP_FAMILY_R600)
> +     return;
> +
>      modeset.crtc = radeon_crtc->crtc_id;
>      modeset.cmd = post ? _DRM_POST_MODESET : _DRM_PRE_MODESET;
>  
> diff -ru xf86-video-ati-orig/src/pcidb/ati_pciids.csv 
> xf86-video-ati/src/pcidb/ati_pciids.csv
> --- xf86-video-ati-orig/src/pcidb/ati_pciids.csv      Sun Jan  9 11:43:11 2011
> +++ xf86-video-ati/src/pcidb/ati_pciids.csv   Sun Jan  9 11:43:36 2011
> @@ -61,6 +61,8 @@
>  "0x4A4E","R420_JN","R420",1,,,,,"ATI Radeon Mobility 9800 (M18) JN (AGP)"
>  "0x4A4F","R420_4A4F","R420",,,,,,"ATI Radeon X800 SE (R420) (AGP)"
>  "0x4A50","R420_JP","R420",,,,,,"ATI Radeon X800XT (R420) JP (AGP)"
> +"0x4A54","R420_JT","R420",,,,,,"ATI Radeon X800 VE (R420) JT (AGP)"
> +"0x4B48","R481_4B48","R420",,,,,,"ATI Radeon X850 (R480) (AGP)"
>  "0x4B49","R481_4B49","R420",,,,,,"ATI Radeon X850 XT (R480) (AGP)"
>  "0x4B4A","R481_4B4A","R420",,,,,,"ATI Radeon X850 SE (R480) (AGP)"
>  "0x4B4B","R481_4B4B","R420",,,,,,"ATI Radeon X850 PRO (R480) (AGP)"
> @@ -335,6 +337,7 @@
>  "0x9440","RV770_9440","RV770",,,,,,"ATI Radeon 4800 Series"
>  "0x9441","RV770_9441","RV770",,,,,,"ATI Radeon HD 4870 x2"
>  "0x9442","RV770_9442","RV770",,,,,,"ATI Radeon 4800 Series"
> +"0x9443","RV770_9443","RV770",,,,,,"ATI Radeon HD 4850 x2"
>  "0x9444","RV770_9444","RV770",,,,,,"ATI FirePro V8750 (FireGL)"
>  "0x9446","RV770_9446","RV770",,,,,,"ATI FirePro V7760 (FireGL)"
>  "0x944A","RV770_944A","RV770",1,,,,,"ATI Mobility RADEON HD 4850"
> @@ -352,15 +355,26 @@
>  "0x946B","RV770_946B","RV770",1,,,,,"ATI M98"
>  "0x947A","RV770_947A","RV770",1,,,,,"ATI M98"
>  "0x947B","RV770_947B","RV770",1,,,,,"ATI M98"
> +"0x9480","RV730_9480","RV730",1,,,,,"ATI Mobility Radeon HD 4650"
>  "0x9487","RV730_9487","RV730",,,,,,"ATI Radeon RV730 (AGP)"
> +"0x9488","RV730_9488","RV730",1,,,,,"ATI Mobility Radeon HD 4670"
>  "0x9489","RV730_9489","RV730",1,,,,,"ATI FirePro M5750"
>  "0x948F","RV730_948F","RV730",,,,,,"ATI Radeon RV730 (AGP)"
>  "0x9490","RV730_9490","RV730",,,,,,"ATI RV730XT [Radeon HD 4670]"
>  "0x9491","RV730_9491","RV730",,,,,,"ATI RADEON E4600"
> +"0x9495","RV730_9495","RV730",,,,,,"ATI Radeon HD 4600 Series"
>  "0x9498","RV730_9498","RV730",,,,,,"ATI RV730 PRO [Radeon HD 4650]"
>  "0x949C","RV730_949C","RV730",,,,,,"ATI FirePro V7750 (FireGL)"
>  "0x949E","RV730_949E","RV730",,,,,,"ATI FirePro V5700 (FireGL)"
>  "0x949F","RV730_949F","RV730",,,,,,"ATI FirePro V3750 (FireGL)"
> +"0x94A0","RV740_94A0","RV740",1,,,,,"ATI Mobility Radeon HD 4830"
> +"0x94A1","RV740_94A1","RV740",1,,,,,"ATI Mobility Radeon HD 4850"
> +"0x94A3","RV740_94A3","RV740",1,,,,,"ATI FirePro M7740"
> +"0x94B1","RV740_94B1","RV740",,,,,,"ATI RV740"
> +"0x94B3","RV740_94B3","RV740",,,,,,"ATI Radeon HD 4770"
> +"0x94B4","RV740_94B4","RV740",,,,,,"ATI Radeon HD 4700 Series"
> +"0x94B5","RV740_94B5","RV740",,,,,,"ATI Radeon HD 4770"
> +"0x94B9","RV740_94B9","RV740",1,,,,,"ATI FirePro M5750"
>  "0x94C0","RV610_94C0","RV610",,,,,,"ATI RV610"
>  "0x94C1","RV610_94C1","RV610",,,,,,"ATI Radeon HD 2400 XT"
>  "0x94C3","RV610_94C3","RV610",,,,,,"ATI Radeon HD 2400 Pro"
> @@ -393,6 +407,7 @@
>  "0x9552","RV710_9552","RV710",1,,,,,"ATI Mobility Radeon 4300 Series"
>  "0x9553","RV710_9553","RV710",1,,,,,"ATI Mobility Radeon 4500 Series"
>  "0x9555","RV710_9555","RV710",1,,,,,"ATI Mobility Radeon 4500 Series"
> +"0x9557","RV710_9557","RV710",1,,,,,"ATI FirePro RG220"
>  "0x9580","RV630_9580","RV630",,,,,,"ATI RV630"
>  "0x9581","RV630_9581","RV630",1,,,,,"ATI Mobility Radeon HD 2600"
>  "0x9583","RV630_9583","RV630",1,,,,,"ATI Mobility Radeon HD 2600 XT"
> @@ -434,8 +449,9 @@
>  "0x9614","RS780_9614","RS780",,1,,,1,"ATI Radeon HD 3300 Graphics"
>  "0x9615","RS780_9615","RS780",,1,,,1,"ATI Radeon HD 3200 Graphics"
>  "0x9616","RS780_9616","RS780",,1,,,1,"ATI Radeon 3000 Graphics"
> -"0x9710","RS880_9710","RS880",,1,,,1,"ATI Radeon HD Graphics"
> -"0x9711","RS880_9711","RS880",,1,,,1,"ATI Radeon Graphics"
> -"0x9712","RS880_9712","RS880",1,1,,,1,"ATI Mobility Radeon HD Graphics"
> -"0x9713","RS880_9713","RS880",1,1,,,1,"ATI Mobility Radeon Graphics"
> -"0x9714","RS880_9714","RS880",,1,,,1,"ATI Radeon Graphics"
> +"0x9710","RS880_9710","RS880",,1,,,1,"ATI Radeon HD 4200"
> +"0x9711","RS880_9711","RS880",,1,,,1,"ATI Radeon 4100"
> +"0x9712","RS880_9712","RS880",1,1,,,1,"ATI Mobility Radeon HD 4200"
> +"0x9713","RS880_9713","RS880",1,1,,,1,"ATI Mobility Radeon 4100"
> +"0x9714","RS880_9714","RS880",,1,,,1,"ATI Radeon HD 4290"
> +"0x9715","RS880_9715","RS880",,1,,,1,"ATI Radeon HD 4290"
> diff -ru xf86-video-ati-orig/src/r600_exa.c xf86-video-ati/src/r600_exa.c
> --- xf86-video-ati-orig/src/r600_exa.c        Sun Jan  9 11:43:11 2011
> +++ xf86-video-ati/src/r600_exa.c     Sun Jan  9 11:43:36 2011
> @@ -315,6 +315,7 @@
>      if ((info->ChipFamily == CHIP_FAMILY_RV610) ||
>       (info->ChipFamily == CHIP_FAMILY_RV620) ||
>       (info->ChipFamily == CHIP_FAMILY_RS780) ||
> +     (info->ChipFamily == CHIP_FAMILY_RS880) ||
>       (info->ChipFamily == CHIP_FAMILY_RV710))
>       cp_set_surface_sync(pScrn, accel_state->ib, TC_ACTION_ENA_bit,
>                           accel_state->vb_size, accel_state->vb_mc_addr);
> @@ -553,6 +554,7 @@
>      if ((info->ChipFamily == CHIP_FAMILY_RV610) ||
>       (info->ChipFamily == CHIP_FAMILY_RV620) ||
>       (info->ChipFamily == CHIP_FAMILY_RS780) ||
> +     (info->ChipFamily == CHIP_FAMILY_RS880) ||
>       (info->ChipFamily == CHIP_FAMILY_RV710))
>       cp_set_surface_sync(pScrn, accel_state->ib, TC_ACTION_ENA_bit,
>                           accel_state->vb_size, accel_state->vb_mc_addr);
> @@ -1723,6 +1725,7 @@
>      if ((info->ChipFamily == CHIP_FAMILY_RV610) ||
>       (info->ChipFamily == CHIP_FAMILY_RV620) ||
>       (info->ChipFamily == CHIP_FAMILY_RS780) ||
> +     (info->ChipFamily == CHIP_FAMILY_RS880) ||
>       (info->ChipFamily == CHIP_FAMILY_RV710))
>       cp_set_surface_sync(pScrn, accel_state->ib, TC_ACTION_ENA_bit,
>                           accel_state->vb_size, accel_state->vb_mc_addr);
> @@ -1851,6 +1854,10 @@
>      uint32_t scratch_pitch = scratch_pitch_bytes / (bpp / 8);
>      int wpass = w * (bpp/8);
>      drmBufPtr scratch;
> +
> +    /* RV740 seems to be particularly problematic with small xfers */
> +    if ((info->ChipFamily == CHIP_FAMILY_RV740) && (w < 32 || h < 32))
> +     return FALSE;
>  
>      if (src_pitch & 7)
>       return FALSE;
> diff -ru xf86-video-ati-orig/src/r600_textured_videofuncs.c 
> xf86-video-ati/src/r600_textured_videofuncs.c
> --- xf86-video-ati-orig/src/r600_textured_videofuncs.c        Sun Jan  9 
> 11:43:11 2011
> +++ xf86-video-ati/src/r600_textured_videofuncs.c     Sun Jan  9 11:43:36 2011
> @@ -69,6 +69,7 @@
>      if ((info->ChipFamily == CHIP_FAMILY_RV610) ||
>       (info->ChipFamily == CHIP_FAMILY_RV620) ||
>       (info->ChipFamily == CHIP_FAMILY_RS780) ||
> +     (info->ChipFamily == CHIP_FAMILY_RS880) ||
>       (info->ChipFamily == CHIP_FAMILY_RV710))
>       cp_set_surface_sync(pScrn, accel_state->ib, TC_ACTION_ENA_bit,
>                           accel_state->vb_size, accel_state->vb_mc_addr);
> diff -ru xf86-video-ati-orig/src/r6xx_accel.c xf86-video-ati/src/r6xx_accel.c
> --- xf86-video-ati-orig/src/r6xx_accel.c      Sun Jan  9 11:43:11 2011
> +++ xf86-video-ati/src/r6xx_accel.c   Sun Jan  9 11:43:36 2011
> @@ -197,6 +197,7 @@
>      if ((info->ChipFamily == CHIP_FAMILY_RV610) ||
>       (info->ChipFamily == CHIP_FAMILY_RV620) ||
>       (info->ChipFamily == CHIP_FAMILY_RS780) ||
> +     (info->ChipFamily == CHIP_FAMILY_RS880) ||
>       (info->ChipFamily == CHIP_FAMILY_RV710))
>       sq_config = 0;                                          // no VC
>      else
> @@ -738,6 +739,7 @@
>      case CHIP_FAMILY_RV610:
>      case CHIP_FAMILY_RV620:
>      case CHIP_FAMILY_RS780:
> +    case CHIP_FAMILY_RS880:
>      default:
>       sq_conf.num_ps_gprs = 84;
>       sq_conf.num_vs_gprs = 36;
> @@ -784,6 +786,7 @@
>       sq_conf.num_es_stack_entries = 0;
>       break;
>      case CHIP_FAMILY_RV730:
> +    case CHIP_FAMILY_RV740:
>       sq_conf.num_ps_gprs = 84;
>       sq_conf.num_vs_gprs = 36;
>       sq_conf.num_temp_gprs = 4;
> diff -ru xf86-video-ati-orig/src/radeon.h xf86-video-ati/src/radeon.h
> --- xf86-video-ati-orig/src/radeon.h  Sun Jan  9 11:43:11 2011
> +++ xf86-video-ati/src/radeon.h       Sun Jan  9 11:43:36 2011
> @@ -318,7 +318,6 @@
>      CHIP_FAMILY_RS690,
>      CHIP_FAMILY_RS740,
>      CHIP_FAMILY_R600,    /* r600 */
> -    CHIP_FAMILY_R630,
>      CHIP_FAMILY_RV610,
>      CHIP_FAMILY_RV630,
>      CHIP_FAMILY_RV670,
> @@ -329,6 +328,7 @@
>      CHIP_FAMILY_RV770,
>      CHIP_FAMILY_RV730,
>      CHIP_FAMILY_RV710,
> +    CHIP_FAMILY_RV740,
>      CHIP_FAMILY_LAST
>  } RADEONChipFamily;
>  
> diff -ru xf86-video-ati-orig/src/radeon_chipinfo_gen.h 
> xf86-video-ati/src/radeon_chipinfo_gen.h
> --- xf86-video-ati-orig/src/radeon_chipinfo_gen.h     Sun Jan  9 11:43:11 2011
> +++ xf86-video-ati/src/radeon_chipinfo_gen.h  Sun Jan  9 11:43:36 2011
> @@ -40,6 +40,8 @@
>   { 0x4A4E, CHIP_FAMILY_R420, 1, 0, 0, 0, 0 },
>   { 0x4A4F, CHIP_FAMILY_R420, 0, 0, 0, 0, 0 },
>   { 0x4A50, CHIP_FAMILY_R420, 0, 0, 0, 0, 0 },
> + { 0x4A54, CHIP_FAMILY_R420, 0, 0, 0, 0, 0 },
> + { 0x4B48, CHIP_FAMILY_R420, 0, 0, 0, 0, 0 },
>   { 0x4B49, CHIP_FAMILY_R420, 0, 0, 0, 0, 0 },
>   { 0x4B4A, CHIP_FAMILY_R420, 0, 0, 0, 0, 0 },
>   { 0x4B4B, CHIP_FAMILY_R420, 0, 0, 0, 0, 0 },
> @@ -254,6 +256,7 @@
>   { 0x9440, CHIP_FAMILY_RV770, 0, 0, 0, 0, 0 },
>   { 0x9441, CHIP_FAMILY_RV770, 0, 0, 0, 0, 0 },
>   { 0x9442, CHIP_FAMILY_RV770, 0, 0, 0, 0, 0 },
> + { 0x9443, CHIP_FAMILY_RV770, 0, 0, 0, 0, 0 },
>   { 0x9444, CHIP_FAMILY_RV770, 0, 0, 0, 0, 0 },
>   { 0x9446, CHIP_FAMILY_RV770, 0, 0, 0, 0, 0 },
>   { 0x944A, CHIP_FAMILY_RV770, 1, 0, 0, 0, 0 },
> @@ -271,15 +274,26 @@
>   { 0x946B, CHIP_FAMILY_RV770, 1, 0, 0, 0, 0 },
>   { 0x947A, CHIP_FAMILY_RV770, 1, 0, 0, 0, 0 },
>   { 0x947B, CHIP_FAMILY_RV770, 1, 0, 0, 0, 0 },
> + { 0x9480, CHIP_FAMILY_RV730, 1, 0, 0, 0, 0 },
>   { 0x9487, CHIP_FAMILY_RV730, 0, 0, 0, 0, 0 },
> + { 0x9488, CHIP_FAMILY_RV730, 1, 0, 0, 0, 0 },
>   { 0x9489, CHIP_FAMILY_RV730, 1, 0, 0, 0, 0 },
>   { 0x948F, CHIP_FAMILY_RV730, 0, 0, 0, 0, 0 },
>   { 0x9490, CHIP_FAMILY_RV730, 0, 0, 0, 0, 0 },
>   { 0x9491, CHIP_FAMILY_RV730, 0, 0, 0, 0, 0 },
> + { 0x9495, CHIP_FAMILY_RV730, 0, 0, 0, 0, 0 },
>   { 0x9498, CHIP_FAMILY_RV730, 0, 0, 0, 0, 0 },
>   { 0x949C, CHIP_FAMILY_RV730, 0, 0, 0, 0, 0 },
>   { 0x949E, CHIP_FAMILY_RV730, 0, 0, 0, 0, 0 },
>   { 0x949F, CHIP_FAMILY_RV730, 0, 0, 0, 0, 0 },
> + { 0x94A0, CHIP_FAMILY_RV740, 1, 0, 0, 0, 0 },
> + { 0x94A1, CHIP_FAMILY_RV740, 1, 0, 0, 0, 0 },
> + { 0x94A3, CHIP_FAMILY_RV740, 1, 0, 0, 0, 0 },
> + { 0x94B1, CHIP_FAMILY_RV740, 0, 0, 0, 0, 0 },
> + { 0x94B3, CHIP_FAMILY_RV740, 0, 0, 0, 0, 0 },
> + { 0x94B4, CHIP_FAMILY_RV740, 0, 0, 0, 0, 0 },
> + { 0x94B5, CHIP_FAMILY_RV740, 0, 0, 0, 0, 0 },
> + { 0x94B9, CHIP_FAMILY_RV740, 1, 0, 0, 0, 0 },
>   { 0x94C0, CHIP_FAMILY_RV610, 0, 0, 0, 0, 0 },
>   { 0x94C1, CHIP_FAMILY_RV610, 0, 0, 0, 0, 0 },
>   { 0x94C3, CHIP_FAMILY_RV610, 0, 0, 0, 0, 0 },
> @@ -312,6 +326,7 @@
>   { 0x9552, CHIP_FAMILY_RV710, 1, 0, 0, 0, 0 },
>   { 0x9553, CHIP_FAMILY_RV710, 1, 0, 0, 0, 0 },
>   { 0x9555, CHIP_FAMILY_RV710, 1, 0, 0, 0, 0 },
> + { 0x9557, CHIP_FAMILY_RV710, 1, 0, 0, 0, 0 },
>   { 0x9580, CHIP_FAMILY_RV630, 0, 0, 0, 0, 0 },
>   { 0x9581, CHIP_FAMILY_RV630, 1, 0, 0, 0, 0 },
>   { 0x9583, CHIP_FAMILY_RV630, 1, 0, 0, 0, 0 },
> @@ -358,4 +373,5 @@
>   { 0x9712, CHIP_FAMILY_RS880, 1, 1, 0, 0, 1 },
>   { 0x9713, CHIP_FAMILY_RS880, 1, 1, 0, 0, 1 },
>   { 0x9714, CHIP_FAMILY_RS880, 0, 1, 0, 0, 1 },
> + { 0x9715, CHIP_FAMILY_RS880, 0, 1, 0, 0, 1 },
>  };
> diff -ru xf86-video-ati-orig/src/radeon_chipset_gen.h 
> xf86-video-ati/src/radeon_chipset_gen.h
> --- xf86-video-ati-orig/src/radeon_chipset_gen.h      Sun Jan  9 11:43:11 2011
> +++ xf86-video-ati/src/radeon_chipset_gen.h   Sun Jan  9 11:43:36 2011
> @@ -40,6 +40,8 @@
>    { PCI_CHIP_R420_JN, "ATI Radeon Mobility 9800 (M18) JN (AGP)" },
>    { PCI_CHIP_R420_4A4F, "ATI Radeon X800 SE (R420) (AGP)" },
>    { PCI_CHIP_R420_JP, "ATI Radeon X800XT (R420) JP (AGP)" },
> +  { PCI_CHIP_R420_JT, "ATI Radeon X800 VE (R420) JT (AGP)" },
> +  { PCI_CHIP_R481_4B48, "ATI Radeon X850 (R480) (AGP)" },
>    { PCI_CHIP_R481_4B49, "ATI Radeon X850 XT (R480) (AGP)" },
>    { PCI_CHIP_R481_4B4A, "ATI Radeon X850 SE (R480) (AGP)" },
>    { PCI_CHIP_R481_4B4B, "ATI Radeon X850 PRO (R480) (AGP)" },
> @@ -254,6 +256,7 @@
>    { PCI_CHIP_RV770_9440, "ATI Radeon 4800 Series" },
>    { PCI_CHIP_RV770_9441, "ATI Radeon HD 4870 x2" },
>    { PCI_CHIP_RV770_9442, "ATI Radeon 4800 Series" },
> +  { PCI_CHIP_RV770_9443, "ATI Radeon HD 4850 x2" },
>    { PCI_CHIP_RV770_9444, "ATI FirePro V8750 (FireGL)" },
>    { PCI_CHIP_RV770_9446, "ATI FirePro V7760 (FireGL)" },
>    { PCI_CHIP_RV770_944A, "ATI Mobility RADEON HD 4850" },
> @@ -271,15 +274,26 @@
>    { PCI_CHIP_RV770_946B, "ATI M98" },
>    { PCI_CHIP_RV770_947A, "ATI M98" },
>    { PCI_CHIP_RV770_947B, "ATI M98" },
> +  { PCI_CHIP_RV730_9480, "ATI Mobility Radeon HD 4650" },
>    { PCI_CHIP_RV730_9487, "ATI Radeon RV730 (AGP)" },
> +  { PCI_CHIP_RV730_9488, "ATI Mobility Radeon HD 4670" },
>    { PCI_CHIP_RV730_9489, "ATI FirePro M5750" },
>    { PCI_CHIP_RV730_948F, "ATI Radeon RV730 (AGP)" },
>    { PCI_CHIP_RV730_9490, "ATI RV730XT [Radeon HD 4670]" },
>    { PCI_CHIP_RV730_9491, "ATI RADEON E4600" },
> +  { PCI_CHIP_RV730_9495, "ATI Radeon HD 4600 Series" },
>    { PCI_CHIP_RV730_9498, "ATI RV730 PRO [Radeon HD 4650]" },
>    { PCI_CHIP_RV730_949C, "ATI FirePro V7750 (FireGL)" },
>    { PCI_CHIP_RV730_949E, "ATI FirePro V5700 (FireGL)" },
>    { PCI_CHIP_RV730_949F, "ATI FirePro V3750 (FireGL)" },
> +  { PCI_CHIP_RV740_94A0, "ATI Mobility Radeon HD 4830" },
> +  { PCI_CHIP_RV740_94A1, "ATI Mobility Radeon HD 4850" },
> +  { PCI_CHIP_RV740_94A3, "ATI FirePro M7740" },
> +  { PCI_CHIP_RV740_94B1, "ATI RV740" },
> +  { PCI_CHIP_RV740_94B3, "ATI Radeon HD 4770" },
> +  { PCI_CHIP_RV740_94B4, "ATI Radeon HD 4700 Series" },
> +  { PCI_CHIP_RV740_94B5, "ATI Radeon HD 4770" },
> +  { PCI_CHIP_RV740_94B9, "ATI FirePro M5750" },
>    { PCI_CHIP_RV610_94C0, "ATI RV610" },
>    { PCI_CHIP_RV610_94C1, "ATI Radeon HD 2400 XT" },
>    { PCI_CHIP_RV610_94C3, "ATI Radeon HD 2400 Pro" },
> @@ -312,6 +326,7 @@
>    { PCI_CHIP_RV710_9552, "ATI Mobility Radeon 4300 Series" },
>    { PCI_CHIP_RV710_9553, "ATI Mobility Radeon 4500 Series" },
>    { PCI_CHIP_RV710_9555, "ATI Mobility Radeon 4500 Series" },
> +  { PCI_CHIP_RV710_9557, "ATI FirePro RG220" },
>    { PCI_CHIP_RV630_9580, "ATI RV630" },
>    { PCI_CHIP_RV630_9581, "ATI Mobility Radeon HD 2600" },
>    { PCI_CHIP_RV630_9583, "ATI Mobility Radeon HD 2600 XT" },
> @@ -353,10 +368,11 @@
>    { PCI_CHIP_RS780_9614, "ATI Radeon HD 3300 Graphics" },
>    { PCI_CHIP_RS780_9615, "ATI Radeon HD 3200 Graphics" },
>    { PCI_CHIP_RS780_9616, "ATI Radeon 3000 Graphics" },
> -  { PCI_CHIP_RS880_9710, "ATI Radeon HD Graphics" },
> -  { PCI_CHIP_RS880_9711, "ATI Radeon Graphics" },
> -  { PCI_CHIP_RS880_9712, "ATI Mobility Radeon HD Graphics" },
> -  { PCI_CHIP_RS880_9713, "ATI Mobility Radeon Graphics" },
> -  { PCI_CHIP_RS880_9714, "ATI Radeon Graphics" },
> +  { PCI_CHIP_RS880_9710, "ATI Radeon HD 4200" },
> +  { PCI_CHIP_RS880_9711, "ATI Radeon 4100" },
> +  { PCI_CHIP_RS880_9712, "ATI Mobility Radeon HD 4200" },
> +  { PCI_CHIP_RS880_9713, "ATI Mobility Radeon 4100" },
> +  { PCI_CHIP_RS880_9714, "ATI Radeon HD 4290" },
> +  { PCI_CHIP_RS880_9715, "ATI Radeon HD 4290" },
>    { -1,                 NULL }
>  };
> diff -ru xf86-video-ati-orig/src/radeon_cursor.c 
> xf86-video-ati/src/radeon_cursor.c
> --- xf86-video-ati-orig/src/radeon_cursor.c   Sun Jan  9 11:43:11 2011
> +++ xf86-video-ati/src/radeon_cursor.c        Sun Jan  9 11:43:36 2011
> @@ -73,14 +73,17 @@
>  #define CURSOR_SWAPPING_DECL_MMIO   unsigned char *RADEONMMIO = info->MMIO;
>  #define CURSOR_SWAPPING_START() \
>    do { \
> +  if (info->ChipFamily < CHIP_FAMILY_R600) \
>      OUTREG(RADEON_SURFACE_CNTL, \
>          (info->ModeReg->surface_cntl | \
>            RADEON_NONSURF_AP0_SWP_32BPP | RADEON_NONSURF_AP1_SWP_32BPP) & \
>          ~(RADEON_NONSURF_AP0_SWP_16BPP | RADEON_NONSURF_AP1_SWP_16BPP)); \
>    } while (0)
> -#define CURSOR_SWAPPING_END()        (OUTREG(RADEON_SURFACE_CNTL, \
> -                                     info->ModeReg->surface_cntl))
> -
> +#define CURSOR_SWAPPING_END()        \
> +  do { \
> +  if (info->ChipFamily < CHIP_FAMILY_R600) \
> +      OUTREG(RADEON_SURFACE_CNTL, info->ModeReg->surface_cntl); \
> +  } while (0)
>  #else
>  
>  #define CURSOR_SWAPPING_DECL_MMIO
> diff -ru xf86-video-ati-orig/src/radeon_dri.c xf86-video-ati/src/radeon_dri.c
> --- xf86-video-ati-orig/src/radeon_dri.c      Sun Jan  9 11:43:11 2011
> +++ xf86-video-ati/src/radeon_dri.c   Sun Jan  9 11:43:36 2011
> @@ -745,6 +745,8 @@
>      { PCI_VENDOR_INTEL,0x2570,  PCI_VENDOR_ATI,0x4a4e,  
> PCI_VENDOR_DELL,0x5106,  4 },
>      /* Intel 82865G/PE/P DRAM Controller/Host-Hub / RV280 [Radeon 9200 SE] 
> Needs AGPMode 4 (lp #300304) */
>      { PCI_VENDOR_INTEL,0x2570,  PCI_VENDOR_ATI,0x5964,  0x148c,0x2073,       
>     4 },
> +    /* Intel 82855PM host bridge / Mobility M7 LW Needs AGPMode 4 (lp: 
> #353996) */
> +    { PCI_VENDOR_INTEL,0x3340,  PCI_VENDOR_ATI,0x4c57, 
> PCI_VENDOR_IBM,0x0530,    4 },
>      /* Intel 82855PM Processor to I/O Controller / Mobility M6 LY Needs 
> AGPMode 1 (deb #467235) */
>      { PCI_VENDOR_INTEL,0x3340,  PCI_VENDOR_ATI,0x4c59,  
> PCI_VENDOR_IBM,0x052f,   1 },
>      /* Intel 82855PM host bridge / Mobility 9600 M10 RV350 Needs AGPMode 1 
> (lp #195051) */
> @@ -767,7 +769,17 @@
>      { PCI_VENDOR_INTEL,0x3580,  PCI_VENDOR_ATI,0x4e50,  
> PCI_VENDOR_ASUS,0x1942,  1 },
>      /* Intel 82852/82855 host bridge / Mobility 9600/9700 Needs AGPMode 1 
> (deb #510208) */
>      { PCI_VENDOR_INTEL,0x3580,  PCI_VENDOR_ATI,0x4e50,  0x10cf,0x127f,       
>     1 },
> +    /* Intel 82443BX/ZX/DX Host bridge / RV280 [Radeon 9200] Needs AGPMode 1 
> (lp #370205) */
> +    { PCI_VENDOR_INTEL,0x7190,  PCI_VENDOR_ATI,0x5961,  0x174b,0x7c13,       
>     1 },
>  
> +    /* Ali Corp M1671 Super P4 Northbridge / Mobility M6 LY Needs AGPMode 1 
> (lp #146303)*/
> +    { 0x10b9,0x1671,           PCI_VENDOR_ATI,0x4c59,   0x103c,0x0027,       
>     1 },
> +
> +    /* SiS Host Bridge 655 / R420 [Radeon X800] Needs AGPMode 4 (lp #371296) 
> */
> +    { 0x1039,0x0655,            PCI_VENDOR_ATI,0x4a4b,  
> PCI_VENDOR_ATI,0x4422,   4 },
> +    /* SiS Host Bridge / RV280 Needs AGPMode 4 */
> +    { 0x1039,0x0741,            PCI_VENDOR_ATI,0x5964,  0x148c,0x2073,       
>     4 },
> +
>      /* ASRock K7VT4A+ AGP 8x / ATI Radeon 9250 AGP Needs AGPMode 4 (lp 
> #133192) */
>      { 0x1849,0x3189,            PCI_VENDOR_ATI,0x5960,  0x1787,0x5960,       
>     4 },
>  
> @@ -787,6 +799,10 @@
>      { PCI_VENDOR_VIA,0x3189,    PCI_VENDOR_ATI,0x5960,  0x1462,0x0380,       
>     4 },
>      /* VIA VT8377 Host Bridge / RV280 Needs AGPMode 4 (ati ML) */
>      { PCI_VENDOR_VIA,0x3189,    PCI_VENDOR_ATI,0x5964,  0x148c,0x2073,       
>     4 },
> +    /* VIA VT8377 Host Bridge / RV280 Needs AGPMode 4 (fdo #12544) */
> +    { PCI_VENDOR_VIA,0x3189,    PCI_VENDOR_ATI,0x5964,  
> PCI_VENDOR_ASUS,0xc008,  4 },
> +    /* VIA VT8377 Host Bridge / RV280 Needs AGPMode 4 (deb #545040) */
> +    { PCI_VENDOR_VIA,0x3189,    PCI_VENDOR_ATI,0x5960,  
> PCI_VENDOR_ASUS,0x004c,  4 },
>  
>      /* ATI Host Bridge / RV280 [M9+] Needs AGPMode 1 (phoronix forum) */
>      { PCI_VENDOR_ATI,0xcbb2,    PCI_VENDOR_ATI,0x5c61,  
> PCI_VENDOR_SONY,0x8175,  1 },
> @@ -794,6 +810,9 @@
>      /* HP Host Bridge / R300 [FireGL X1] Needs AGPMode 2 (fdo #7770) */
>      { PCI_VENDOR_HP,0x122e,    PCI_VENDOR_ATI,0x4e47,  
> PCI_VENDOR_ATI,0x0152,    2 },
>  
> +    /* nVidia Host Bridge / R420 [X800 Pro] Needs AGPMode 4 (fdo #22726) */
> +    { 0x10de,0x00e1,           PCI_VENDOR_ATI,0x4a49,  
> PCI_VENDOR_ATI,0x0002,    4 },
> +
>      { 0, 0, 0, 0, 0, 0, 0 },
>  };
>  
> @@ -1538,12 +1557,13 @@
>      info->dri->pDRIInfo                       = pDRIInfo;
>      pDRIInfo->drmDriverName              = RADEON_DRIVER_NAME;
>  
> -    if ( (info->ChipFamily >= CHIP_FAMILY_R300) ) {
> +    if ( (info->ChipFamily >= CHIP_FAMILY_R600) )
> +       pDRIInfo->clientDriverName        = R600_DRIVER_NAME;
> +    else if ( (info->ChipFamily >= CHIP_FAMILY_R300) )
>         pDRIInfo->clientDriverName        = R300_DRIVER_NAME;
> -    } else    
> -    if ( info->ChipFamily >= CHIP_FAMILY_R200 )
> +    else if ( info->ChipFamily >= CHIP_FAMILY_R200 )
>         pDRIInfo->clientDriverName     = R200_DRIVER_NAME;
> -    else 
> +    else
>         pDRIInfo->clientDriverName     = RADEON_DRIVER_NAME;
>  
>      if (xf86LoaderCheckSymbol("DRICreatePCIBusID")) {
> diff -ru xf86-video-ati-orig/src/radeon_driver.c 
> xf86-video-ati/src/radeon_driver.c
> --- xf86-video-ati-orig/src/radeon_driver.c   Sun Jan  9 11:43:11 2011
> +++ xf86-video-ati/src/radeon_driver.c        Sun Jan  9 11:43:36 2011
> @@ -1796,19 +1796,24 @@
>      case PCI_CHIP_RV100_QY:
>      case PCI_CHIP_RV100_QZ:
>       /* DELL triple-head configuration. */
> -     if ((PCI_SUB_VENDOR_ID(info->PciInfo) == PCI_VENDOR_DELL) &&
> -         ((PCI_SUB_DEVICE_ID(info->PciInfo) == 0x016c) ||
> -          (PCI_SUB_DEVICE_ID(info->PciInfo) == 0x016d) ||
> -          (PCI_SUB_DEVICE_ID(info->PciInfo) == 0x016e) ||
> -          (PCI_SUB_DEVICE_ID(info->PciInfo) == 0x016f) ||
> -          (PCI_SUB_DEVICE_ID(info->PciInfo) == 0x0170) ||
> -          (PCI_SUB_DEVICE_ID(info->PciInfo) == 0x017d) ||
> -          (PCI_SUB_DEVICE_ID(info->PciInfo) == 0x017e) ||
> -          (PCI_SUB_DEVICE_ID(info->PciInfo) == 0x0183) ||
> -          (PCI_SUB_DEVICE_ID(info->PciInfo) == 0x018a) ||
> -          (PCI_SUB_DEVICE_ID(info->PciInfo) == 0x019a))) {
> +     if (((PCI_SUB_VENDOR_ID(info->PciInfo) == PCI_VENDOR_DELL) &&
> +          ((PCI_SUB_DEVICE_ID(info->PciInfo) == 0x016c) ||
> +           (PCI_SUB_DEVICE_ID(info->PciInfo) == 0x016d) ||
> +           (PCI_SUB_DEVICE_ID(info->PciInfo) == 0x016e) ||
> +           (PCI_SUB_DEVICE_ID(info->PciInfo) == 0x016f) ||
> +           (PCI_SUB_DEVICE_ID(info->PciInfo) == 0x0170) ||
> +           (PCI_SUB_DEVICE_ID(info->PciInfo) == 0x017d) ||
> +           (PCI_SUB_DEVICE_ID(info->PciInfo) == 0x017e) ||
> +           (PCI_SUB_DEVICE_ID(info->PciInfo) == 0x0183) ||
> +           (PCI_SUB_DEVICE_ID(info->PciInfo) == 0x018a) ||
> +           (PCI_SUB_DEVICE_ID(info->PciInfo) == 0x019a) ||
> +           (PCI_SUB_DEVICE_ID(info->PciInfo) == 0x01b1) ||
> +           (PCI_SUB_DEVICE_ID(info->PciInfo) == 0x01b2) ||
> +           (PCI_SUB_DEVICE_ID(info->PciInfo) == 0x0205))) ||
> +           ((PCI_SUB_VENDOR_ID(info->PciInfo) == PCI_VENDOR_HP) &&
> +              (PCI_SUB_DEVICE_ID(info->PciInfo) == 0x31fb))) {
>           info->IsDellServer = TRUE;
> -         xf86DrvMsg(pScrn->scrnIndex, X_INFO, "DELL server detected, force 
> to special setup\n");
> +         xf86DrvMsg(pScrn->scrnIndex, X_INFO, "DELL/HP server detected, 
> force to special setup\n");
>       }
>       break;
>      case PCI_CHIP_RS482_5974:
> @@ -1822,16 +1827,6 @@
>       break;
>      }
>  
> -    if (info->ChipFamily >= CHIP_FAMILY_R600) {
> -        xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
> -                   "R600 support is mostly incomplete and very 
> experimental\n");
> -    }
> -
> -    if ((info->ChipFamily >= CHIP_FAMILY_RV515) && (info->ChipFamily < 
> CHIP_FAMILY_R600)) {
> -     xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
> -                   "R500 support is under development. Please report any 
> issues to xorg-driver-...@lists.x.org\n");
> -    }
> -
>      from               = X_PROBED;
>      info->LinearAddr   = PCI_REGION_BASE(info->PciInfo, 0, REGION_MEM) & 
> ~0x1ffffffULL;
>      pScrn->memPhysBase = info->LinearAddr;
> @@ -1950,7 +1945,6 @@
>       }
>      }
>  
> -
>      xf86DrvMsg(pScrn->scrnIndex, X_INFO, "%s card detected\n",
>              (info->cardType==CARD_PCI) ? "PCI" :
>               (info->cardType==CARD_PCIE) ? "PCIE" : "AGP");
> @@ -1959,6 +1953,11 @@
>      if (info->cardType == CARD_PCIE && info->IsIGP)
>       info->cardType = CARD_PCI;
>  
> +    /* some rs4xx cards report as agp */
> +    if ((info->ChipFamily == CHIP_FAMILY_RS400) ||
> +     (info->ChipFamily == CHIP_FAMILY_RS480))
> +     info->cardType = CARD_PCI;
> +
>      if ((info->ChipFamily >= CHIP_FAMILY_R600) && info->IsIGP)
>       info->cardType = CARD_PCIE;
>  
> @@ -1970,12 +1969,21 @@
>       if (strcmp(s, "AGP") == 0) {
>           info->cardType = CARD_AGP;
>           xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "Forced into AGP mode\n");
> -     } else if (strcmp(s, "PCI") == 0) {
> -         info->cardType = CARD_PCI;
> -         xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "Forced into PCI mode\n");
> -     } else if (strcmp(s, "PCIE") == 0) {
> -         info->cardType = CARD_PCIE;
> -         xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "Forced into PCI Express 
> mode\n");
> +     } else if ((strcmp(s, "PCI") == 0) ||
> +                (strcmp(s, "PCIE") == 0)) {
> +         if ((info->ChipFamily == CHIP_FAMILY_RS400) ||
> +             (info->ChipFamily == CHIP_FAMILY_RS480) ||
> +             (info->ChipFamily == CHIP_FAMILY_RS690) ||
> +             (info->ChipFamily == CHIP_FAMILY_RS740)) {
> +             info->cardType = CARD_PCI;
> +             xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "Forced into PCI 
> mode\n");
> +         } else if (info->ChipFamily >= CHIP_FAMILY_RV380) {
> +             info->cardType = CARD_PCIE;
> +             xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "Forced into PCI Express 
> mode\n");
> +         } else {
> +             info->cardType = CARD_PCI;
> +             xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "Forced into PCI 
> mode\n");
> +         }
>       } else {
>           xf86DrvMsg(pScrn->scrnIndex, X_CONFIG,
>                      "Invalid BusType option, using detected type\n");
> @@ -2073,6 +2081,9 @@
>      }
>  
>      info->useEXA = FALSE;
> +    /* if we have shadow fb bail */
> +    if (info->r600_shadow_fb) 
> +     return TRUE;
>  
>      if (info->ChipFamily >= CHIP_FAMILY_R600) {
>       xf86DrvMsg(pScrn->scrnIndex, X_DEFAULT,
> @@ -2245,9 +2256,6 @@
>           return FALSE;
>       }
>      }
> -
> -    if (info->ChipFamily == CHIP_FAMILY_RS880)
> -     return FALSE;
>  
>      if (!xf86ReturnOptValBool(info->Options, OPTION_DRI, TRUE)) {
>       xf86DrvMsg(pScrn->scrnIndex, X_INFO,
> diff -ru xf86-video-ati-orig/src/radeon_pci_chipset_gen.h 
> xf86-video-ati/src/radeon_pci_chipset_gen.h
> --- xf86-video-ati-orig/src/radeon_pci_chipset_gen.h  Sun Jan  9 11:43:11 2011
> +++ xf86-video-ati/src/radeon_pci_chipset_gen.h       Sun Jan  9 11:43:36 2011
> @@ -40,6 +40,8 @@
>   { PCI_CHIP_R420_JN, PCI_CHIP_R420_JN, RES_SHARED_VGA },
>   { PCI_CHIP_R420_4A4F, PCI_CHIP_R420_4A4F, RES_SHARED_VGA },
>   { PCI_CHIP_R420_JP, PCI_CHIP_R420_JP, RES_SHARED_VGA },
> + { PCI_CHIP_R420_JT, PCI_CHIP_R420_JT, RES_SHARED_VGA },
> + { PCI_CHIP_R481_4B48, PCI_CHIP_R481_4B48, RES_SHARED_VGA },
>   { PCI_CHIP_R481_4B49, PCI_CHIP_R481_4B49, RES_SHARED_VGA },
>   { PCI_CHIP_R481_4B4A, PCI_CHIP_R481_4B4A, RES_SHARED_VGA },
>   { PCI_CHIP_R481_4B4B, PCI_CHIP_R481_4B4B, RES_SHARED_VGA },
> @@ -254,6 +256,7 @@
>   { PCI_CHIP_RV770_9440, PCI_CHIP_RV770_9440, RES_SHARED_VGA },
>   { PCI_CHIP_RV770_9441, PCI_CHIP_RV770_9441, RES_SHARED_VGA },
>   { PCI_CHIP_RV770_9442, PCI_CHIP_RV770_9442, RES_SHARED_VGA },
> + { PCI_CHIP_RV770_9443, PCI_CHIP_RV770_9443, RES_SHARED_VGA },
>   { PCI_CHIP_RV770_9444, PCI_CHIP_RV770_9444, RES_SHARED_VGA },
>   { PCI_CHIP_RV770_9446, PCI_CHIP_RV770_9446, RES_SHARED_VGA },
>   { PCI_CHIP_RV770_944A, PCI_CHIP_RV770_944A, RES_SHARED_VGA },
> @@ -271,15 +274,26 @@
>   { PCI_CHIP_RV770_946B, PCI_CHIP_RV770_946B, RES_SHARED_VGA },
>   { PCI_CHIP_RV770_947A, PCI_CHIP_RV770_947A, RES_SHARED_VGA },
>   { PCI_CHIP_RV770_947B, PCI_CHIP_RV770_947B, RES_SHARED_VGA },
> + { PCI_CHIP_RV730_9480, PCI_CHIP_RV730_9480, RES_SHARED_VGA },
>   { PCI_CHIP_RV730_9487, PCI_CHIP_RV730_9487, RES_SHARED_VGA },
> + { PCI_CHIP_RV730_9488, PCI_CHIP_RV730_9488, RES_SHARED_VGA },
>   { PCI_CHIP_RV730_9489, PCI_CHIP_RV730_9489, RES_SHARED_VGA },
>   { PCI_CHIP_RV730_948F, PCI_CHIP_RV730_948F, RES_SHARED_VGA },
>   { PCI_CHIP_RV730_9490, PCI_CHIP_RV730_9490, RES_SHARED_VGA },
>   { PCI_CHIP_RV730_9491, PCI_CHIP_RV730_9491, RES_SHARED_VGA },
> + { PCI_CHIP_RV730_9495, PCI_CHIP_RV730_9495, RES_SHARED_VGA },
>   { PCI_CHIP_RV730_9498, PCI_CHIP_RV730_9498, RES_SHARED_VGA },
>   { PCI_CHIP_RV730_949C, PCI_CHIP_RV730_949C, RES_SHARED_VGA },
>   { PCI_CHIP_RV730_949E, PCI_CHIP_RV730_949E, RES_SHARED_VGA },
>   { PCI_CHIP_RV730_949F, PCI_CHIP_RV730_949F, RES_SHARED_VGA },
> + { PCI_CHIP_RV740_94A0, PCI_CHIP_RV740_94A0, RES_SHARED_VGA },
> + { PCI_CHIP_RV740_94A1, PCI_CHIP_RV740_94A1, RES_SHARED_VGA },
> + { PCI_CHIP_RV740_94A3, PCI_CHIP_RV740_94A3, RES_SHARED_VGA },
> + { PCI_CHIP_RV740_94B1, PCI_CHIP_RV740_94B1, RES_SHARED_VGA },
> + { PCI_CHIP_RV740_94B3, PCI_CHIP_RV740_94B3, RES_SHARED_VGA },
> + { PCI_CHIP_RV740_94B4, PCI_CHIP_RV740_94B4, RES_SHARED_VGA },
> + { PCI_CHIP_RV740_94B5, PCI_CHIP_RV740_94B5, RES_SHARED_VGA },
> + { PCI_CHIP_RV740_94B9, PCI_CHIP_RV740_94B9, RES_SHARED_VGA },
>   { PCI_CHIP_RV610_94C0, PCI_CHIP_RV610_94C0, RES_SHARED_VGA },
>   { PCI_CHIP_RV610_94C1, PCI_CHIP_RV610_94C1, RES_SHARED_VGA },
>   { PCI_CHIP_RV610_94C3, PCI_CHIP_RV610_94C3, RES_SHARED_VGA },
> @@ -312,6 +326,7 @@
>   { PCI_CHIP_RV710_9552, PCI_CHIP_RV710_9552, RES_SHARED_VGA },
>   { PCI_CHIP_RV710_9553, PCI_CHIP_RV710_9553, RES_SHARED_VGA },
>   { PCI_CHIP_RV710_9555, PCI_CHIP_RV710_9555, RES_SHARED_VGA },
> + { PCI_CHIP_RV710_9557, PCI_CHIP_RV710_9557, RES_SHARED_VGA },
>   { PCI_CHIP_RV630_9580, PCI_CHIP_RV630_9580, RES_SHARED_VGA },
>   { PCI_CHIP_RV630_9581, PCI_CHIP_RV630_9581, RES_SHARED_VGA },
>   { PCI_CHIP_RV630_9583, PCI_CHIP_RV630_9583, RES_SHARED_VGA },
> @@ -358,5 +373,6 @@
>   { PCI_CHIP_RS880_9712, PCI_CHIP_RS880_9712, RES_SHARED_VGA },
>   { PCI_CHIP_RS880_9713, PCI_CHIP_RS880_9713, RES_SHARED_VGA },
>   { PCI_CHIP_RS880_9714, PCI_CHIP_RS880_9714, RES_SHARED_VGA },
> + { PCI_CHIP_RS880_9715, PCI_CHIP_RS880_9715, RES_SHARED_VGA },
>   { -1,                 -1,                 RES_UNDEFINED }
>  };
> diff -ru xf86-video-ati-orig/src/radeon_pci_device_match_gen.h 
> xf86-video-ati/src/radeon_pci_device_match_gen.h
> --- xf86-video-ati-orig/src/radeon_pci_device_match_gen.h     Sun Jan  9 
> 11:43:11 2011
> +++ xf86-video-ati/src/radeon_pci_device_match_gen.h  Sun Jan  9 11:43:36 2011
> @@ -40,6 +40,8 @@
>   ATI_DEVICE_MATCH( PCI_CHIP_R420_JN, 0 ),
>   ATI_DEVICE_MATCH( PCI_CHIP_R420_4A4F, 0 ),
>   ATI_DEVICE_MATCH( PCI_CHIP_R420_JP, 0 ),
> + ATI_DEVICE_MATCH( PCI_CHIP_R420_JT, 0 ),
> + ATI_DEVICE_MATCH( PCI_CHIP_R481_4B48, 0 ),
>   ATI_DEVICE_MATCH( PCI_CHIP_R481_4B49, 0 ),
>   ATI_DEVICE_MATCH( PCI_CHIP_R481_4B4A, 0 ),
>   ATI_DEVICE_MATCH( PCI_CHIP_R481_4B4B, 0 ),
> @@ -254,6 +256,7 @@
>   ATI_DEVICE_MATCH( PCI_CHIP_RV770_9440, 0 ),
>   ATI_DEVICE_MATCH( PCI_CHIP_RV770_9441, 0 ),
>   ATI_DEVICE_MATCH( PCI_CHIP_RV770_9442, 0 ),
> + ATI_DEVICE_MATCH( PCI_CHIP_RV770_9443, 0 ),
>   ATI_DEVICE_MATCH( PCI_CHIP_RV770_9444, 0 ),
>   ATI_DEVICE_MATCH( PCI_CHIP_RV770_9446, 0 ),
>   ATI_DEVICE_MATCH( PCI_CHIP_RV770_944A, 0 ),
> @@ -271,15 +274,26 @@
>   ATI_DEVICE_MATCH( PCI_CHIP_RV770_946B, 0 ),
>   ATI_DEVICE_MATCH( PCI_CHIP_RV770_947A, 0 ),
>   ATI_DEVICE_MATCH( PCI_CHIP_RV770_947B, 0 ),
> + ATI_DEVICE_MATCH( PCI_CHIP_RV730_9480, 0 ),
>   ATI_DEVICE_MATCH( PCI_CHIP_RV730_9487, 0 ),
> + ATI_DEVICE_MATCH( PCI_CHIP_RV730_9488, 0 ),
>   ATI_DEVICE_MATCH( PCI_CHIP_RV730_9489, 0 ),
>   ATI_DEVICE_MATCH( PCI_CHIP_RV730_948F, 0 ),
>   ATI_DEVICE_MATCH( PCI_CHIP_RV730_9490, 0 ),
>   ATI_DEVICE_MATCH( PCI_CHIP_RV730_9491, 0 ),
> + ATI_DEVICE_MATCH( PCI_CHIP_RV730_9495, 0 ),
>   ATI_DEVICE_MATCH( PCI_CHIP_RV730_9498, 0 ),
>   ATI_DEVICE_MATCH( PCI_CHIP_RV730_949C, 0 ),
>   ATI_DEVICE_MATCH( PCI_CHIP_RV730_949E, 0 ),
>   ATI_DEVICE_MATCH( PCI_CHIP_RV730_949F, 0 ),
> + ATI_DEVICE_MATCH( PCI_CHIP_RV740_94A0, 0 ),
> + ATI_DEVICE_MATCH( PCI_CHIP_RV740_94A1, 0 ),
> + ATI_DEVICE_MATCH( PCI_CHIP_RV740_94A3, 0 ),
> + ATI_DEVICE_MATCH( PCI_CHIP_RV740_94B1, 0 ),
> + ATI_DEVICE_MATCH( PCI_CHIP_RV740_94B3, 0 ),
> + ATI_DEVICE_MATCH( PCI_CHIP_RV740_94B4, 0 ),
> + ATI_DEVICE_MATCH( PCI_CHIP_RV740_94B5, 0 ),
> + ATI_DEVICE_MATCH( PCI_CHIP_RV740_94B9, 0 ),
>   ATI_DEVICE_MATCH( PCI_CHIP_RV610_94C0, 0 ),
>   ATI_DEVICE_MATCH( PCI_CHIP_RV610_94C1, 0 ),
>   ATI_DEVICE_MATCH( PCI_CHIP_RV610_94C3, 0 ),
> @@ -312,6 +326,7 @@
>   ATI_DEVICE_MATCH( PCI_CHIP_RV710_9552, 0 ),
>   ATI_DEVICE_MATCH( PCI_CHIP_RV710_9553, 0 ),
>   ATI_DEVICE_MATCH( PCI_CHIP_RV710_9555, 0 ),
> + ATI_DEVICE_MATCH( PCI_CHIP_RV710_9557, 0 ),
>   ATI_DEVICE_MATCH( PCI_CHIP_RV630_9580, 0 ),
>   ATI_DEVICE_MATCH( PCI_CHIP_RV630_9581, 0 ),
>   ATI_DEVICE_MATCH( PCI_CHIP_RV630_9583, 0 ),
> @@ -358,5 +373,6 @@
>   ATI_DEVICE_MATCH( PCI_CHIP_RS880_9712, 0 ),
>   ATI_DEVICE_MATCH( PCI_CHIP_RS880_9713, 0 ),
>   ATI_DEVICE_MATCH( PCI_CHIP_RS880_9714, 0 ),
> + ATI_DEVICE_MATCH( PCI_CHIP_RS880_9715, 0 ),
>   { 0, 0, 0 }
>  };
> diff -ru xf86-video-ati-orig/src/radeon_tv.c xf86-video-ati/src/radeon_tv.c
> --- xf86-video-ati-orig/src/radeon_tv.c       Sun Jan  9 11:43:11 2011
> +++ xf86-video-ati/src/radeon_tv.c    Sun Jan  9 11:43:36 2011
> @@ -186,6 +186,21 @@
>       8,                  /* crtcPLL_postDiv */
>       1022,               /* pixToTV */
>      },
> +    {   /* PAL timing for 14 Mhz ref clk */
> +     800,                /* horResolution */
> +     600,                /* verResolution */
> +     TV_STD_PAL,         /* standard */
> +     1131,               /* horTotal */
> +     742,                /* verTotal */
> +     813,                /* horStart */
> +     840,                /* horSyncStart */
> +     633,                /* verSyncStart */
> +     708369,             /* defRestart */
> +     211,                /* crtcPLL_N */
> +     9,                  /* crtcPLL_M */
> +     8,                  /* crtcPLL_postDiv */
> +     759,                /* pixToTV */
> +    },
>  };
>  
>  #define N_AVAILABLE_MODES (sizeof(availableModes) / sizeof(availableModes[ 0 
> ]))
> diff -ru xf86-video-ati-orig/src/radeon_tv.h xf86-video-ati/src/radeon_tv.h
> --- xf86-video-ati-orig/src/radeon_tv.h       Sun Jan  9 11:43:11 2011
> +++ xf86-video-ati/src/radeon_tv.h    Sun Jan  9 11:43:36 2011
> @@ -53,6 +53,10 @@
>  #define NTSC_TV_PLL_N_14 693
>  #define NTSC_TV_PLL_P_14 7
>  
> +#define PAL_TV_PLL_M_14 19
> +#define PAL_TV_PLL_N_14 353
> +#define PAL_TV_PLL_P_14 5
> +
>  #define VERT_LEAD_IN_LINES 2
>  #define FRAC_BITS 0xe
>  #define FRAC_MASK 0x3fff
> diff -ru xf86-video-ati-orig/src/radeon_version.h 
> xf86-video-ati/src/radeon_version.h
> @@ -38,6 +38,7 @@
>  #define RADEON_DRIVER_NAME   "radeon"
>  #define R200_DRIVER_NAME     "r200"
>  #define R300_DRIVER_NAME     "r300"
> +#define R600_DRIVER_NAME     "r600"
>  
>  #define RADEON_VERSION_MAJOR PACKAGE_VERSION_MAJOR
>  #define RADEON_VERSION_MINOR PACKAGE_VERSION_MINOR
> 
> 

Hi,

The "0x9715","RS880_9715","RS880",,1,,,1,"ATI Radeon HD 4290", that should be
"ATI Radeon HD 4250". It's wrong in the xf86-video-ati driver. Needs reporting
upstream.


Regards

Nigel Taylor

Reply via email to