OSDN Git Service

media: rockchip: rkisp1: destage Rockchip ISP1 driver
authorHelen Koike <helen.koike@collabora.com>
Fri, 6 Nov 2020 12:19:37 +0000 (13:19 +0100)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Tue, 17 Nov 2020 06:01:17 +0000 (07:01 +0100)
All the items in the TODO list were addressed, uapi was reviewed,
documentation written, checkpatch errors fixed, several bugs fixed.

There is no big reason to keep this driver in staging, so move it out.

Dt-bindings Verified with:
make ARCH=arm64 dt_binding_check DT_SCHEMA_FILES=Documentation/devicetree/bindings/media/rockchip-isp1.yaml

Fields of MAINTAINERS file sorted according to output of
./scripts/parse-maintainers.pl --input=MAINTAINERS --output=MAINTAINERS
--order

[dt-bindings: media: rkisp1: move rockchip-isp1 bindings out of staging]
[dt-bindings: media: rkisp1: move rockchip-isp1 bindings out of staging]
[hverkuil: fix various checkpatch alignment warnings]

Signed-off-by: Helen Koike <helen.koike@collabora.com>
Acked-by: Rob Herring <robh@kernel.org>
Reviewed-by: Tomasz Figa <tfiga@chromium.org>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
20 files changed:
Documentation/devicetree/bindings/media/rockchip-isp1.yaml [moved from drivers/staging/media/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.yaml with 100% similarity]
Documentation/userspace-api/media/v4l/pixfmt-meta-rkisp1.rst
MAINTAINERS
drivers/media/platform/Kconfig
drivers/media/platform/Makefile
drivers/media/platform/rockchip/rkisp1/Makefile [moved from drivers/staging/media/rkisp1/Makefile with 100% similarity]
drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c [moved from drivers/staging/media/rkisp1/rkisp1-capture.c with 100% similarity]
drivers/media/platform/rockchip/rkisp1/rkisp1-common.c [moved from drivers/staging/media/rkisp1/rkisp1-common.c with 100% similarity]
drivers/media/platform/rockchip/rkisp1/rkisp1-common.h [moved from drivers/staging/media/rkisp1/rkisp1-common.h with 99% similarity]
drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c [moved from drivers/staging/media/rkisp1/rkisp1-dev.c with 99% similarity]
drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c [moved from drivers/staging/media/rkisp1/rkisp1-isp.c with 99% similarity]
drivers/media/platform/rockchip/rkisp1/rkisp1-params.c [moved from drivers/staging/media/rkisp1/rkisp1-params.c with 96% similarity]
drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h [moved from drivers/staging/media/rkisp1/rkisp1-regs.h with 100% similarity]
drivers/media/platform/rockchip/rkisp1/rkisp1-resizer.c [moved from drivers/staging/media/rkisp1/rkisp1-resizer.c with 99% similarity]
drivers/media/platform/rockchip/rkisp1/rkisp1-stats.c [moved from drivers/staging/media/rkisp1/rkisp1-stats.c with 100% similarity]
drivers/staging/media/Kconfig
drivers/staging/media/Makefile
drivers/staging/media/rkisp1/Kconfig [deleted file]
drivers/staging/media/rkisp1/TODO [deleted file]
include/uapi/linux/rkisp1-config.h [moved from drivers/staging/media/rkisp1/uapi/rkisp1-config.h with 100% similarity]

index 7e43837..f367147 100644 (file)
@@ -46,4 +46,4 @@ important tuning tools using software control loop.
 rkisp1 uAPI data types
 ======================
 
-.. kernel-doc:: drivers/staging/media/rkisp1/uapi/rkisp1-config.h
+.. kernel-doc:: include/uapi/linux/rkisp1-config.h
index 811db1d..352b8ea 100644 (file)
@@ -15034,10 +15034,13 @@ ROCKCHIP ISP V1 DRIVER
 M:     Helen Koike <helen.koike@collabora.com>
 M:     Dafna Hirschfeld <dafna.hirschfeld@collabora.com>
 L:     linux-media@vger.kernel.org
