File tree Expand file tree Collapse file tree
drivers/media/platform/apple/isp Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -215,6 +215,7 @@ static int isp_reset_coproc(struct apple_isp *isp)
215215{
216216 int retries ;
217217 u32 status ;
218+ u32 val ;
218219
219220 isp_coproc_write32 (isp , ISP_COPROC_EDPRCR , 0x2 );
220221
@@ -230,6 +231,18 @@ static int isp_reset_coproc(struct apple_isp *isp)
230231 isp_coproc_write32 (isp , ISP_COPROC_IRQ_MASK_4 , 0xffffffff );
231232 isp_coproc_write32 (isp , ISP_COPROC_IRQ_MASK_5 , 0xffffffff );
232233
234+ for (retries = 0 ; retries < 128 ; retries ++ ) {
235+ val = isp_coproc_read32 (isp , 0x818 );
236+ if (val == 0 )
237+ break ;
238+ }
239+
240+ for (retries = 0 ; retries < 128 ; retries ++ ) {
241+ val = isp_coproc_read32 (isp , 0x81c );
242+ if (val == 0 )
243+ break ;
244+ }
245+
233246 for (retries = 0 ; retries < ISP_FIRMWARE_MAX_TRIES ; retries ++ ) {
234247 status = isp_coproc_read32 (isp , ISP_COPROC_STATUS );
235248 if (status & ISP_COPROC_IN_WFI ) {
You can’t perform that action at this time.
0 commit comments