void dispc_save_context(void)
 {
+       int i;
        if (cpu_is_omap24xx())
                return;
 
        SR(OVL_ACCU0(OMAP_DSS_VIDEO1));
        SR(OVL_ACCU1(OMAP_DSS_VIDEO1));
 
-       SR(OVL_FIR_COEF_H(OMAP_DSS_VIDEO1, 0));
-       SR(OVL_FIR_COEF_H(OMAP_DSS_VIDEO1, 1));
-       SR(OVL_FIR_COEF_H(OMAP_DSS_VIDEO1, 2));
-       SR(OVL_FIR_COEF_H(OMAP_DSS_VIDEO1, 3));
-       SR(OVL_FIR_COEF_H(OMAP_DSS_VIDEO1, 4));
-       SR(OVL_FIR_COEF_H(OMAP_DSS_VIDEO1, 5));
-       SR(OVL_FIR_COEF_H(OMAP_DSS_VIDEO1, 6));
-       SR(OVL_FIR_COEF_H(OMAP_DSS_VIDEO1, 7));
-
-       SR(OVL_FIR_COEF_HV(OMAP_DSS_VIDEO1, 0));
-       SR(OVL_FIR_COEF_HV(OMAP_DSS_VIDEO1, 1));
-       SR(OVL_FIR_COEF_HV(OMAP_DSS_VIDEO1, 2));
-       SR(OVL_FIR_COEF_HV(OMAP_DSS_VIDEO1, 3));
-       SR(OVL_FIR_COEF_HV(OMAP_DSS_VIDEO1, 4));
-       SR(OVL_FIR_COEF_HV(OMAP_DSS_VIDEO1, 5));
-       SR(OVL_FIR_COEF_HV(OMAP_DSS_VIDEO1, 6));
-       SR(OVL_FIR_COEF_HV(OMAP_DSS_VIDEO1, 7));
-
-       SR(OVL_CONV_COEF(OMAP_DSS_VIDEO1, 0));
-       SR(OVL_CONV_COEF(OMAP_DSS_VIDEO1, 1));
-       SR(OVL_CONV_COEF(OMAP_DSS_VIDEO1, 2));
-       SR(OVL_CONV_COEF(OMAP_DSS_VIDEO1, 3));
-       SR(OVL_CONV_COEF(OMAP_DSS_VIDEO1, 4));
-
-       SR(OVL_FIR_COEF_V(OMAP_DSS_VIDEO1, 0));
-       SR(OVL_FIR_COEF_V(OMAP_DSS_VIDEO1, 1));
-       SR(OVL_FIR_COEF_V(OMAP_DSS_VIDEO1, 2));
-       SR(OVL_FIR_COEF_V(OMAP_DSS_VIDEO1, 3));
-       SR(OVL_FIR_COEF_V(OMAP_DSS_VIDEO1, 4));
-       SR(OVL_FIR_COEF_V(OMAP_DSS_VIDEO1, 5));
-       SR(OVL_FIR_COEF_V(OMAP_DSS_VIDEO1, 6));
-       SR(OVL_FIR_COEF_V(OMAP_DSS_VIDEO1, 7));
+       for (i = 0; i < 8; i++)
+               SR(OVL_FIR_COEF_H(OMAP_DSS_VIDEO1, i));
+
+       for (i = 0; i < 8; i++)
+               SR(OVL_FIR_COEF_HV(OMAP_DSS_VIDEO1, i));
+
+       for (i = 0; i < 5; i++)
+               SR(OVL_CONV_COEF(OMAP_DSS_VIDEO1, i));
+
+       for (i = 0; i < 8; i++)
+               SR(OVL_FIR_COEF_V(OMAP_DSS_VIDEO1, i));
 
        SR(OVL_PRELOAD(OMAP_DSS_VIDEO1));
 
        SR(OVL_ACCU0(OMAP_DSS_VIDEO2));
        SR(OVL_ACCU1(OMAP_DSS_VIDEO2));
 
-       SR(OVL_FIR_COEF_H(OMAP_DSS_VIDEO2, 0));
-       SR(OVL_FIR_COEF_H(OMAP_DSS_VIDEO2, 1));
-       SR(OVL_FIR_COEF_H(OMAP_DSS_VIDEO2, 2));
-       SR(OVL_FIR_COEF_H(OMAP_DSS_VIDEO2, 3));
-       SR(OVL_FIR_COEF_H(OMAP_DSS_VIDEO2, 4));
-       SR(OVL_FIR_COEF_H(OMAP_DSS_VIDEO2, 5));
-       SR(OVL_FIR_COEF_H(OMAP_DSS_VIDEO2, 6));
-       SR(OVL_FIR_COEF_H(OMAP_DSS_VIDEO2, 7));
-
-       SR(OVL_FIR_COEF_HV(OMAP_DSS_VIDEO2, 0));
-       SR(OVL_FIR_COEF_HV(OMAP_DSS_VIDEO2, 1));
-       SR(OVL_FIR_COEF_HV(OMAP_DSS_VIDEO2, 2));
-       SR(OVL_FIR_COEF_HV(OMAP_DSS_VIDEO2, 3));
-       SR(OVL_FIR_COEF_HV(OMAP_DSS_VIDEO2, 4));
-       SR(OVL_FIR_COEF_HV(OMAP_DSS_VIDEO2, 5));
-       SR(OVL_FIR_COEF_HV(OMAP_DSS_VIDEO2, 6));
-       SR(OVL_FIR_COEF_HV(OMAP_DSS_VIDEO2, 7));
-
-       SR(OVL_CONV_COEF(OMAP_DSS_VIDEO2, 0));
-       SR(OVL_CONV_COEF(OMAP_DSS_VIDEO2, 1));
-       SR(OVL_CONV_COEF(OMAP_DSS_VIDEO2, 2));
-       SR(OVL_CONV_COEF(OMAP_DSS_VIDEO2, 3));
-       SR(OVL_CONV_COEF(OMAP_DSS_VIDEO2, 4));
-
-       SR(OVL_FIR_COEF_V(OMAP_DSS_VIDEO2, 0));
-       SR(OVL_FIR_COEF_V(OMAP_DSS_VIDEO2, 1));
-       SR(OVL_FIR_COEF_V(OMAP_DSS_VIDEO2, 2));
-       SR(OVL_FIR_COEF_V(OMAP_DSS_VIDEO2, 3));
-       SR(OVL_FIR_COEF_V(OMAP_DSS_VIDEO2, 4));
-       SR(OVL_FIR_COEF_V(OMAP_DSS_VIDEO2, 5));
-       SR(OVL_FIR_COEF_V(OMAP_DSS_VIDEO2, 6));
-       SR(OVL_FIR_COEF_V(OMAP_DSS_VIDEO2, 7));
+       for (i = 0; i < 8; i++)
+               SR(OVL_FIR_COEF_H(OMAP_DSS_VIDEO2, i));
+
+       for (i = 0; i < 8; i++)
+               SR(OVL_FIR_COEF_HV(OMAP_DSS_VIDEO2, i));
+
+       for (i = 0; i < 5; i++)
+               SR(OVL_CONV_COEF(OMAP_DSS_VIDEO2, i));
+
+       for (i = 0; i < 8; i++)
+               SR(OVL_FIR_COEF_V(OMAP_DSS_VIDEO2, i));
 
        SR(OVL_PRELOAD(OMAP_DSS_VIDEO2));
 
 
 void dispc_restore_context(void)
 {
+       int i;
        RR(SYSCONFIG);
        /*RR(IRQENABLE);*/
        /*RR(CONTROL);*/
        RR(OVL_ACCU0(OMAP_DSS_VIDEO1));
        RR(OVL_ACCU1(OMAP_DSS_VIDEO1));
 
-       RR(OVL_FIR_COEF_H(OMAP_DSS_VIDEO1, 0));
-       RR(OVL_FIR_COEF_H(OMAP_DSS_VIDEO1, 1));
-       RR(OVL_FIR_COEF_H(OMAP_DSS_VIDEO1, 2));
-       RR(OVL_FIR_COEF_H(OMAP_DSS_VIDEO1, 3));
-       RR(OVL_FIR_COEF_H(OMAP_DSS_VIDEO1, 4));
-       RR(OVL_FIR_COEF_H(OMAP_DSS_VIDEO1, 5));
-       RR(OVL_FIR_COEF_H(OMAP_DSS_VIDEO1, 6));
-       RR(OVL_FIR_COEF_H(OMAP_DSS_VIDEO1, 7));
-
-       RR(OVL_FIR_COEF_HV(OMAP_DSS_VIDEO1, 0));
-       RR(OVL_FIR_COEF_HV(OMAP_DSS_VIDEO1, 1));
-       RR(OVL_FIR_COEF_HV(OMAP_DSS_VIDEO1, 2));
-       RR(OVL_FIR_COEF_HV(OMAP_DSS_VIDEO1, 3));
-       RR(OVL_FIR_COEF_HV(OMAP_DSS_VIDEO1, 4));
-       RR(OVL_FIR_COEF_HV(OMAP_DSS_VIDEO1, 5));
-       RR(OVL_FIR_COEF_HV(OMAP_DSS_VIDEO1, 6));
-       RR(OVL_FIR_COEF_HV(OMAP_DSS_VIDEO1, 7));
-
-       RR(OVL_CONV_COEF(OMAP_DSS_VIDEO1, 0));
-       RR(OVL_CONV_COEF(OMAP_DSS_VIDEO1, 1));
-       RR(OVL_CONV_COEF(OMAP_DSS_VIDEO1, 2));
-       RR(OVL_CONV_COEF(OMAP_DSS_VIDEO1, 3));
-       RR(OVL_CONV_COEF(OMAP_DSS_VIDEO1, 4));
-
-       RR(OVL_FIR_COEF_V(OMAP_DSS_VIDEO1, 0));
-       RR(OVL_FIR_COEF_V(OMAP_DSS_VIDEO1, 1));
-       RR(OVL_FIR_COEF_V(OMAP_DSS_VIDEO1, 2));
-       RR(OVL_FIR_COEF_V(OMAP_DSS_VIDEO1, 3));
-       RR(OVL_FIR_COEF_V(OMAP_DSS_VIDEO1, 4));
-       RR(OVL_FIR_COEF_V(OMAP_DSS_VIDEO1, 5));
-       RR(OVL_FIR_COEF_V(OMAP_DSS_VIDEO1, 6));
-       RR(OVL_FIR_COEF_V(OMAP_DSS_VIDEO1, 7));
+       for (i = 0; i < 8; i++)
+               RR(OVL_FIR_COEF_H(OMAP_DSS_VIDEO1, i));
+
+       for (i = 0; i < 8; i++)
+               RR(OVL_FIR_COEF_HV(OMAP_DSS_VIDEO1, i));
+
+       for (i = 0; i < 5; i++)
+               RR(OVL_CONV_COEF(OMAP_DSS_VIDEO1, i));
+
+       for (i = 0; i < 8; i++)
+               RR(OVL_FIR_COEF_V(OMAP_DSS_VIDEO1, i));
 
        RR(OVL_PRELOAD(OMAP_DSS_VIDEO1));
 
        RR(OVL_ACCU0(OMAP_DSS_VIDEO2));
        RR(OVL_ACCU1(OMAP_DSS_VIDEO2));
 
-       RR(OVL_FIR_COEF_H(OMAP_DSS_VIDEO2, 0));
-       RR(OVL_FIR_COEF_H(OMAP_DSS_VIDEO2, 1));
-       RR(OVL_FIR_COEF_H(OMAP_DSS_VIDEO2, 2));
-       RR(OVL_FIR_COEF_H(OMAP_DSS_VIDEO2, 3));
-       RR(OVL_FIR_COEF_H(OMAP_DSS_VIDEO2, 4));
-       RR(OVL_FIR_COEF_H(OMAP_DSS_VIDEO2, 5));
-       RR(OVL_FIR_COEF_H(OMAP_DSS_VIDEO2, 6));
-       RR(OVL_FIR_COEF_H(OMAP_DSS_VIDEO2, 7));
-
-       RR(OVL_FIR_COEF_HV(OMAP_DSS_VIDEO2, 0));
-       RR(OVL_FIR_COEF_HV(OMAP_DSS_VIDEO2, 1));
-       RR(OVL_FIR_COEF_HV(OMAP_DSS_VIDEO2, 2));
-       RR(OVL_FIR_COEF_HV(OMAP_DSS_VIDEO2, 3));
-       RR(OVL_FIR_COEF_HV(OMAP_DSS_VIDEO2, 4));
-       RR(OVL_FIR_COEF_HV(OMAP_DSS_VIDEO2, 5));
-       RR(OVL_FIR_COEF_HV(OMAP_DSS_VIDEO2, 6));
-       RR(OVL_FIR_COEF_HV(OMAP_DSS_VIDEO2, 7));
-
-       RR(OVL_CONV_COEF(OMAP_DSS_VIDEO2, 0));
-       RR(OVL_CONV_COEF(OMAP_DSS_VIDEO2, 1));
-       RR(OVL_CONV_COEF(OMAP_DSS_VIDEO2, 2));
-       RR(OVL_CONV_COEF(OMAP_DSS_VIDEO2, 3));
-       RR(OVL_CONV_COEF(OMAP_DSS_VIDEO2, 4));
-
-       RR(OVL_FIR_COEF_V(OMAP_DSS_VIDEO2, 0));
-       RR(OVL_FIR_COEF_V(OMAP_DSS_VIDEO2, 1));
-       RR(OVL_FIR_COEF_V(OMAP_DSS_VIDEO2, 2));
-       RR(OVL_FIR_COEF_V(OMAP_DSS_VIDEO2, 3));
-       RR(OVL_FIR_COEF_V(OMAP_DSS_VIDEO2, 4));
-       RR(OVL_FIR_COEF_V(OMAP_DSS_VIDEO2, 5));
-       RR(OVL_FIR_COEF_V(OMAP_DSS_VIDEO2, 6));
-       RR(OVL_FIR_COEF_V(OMAP_DSS_VIDEO2, 7));
+       for (i = 0; i < 8; i++)
+               RR(OVL_FIR_COEF_H(OMAP_DSS_VIDEO2, i));
+
+       for (i = 0; i < 8; i++)
+               RR(OVL_FIR_COEF_HV(OMAP_DSS_VIDEO2, i));
+
+       for (i = 0; i < 5; i++)
+               RR(OVL_CONV_COEF(OMAP_DSS_VIDEO2, i));
+
+       for (i = 0; i < 8; i++)
+               RR(OVL_FIR_COEF_V(OMAP_DSS_VIDEO2, i));
 
        RR(OVL_PRELOAD(OMAP_DSS_VIDEO2));