bool depth_mode = false;
        int i, ret, depth_cnt = 0;
 
-       if (!isp->sw_contex.file_input)
-               atomisp_css_irq_enable(isp,
-                                      IA_CSS_IRQ_INFO_CSS_RECEIVER_SOF, false);
+       atomisp_css_irq_enable(isp, IA_CSS_IRQ_INFO_CSS_RECEIVER_SOF, false);
 
        BUG_ON(isp->num_of_streams > MAX_STREAM_NUM);
 
                atomisp_csi2_configure(asd);
        }
 
-       if (!isp->sw_contex.file_input) {
-               atomisp_css_irq_enable(isp, IA_CSS_IRQ_INFO_CSS_RECEIVER_SOF,
-                                      atomisp_css_valid_sof(isp));
+       atomisp_css_irq_enable(isp, IA_CSS_IRQ_INFO_CSS_RECEIVER_SOF,
+                              atomisp_css_valid_sof(isp));
 
-               if (atomisp_freq_scaling(isp, ATOMISP_DFS_MODE_AUTO, true) < 0)
-                       dev_dbg(isp->dev, "DFS auto failed while recovering!\n");
-       } else {
-               if (atomisp_freq_scaling(isp, ATOMISP_DFS_MODE_MAX, true) < 0)
-                       dev_dbg(isp->dev, "DFS max failed while recovering!\n");
-       }
+       if (atomisp_freq_scaling(isp, ATOMISP_DFS_MODE_AUTO, true) < 0)
+               dev_dbg(isp->dev, "DFS auto failed while recovering!\n");
 
        for (i = 0; i < isp->num_of_streams; i++) {
                struct atomisp_sub_device *asd;
                        if (asd->streaming != ATOMISP_DEVICE_STREAMING_ENABLED)
                                continue;
 
-                       atomisp_wdt_refresh(asd,
-                                           isp->sw_contex.file_input ?
-                                           ATOMISP_ISP_FILE_TIMEOUT_DURATION :
-                                           ATOMISP_ISP_TIMEOUT_DURATION);
+                       atomisp_wdt_refresh(asd, ATOMISP_ISP_TIMEOUT_DURATION);
                }
        }
 
        for (i = 0; i < isp->num_of_streams; i++) {
                struct atomisp_sub_device *asd = &isp->asd[i];
 
-               if (asd->streaming !=
-                   ATOMISP_DEVICE_STREAMING_ENABLED)
+               if (asd->streaming != ATOMISP_DEVICE_STREAMING_ENABLED)
                        continue;
 
-               atomisp_wdt_refresh(asd,
-                                   isp->sw_contex.file_input ?
-                                   ATOMISP_ISP_FILE_TIMEOUT_DURATION :
-                                   ATOMISP_ISP_TIMEOUT_DURATION);
+               atomisp_wdt_refresh(asd, ATOMISP_ISP_TIMEOUT_DURATION);
        }
        dev_dbg(isp->dev, "atomisp css flush done\n");
 }
        }
 out:
        rt_mutex_unlock(&isp->mutex);
-       for (i = 0; i < isp->num_of_streams; i++) {
-               asd = &isp->asd[i];
-               if (asd->streaming == ATOMISP_DEVICE_STREAMING_ENABLED
-                   && css_pipe_done[asd->index]
-                   && isp->sw_contex.file_input)
-                       v4l2_subdev_call(isp->inputs[asd->input_curr].camera,
-                                        video, s_stream, 1);
-       }
        dev_dbg(isp->dev, "<%s\n", __func__);
 
        return IRQ_HANDLED;
        ia_css_frame_free(asd->raw_output_frame);
        asd->raw_output_frame = NULL;
 