+L:     linux-rockchip@lists.infradead.org
 S:     Maintained
 F:     Documentation/admin-guide/media/rkisp1.rst
+F:     Documentation/devicetree/bindings/media/rockchip-isp1.yaml
 F:     Documentation/userspace-api/media/v4l/pixfmt-meta-rkisp1.rst
-F:     drivers/staging/media/rkisp1/
+F:     drivers/media/platform/rockchip/rkisp1
+F:     include/uapi/linux/rkisp1-config.h
 
 ROCKCHIP RASTER 2D GRAPHIC ACCELERATION UNIT DRIVER
 M:     Jacob Chen <jacob-chen@iotwrt.com>
index a3cb104..b161f2b 100644 (file)
@@ -147,6 +147,24 @@ config VIDEO_RENESAS_CEU
        help
          This is a v4l2 driver for the Renesas CEU Interface
 
+config VIDEO_ROCKCHIP_ISP1
+       tristate "Rockchip Image Signal Processing v1 Unit driver"
+       depends on VIDEO_V4L2 && OF
+       depends on ARCH_ROCKCHIP || COMPILE_TEST
+       select MEDIA_CONTROLLER
+       select VIDEO_V4L2_SUBDEV_API
+       select VIDEOBUF2_DMA_CONTIG
+       select VIDEOBUF2_VMALLOC
+       select V4L2_FWNODE
+       select GENERIC_PHY_MIPI_DPHY
+       default n
+       help
+         Enable this to support the Image Signal Processing (ISP) module
+         present in RK3399 SoCs.
+
+         To compile this driver as a module, choose M here: the module
+         will be called rockchip-isp1.
+
 source "drivers/media/platform/exynos4-is/Kconfig"
 source "drivers/media/platform/am437x/Kconfig"
 source "drivers/media/platform/xilinx/Kconfig"
index 62b6cdc..b342714 100644 (file)
@@ -52,6 +52,7 @@ obj-$(CONFIG_VIDEO_RENESAS_FDP1)      += rcar_fdp1.o
 obj-$(CONFIG_VIDEO_RENESAS_JPU)                += rcar_jpu.o
 obj-$(CONFIG_VIDEO_RENESAS_VSP1)       += vsp1/
 
+obj-$(CONFIG_VIDEO_ROCKCHIP_ISP1)      += rockchip/rkisp1/
 obj-$(CONFIG_VIDEO_ROCKCHIP_RGA)       += rockchip/rga/
 
 obj-y  += omap/
@@ -13,6 +13,7 @@
 
 #include <linux/clk.h>
 #include <linux/mutex.h>
+#include <linux/rkisp1-config.h>
 #include <media/media-device.h>
 #include <media/media-entity.h>
 #include <media/v4l2-ctrls.h>
@@ -20,7 +21,6 @@
 #include <media/videobuf2-v4l2.h>
 
 #include "rkisp1-regs.h"
-#include "uapi/rkisp1-config.h"
 
 /*
  * flags on the 'direction' field in struct 'rkisp1_isp_mbus_info' that indicate
@@ -255,7 +255,8 @@ static int rkisp1_subdev_notifier(struct rkisp1_device *rkisp1)
                struct fwnode_handle *ep;
 
                ep = fwnode_graph_get_endpoint_by_id(dev_fwnode(rkisp1->dev),
-                       0, next_id, FWNODE_GRAPH_ENDPOINT_NEXT);
+                                                    0, next_id,
+                                                    FWNODE_GRAPH_ENDPOINT_NEXT);
                if (!ep)
                        break;
 
@@ -1157,5 +1157,4 @@ void rkisp1_isp_isr(struct rkisp1_device *rkisp1)
                 */
                rkisp1_params_isr(rkisp1);
        }
