.ib_execute = &r100_ring_ib_execute,
                        .emit_fence = &r100_fence_ring_emit,
                        .emit_semaphore = &r100_semaphore_ring_emit,
+                       .cs_parse = &r100_cs_parse,
                }
        },
        .irq_set = &r100_irq_set,
        .irq_process = &r100_irq_process,
        .get_vblank_counter = &r100_get_vblank_counter,
-       .cs_parse = &r100_cs_parse,
        .copy_blit = &r100_copy_blit,
        .copy_dma = NULL,
        .copy = &r100_copy_blit,
                        .ib_execute = &r100_ring_ib_execute,
                        .emit_fence = &r100_fence_ring_emit,
                        .emit_semaphore = &r100_semaphore_ring_emit,
+                       .cs_parse = &r100_cs_parse,
                }
        },
        .irq_set = &r100_irq_set,
        .irq_process = &r100_irq_process,
        .get_vblank_counter = &r100_get_vblank_counter,
-       .cs_parse = &r100_cs_parse,
        .copy_blit = &r100_copy_blit,
        .copy_dma = &r200_copy_dma,
        .copy = &r100_copy_blit,
                        .ib_execute = &r100_ring_ib_execute,
                        .emit_fence = &r300_fence_ring_emit,
                        .emit_semaphore = &r100_semaphore_ring_emit,
+                       .cs_parse = &r300_cs_parse,
                }
        },
        .irq_set = &r100_irq_set,
        .irq_process = &r100_irq_process,
        .get_vblank_counter = &r100_get_vblank_counter,
-       .cs_parse = &r300_cs_parse,
        .copy_blit = &r100_copy_blit,
        .copy_dma = &r200_copy_dma,
        .copy = &r100_copy_blit,
                        .ib_execute = &r100_ring_ib_execute,
                        .emit_fence = &r300_fence_ring_emit,
                        .emit_semaphore = &r100_semaphore_ring_emit,
+                       .cs_parse = &r300_cs_parse,
                }
        },
        .irq_set = &r100_irq_set,
        .irq_process = &r100_irq_process,
        .get_vblank_counter = &r100_get_vblank_counter,
-       .cs_parse = &r300_cs_parse,
        .copy_blit = &r100_copy_blit,
        .copy_dma = &r200_copy_dma,
        .copy = &r100_copy_blit,
                        .ib_execute = &r100_ring_ib_execute,
                        .emit_fence = &r300_fence_ring_emit,
                        .emit_semaphore = &r100_semaphore_ring_emit,
+                       .cs_parse = &r300_cs_parse,
                }
        },
        .irq_set = &r100_irq_set,
        .irq_process = &r100_irq_process,
        .get_vblank_counter = &r100_get_vblank_counter,
-       .cs_parse = &r300_cs_parse,
        .copy_blit = &r100_copy_blit,
        .copy_dma = &r200_copy_dma,
        .copy = &r100_copy_blit,
                        .ib_execute = &r100_ring_ib_execute,
                        .emit_fence = &r300_fence_ring_emit,
                        .emit_semaphore = &r100_semaphore_ring_emit,
+                       .cs_parse = &r300_cs_parse,
                }
        },
        .irq_set = &r100_irq_set,
        .irq_process = &r100_irq_process,
        .get_vblank_counter = &r100_get_vblank_counter,
-       .cs_parse = &r300_cs_parse,
        .copy_blit = &r100_copy_blit,
        .copy_dma = &r200_copy_dma,
        .copy = &r100_copy_blit,
                        .ib_execute = &r100_ring_ib_execute,
                        .emit_fence = &r300_fence_ring_emit,
                        .emit_semaphore = &r100_semaphore_ring_emit,
+                       .cs_parse = &r300_cs_parse,
                }
        },
        .irq_set = &rs600_irq_set,
        .irq_process = &rs600_irq_process,
        .get_vblank_counter = &rs600_get_vblank_counter,
-       .cs_parse = &r300_cs_parse,
        .copy_blit = &r100_copy_blit,
        .copy_dma = &r200_copy_dma,
        .copy = &r100_copy_blit,
                        .ib_execute = &r100_ring_ib_execute,
                        .emit_fence = &r300_fence_ring_emit,
                        .emit_semaphore = &r100_semaphore_ring_emit,
+                       .cs_parse = &r300_cs_parse,
                }
        },
        .irq_set = &rs600_irq_set,
        .irq_process = &rs600_irq_process,
        .get_vblank_counter = &rs600_get_vblank_counter,
-       .cs_parse = &r300_cs_parse,
        .copy_blit = &r100_copy_blit,
        .copy_dma = &r200_copy_dma,
        .copy = &r200_copy_dma,
                        .ib_execute = &r100_ring_ib_execute,
                        .emit_fence = &r300_fence_ring_emit,
                        .emit_semaphore = &r100_semaphore_ring_emit,
+                       .cs_parse = &r300_cs_parse,
                }
        },
        .irq_set = &rs600_irq_set,
        .irq_process = &rs600_irq_process,
        .get_vblank_counter = &rs600_get_vblank_counter,
-       .cs_parse = &r300_cs_parse,
        .copy_blit = &r100_copy_blit,
        .copy_dma = &r200_copy_dma,
        .copy = &r100_copy_blit,
                        .ib_execute = &r100_ring_ib_execute,
                        .emit_fence = &r300_fence_ring_emit,
                        .emit_semaphore = &r100_semaphore_ring_emit,
