media: atomisp: Remove never set file_input flag
authorHans de Goede <hdegoede@redhat.com>
Sat, 27 Aug 2022 14:49:23 +0000 (16:49 +0200)
committerMauro Carvalho Chehab <mchehab@kernel.org>
Sat, 24 Sep 2022 07:52:09 +0000 (09:52 +0200)
After the file-injection support removal the file_input flag is
always false.

Remove the flag and replace any code checking it with the code-path
for when it is false.

Reviewed-by: Andy Shevchenko <andriy.shevchenko@intel.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
drivers/staging/media/atomisp/pci/atomisp_cmd.c
drivers/staging/media/atomisp/pci/atomisp_fops.c
drivers/staging/media/atomisp/pci/atomisp_internal.h
drivers/staging/media/atomisp/pci/atomisp_ioctl.c

index 8313724f06b373a4809725b882dd804331b4ef82..8e6c10f25318df283a665c61515edce01690354f 100644 (file)
@@ -1308,9 +1308,7 @@ static void __atomisp_css_recover(struct atomisp_device *isp, bool isp_timeout)
        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);
 
@@ -1396,16 +1394,11 @@ static void __atomisp_css_recover(struct atomisp_device *isp, bool isp_timeout)
                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;
@@ -1610,10 +1603,7 @@ void atomisp_wdt_work(struct work_struct *work)
                        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);
                }
        }
 
@@ -1643,14 +1633,10 @@ void atomisp_css_flush(struct atomisp_device *isp)
        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");
 }
@@ -1896,14 +1882,6 @@ irqreturn_t atomisp_isr_thread(int irq, void *isp_ptr)
        }
 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;
@@ -5377,8 +5355,7 @@ static int atomisp_set_fmt_to_isp(struct video_device *vdev,
        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;
index d6a7198a957c54128f6827be32fefdfb186aa19c..ab767b585011da26107caee83646448487552d9f 100644 (file)
@@ -628,7 +628,6 @@ static void atomisp_dev_init_struct(struct atomisp_device *isp)
 {
        unsigned int i;
 
-       isp->sw_contex.file_input = false;
        isp->need_gfx_throttle = true;
        isp->isp_fatal_error = false;
        isp->mipi_frame_size = 0;
@@ -915,7 +914,7 @@ static int atomisp_release(struct file *file)
         * 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,
@@ -926,15 +925,6 @@ subdev_uninit:
        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,
index ce1746e7ab9f4692e953c6af422a77a39ac4d640..1d2326a40227be4e73b5f629e84498ba32c59818 100644 (file)
@@ -91,7 +91,6 @@
 
 #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
@@ -202,7 +201,6 @@ struct atomisp_regs {
 };
 
 struct atomisp_sw_contex {
-       bool file_input;
        int power_state;
        int running_freq;
 };
index 345970ca4fcbd79f18ffdd44956ce7711ab7fd6c..7f89226c858a04b3f4669d36ac5fcdfbca2beb36 100644 (file)
@@ -737,7 +737,7 @@ static int atomisp_s_input(struct file *file, void *fh, unsigned int input)
                        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;
@@ -1841,8 +1841,6 @@ static int atomisp_streamon(struct file *file, void *fh,
        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;
@@ -1865,26 +1863,21 @@ start_sensor:
                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) ==
@@ -2047,15 +2040,6 @@ int __atomisp_streamoff(struct file *file, void *fh, enum v4l2_buf_type type)
                /* 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);
        }
 
@@ -2072,10 +2056,7 @@ int __atomisp_streamoff(struct file *file, void *fh, enum v4l2_buf_type type)
        }
 
        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);
@@ -2128,9 +2109,8 @@ stopsensor:
            != 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;