media: atomisp: propagate errors at ia_css_*_configure()
authorMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Fri, 5 Nov 2021 12:18:02 +0000 (12:18 +0000)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Mon, 15 Nov 2021 08:11:51 +0000 (08:11 +0000)
Propagate the lower lever ia_css config errors to the next
level.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
20 files changed:
drivers/staging/media/atomisp/pci/isp/kernels/copy_output/copy_output_1.0/ia_css_copy_output.host.c
drivers/staging/media/atomisp/pci/isp/kernels/copy_output/copy_output_1.0/ia_css_copy_output.host.h
drivers/staging/media/atomisp/pci/isp/kernels/crop/crop_1.0/ia_css_crop.host.c
drivers/staging/media/atomisp/pci/isp/kernels/crop/crop_1.0/ia_css_crop.host.h
drivers/staging/media/atomisp/pci/isp/kernels/dvs/dvs_1.0/ia_css_dvs.host.c
drivers/staging/media/atomisp/pci/isp/kernels/dvs/dvs_1.0/ia_css_dvs.host.h
drivers/staging/media/atomisp/pci/isp/kernels/fpn/fpn_1.0/ia_css_fpn.host.c
drivers/staging/media/atomisp/pci/isp/kernels/fpn/fpn_1.0/ia_css_fpn.host.h
drivers/staging/media/atomisp/pci/isp/kernels/iterator/iterator_1.0/ia_css_iterator.host.c
drivers/staging/media/atomisp/pci/isp/kernels/output/output_1.0/ia_css_output.host.c
drivers/staging/media/atomisp/pci/isp/kernels/output/output_1.0/ia_css_output.host.h
drivers/staging/media/atomisp/pci/isp/kernels/qplane/qplane_2/ia_css_qplane.host.c
drivers/staging/media/atomisp/pci/isp/kernels/qplane/qplane_2/ia_css_qplane.host.h
drivers/staging/media/atomisp/pci/isp/kernels/raw/raw_1.0/ia_css_raw.host.c
drivers/staging/media/atomisp/pci/isp/kernels/raw/raw_1.0/ia_css_raw.host.h
drivers/staging/media/atomisp/pci/isp/kernels/ref/ref_1.0/ia_css_ref.host.c
drivers/staging/media/atomisp/pci/isp/kernels/ref/ref_1.0/ia_css_ref.host.h
drivers/staging/media/atomisp/pci/isp/kernels/tnr/tnr_1.0/ia_css_tnr.host.c
drivers/staging/media/atomisp/pci/isp/kernels/tnr/tnr_1.0/ia_css_tnr.host.h
drivers/staging/media/atomisp/pci/isp/kernels/vf/vf_1.0/ia_css_vf.host.c

index 5d34f32..cc415c7 100644 (file)
@@ -34,14 +34,12 @@ ia_css_copy_output_config(
        to->enable = from->enable;
 }
 
-void
-ia_css_copy_output_configure(
-    const struct ia_css_binary     *binary,
-    bool enable)
+int ia_css_copy_output_configure(const struct ia_css_binary *binary,
+                                bool enable)
 {
        struct ia_css_copy_output_configuration config = default_config;
 
        config.enable = enable;
 
-       ia_css_configure_copy_output(binary, &config);
+       return ia_css_configure_copy_output(binary, &config);
 }
index 615cb67..44e3e45 100644 (file)
@@ -27,9 +27,7 @@ ia_css_copy_output_config(
     const struct ia_css_copy_output_configuration *from,
     unsigned int size);
 
-void
-ia_css_copy_output_configure(
-    const struct ia_css_binary     *binary,
-    bool enable);
+int ia_css_copy_output_configure(const struct ia_css_binary     *binary,
+                                bool enable);
 
 #endif /* __IA_CSS_COPY_OUTPUT_HOST_H */
index 3891206..8ab0604 100644 (file)
@@ -52,14 +52,12 @@ ia_css_crop_config(
        assert(elems_a % to->port_b.elems == 0);
 }
 
-void
-ia_css_crop_configure(
-    const struct ia_css_binary     *binary,
-    const struct ia_css_frame_info *info)
+int ia_css_crop_configure(const struct ia_css_binary     *binary,
+                         const struct ia_css_frame_info *info)
 {
        struct ia_css_crop_configuration config = default_config;
 
        config.info = info;
 
-       ia_css_configure_crop(binary, &config);
+       return ia_css_configure_crop(binary, &config);
 }
index 21a259d..877601b 100644 (file)
@@ -34,9 +34,7 @@ ia_css_crop_config(
     const struct ia_css_crop_configuration *from,
     unsigned int size);
 
