return 0;
 }
 
+static inline bool etnaviv_is_model_rev(struct etnaviv_gpu *gpu, u32 model, u32 revision)
+{
+       return gpu->identity.model == model &&
+              gpu->identity.revision == revision;
+}
 
-#define etnaviv_is_model_rev(gpu, mod, rev) \
-       ((gpu)->identity.model == chipModel_##mod && \
-        (gpu)->identity.revision == rev)
 #define etnaviv_field(val, field) \
        (((val) & field##__MASK) >> field##__SHIFT)
 
 
        switch (gpu->identity.instruction_count) {
        case 0:
-               if (etnaviv_is_model_rev(gpu, GC2000, 0x5108) ||
+               if (etnaviv_is_model_rev(gpu, 0x2000, 0x5108) ||
                    gpu->identity.model == chipModel_GC880)
                        gpu->identity.instruction_count = 512;
                else
         * For some cores, two varyings are consumed for position, so the
         * maximum varying count needs to be reduced by one.
         */
-       if (etnaviv_is_model_rev(gpu, GC5000, 0x5434) ||
-           etnaviv_is_model_rev(gpu, GC4000, 0x5222) ||
-           etnaviv_is_model_rev(gpu, GC4000, 0x5245) ||
-           etnaviv_is_model_rev(gpu, GC4000, 0x5208) ||
-           etnaviv_is_model_rev(gpu, GC3000, 0x5435) ||
-           etnaviv_is_model_rev(gpu, GC2200, 0x5244) ||
-           etnaviv_is_model_rev(gpu, GC2100, 0x5108) ||
-           etnaviv_is_model_rev(gpu, GC2000, 0x5108) ||
-           etnaviv_is_model_rev(gpu, GC1500, 0x5246) ||
-           etnaviv_is_model_rev(gpu, GC880, 0x5107) ||
-           etnaviv_is_model_rev(gpu, GC880, 0x5106))
+       if (etnaviv_is_model_rev(gpu, 0x5000, 0x5434) ||
+           etnaviv_is_model_rev(gpu, 0x4000, 0x5222) ||
+           etnaviv_is_model_rev(gpu, 0x4000, 0x5245) ||
+           etnaviv_is_model_rev(gpu, 0x4000, 0x5208) ||
+           etnaviv_is_model_rev(gpu, 0x3000, 0x5435) ||
+           etnaviv_is_model_rev(gpu, 0x2200, 0x5244) ||
+           etnaviv_is_model_rev(gpu, 0x2100, 0x5108) ||
+           etnaviv_is_model_rev(gpu, 0x2000, 0x5108) ||
+           etnaviv_is_model_rev(gpu, 0x1500, 0x5246) ||
+           etnaviv_is_model_rev(gpu, 0x880, 0x5107) ||
+           etnaviv_is_model_rev(gpu, 0x880, 0x5106))
                gpu->identity.varyings_count -= 1;
 }
 
                 * Reading these two registers on GC600 rev 0x19 result in a
                 * unhandled fault: external abort on non-linefetch
                 */
-               if (!etnaviv_is_model_rev(gpu, GC600, 0x19)) {
+               if (!etnaviv_is_model_rev(gpu, 0x600, 0x19)) {
                        gpu->identity.product_id = gpu_read(gpu, VIVS_HI_CHIP_PRODUCT_ID);
                        gpu->identity.eco_id = gpu_read(gpu, VIVS_HI_CHIP_ECO_ID);
                }
                }
 
                /* Another special case */
-               if (etnaviv_is_model_rev(gpu, GC300, 0x2201)) {
+               if (etnaviv_is_model_rev(gpu, 0x300, 0x2201)) {
                        u32 chipTime = gpu_read(gpu, VIVS_HI_CHIP_TIME);
 
                        if (chipDate == 0x20080814 && chipTime == 0x12051100) {
                 * Fix model/rev here, so all other places can refer to this
                 * core by its real identity.
                 */
-               if (etnaviv_is_model_rev(gpu, GC2000, 0xffff5450)) {
+               if (etnaviv_is_model_rev(gpu, 0x2000, 0xffff5450)) {
                        gpu->identity.model = chipModel_GC3000;
                        gpu->identity.revision &= 0xffff;
                }
 
-               if (etnaviv_is_model_rev(gpu, GC1000, 0x5037) && (chipDate == 0x20120617))
+               if (etnaviv_is_model_rev(gpu, 0x1000, 0x5037) && (chipDate == 0x20120617))
                        gpu->identity.eco_id = 1;
 
-               if (etnaviv_is_model_rev(gpu, GC320, 0x5303) && (chipDate == 0x20140511))
+               if (etnaviv_is_model_rev(gpu, 0x320, 0x5303) && (chipDate == 0x20140511))
                        gpu->identity.eco_id = 1;
        }
 
                pmc |= BIT(15); /* Unknown bit */
 
        /* Disable TX clock gating on affected core revisions. */
-       if (etnaviv_is_model_rev(gpu, GC4000, 0x5222) ||
-           etnaviv_is_model_rev(gpu, GC2000, 0x5108) ||
-           etnaviv_is_model_rev(gpu, GC7000, 0x6202) ||
-           etnaviv_is_model_rev(gpu, GC7000, 0x6203))
+       if (etnaviv_is_model_rev(gpu, 0x4000, 0x5222) ||
+           etnaviv_is_model_rev(gpu, 0x2000, 0x5108) ||
+           etnaviv_is_model_rev(gpu, 0x7000, 0x6202) ||
+           etnaviv_is_model_rev(gpu, 0x7000, 0x6203))
                pmc |= VIVS_PM_MODULE_CONTROLS_DISABLE_MODULE_CLOCK_GATING_TX;
 
        /* Disable SE and RA clock gating on affected core revisions. */
-       if (etnaviv_is_model_rev(gpu, GC7000, 0x6202))
+       if (etnaviv_is_model_rev(gpu, 0x7000, 0x6202))
                pmc |= VIVS_PM_MODULE_CONTROLS_DISABLE_MODULE_CLOCK_GATING_SE |
                       VIVS_PM_MODULE_CONTROLS_DISABLE_MODULE_CLOCK_GATING_RA;
 
         */
        u32 pulse_eater = 0x01590880;
 
-       if (etnaviv_is_model_rev(gpu, GC4000, 0x5208) ||
-           etnaviv_is_model_rev(gpu, GC4000, 0x5222)) {
+       if (etnaviv_is_model_rev(gpu, 0x4000, 0x5208) ||
+           etnaviv_is_model_rev(gpu, 0x4000, 0x5222)) {
                pulse_eater |= BIT(23);
 
        }
 
-       if (etnaviv_is_model_rev(gpu, GC1000, 0x5039) ||
-           etnaviv_is_model_rev(gpu, GC1000, 0x5040)) {
+       if (etnaviv_is_model_rev(gpu, 0x1000, 0x5039) ||
+           etnaviv_is_model_rev(gpu, 0x1000, 0x5040)) {
                pulse_eater &= ~BIT(16);
                pulse_eater |= BIT(17);
        }
        WARN_ON(!(gpu->state == ETNA_GPU_STATE_IDENTIFIED ||
                  gpu->state == ETNA_GPU_STATE_RESET));
 
-       if ((etnaviv_is_model_rev(gpu, GC320, 0x5007) ||
-            etnaviv_is_model_rev(gpu, GC320, 0x5220)) &&
+       if ((etnaviv_is_model_rev(gpu, 0x320, 0x5007) ||
+            etnaviv_is_model_rev(gpu, 0x320, 0x5220)) &&
            gpu_read(gpu, VIVS_HI_CHIP_TIME) != 0x2062400) {
                u32 mc_memory_debug;
 
                  VIVS_HI_AXI_CONFIG_ARCACHE(2));
 
        /* GC2000 rev 5108 needs a special bus config */
-       if (etnaviv_is_model_rev(gpu, GC2000, 0x5108)) {
+       if (etnaviv_is_model_rev(gpu, 0x2000, 0x5108)) {
                u32 bus_config = gpu_read(gpu, VIVS_MC_BUS_CONFIG);
                bus_config &= ~(VIVS_MC_BUS_CONFIG_FE_BUS_CONFIG__MASK |
                                VIVS_MC_BUS_CONFIG_TX_BUS_CONFIG__MASK);