+ Identity->chip2DControl = 0;
+ if (Identity->chipModel == gcv320)
+ {
+ gctUINT32 data;
+
+ gcmkONERROR(
+ gckOS_ReadRegisterEx(Os,
+ Core,
+ 0x0002C,
+ &data));
+
+ if ((data != 33956864) &&
+ ((Identity->chipRevision == 0x5007) ||
+ (Identity->chipRevision == 0x5220)))
+ {
+ Identity->chip2DControl |= 0xFF &
+ (Identity->chipRevision == 0x5220 ? 8 :
+ (Identity->chipRevision == 0x5007 ? 12 : 0));
+ }
+
+ if (Identity->chipRevision == 0x5007)
+ {
+ /* Disable splitting rectangle. */
+ Identity->chip2DControl |= 0x100;
+
+ /* Enable 2D Flush. */
+ Identity->chip2DControl |= 0x200;
+ }
+ }
+