-void
-ia_css_crop_configure(
-    const struct ia_css_binary     *binary,
-    const struct ia_css_frame_info *from);
+int ia_css_crop_configure(const struct ia_css_binary     *binary,
+                         const struct ia_css_frame_info *from);
 
 #endif /* __IA_CSS_CROP_HOST_H */
index 67f5540..07ce5b4 100644 (file)
@@ -46,16 +46,14 @@ ia_css_dvs_config(
            DVS_NUM_BLOCKS_Y(from->info->res.height);
 }
 
-void
-ia_css_dvs_configure(
-    const struct ia_css_binary     *binary,
-    const struct ia_css_frame_info *info)
+int ia_css_dvs_configure(const struct ia_css_binary     *binary,
+                        const struct ia_css_frame_info *info)
 {
        struct ia_css_dvs_configuration config = default_config;
 
        config.info = info;
 
-       ia_css_configure_dvs(binary, &config);
+       return ia_css_configure_dvs(binary, &config);
 }
 
 static void
index f9bc17e..332aa54 100644 (file)
@@ -35,10 +35,8 @@ ia_css_dvs_config(
     const struct ia_css_dvs_configuration *from,
     unsigned int size);
 
-void
-ia_css_dvs_configure(
-    const struct ia_css_binary     *binary,
-    const struct ia_css_frame_info *from);
+int ia_css_dvs_configure(const struct ia_css_binary     *binary,
+                        const struct ia_css_frame_info *from);
 
 void
 convert_dvs_6axis_config(
index 47b5c79..9933113 100644 (file)
@@ -67,10 +67,8 @@ ia_css_fpn_config(
        assert(elems_a % to->port_b.elems == 0);
 }
 
-void
-ia_css_fpn_configure(
-    const struct ia_css_binary     *binary,
-    const struct ia_css_frame_info *info)
+int ia_css_fpn_configure(const struct ia_css_binary     *binary,
+                        const struct ia_css_frame_info *info)
 {
        struct ia_css_frame_info my_info = IA_CSS_BINARY_DEFAULT_FRAME_INFO;
        const struct ia_css_fpn_configuration config = {
@@ -85,5 +83,5 @@ ia_css_fpn_configure(
        my_info.raw_bayer_order = info->raw_bayer_order;
        my_info.crop_info       = info->crop_info;
 
-       ia_css_configure_fpn(binary, &config);
+       return ia_css_configure_fpn(binary, &config);
 }
index 12187d2..1c644c0 100644 (file)
@@ -37,9 +37,7 @@ ia_css_fpn_config(
     const struct ia_css_fpn_configuration *from,
     unsigned int size);
 
-void
-ia_css_fpn_configure(
-    const struct ia_css_binary     *binary,
-    const struct ia_css_frame_info *from);
+int ia_css_fpn_configure(const struct ia_css_binary     *binary,
+                        const struct ia_css_frame_info *from);
 
 #endif /* __IA_CSS_FPN_HOST_H */
index 6d8a35a..5f186fb 100644 (file)
@@ -38,10 +38,9 @@ ia_css_iterator_config(
        ia_css_resolution_to_sp_resolution(&to->dvs_envelope,  from->dvs_envelope);
 }
 
-int
-ia_css_iterator_configure(
-    const struct ia_css_binary *binary,
-    const struct ia_css_frame_info *in_info) {
+int ia_css_iterator_configure(const struct ia_css_binary *binary,
+                             const struct ia_css_frame_info *in_info)
+{
        struct ia_css_frame_info my_info = IA_CSS_BINARY_DEFAULT_FRAME_INFO;
        struct ia_css_iterator_configuration config = default_config;
 
@@ -75,7 +74,5 @@ ia_css_iterator_configure(
                my_info.res.height   <<= binary->vf_downscale_log2;
        }
 
-       ia_css_configure_iterator(binary, &config);
-
-       return 0;
+       return ia_css_configure_iterator(binary, &config);
 }
index c8e074f..cf6311e 100644 (file)
@@ -91,10 +91,8 @@ ia_css_output1_config(
            to, (const struct ia_css_output_configuration *)from, size);
 }
 
-void
-ia_css_output_configure(
-    const struct ia_css_binary     *binary,
-    const struct ia_css_frame_info *info)
+int ia_css_output_configure(const struct ia_css_binary     *binary,
+                           const struct ia_css_frame_info *info)
 {
        if (info) {
                struct ia_css_output_configuration config =
@@ -102,14 +100,13 @@ ia_css_output_configure(
 
                config.info = info;
 
-               ia_css_configure_output(binary, &config);
+               return ia_css_configure_output(binary, &config);
        }
+       return 0;
 }
 
-void
-ia_css_output0_configure(
-    const struct ia_css_binary     *binary,
-    const struct ia_css_frame_info *info)
+int ia_css_output0_configure(const struct ia_css_binary    *binary,
+                           const struct ia_css_frame_info *info)
 {
        if (info) {
                struct ia_css_output0_configuration config =
@@ -117,14 +114,13 @@ ia_css_output0_configure(
 
                config.info = info;
 
-               ia_css_configure_output0(binary, &config);
+               return ia_css_configure_output0(binary, &config);
        }
+       return 0;
 }
 
-void
-ia_css_output1_configure(
-    const struct ia_css_binary     *binary,
-    const struct ia_css_frame_info *info)
+int ia_css_output1_configure(const struct ia_css_binary     *binary,
+                            const struct ia_css_frame_info *info)
 {
        if (info) {
                struct ia_css_output1_configuration config =
@@ -132,8 +128,9 @@ ia_css_output1_configure(
 
                config.info = info;
 
-               ia_css_configure_output1(binary, &config);
+               return ia_css_configure_output1(binary, &config);
        }
+       return 0;
 }
 
 void
index 1f5a224..04c0023 100644 (file)
@@ -48,20 +48,14 @@ ia_css_output1_config(
     const struct ia_css_output1_configuration *from,
     unsigned int size);
 
-void
-ia_css_output_configure(
-    const struct ia_css_binary     *binary,
-    const struct ia_css_frame_info *from);
+int ia_css_output_configure(const struct ia_css_binary     *binary,
+                           const struct ia_css_frame_info *from);
 
-void
-ia_css_output0_configure(
-    const struct ia_css_binary     *binary,
-    const struct ia_css_frame_info *from);
+int ia_css_output0_configure(const struct ia_css_binary     *binary,
+                            const struct ia_css_frame_info *from);
 
-void
-ia_css_output1_configure(
-    const struct ia_css_binary     *binary,
-    const struct ia_css_frame_info *from);
+int ia_css_output1_configure(const struct ia_css_binary     *binary,
+                            const struct ia_css_frame_info *from);
 
 void
 ia_css_output_dump(
index 1603fd4..7858dc5 100644 (file)
@@ -47,16 +47,14 @@ ia_css_qplane_config(
        to->format = from->info->format;
 }
 
-void
-ia_css_qplane_configure(
-    const struct sh_css_sp_pipeline *pipe,
-    const struct ia_css_binary      *binary,
-    const struct ia_css_frame_info  *info)
+int ia_css_qplane_configure(const struct sh_css_sp_pipeline *pipe,
+                           const struct ia_css_binary      *binary,
+                           const struct ia_css_frame_info  *info)
 {
        struct ia_css_qplane_configuration config = default_config;
 
        config.pipe = pipe;
        config.info = info;
 
-       ia_css_configure_qplane(binary, &config);
+       return ia_css_configure_qplane(binary, &config);
 }
index 8d94095..c4b863d 100644 (file)
@@ -35,10 +35,8 @@ ia_css_qplane_config(
     const struct ia_css_qplane_configuration *from,
     unsigned int size);
 
-void
-ia_css_qplane_configure(
-    const struct sh_css_sp_pipeline *pipe,
-    const struct ia_css_binary     *binary,
-    const struct ia_css_frame_info *from);
+int ia_css_qplane_configure(const struct sh_css_sp_pipeline *pipe,
+                           const struct ia_css_binary      *binary,
+                           const struct ia_css_frame_info  *from);
 
 #endif /* __IA_CSS_QPLANE_HOST_H */
index f741beb..b35d81a 100644 (file)
@@ -106,14 +106,12 @@ ia_css_raw_config(
 #endif
 }
 
-void
-ia_css_raw_configure(
-    const struct sh_css_sp_pipeline *pipe,
-    const struct ia_css_binary      *binary,
-    const struct ia_css_frame_info  *in_info,
-    const struct ia_css_frame_info  *internal_info,
-    bool two_ppc,
-    bool deinterleaved)
+int ia_css_raw_configure(const struct sh_css_sp_pipeline *pipe,
+                        const struct ia_css_binary      *binary,
+                        const struct ia_css_frame_info  *in_info,
+                        const struct ia_css_frame_info  *internal_info,
+                        bool two_ppc,
+                        bool deinterleaved)
 {
        u8 enable_left_padding = (uint8_t)((binary->left_padding) ? 1 : 0);
        struct ia_css_raw_configuration config = default_config;
@@ -126,5 +124,5 @@ ia_css_raw_configure(
        config.deinterleaved       = deinterleaved;
        config.enable_left_padding = enable_left_padding;
 
-       ia_css_configure_raw(binary, &config);
+       return ia_css_configure_raw(binary, &config);
 }
index 3469284..33374ac 100644 (file)
@@ -27,13 +27,11 @@ ia_css_raw_config(
     const struct ia_css_raw_configuration *from,
     unsigned int size);
 
-void
-ia_css_raw_configure(
-    const struct sh_css_sp_pipeline *pipe,
-    const struct ia_css_binary     *binary,
-    const struct ia_css_frame_info *in_info,
-    const struct ia_css_frame_info *internal_info,
-    bool two_ppc,
-    bool deinterleaved);
+int ia_css_raw_configure(const struct sh_css_sp_pipeline *pipe,
+                        const struct ia_css_binary     *binary,
+                        const struct ia_css_frame_info *in_info,
+                        const struct ia_css_frame_info *internal_info,
+                        bool two_ppc,
+                        bool deinterleaved);
 
 #endif /* __IA_CSS_RAW_HOST_H */
index 061558f..f5b0e33 100644 (file)
@@ -55,19 +55,19 @@ ia_css_ref_config(
        assert(elems_a % to->port_b.elems == 0);
 }
 
-void
-ia_css_ref_configure(
-    const struct ia_css_binary     *binary,
-    const struct ia_css_frame * const *ref_frames,
-    const uint32_t dvs_frame_delay)
+int ia_css_ref_configure(const struct ia_css_binary        *binary,
+                        const struct ia_css_frame * const *ref_frames,
+                        const uint32_t dvs_frame_delay)
 {
        struct ia_css_ref_configuration config;
        unsigned int i;
 
        for (i = 0; i < MAX_NUM_VIDEO_DELAY_FRAMES; i++)
                config.ref_frames[i] = ref_frames[i];
+
        config.dvs_frame_delay = dvs_frame_delay;
-       ia_css_configure_ref(binary, &config);
+
+       return ia_css_configure_ref(binary, &config);
 }
 
 void
index 3ce590b..c407d47 100644 (file)
@@ -29,11 +29,9 @@ ia_css_ref_config(
     const struct ia_css_ref_configuration *from,
     unsigned int size);
 
-void
-ia_css_ref_configure(
-    const struct ia_css_binary     *binary,
-    const struct ia_css_frame * const *ref_frames,
-    const uint32_t dvs_frame_delay);
+int ia_css_ref_configure(const struct ia_css_binary        *binary,
+                        const struct ia_css_frame * const *ref_frames,
+                        const uint32_t                    dvs_frame_delay);
 
 void
 ia_css_init_ref_state(
index ac80e6c..170bd70 100644 (file)
@@ -93,10 +93,8 @@ ia_css_tnr_config(
        assert(elems_a % to->port_b.elems == 0);
 }
 
-void
-ia_css_tnr_configure(
-    const struct ia_css_binary     *binary,
-    const struct ia_css_frame * const *frames)
+int ia_css_tnr_configure(const struct ia_css_binary     *binary,
+                        const struct ia_css_frame * const *frames)
 {
        struct ia_css_tnr_configuration config;
        unsigned int i;
@@ -104,7 +102,7 @@ ia_css_tnr_configure(
        for (i = 0; i < NUM_TNR_FRAMES; i++)
                config.tnr_frames[i] = frames[i];
 
-       ia_css_configure_tnr(binary, &config);
+       return ia_css_configure_tnr(binary, &config);
 }
 
 void
index 90d6e6b..1c421c6 100644 (file)
@@ -45,10 +45,8 @@ ia_css_tnr_config(
     const struct ia_css_tnr_configuration *from,
     unsigned int size);
 
-void
-ia_css_tnr_configure(
-    const struct ia_css_binary     *binary,
-    const struct ia_css_frame * const *frames);
+int ia_css_tnr_configure(const struct ia_css_binary        *binary,
+                        const struct ia_css_frame * const *frames);
 
 void
 ia_css_init_tnr_state(
index dd36709..a0926d0 100644 (file)
@@ -120,12 +120,11 @@ configure_dma(
        config->info = vf_info;
 }
 
-int
-ia_css_vf_configure(
-    const struct ia_css_binary *binary,
-    const struct ia_css_frame_info *out_info,
-    struct ia_css_frame_info *vf_info,
-    unsigned int *downscale_log2) {
+int ia_css_vf_configure(const struct ia_css_binary *binary,
+                       const struct ia_css_frame_info *out_info,
+                       struct ia_css_frame_info *vf_info,
+                       unsigned int *downscale_log2)
+{
        int err;
        struct ia_css_vf_configuration config;
        const struct ia_css_binary_info *info = &binary->info->sp;
@@ -138,7 +137,6 @@ ia_css_vf_configure(
 
        if (vf_info)
                vf_info->raw_bit_depth = info->dma.vfdec_bits_per_pixel;
-       ia_css_configure_vf(binary, &config);
 
-       return 0;
+       return ia_css_configure_vf(binary, &config);
 }