summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Hopf <mhopf@suse.de>2009-01-29 18:41:27 +0100
committerMatthias Hopf <mhopf@suse.de>2009-01-29 18:41:27 +0100
commitf355ee75ad3e2d12a00ddac62d28ebce475c515e (patch)
treea52ba0abbcfc43719c940e8c477ce2700a04aed1
parent55e13dea3f69597bad60b2b4f2ac6dfe8a07d64f (diff)
Add M72 as known good chipset, correct num_qd_pipes calculation.
-rw-r--r--r600_demo.c9
-rw-r--r--r600_init.c3
-rw-r--r--r600_lib.h7
3 files changed, 14 insertions, 5 deletions
diff --git a/r600_demo.c b/r600_demo.c
index df8eddd..b7af170 100644
--- a/r600_demo.c
+++ b/r600_demo.c
@@ -400,6 +400,9 @@ void read_registers(void)
case 0x9614:
adapter.chipset = CHIPSET_RS780;
break;
+ case 0x94C9: case 0x94CB:
+ adapter.chipset = CHIPSET_M72;
+ break;
case 0x9440: case 0x9442: case 0x9444: case 0x9446:
case 0x944C: case 0x944E: case 0x9456:
adapter.chipset = CHIPSET_RV770;
@@ -413,8 +416,7 @@ void read_registers(void)
case 0x949F:
adapter.chipset = CHIPSET_RV730;
break;
- case 0x94C8: /* RHD_M74 */ case 0x94C9: /* RHD_M72 */
- case 0x94CB: /* RHD_M72 */ case 0x9504: /* RHD_M88 */
+ case 0x94C8: /* RHD_M74 */ case 0x9504: /* RHD_M88 */
case 0x9506: /* RHD_M88 */ case 0x9508: /* RHD_M88 */
case 0x9509: /* RHD_M88 */ case 0x9581: /* RHD_M76 */
case 0x9583: /* RHD_M76 */ case 0x958B: /* RHD_M76 */
@@ -445,6 +447,9 @@ void read_registers(void)
case CHIPSET_RS780:
fprintf (stderr, "Chipset: RS780\n\n");
break;
+ case CHIPSET_M72:
+ fprintf (stderr, "Chipset: M72\n\n");
+ break;
case CHIPSET_RV770:
fprintf (stderr, "Chipset: RV770\n\n");
break;
diff --git a/r600_init.c b/r600_init.c
index 24e2e51..8bd7fa9 100644
--- a/r600_init.c
+++ b/r600_init.c
@@ -169,6 +169,7 @@ void sq_setup(adapter_t *adapt, sq_config_t *sq_conf)
if ((adapt->chipset == CHIPSET_RV610) ||
(adapt->chipset == CHIPSET_RV620) ||
(adapt->chipset == CHIPSET_RS780) ||
+ (adapt->chipset == CHIPSET_M72) ||
(adapt->chipset == CHIPSET_RV710))
sq_config = 0; // no VC
else
@@ -660,7 +661,7 @@ void set_default_state(adapter_t *adapt)
// XXX: move to drm
reg = reg_read32 (CC_GC_SHADER_PIPE_CONFIG);
- if (adapt->chipset <= CHIPSET_RV770)
+ if (adapt->chipset < CHIPSET_RV770)
sq_conf.num_qd_pipes = R6XX_MAX_QD_PIPES - count_bits (reg & INACTIVE_QD_PIPES_mask);
else
sq_conf.num_qd_pipes = 4; /* TODO: Verfiy (This is from TCore) */
diff --git a/r600_lib.h b/r600_lib.h
index 22bdff1..0ca1d09 100644
--- a/r600_lib.h
+++ b/r600_lib.h
@@ -63,9 +63,12 @@ extern int do_not_flush;
enum chipset_e {
CHIPSET_NONE = 0,
CHIPSET_R600,
- CHIPSET_RV610, CHIPSET_RV620, CHIPSET_RS780, // no VC
+ CHIPSET_RV610, CHIPSET_RV620, // no VC
+ CHIPSET_RS780, CHIPSET_M72, // no VC
CHIPSET_RV630, CHIPSET_RV635, CHIPSET_RV670,
- CHIPSET_RV770, CHIPSET_RV710, CHIPSET_RV730
+ CHIPSET_RV770,
+ CHIPSET_RV710, // no VC
+ CHIPSET_RV730
};
/* TODO: Should go to _hwapi.h, probably renamed context_t */