-       if (!asd->continuous_mode->val &&
-           !asd->params.online_process && !isp->sw_contex.file_input &&
+       if (!asd->continuous_mode->val && !asd->params.online_process &&
            ia_css_frame_allocate_from_info(&asd->raw_output_frame,
                    raw_output_info))
                return -ENOMEM;
 
 {
        unsigned int i;
 
-       isp->sw_contex.file_input = false;
        isp->need_gfx_throttle = true;
        isp->isp_fatal_error = false;
        isp->mipi_frame_size = 0;
         * The sink pad setting can only be cleared when all device nodes
         * get released.
         */
-       if (!isp->sw_contex.file_input && asd->fmt_auto->val) {
+       if (asd->fmt_auto->val) {
                struct v4l2_mbus_framefmt isp_sink_fmt = { 0 };
 
                atomisp_subdev_set_ffmt(&asd->subdev, fh.state,
        if (atomisp_subdev_users(asd))
                goto done;
 
-       /* clear the sink pad for file input */
-       if (isp->sw_contex.file_input && asd->fmt_auto->val) {
-               struct v4l2_mbus_framefmt isp_sink_fmt = { 0 };
-
-               atomisp_subdev_set_ffmt(&asd->subdev, fh.state,
-                                       V4L2_SUBDEV_FORMAT_ACTIVE,
-                                       ATOMISP_SUBDEV_PAD_SINK, &isp_sink_fmt);
-       }
-
        atomisp_css_free_stat_buffers(asd);
        atomisp_free_internal_buffers(asd);
        ret = v4l2_subdev_call(isp->inputs[asd->input_curr].camera,
 
 
 #define ATOMISP_ISP_TIMEOUT_DURATION           (2 * HZ)
 #define ATOMISP_EXT_ISP_TIMEOUT_DURATION        (6 * HZ)
-#define ATOMISP_ISP_FILE_TIMEOUT_DURATION      (60 * HZ)
 #define ATOMISP_WDT_KEEP_CURRENT_DELAY          0
 #define ATOMISP_ISP_MAX_TIMEOUT_COUNT  2
 #define ATOMISP_CSS_STOP_TIMEOUT_US    200000
 };
 
 struct atomisp_sw_contex {
-       bool file_input;
        int power_state;
        int running_freq;
 };
 
                        ret = v4l2_subdev_call(motor, core, s_power, 1);
        }
 
-       if (!isp->sw_contex.file_input && motor)
+       if (motor)
                ret = v4l2_subdev_call(motor, core, init, 1);
 
        asd->input_curr = input;
        atomic_set(&asd->sof_count, -1);
        atomic_set(&asd->sequence, -1);
        atomic_set(&asd->sequence_temp, -1);
-       if (isp->sw_contex.file_input)
-               wdt_duration = ATOMISP_ISP_FILE_TIMEOUT_DURATION;
 
        asd->params.dis_proj_data_valid = false;
        asd->latest_preview_exp_id = 0;
                atomisp_setup_flash(asd);
        }
 
-       if (!isp->sw_contex.file_input) {
-               atomisp_css_irq_enable(isp, IA_CSS_IRQ_INFO_CSS_RECEIVER_SOF,
-                                      atomisp_css_valid_sof(isp));
-               atomisp_csi2_configure(asd);
-               /*
-                * set freq to max when streaming count > 1 which indicate
-                * dual camera would run
-                */
-               if (atomisp_streaming_count(isp) > 1) {
-                       if (atomisp_freq_scaling(isp,
-                                                ATOMISP_DFS_MODE_MAX, false) < 0)
-                               dev_dbg(isp->dev, "DFS max mode failed!\n");
-               } else {
-                       if (atomisp_freq_scaling(isp,
-                                                ATOMISP_DFS_MODE_AUTO, false) < 0)
-                               dev_dbg(isp->dev, "DFS auto mode failed!\n");
-               }
-       } else {
-               if (atomisp_freq_scaling(isp, ATOMISP_DFS_MODE_MAX, false) < 0)
+       atomisp_css_irq_enable(isp, IA_CSS_IRQ_INFO_CSS_RECEIVER_SOF,
+                              atomisp_css_valid_sof(isp));
+       atomisp_csi2_configure(asd);
+       /*
+        * set freq to max when streaming count > 1 which indicate
+        * dual camera would run
+        */
+       if (atomisp_streaming_count(isp) > 1) {
+               if (atomisp_freq_scaling(isp,
+                                        ATOMISP_DFS_MODE_MAX, false) < 0)
                        dev_dbg(isp->dev, "DFS max mode failed!\n");
+       } else {
+               if (atomisp_freq_scaling(isp,
+                                        ATOMISP_DFS_MODE_AUTO, false) < 0)
+                       dev_dbg(isp->dev, "DFS auto mode failed!\n");
        }
 
        if (asd->depth_mode->val && atomisp_streaming_count(isp) ==
                /* if other streams are running, should not disable watch dog */
                rt_mutex_unlock(&isp->mutex);
                atomisp_wdt_stop(asd, true);
-
-               /*
-                * must stop sending pixels into GP_FIFO before stop
-                * the pipeline.
-                */
-               if (isp->sw_contex.file_input)
-                       v4l2_subdev_call(isp->inputs[asd->input_curr].camera,
-                                        video, s_stream, 0);
-
                rt_mutex_lock(&isp->mutex);
        }
 
        }
 
        atomisp_clear_css_buffer_counters(asd);
-
-       if (!isp->sw_contex.file_input)
-               atomisp_css_irq_enable(isp, IA_CSS_IRQ_INFO_CSS_RECEIVER_SOF,
-                                      false);
+       atomisp_css_irq_enable(isp, IA_CSS_IRQ_INFO_CSS_RECEIVER_SOF, false);
 
        if (asd->delayed_init == ATOMISP_DELAYED_INIT_QUEUED) {
                cancel_work_sync(&asd->delayed_init_work);
            != atomisp_sensor_start_stream(asd))
                return 0;
 
-       if (!isp->sw_contex.file_input)
-               ret = v4l2_subdev_call(isp->inputs[asd->input_curr].camera,
-                                      video, s_stream, 0);
+       ret = v4l2_subdev_call(isp->inputs[asd->input_curr].camera,
+                              video, s_stream, 0);
 
        if (isp->flash) {
                asd->params.num_flash_frames = 0;