r600g: simplify deducing chip family

This commit is contained in:
Marek Olšák 2011-09-11 14:57:55 +02:00
parent 3603d15788
commit 915227b0aa
1 changed files with 8 additions and 36 deletions

View File

@ -92,44 +92,16 @@ struct radeon *radeon_create(struct radeon_winsys *ws)
fprintf(stderr, "Unknown chipset 0x%04X\n", radeon->info.pci_id);
return radeon_destroy(radeon);
}
/* setup class */
switch (radeon->family) {
case CHIP_R600:
case CHIP_RV610:
case CHIP_RV630:
case CHIP_RV670:
case CHIP_RV620:
case CHIP_RV635:
case CHIP_RS780:
case CHIP_RS880:
radeon->chip_class = R600;
break;
case CHIP_RV770:
case CHIP_RV730:
case CHIP_RV710:
case CHIP_RV740:
radeon->chip_class = R700;
break;
case CHIP_CEDAR:
case CHIP_REDWOOD:
case CHIP_JUNIPER:
case CHIP_CYPRESS:
case CHIP_HEMLOCK:
case CHIP_PALM:
case CHIP_SUMO:
case CHIP_SUMO2:
case CHIP_BARTS:
case CHIP_TURKS:
case CHIP_CAICOS:
radeon->chip_class = EVERGREEN;
break;
case CHIP_CAYMAN:
if (radeon->family == CHIP_CAYMAN) {
radeon->chip_class = CAYMAN;
break;
default:
fprintf(stderr, "%s unknown or unsupported chipset 0x%04X\n",
__func__, radeon->info.pci_id);
break;
} else if (radeon->family >= CHIP_CEDAR) {
radeon->chip_class = EVERGREEN;
} else if (radeon->family >= CHIP_RV730) {
radeon->chip_class = R700;
} else {
radeon->chip_class = R600;
}
return radeon;