}
break;
case RING_GFX:
- /* pad DMA ring to 8 DWs to meet CP fetch alignment requirements
+ /* pad GFX ring to 8 DWs to meet CP fetch alignment requirements
* r6xx, requires at least 4 dw alignment to avoid a hw bug.
- * hawaii with old firmware needs type2 nop packet.
- * accel_working2 with value 3 indicates the new firmware.
*/
- if (cs->ws->info.chip_class <= SI ||
- (cs->ws->info.family == CHIP_HAWAII &&
- cs->ws->accel_working2 < 3)) {
+ if (cs->ws->info.gfx_ib_pad_with_type2) {
while (rcs->cdw & 7)
OUT_CS(&cs->base, 0x80000000); /* type2 nop packet */
} else {
ws->info.cik_macrotile_mode_array_valid = TRUE;
}
+ /* Hawaii with old firmware needs type2 nop packet.
+ * accel_working2 with value 3 indicates the new firmware.
+ */
+ ws->info.gfx_ib_pad_with_type2 = ws->info.chip_class <= SI ||
+ (ws->info.family == CHIP_HAWAII &&
+ ws->accel_working2 < 3);
+
return TRUE;
}