+                       .cs_parse = &r300_cs_parse,
                }
        },
        .irq_set = &rs600_irq_set,
        .irq_process = &rs600_irq_process,
        .get_vblank_counter = &rs600_get_vblank_counter,
-       .cs_parse = &r300_cs_parse,
        .copy_blit = &r100_copy_blit,
        .copy_dma = &r200_copy_dma,
        .copy = &r100_copy_blit,
                        .ib_execute = &r600_ring_ib_execute,
                        .emit_fence = &r600_fence_ring_emit,
                        .emit_semaphore = &r600_semaphore_ring_emit,
+                       .cs_parse = &r600_cs_parse,
                }
        },
        .irq_set = &r600_irq_set,
        .irq_process = &r600_irq_process,
        .get_vblank_counter = &rs600_get_vblank_counter,
-       .cs_parse = &r600_cs_parse,
        .copy_blit = &r600_copy_blit,
        .copy_dma = NULL,
        .copy = &r600_copy_blit,
                        .ib_execute = &r600_ring_ib_execute,
                        .emit_fence = &r600_fence_ring_emit,
                        .emit_semaphore = &r600_semaphore_ring_emit,
+                       .cs_parse = &r600_cs_parse,
                }
        },
        .irq_set = &r600_irq_set,
        .irq_process = &r600_irq_process,
        .get_vblank_counter = &rs600_get_vblank_counter,
-       .cs_parse = &r600_cs_parse,
        .copy_blit = &r600_copy_blit,
        .copy_dma = NULL,
        .copy = &r600_copy_blit,
                        .ib_execute = &r600_ring_ib_execute,
                        .emit_fence = &r600_fence_ring_emit,
                        .emit_semaphore = &r600_semaphore_ring_emit,
+                       .cs_parse = &r600_cs_parse,
                }
        },
        .irq_set = &r600_irq_set,
        .irq_process = &r600_irq_process,
        .get_vblank_counter = &rs600_get_vblank_counter,
-       .cs_parse = &r600_cs_parse,
        .copy_blit = &r600_copy_blit,
        .copy_dma = NULL,
        .copy = &r600_copy_blit,
                        .ib_execute = &evergreen_ring_ib_execute,
                        .emit_fence = &r600_fence_ring_emit,
                        .emit_semaphore = &r600_semaphore_ring_emit,
+                       .cs_parse = &evergreen_cs_parse,
                }
        },
        .irq_set = &evergreen_irq_set,
        .irq_process = &evergreen_irq_process,
        .get_vblank_counter = &evergreen_get_vblank_counter,
-       .cs_parse = &evergreen_cs_parse,
        .copy_blit = &r600_copy_blit,
        .copy_dma = NULL,
        .copy = &r600_copy_blit,
                        .ib_execute = &evergreen_ring_ib_execute,
                        .emit_fence = &r600_fence_ring_emit,
                        .emit_semaphore = &r600_semaphore_ring_emit,
-               }
+                       .cs_parse = &evergreen_cs_parse,
+               },
        },
        .irq_set = &evergreen_irq_set,
        .irq_process = &evergreen_irq_process,
        .get_vblank_counter = &evergreen_get_vblank_counter,
-       .cs_parse = &evergreen_cs_parse,
        .copy_blit = &r600_copy_blit,
        .copy_dma = NULL,
        .copy = &r600_copy_blit,
                        .ib_execute = &evergreen_ring_ib_execute,
                        .emit_fence = &r600_fence_ring_emit,
                        .emit_semaphore = &r600_semaphore_ring_emit,
+                       .cs_parse = &evergreen_cs_parse,
                }
        },
        .irq_set = &evergreen_irq_set,
        .irq_process = &evergreen_irq_process,
        .get_vblank_counter = &evergreen_get_vblank_counter,
-       .cs_parse = &evergreen_cs_parse,
        .copy_blit = &r600_copy_blit,
        .copy_dma = NULL,
        .copy = &r600_copy_blit,
                        .ib_parse = &evergreen_ib_parse,
                        .emit_fence = &cayman_fence_ring_emit,
                        .emit_semaphore = &r600_semaphore_ring_emit,
+                       .cs_parse = &evergreen_cs_parse,
                },
                [CAYMAN_RING_TYPE_CP1_INDEX] = {
                        .ib_execute = &cayman_ring_ib_execute,
                        .ib_parse = &evergreen_ib_parse,
                        .emit_fence = &cayman_fence_ring_emit,
                        .emit_semaphore = &r600_semaphore_ring_emit,
+                       .cs_parse = &evergreen_cs_parse,
                },
                [CAYMAN_RING_TYPE_CP2_INDEX] = {
                        .ib_execute = &cayman_ring_ib_execute,
                        .ib_parse = &evergreen_ib_parse,
                        .emit_fence = &cayman_fence_ring_emit,
                        .emit_semaphore = &r600_semaphore_ring_emit,
+                       .cs_parse = &evergreen_cs_parse,
                }
        },
        .irq_set = &evergreen_irq_set,
        .irq_process = &evergreen_irq_process,
        .get_vblank_counter = &evergreen_get_vblank_counter,
-       .cs_parse = &evergreen_cs_parse,
        .copy_blit = &r600_copy_blit,
        .copy_dma = NULL,
        .copy = &r600_copy_blit,