-
 }
@@ -186,7 +186,7 @@ static void rkisp1_bls_config(struct rkisp1_params *params,
 /* ISP LS correction interface function */
 static void
 rkisp1_lsc_correct_matrix_config(struct rkisp1_params *params,
-                               const struct rkisp1_cif_isp_lsc_config *pconfig)
+                                const struct rkisp1_cif_isp_lsc_config *pconfig)
 {
        unsigned int isp_lsc_status, sram_addr, isp_lsc_table_sel, i, j, data;
 
@@ -434,7 +434,7 @@ static void rkisp1_ctk_enable(struct rkisp1_params *params, bool en)
 
 /* ISP White Balance Mode */
 static void rkisp1_awb_meas_config(struct rkisp1_params *params,
-                       const struct rkisp1_cif_isp_awb_meas_config *arg)
+                                  const struct rkisp1_cif_isp_awb_meas_config *arg)
 {
        u32 reg_val = 0;
        /* based on the mode,configure the awb module */
@@ -902,8 +902,8 @@ rkisp1_isp_isr_other_config(struct rkisp1_params *params,
                                                      RKISP1_CIF_ISP_DPCC_ENA);
                        else
                                rkisp1_param_clear_bits(params,
-                                               RKISP1_CIF_ISP_DPCC_MODE,
-                                               RKISP1_CIF_ISP_DPCC_ENA);
+                                                       RKISP1_CIF_ISP_DPCC_MODE,
+                                                       RKISP1_CIF_ISP_DPCC_ENA);
                }
        }
 
@@ -936,12 +936,12 @@ rkisp1_isp_isr_other_config(struct rkisp1_params *params,
                if (module_en_update & RKISP1_CIF_ISP_MODULE_SDG) {
                        if (module_ens & RKISP1_CIF_ISP_MODULE_SDG)
                                rkisp1_param_set_bits(params,
-                                       RKISP1_CIF_ISP_CTRL,
-                                       RKISP1_CIF_ISP_CTRL_ISP_GAMMA_IN_ENA);
+                                                     RKISP1_CIF_ISP_CTRL,
+                                                     RKISP1_CIF_ISP_CTRL_ISP_GAMMA_IN_ENA);
                        else
                                rkisp1_param_clear_bits(params,
-                                       RKISP1_CIF_ISP_CTRL,
-                                       RKISP1_CIF_ISP_CTRL_ISP_GAMMA_IN_ENA);
+                                                       RKISP1_CIF_ISP_CTRL,
+                                                       RKISP1_CIF_ISP_CTRL_ISP_GAMMA_IN_ENA);
                }
        }
 
@@ -955,12 +955,12 @@ rkisp1_isp_isr_other_config(struct rkisp1_params *params,
                if (module_en_update & RKISP1_CIF_ISP_MODULE_LSC) {
                        if (module_ens & RKISP1_CIF_ISP_MODULE_LSC)
                                rkisp1_param_set_bits(params,
-                                               RKISP1_CIF_ISP_LSC_CTRL,
-                                               RKISP1_CIF_ISP_LSC_CTRL_ENA);
+                                                     RKISP1_CIF_ISP_LSC_CTRL,
+                                                     RKISP1_CIF_ISP_LSC_CTRL_ENA);
                        else
                                rkisp1_param_clear_bits(params,
-                                               RKISP1_CIF_ISP_LSC_CTRL,
-                                               RKISP1_CIF_ISP_LSC_CTRL_ENA);
+                                                       RKISP1_CIF_ISP_LSC_CTRL,
+                                                       RKISP1_CIF_ISP_LSC_CTRL_ENA);
                }
        }
 
