media: atomisp: atomisp_v4l2.c: set wdt timers according with ISP version
authorMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Wed, 22 Apr 2020 12:06:58 +0000 (14:06 +0200)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Wed, 20 May 2020 10:32:16 +0000 (12:32 +0200)
Add a runtime check to use the proper wdt timer init at runtime,
depending on the chipset revision.

For now, we can't get rid of the remaining version checks, as
the rest of the code is not prepared yet to detect the ISP
version on runtime.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/staging/media/atomisp/pci/atomisp2/atomisp_v4l2.c

index 55bb513..ef7a83c 100644 (file)
@@ -1148,14 +1148,17 @@ static int init_atomisp_wdts(struct atomisp_device *isp)
 
        for (i = 0; i < isp->num_of_streams; i++) {
                struct atomisp_sub_device *asd = &isp->asd[i];
-#ifndef ISP2401
-               timer_setup(&asd->wdt, atomisp_wdt, 0);
-#else
-               timer_setup(&asd->video_out_capture.wdt, atomisp_wdt, 0);
-               timer_setup(&asd->video_out_preview.wdt, atomisp_wdt, 0);
-               timer_setup(&asd->video_out_vf.wdt, atomisp_wdt, 0);
-               timer_setup(&asd->video_out_video_capture.wdt, atomisp_wdt, 0);
-#endif
+               if (!atomisp_hw_is_isp2401)
+                       timer_setup(&asd->wdt, atomisp_wdt, 0);
+               else {
+                       timer_setup(&asd->video_out_capture.wdt,
+                                   atomisp_wdt, 0);
+                       timer_setup(&asd->video_out_preview.wdt,
+                                   atomisp_wdt, 0);
+                       timer_setup(&asd->video_out_vf.wdt, atomisp_wdt, 0);
+                       timer_setup(&asd->video_out_video_capture.wdt,
+                                   atomisp_wdt, 0);
+               }
        }
        return 0;
 alloc_fail: