Hi, It's simple. r400 cards are treated as RV350 for now.
Rune Petersen
diff -Naur b/drm/shared-core/drm_pciids.txt a/drm/shared-core/drm_pciids.txt --- b/drm/shared-core/drm_pciids.txt 2005-02-11 01:43:42.000000000 +0100 +++ a/drm/shared-core/drm_pciids.txt 2005-02-11 02:07:14.000000000 +0100 @@ -21,6 +21,7 @@ 0x1002 0x4965 CHIP_R250 "ATI Radeon Ie R250 9000" 0x1002 0x4966 CHIP_R250 "ATI Radeon If R250 9000" 0x1002 0x4967 CHIP_R250 "ATI Radeon Ig R250 9000" +0x1002 0x4A4B CHIP_R420 "ATI Radeon JK R420 X800 XT" 0x1002 0x4C57 CHIP_RV200|CHIP_IS_MOBILITY "ATI Radeon LW RV200 Mobility 7500 M7" 0x1002 0x4C58 CHIP_RV200|CHIP_IS_MOBILITY "ATI Radeon LX RV200 Mobility FireGL 7800 M7" 0x1002 0x4C59 CHIP_RV100|CHIP_IS_MOBILITY "ATI Radeon LY RV100 Mobility M6" diff -Naur b/drm/shared-core/radeon_drv.h a/drm/shared-core/radeon_drv.h --- b/drm/shared-core/radeon_drv.h 2004-12-27 21:44:39.000000000 +0100 +++ a/drm/shared-core/radeon_drv.h 2005-02-11 02:10:46.000000000 +0100 @@ -95,6 +95,7 @@ CHIP_RS300, CHIP_R350, CHIP_RV350, + CHIP_R420, CHIP_LAST, }; diff -Naur b/r300/radeon_screen.c a/r300/radeon_screen.c --- b/r300/radeon_screen.c 2005-02-11 01:43:42.000000000 +0100 +++ a/r300/radeon_screen.c 2005-02-11 02:03:23.000000000 +0100 @@ -203,6 +203,7 @@ #define PCI_CHIP_R300_NF 0x4E46 #define PCI_CHIP_R300_NG 0x4E47 #define PCI_CHIP_R350_NH 0x4E48 +#define PCI_CHIP_R420_JK 0x4a4b #endif #ifdef USE_NEW_INTERFACE @@ -382,6 +383,10 @@ screen->chipset = RADEON_CHIP_R300; break; + case PCI_CHIP_R420_JK: + screen->chipset = RADEON_CHIP_R420; + break; + default: fprintf(stderr, "Unknown device ID %04X, please report. Assuming plain R300.\n", diff -Naur b/r300/radeon_screen.h a/r300/radeon_screen.h --- b/r300/radeon_screen.h 2005-02-11 02:22:35.000000000 +0100 +++ a/r300/radeon_screen.h 2005-02-11 02:19:33.000000000 +0100 @@ -54,6 +54,7 @@ #define RADEON_CHIP_REAL_R200 1 #define RADEON_CHIP_R300 2 #define RADEON_CHIP_RV350 3 +#define RADEON_CHIP_R420 4 #define RADEON_CHIP_MASK 0x0f #define RADEON_CHIPSET_TCL (1 << 8)