From patchwork Fri Nov 6 12:19:36 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Helen Mae Koike Fornazier X-Patchwork-Id: 11887051 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id E04FF697 for ; Fri, 6 Nov 2020 12:20:12 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id C8C2320715 for ; Fri, 6 Nov 2020 12:20:12 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727216AbgKFMTy (ORCPT ); Fri, 6 Nov 2020 07:19:54 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51540 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726317AbgKFMTx (ORCPT ); Fri, 6 Nov 2020 07:19:53 -0500 Received: from bhuna.collabora.co.uk (bhuna.collabora.co.uk [IPv6:2a00:1098:0:82:1000:25:2eeb:e3e3]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C418FC0613CF; Fri, 6 Nov 2020 04:19:53 -0800 (PST) Received: from [127.0.0.1] (localhost [127.0.0.1]) (Authenticated sender: koike) with ESMTPSA id 7FD9F1F468B4 From: Helen Koike To: linux-media@vger.kernel.org Cc: linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, heiko@sntech.de, kernel@collabora.com, hverkuil-cisco@xs4all.nl, dafna.hirschfeld@collabora.com, zhengsq@rock-chips.com, laurent.pinchart@ideasonboard.com, niklas.soderlund@ragnatech.se, mchehab@kernel.org, tfiga@chromium.org, ribalda@google.com Subject: [PATCH v3 1/2] media: videodev2.h, v4l2-ioctl: add rkisp1 meta buffer format Date: Fri, 6 Nov 2020 09:19:36 -0300 Message-Id: <20201106121937.1459948-2-helen.koike@collabora.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20201106121937.1459948-1-helen.koike@collabora.com> References: <20201106121937.1459948-1-helen.koike@collabora.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org From: Shunqian Zheng Add the Rockchip ISP1 specific processing parameter format V4L2_META_FMT_RK_ISP1_PARAMS and metadata format V4L2_META_FMT_RK_ISP1_STAT_3A for 3A. Signed-off-by: Shunqian Zheng Signed-off-by: Jacob Chen Signed-off-by: Helen Koike Reviewed-by: Laurent Pinchart --- Hello, This patch is a continuation of: https://patchwork.kernel.org/project/linux-arm-kernel/patch/20191106120132.6876-2-helen.koike@collabora.com/ These formats are already documented under Documentation/userspace-api/media/v4l/pixfmt-meta-rkisp1.rst Changes in V3: - Rename description and comment to Parameters and Statistics. Regards, Helen --- drivers/media/v4l2-core/v4l2-ioctl.c | 2 ++ drivers/staging/media/rkisp1/uapi/rkisp1-config.h | 4 ---- include/uapi/linux/videodev2.h | 4 ++++ 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c b/drivers/media/v4l2-core/v4l2-ioctl.c index f0f6906a879de..3198abdd538ce 100644 --- a/drivers/media/v4l2-core/v4l2-ioctl.c +++ b/drivers/media/v4l2-core/v4l2-ioctl.c @@ -1403,6 +1403,8 @@ static void v4l_fill_fmtdesc(struct v4l2_fmtdesc *fmt) case V4L2_META_FMT_UVC: descr = "UVC Payload Header Metadata"; break; case V4L2_META_FMT_D4XX: descr = "Intel D4xx UVC Metadata"; break; case V4L2_META_FMT_VIVID: descr = "Vivid Metadata"; break; + case V4L2_META_FMT_RK_ISP1_PARAMS: descr = "Rockchip ISP1 3A Parameters"; break; + case V4L2_META_FMT_RK_ISP1_STAT_3A: descr = "Rockchip ISP1 3A Statistics"; break; default: /* Compressed formats */ diff --git a/drivers/staging/media/rkisp1/uapi/rkisp1-config.h b/drivers/staging/media/rkisp1/uapi/rkisp1-config.h index 8d906cc7da8fc..6e449e7842605 100644 --- a/drivers/staging/media/rkisp1/uapi/rkisp1-config.h +++ b/drivers/staging/media/rkisp1/uapi/rkisp1-config.h @@ -9,10 +9,6 @@ #include -/* Vendor specific - used for RK_ISP1 camera sub-system */ -#define V4L2_META_FMT_RK_ISP1_PARAMS v4l2_fourcc('R', 'K', '1', 'P') /* Rockchip ISP1 params */ -#define V4L2_META_FMT_RK_ISP1_STAT_3A v4l2_fourcc('R', 'K', '1', 'S') /* Rockchip ISP1 3A statistics */ - /* Defect Pixel Cluster Detection */ #define RKISP1_CIF_ISP_MODULE_DPCC (1U << 0) /* Black Level Subtraction */ diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h index 927075fa9099e..761ac9da3ffda 100644 --- a/include/uapi/linux/videodev2.h +++ b/include/uapi/linux/videodev2.h @@ -768,6 +768,10 @@ struct v4l2_pix_format { #define V4L2_META_FMT_D4XX v4l2_fourcc('D', '4', 'X', 'X') /* D4XX Payload Header metadata */ #define V4L2_META_FMT_VIVID v4l2_fourcc('V', 'I', 'V', 'D') /* Vivid Metadata */ +/* Vendor specific - used for RK_ISP1 camera sub-system */ +#define V4L2_META_FMT_RK_ISP1_PARAMS v4l2_fourcc('R', 'K', '1', 'P') /* Rockchip ISP1 3A Parameters */ +#define V4L2_META_FMT_RK_ISP1_STAT_3A v4l2_fourcc('R', 'K', '1', 'S') /* Rockchip ISP1 3A Statistics */ + /* priv field value to indicates that subsequent fields are valid. */ #define V4L2_PIX_FMT_PRIV_MAGIC 0xfeedcafe From patchwork Fri Nov 6 12:19:37 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Helen Mae Koike Fornazier X-Patchwork-Id: 11887049 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 552CF1130 for ; Fri, 6 Nov 2020 12:20:11 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 2489A207F7 for ; Fri, 6 Nov 2020 12:20:11 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727288AbgKFMUB (ORCPT ); Fri, 6 Nov 2020 07:20:01 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51554 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727258AbgKFMT7 (ORCPT ); Fri, 6 Nov 2020 07:19:59 -0500 Received: from bhuna.collabora.co.uk (bhuna.collabora.co.uk [IPv6:2a00:1098:0:82:1000:25:2eeb:e3e3]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 605ACC0613D2; Fri, 6 Nov 2020 04:19:57 -0800 (PST) Received: from [127.0.0.1] (localhost [127.0.0.1]) (Authenticated sender: koike) with ESMTPSA id 2A1671F468B7 From: Helen Koike To: linux-media@vger.kernel.org Cc: linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, heiko@sntech.de, kernel@collabora.com, hverkuil-cisco@xs4all.nl, dafna.hirschfeld@collabora.com, zhengsq@rock-chips.com, laurent.pinchart@ideasonboard.com, niklas.soderlund@ragnatech.se, mchehab@kernel.org, tfiga@chromium.org, ribalda@google.com Subject: [PATCH v3 2/2] media: rockchip: rkisp1: destage Rockchip ISP1 driver Date: Fri, 6 Nov 2020 09:19:37 -0300 Message-Id: <20201106121937.1459948-3-helen.koike@collabora.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20201106121937.1459948-1-helen.koike@collabora.com> References: <20201106121937.1459948-1-helen.koike@collabora.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org 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 Signed-off-by: Helen Koike [dt-bindings: media: rkisp1: move rockchip-isp1 bindings out of staging] Acked-by: Rob Herring [dt-bindings: media: rkisp1: move rockchip-isp1 bindings out of staging] Reviewed-by: Tomasz Figa --- Changes in v3: - Moved Kconfig entry from M2M to Platform devices - Patches squashed: dt-bindings: media: rkisp1: move rockchip-isp1 bindings out of staging media: MAINTAINERS: rkisp1: add path to dt-bindings media: rockchip: rkisp1: destage Rockchip ISP1 driver media: MAINTAINERS: Update rkisp1 files with new location --- .../bindings/media/rockchip-isp1.yaml | 0 .../media/v4l/pixfmt-meta-rkisp1.rst | 2 +- MAINTAINERS | 5 ++++- drivers/media/platform/Kconfig | 18 ++++++++++++++++++ drivers/media/platform/Makefile | 1 + .../platform/rockchip}/rkisp1/Makefile | 0 .../rockchip}/rkisp1/rkisp1-capture.c | 0 .../platform/rockchip}/rkisp1/rkisp1-common.c | 0 .../platform/rockchip}/rkisp1/rkisp1-common.h | 2 +- .../platform/rockchip}/rkisp1/rkisp1-dev.c | 0 .../platform/rockchip}/rkisp1/rkisp1-isp.c | 0 .../platform/rockchip}/rkisp1/rkisp1-params.c | 0 .../platform/rockchip}/rkisp1/rkisp1-regs.h | 0 .../rockchip}/rkisp1/rkisp1-resizer.c | 0 .../platform/rockchip}/rkisp1/rkisp1-stats.c | 0 drivers/staging/media/Kconfig | 2 -- drivers/staging/media/Makefile | 1 - drivers/staging/media/rkisp1/Kconfig | 19 ------------------- drivers/staging/media/rkisp1/TODO | 6 ------ .../uapi/linux}/rkisp1-config.h | 0 20 files changed, 25 insertions(+), 31 deletions(-) rename {drivers/staging/media/rkisp1/Documentation => Documentation}/devicetree/bindings/media/rockchip-isp1.yaml (100%) rename drivers/{staging/media => media/platform/rockchip}/rkisp1/Makefile (100%) rename drivers/{staging/media => media/platform/rockchip}/rkisp1/rkisp1-capture.c (100%) rename drivers/{staging/media => media/platform/rockchip}/rkisp1/rkisp1-common.c (100%) rename drivers/{staging/media => media/platform/rockchip}/rkisp1/rkisp1-common.h (99%) rename drivers/{staging/media => media/platform/rockchip}/rkisp1/rkisp1-dev.c (100%) rename drivers/{staging/media => media/platform/rockchip}/rkisp1/rkisp1-isp.c (100%) rename drivers/{staging/media => media/platform/rockchip}/rkisp1/rkisp1-params.c (100%) rename drivers/{staging/media => media/platform/rockchip}/rkisp1/rkisp1-regs.h (100%) rename drivers/{staging/media => media/platform/rockchip}/rkisp1/rkisp1-resizer.c (100%) rename drivers/{staging/media => media/platform/rockchip}/rkisp1/rkisp1-stats.c (100%) delete mode 100644 drivers/staging/media/rkisp1/Kconfig delete mode 100644 drivers/staging/media/rkisp1/TODO rename {drivers/staging/media/rkisp1/uapi => include/uapi/linux}/rkisp1-config.h (100%) diff --git a/drivers/staging/media/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.yaml b/Documentation/devicetree/bindings/media/rockchip-isp1.yaml similarity index 100% rename from drivers/staging/media/rkisp1/Documentation/devicetree/bindings/media/rockchip-isp1.yaml rename to Documentation/devicetree/bindings/media/rockchip-isp1.yaml diff --git a/Documentation/userspace-api/media/v4l/pixfmt-meta-rkisp1.rst b/Documentation/userspace-api/media/v4l/pixfmt-meta-rkisp1.rst index 7e43837ed260a..f3671472d4105 100644 --- a/Documentation/userspace-api/media/v4l/pixfmt-meta-rkisp1.rst +++ b/Documentation/userspace-api/media/v4l/pixfmt-meta-rkisp1.rst @@ -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 diff --git a/MAINTAINERS b/MAINTAINERS index 811db1d3ca33b..352b8eaa21f7c 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -15034,10 +15034,13 @@ ROCKCHIP ISP V1 DRIVER M: Helen Koike M: Dafna Hirschfeld 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 diff --git a/drivers/media/platform/Kconfig b/drivers/media/platform/Kconfig index a3cb104956d56..b161f2ba238fe 100644 --- a/drivers/media/platform/Kconfig +++ b/drivers/media/platform/Kconfig @@ -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" diff --git a/drivers/media/platform/Makefile b/drivers/media/platform/Makefile index 62b6cdc8c7300..b342714228db4 100644 --- a/drivers/media/platform/Makefile +++ b/drivers/media/platform/Makefile @@ -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/ diff --git a/drivers/staging/media/rkisp1/Makefile b/drivers/media/platform/rockchip/rkisp1/Makefile similarity index 100% rename from drivers/staging/media/rkisp1/Makefile rename to drivers/media/platform/rockchip/rkisp1/Makefile diff --git a/drivers/staging/media/rkisp1/rkisp1-capture.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c similarity index 100% rename from drivers/staging/media/rkisp1/rkisp1-capture.c rename to drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c diff --git a/drivers/staging/media/rkisp1/rkisp1-common.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-common.c similarity index 100% rename from drivers/staging/media/rkisp1/rkisp1-common.c rename to drivers/media/platform/rockchip/rkisp1/rkisp1-common.c diff --git a/drivers/staging/media/rkisp1/rkisp1-common.h b/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h similarity index 99% rename from drivers/staging/media/rkisp1/rkisp1-common.h rename to drivers/media/platform/rockchip/rkisp1/rkisp1-common.h index 692333c66f9d1..3a134e97161cb 100644 --- a/drivers/staging/media/rkisp1/rkisp1-common.h +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h @@ -13,6 +13,7 @@ #include #include +#include #include #include #include @@ -20,7 +21,6 @@ #include #include "rkisp1-regs.h" -#include "uapi/rkisp1-config.h" /* * flags on the 'direction' field in struct 'rkisp1_isp_mbus_info' that indicate diff --git a/drivers/staging/media/rkisp1/rkisp1-dev.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c similarity index 100% rename from drivers/staging/media/rkisp1/rkisp1-dev.c rename to drivers/media/platform/rockchip/rkisp1/rkisp1-dev.c diff --git a/drivers/staging/media/rkisp1/rkisp1-isp.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c similarity index 100% rename from drivers/staging/media/rkisp1/rkisp1-isp.c rename to drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c diff --git a/drivers/staging/media/rkisp1/rkisp1-params.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-params.c similarity index 100% rename from drivers/staging/media/rkisp1/rkisp1-params.c rename to drivers/media/platform/rockchip/rkisp1/rkisp1-params.c diff --git a/drivers/staging/media/rkisp1/rkisp1-regs.h b/drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h similarity index 100% rename from drivers/staging/media/rkisp1/rkisp1-regs.h rename to drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h diff --git a/drivers/staging/media/rkisp1/rkisp1-resizer.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-resizer.c similarity index 100% rename from drivers/staging/media/rkisp1/rkisp1-resizer.c rename to drivers/media/platform/rockchip/rkisp1/rkisp1-resizer.c diff --git a/drivers/staging/media/rkisp1/rkisp1-stats.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-stats.c similarity index 100% rename from drivers/staging/media/rkisp1/rkisp1-stats.c rename to drivers/media/platform/rockchip/rkisp1/rkisp1-stats.c diff --git a/drivers/staging/media/Kconfig b/drivers/staging/media/Kconfig index 747c6cf1d795e..e8996b1c3b351 100644 --- a/drivers/staging/media/Kconfig +++ b/drivers/staging/media/Kconfig @@ -44,6 +44,4 @@ source "drivers/staging/media/tegra-video/Kconfig" source "drivers/staging/media/ipu3/Kconfig" -source "drivers/staging/media/rkisp1/Kconfig" - endif diff --git a/drivers/staging/media/Makefile b/drivers/staging/media/Makefile index b59571826ba69..24b5873ff7608 100644 --- a/drivers/staging/media/Makefile +++ b/drivers/staging/media/Makefile @@ -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 index 41f5def9ea442..0000000000000 --- a/drivers/staging/media/rkisp1/Kconfig +++ /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 index bb5548cd6bd1b..0000000000000 --- a/drivers/staging/media/rkisp1/TODO +++ /dev/null @@ -1,6 +0,0 @@ -NOTES: -* All v4l2-compliance test must pass. -* Stats and params can be tested with libcamera and ChromiumOS stack. - -Please CC patches to Linux Media and -Helen Koike . diff --git a/drivers/staging/media/rkisp1/uapi/rkisp1-config.h b/include/uapi/linux/rkisp1-config.h similarity index 100% rename from drivers/staging/media/rkisp1/uapi/rkisp1-config.h rename to include/uapi/linux/rkisp1-config.h