@@ -129,6 +129,7 @@ static inline u32 dispc_read_reg(const u16 idx)
void dispc_save_context(void)
{
+ int i;
if (cpu_is_omap24xx())
return;
@@ -204,38 +205,17 @@ void dispc_save_context(void)
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));
@@ -253,38 +233,17 @@ void dispc_save_context(void)
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));
@@ -294,6 +253,7 @@ void dispc_save_context(void)
void dispc_restore_context(void)
{
+ int i;
RR(SYSCONFIG);
/*RR(IRQENABLE);*/
/*RR(CONTROL);*/
@@ -366,38 +326,17 @@ void dispc_restore_context(void)
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));
@@ -415,38 +354,17 @@ void dispc_restore_context(void)
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));
Use for loop instead of individual entries for OVL_FIR_COEF_H, OVL_FIR_COEF_HV, OVL_FIR_COEF_V and OVL_CONV_COEF in SR() and RR(). Signed-off-by: Amber Jain <amber@ti.com> --- Changes since v1: - removed previously added for loops from DUMPREG() as that was not getting printed correctly. drivers/video/omap2/dss/dispc.c | 174 ++++++++++---------------------------- 1 files changed, 46 insertions(+), 128 deletions(-)