@@ -969,17 +969,17 @@ rkisp1_isp_isr_other_config(struct rkisp1_params *params,
                /* update awb gains */
                if (module_cfg_update & RKISP1_CIF_ISP_MODULE_AWB_GAIN)
                        rkisp1_awb_gain_config(params,
-                                       &new_params->others.awb_gain_config);
+                                              &new_params->others.awb_gain_config);
 
                if (module_en_update & RKISP1_CIF_ISP_MODULE_AWB_GAIN) {
                        if (module_ens & RKISP1_CIF_ISP_MODULE_AWB_GAIN)
                                rkisp1_param_set_bits(params,
-                                       RKISP1_CIF_ISP_CTRL,
-                                       RKISP1_CIF_ISP_CTRL_ISP_AWB_ENA);
+                                                     RKISP1_CIF_ISP_CTRL,
+                                                     RKISP1_CIF_ISP_CTRL_ISP_AWB_ENA);
                        else
                                rkisp1_param_clear_bits(params,
-                                       RKISP1_CIF_ISP_CTRL,
-                                       RKISP1_CIF_ISP_CTRL_ISP_AWB_ENA);
+                                                       RKISP1_CIF_ISP_CTRL,
+                                                       RKISP1_CIF_ISP_CTRL_ISP_AWB_ENA);
                }
        }
 
@@ -993,12 +993,12 @@ rkisp1_isp_isr_other_config(struct rkisp1_params *params,
                if (module_en_update & RKISP1_CIF_ISP_MODULE_BDM) {
                        if (module_ens & RKISP1_CIF_ISP_MODULE_BDM)
                                rkisp1_param_set_bits(params,
-                                               RKISP1_CIF_ISP_DEMOSAIC,
-                                               RKISP1_CIF_ISP_DEMOSAIC_BYPASS);
+                                                     RKISP1_CIF_ISP_DEMOSAIC,
+                                                     RKISP1_CIF_ISP_DEMOSAIC_BYPASS);
                        else
                                rkisp1_param_clear_bits(params,
-                                               RKISP1_CIF_ISP_DEMOSAIC,
-                                               RKISP1_CIF_ISP_DEMOSAIC_BYPASS);
+                                                       RKISP1_CIF_ISP_DEMOSAIC,
+                                                       RKISP1_CIF_ISP_DEMOSAIC_BYPASS);
                }
        }
 
@@ -1016,8 +1016,8 @@ rkisp1_isp_isr_other_config(struct rkisp1_params *params,
                                                      RKISP1_CIF_ISP_FLT_ENA);
                        else
                                rkisp1_param_clear_bits(params,
-                                               RKISP1_CIF_ISP_FILT_MODE,
-                                               RKISP1_CIF_ISP_FLT_ENA);
+                                                       RKISP1_CIF_ISP_FILT_MODE,
+                                                       RKISP1_CIF_ISP_FLT_ENA);
                }
        }
 
@@ -1030,7 +1030,7 @@ rkisp1_isp_isr_other_config(struct rkisp1_params *params,
 
                if (module_en_update & RKISP1_CIF_ISP_MODULE_CTK)
                        rkisp1_ctk_enable(params,
-                               !!(module_ens & RKISP1_CIF_ISP_MODULE_CTK));
+                                         !!(module_ens & RKISP1_CIF_ISP_MODULE_CTK));
        }
 
        if ((module_en_update & RKISP1_CIF_ISP_MODULE_GOC) ||
@@ -1043,12 +1043,12 @@ rkisp1_isp_isr_other_config(struct rkisp1_params *params,
                if (module_en_update & RKISP1_CIF_ISP_MODULE_GOC) {
                        if (module_ens & RKISP1_CIF_ISP_MODULE_GOC)
                                rkisp1_param_set_bits(params,
-                                       RKISP1_CIF_ISP_CTRL,
-                                       RKISP1_CIF_ISP_CTRL_ISP_GAMMA_OUT_ENA);
+                                                     RKISP1_CIF_ISP_CTRL,
+                                                     RKISP1_CIF_ISP_CTRL_ISP_GAMMA_OUT_ENA);
                        else
                                rkisp1_param_clear_bits(params,
-                                       RKISP1_CIF_ISP_CTRL,
-                                       RKISP1_CIF_ISP_CTRL_ISP_GAMMA_OUT_ENA);
+                                                       RKISP1_CIF_ISP_CTRL,
+                                                       RKISP1_CIF_ISP_CTRL_ISP_GAMMA_OUT_ENA);
                }
        }
 
