@@ -32,11 +32,20 @@ static struct ipu *ipu;
32
32
33
33
static inline uint32_t read_reg (struct ipu * ipu , unsigned int reg )
34
34
{
35
- return * (volatile uint32_t * ) (ipu -> base + reg );
35
+ uint32_t result = * (volatile uint32_t * ) (ipu -> base + reg );
36
+ printf ("%-19s contains %08" PRIX32 "\n" , reg_names [reg / sizeof (uint32_t )], result );
37
+ return result ;
36
38
}
37
39
38
40
static inline void write_reg (struct ipu * ipu , unsigned int reg , uint32_t value )
39
41
{
42
+ printf ("%-19s being written %08" PRIX32 "\n" , reg_names [reg / sizeof (uint32_t )], value );
43
+ if (reg == REG_HRSZ_COEF_LUT || reg == REG_VRSZ_COEF_LUT ) {
44
+ if (value & 1 )
45
+ printf ("%-19s starting configuration\n" , "" );
46
+ else
47
+ printf ("%-19s coefficient %3u, offset +%2u\n" , "" , (value >> 6 ) & 0x7FF , (value >> 1 ) & 0x1F );
48
+ }
40
49
* (volatile uint32_t * ) (ipu -> base + reg ) = value ;
41
50
}
42
51
@@ -54,7 +63,7 @@ static void print_regs(struct ipu *ipu)
54
63
{
55
64
unsigned int i ;
56
65
for (i = 0 ; i < sizeof (reg_names ) / sizeof (reg_names [0 ]); i ++ ) {
57
- printf ( "%s = 0x%08x\n" , reg_names [ i ], read_reg (ipu , i * 4 ) );
66
+ read_reg (ipu , i * 4 );
58
67
}
59
68
}
60
69
@@ -125,9 +134,6 @@ static void ipu_set_upscale_bilinear_coef(struct ipu *ipu,
125
134
}
126
135
127
136
uint32_t value = ((weight & 0x7FF ) << 6 ) | (offset << 1 );
128
- printf ("Writing 0x%08" PRIX32 " (coefficient %u, offset %u) to %s\n" ,
129
- value , weight , offset , reg_names [reg / sizeof (uint32_t )]);
130
-
131
137
write_reg (ipu , reg , value );
132
138
usleep (1 ); /* a small sleep seems necessary */
133
139
}
@@ -178,9 +184,6 @@ static void ipu_set_downscale_bilinear_coef(struct ipu *ipu,
178
184
/ weight_frac .denom ;
179
185
180
186
uint32_t value = ((weight & 0x7FF ) << 6 ) | (offset << 1 );
181
- printf ("Writing 0x%08" PRIX32 " (coefficient %u, offset %u) to %s\n" ,
182
- value , weight , offset , reg_names [reg / sizeof (uint32_t )]);
183
-
184
187
write_reg (ipu , reg , value );
185
188
usleep (1 ); /* a small sleep seems necessary */
186
189
}
@@ -214,8 +217,6 @@ static void ipu_set_nearest_resize_coef(struct ipu *ipu,
214
217
weight_frac .num %= weight_frac .denom ;
215
218
216
219
uint32_t value = (weight << 6 ) | (offset << 1 );
217
- printf ("Writing 0x%08" PRIX32 " (coefficient %u, offset %u) to %s\n" ,
218
- value , weight , offset , reg_names [reg / sizeof (uint32_t )]);
219
220
220
221
write_reg (ipu , reg , value );
221
222
usleep (1 ); /* a small sleep seems necessary */
0 commit comments