{BCS, RING_INSTPM(BLT_RING_BASE), 0xffff, false}, /* 0x220c0 */
        {BCS, RING_HWSTAM(BLT_RING_BASE), 0x0, false}, /* 0x22098 */
        {BCS, RING_EXCC(BLT_RING_BASE), 0x0, false}, /* 0x22028 */
-       { /* Terminated */ }
+       {RCS, INVALID_MMIO_REG, 0, false } /* Terminated */
 };
 
 static struct engine_mmio gen9_engine_mmio_list[] __cacheline_aligned = {
        {RCS, GEN8_GARBCNTL, 0x0, false}, /* 0xb004 */
        {RCS, GEN7_FF_THREAD_MODE, 0x0, false}, /* 0x20a0 */
        {RCS, FF_SLICE_CS_CHICKEN2, 0xffff, false}, /* 0x20e4 */
-       { /* Terminated */ }
+       {RCS, INVALID_MMIO_REG, 0, false } /* Terminated */
 };
 
 static struct {
        if (IS_SKYLAKE(dev_priv) || IS_KABYLAKE(dev_priv))
                switch_mocs(pre, next, ring_id);
 
-       mmio = dev_priv->gvt->engine_mmio_list;
-       while (i915_mmio_reg_offset((mmio++)->reg)) {
+       for (mmio = dev_priv->gvt->engine_mmio_list;
+            i915_mmio_reg_valid(mmio->reg); mmio++) {
                if (mmio->ring_id != ring_id)
                        continue;
                // save