@@ -1063,12 +1063,12 @@ rkisp1_isp_isr_other_config(struct rkisp1_params *params,
                if (module_en_update & RKISP1_CIF_ISP_MODULE_CPROC) {
                        if (module_ens & RKISP1_CIF_ISP_MODULE_CPROC)
                                rkisp1_param_set_bits(params,
-                                               RKISP1_CIF_C_PROC_CTRL,
-                                               RKISP1_CIF_C_PROC_CTR_ENABLE);
+                                                     RKISP1_CIF_C_PROC_CTRL,
+                                                     RKISP1_CIF_C_PROC_CTR_ENABLE);
                        else
                                rkisp1_param_clear_bits(params,
-                                               RKISP1_CIF_C_PROC_CTRL,
-                                               RKISP1_CIF_C_PROC_CTR_ENABLE);
+                                                       RKISP1_CIF_C_PROC_CTRL,
+                                                       RKISP1_CIF_C_PROC_CTR_ENABLE);
                }
        }
 
@@ -1081,7 +1081,7 @@ rkisp1_isp_isr_other_config(struct rkisp1_params *params,
 
                if (module_en_update & RKISP1_CIF_ISP_MODULE_IE)
                        rkisp1_ie_enable(params,
-                               !!(module_ens & RKISP1_CIF_ISP_MODULE_IE));
+                                        !!(module_ens & RKISP1_CIF_ISP_MODULE_IE));
        }
 
        if ((module_en_update & RKISP1_CIF_ISP_MODULE_DPF) ||
@@ -1094,12 +1094,12 @@ rkisp1_isp_isr_other_config(struct rkisp1_params *params,
                if (module_en_update & RKISP1_CIF_ISP_MODULE_DPF) {
                        if (module_ens & RKISP1_CIF_ISP_MODULE_DPF)
                                rkisp1_param_set_bits(params,
-                                                  RKISP1_CIF_ISP_DPF_MODE,
-                                                  RKISP1_CIF_ISP_DPF_MODE_EN);
+                                                     RKISP1_CIF_ISP_DPF_MODE,
+                                                     RKISP1_CIF_ISP_DPF_MODE_EN);
                        else
                                rkisp1_param_clear_bits(params,
-                                               RKISP1_CIF_ISP_DPF_MODE,
-                                               RKISP1_CIF_ISP_DPF_MODE_EN);
+                                                       RKISP1_CIF_ISP_DPF_MODE,
+                                                       RKISP1_CIF_ISP_DPF_MODE_EN);
                }
        }
 
@@ -1107,7 +1107,7 @@ rkisp1_isp_isr_other_config(struct rkisp1_params *params,
            (module_cfg_update & RKISP1_CIF_ISP_MODULE_DPF_STRENGTH)) {
                /* update dpf strength config */
                rkisp1_dpf_strength_config(params,
-                               &new_params->others.dpf_strength_config);
+                                          &new_params->others.dpf_strength_config);
        }
 }
 
