diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2015-11-09 08:58:59 +0000 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2015-11-09 16:57:22 +0000 |
commit | 70ee5084213c27733f723a7d3f597764bba38dcf (patch) | |
tree | 3e5a1cff4f22b657c401cbd7986fb475ef291a88 | |
parent | 134e32378a242e846a6e553ad80317a4a56b13b9 (diff) |
lib: Make instdone initialisation fail gracefully
Just report that we don't recognise the chipset rather than explode.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r-- | lib/instdone.c | 10 | ||||
-rw-r--r-- | lib/instdone.h | 2 | ||||
-rw-r--r-- | tools/intel_error_decode.c | 3 |
3 files changed, 9 insertions, 6 deletions
diff --git a/lib/instdone.c b/lib/instdone.c index fffb9491..53d82154 100644 --- a/lib/instdone.c +++ b/lib/instdone.c @@ -423,7 +423,7 @@ init_gen9_instdone(void) init_gen8_instdone(); } -void +bool init_instdone_definitions(uint32_t devid) { if (IS_GEN9(devid)) { @@ -595,8 +595,7 @@ init_instdone_definitions(uint32_t devid) gen3_instdone_bit(CC_DONE, "Color calculator"); gen3_instdone_bit(MAP_FILTER_DONE, "Map filter"); gen3_instdone_bit(MAP_L2_IDLE, "Map L2"); - } else { - igt_assert(IS_GEN2(devid)); + } else if (IS_GEN2(devid)) { gen3_instdone_bit(I830_GMBUS_DONE, "GMBUS"); gen3_instdone_bit(I830_FBC_DONE, "FBC"); gen3_instdone_bit(I830_BINNER_DONE, "BINNER"); @@ -624,5 +623,8 @@ init_instdone_definitions(uint32_t devid) gen3_instdone_bit(I830_SECONDARY_RING_0_DONE, "Secondary ring 0"); gen3_instdone_bit(I830_PRIMARY_RING_1_DONE, "Primary ring 1"); gen3_instdone_bit(I830_PRIMARY_RING_0_DONE, "Primary ring 0"); - } + } else + return false; + + return true; } diff --git a/lib/instdone.h b/lib/instdone.h index c86a54a7..77c41242 100644 --- a/lib/instdone.h +++ b/lib/instdone.h @@ -38,4 +38,4 @@ struct instdone_bit { extern struct instdone_bit instdone_bits[MAX_INSTDONE_BITS]; extern int num_instdone_bits; -void init_instdone_definitions(uint32_t devid); +bool init_instdone_definitions(uint32_t devid); diff --git a/tools/intel_error_decode.c b/tools/intel_error_decode.c index c7102127..a7a65e85 100644 --- a/tools/intel_error_decode.c +++ b/tools/intel_error_decode.c @@ -97,7 +97,8 @@ print_instdone(uint32_t devid, unsigned int instdone, unsigned int instdone1) static int once; if (!once) { - init_instdone_definitions(devid); + if (!init_instdone_definitions(devid)) + return; once = 1; } |