@@ -1125,12 +1125,12 @@ static void rkisp1_isp_isr_meas_config(struct rkisp1_params *params,
                /* update awb config */
                if (module_cfg_update & RKISP1_CIF_ISP_MODULE_AWB)
                        rkisp1_awb_meas_config(params,
-                                       &new_params->meas.awb_meas_config);
+                                              &new_params->meas.awb_meas_config);
 
                if (module_en_update & RKISP1_CIF_ISP_MODULE_AWB)
                        rkisp1_awb_meas_enable(params,
-                               &new_params->meas.awb_meas_config,
-                               !!(module_ens & RKISP1_CIF_ISP_MODULE_AWB));
+                                              &new_params->meas.awb_meas_config,
+                                              !!(module_ens & RKISP1_CIF_ISP_MODULE_AWB));
        }
 
        if ((module_en_update & RKISP1_CIF_ISP_MODULE_AFC) ||
@@ -1161,8 +1161,8 @@ static void rkisp1_isp_isr_meas_config(struct rkisp1_params *params,
 
                if (module_en_update & RKISP1_CIF_ISP_MODULE_HST)
                        rkisp1_hst_enable(params,
-                               &new_params->meas.hst_config,
-                               !!(module_ens & RKISP1_CIF_ISP_MODULE_HST));
+                                         &new_params->meas.hst_config,
+                                         !!(module_ens & RKISP1_CIF_ISP_MODULE_HST));
        }
 
        if ((module_en_update & RKISP1_CIF_ISP_MODULE_AEC) ||
@@ -610,8 +610,8 @@ static void rkisp1_rsz_set_sink_fmt(struct rkisp1_resizer *rsz,
                                  RKISP1_ISP_MIN_WIDTH,
                                  RKISP1_ISP_MAX_WIDTH);
        sink_fmt->height = clamp_t(u32, format->height,
-                                 RKISP1_ISP_MIN_HEIGHT,
-                                 RKISP1_ISP_MAX_HEIGHT);
+                                  RKISP1_ISP_MIN_HEIGHT,
+                                  RKISP1_ISP_MAX_HEIGHT);
 
        *format = *sink_fmt;
 
index 747c6cf..e8996b1 100644 (file)
@@ -44,6 +44,4 @@ source "drivers/staging/media/tegra-video/Kconfig"
 
 source "drivers/staging/media/ipu3/Kconfig"
 
-source "drivers/staging/media/rkisp1/Kconfig"
-
 endif
index b595718..24b5873 100644 (file)
@@ -10,5 +10,4 @@ obj-$(CONFIG_VIDEO_TEGRA)     += tegra-video/
 obj-$(CONFIG_TEGRA_VDE)                += tegra-vde/
 obj-$(CONFIG_VIDEO_HANTRO)     += hantro/
 obj-$(CONFIG_VIDEO_IPU3_IMGU)  += ipu3/
-obj-$(CONFIG_VIDEO_ROCKCHIP_ISP1)      += rkisp1/
 obj-$(CONFIG_VIDEO_ZORAN)      += zoran/
diff --git a/drivers/staging/media/rkisp1/Kconfig b/drivers/staging/media/rkisp1/Kconfig
deleted file mode 100644 (file)
index 41f5def..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-config VIDEO_ROCKCHIP_ISP1
-       tristate "Rockchip Image Signal Processing v1 Unit driver"
-       depends on VIDEO_V4L2 && OF
-       depends on ARCH_ROCKCHIP || COMPILE_TEST
-       select MEDIA_CONTROLLER
-       select VIDEO_V4L2_SUBDEV_API
-       select VIDEOBUF2_DMA_CONTIG
-       select VIDEOBUF2_VMALLOC
-       select V4L2_FWNODE
-       select GENERIC_PHY_MIPI_DPHY
-       default n
-       help
-         Enable this to support the Image Signal Processing (ISP) module
-         present in RK3399 SoCs.
-
-         To compile this driver as a module, choose M here: the module
-         will be called rockchip-isp1.
diff --git a/drivers/staging/media/rkisp1/TODO b/drivers/staging/media/rkisp1/TODO
deleted file mode 100644 (file)
index ca3651f..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-* Fix checkpatch errors.
-
-NOTES:
-* All v4l2-compliance test must pass.
-* Stats and params can be tested with libcamera and ChromiumOS stack.
-
-Please CC patches to Linux Media <linux-media@vger.kernel.org> and
-Helen Koike <helen.koike@collabora.com>.