From patchwork Thu Feb 27 11:44:59 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Klug X-Patchwork-Id: 13994326 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id D9491C021BE for ; Thu, 27 Feb 2025 12:16:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=9P2RUGsheEfRaz7vnsuo4VLe25K7STcz+QilqGoSnDE=; b=c6cITXD846EH0f iUWmKhIK3c3YY2s4p3UV9kGJA+fKBpQ1nTzyaO/a+y4hrvvGd20l7SJwCwNGlkVTMEdpOUis/FY6A PnttFTDsnINFcdBrDQN/2u7k/YskSPnzPxFmuIO0ndIWTkcqxGjP2SZxprIyg7Ex0XTbpNzkHXFVo 2vEBLeJifcUqK5lWbYp7jc2ycDT3fdh6LrzuwqrtKRY/McqE6CJLyfwVMNJFb3tOSf5V86SESsdY7 IRUmBwX3FzQksCUbbGX+SCnVBdJlo4tQOCLLEE/W+tMlkuydiyZkdWBPmvx8zAlibPDmvSjXOj8Fj DuiGctVA7uhQbbb6H5ZA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tncor-00000007KKf-04FJ; Thu, 27 Feb 2025 12:16:49 +0000 Received: from perceval.ideasonboard.com ([213.167.242.64]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tncMN-00000007EVw-0ShG; Thu, 27 Feb 2025 11:47:24 +0000 Received: from ideasonboard.com (unknown [IPv6:2a00:6020:448c:6c00:a3f5:6799:2ce9:5b66]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id A210F7F5; Thu, 27 Feb 2025 12:45:53 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1740656753; bh=CMGReD0WqsB5uzTiYELuHAlkALxDIGEWwbM9C6aIjt4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=nNbVrRRbOHj2qb2EDYltAkOsywSZzX+6+HSimopSAyVCAKq1UeOqYA2PGrgs8aA+A KDZe68m4fBapfK/vtkoUWGxBWkT7a2zk3ypB07klrxY+dvjNUu4sD2KrDdp7uHSQCR YyKSnKl4Suc/pvMMwfWwUrbV8bHm8jTqk+mg8KK4= From: Stefan Klug To: linux-media@vger.kernel.org, Laurent Pinchart , Dafna Hirschfeld , Mauro Carvalho Chehab , Heiko Stuebner Cc: Stefan Klug , linux-rockchip@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 1/3] media: rkisp1: Set format defaults based on requested color space Date: Thu, 27 Feb 2025 12:44:59 +0100 Message-ID: <20250227114558.3097101-2-stefan.klug@ideasonboard.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250227114558.3097101-1-stefan.klug@ideasonboard.com> References: <20250227114558.3097101-1-stefan.klug@ideasonboard.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250227_034723_286502_F83C671B X-CRM114-Status: GOOD ( 11.97 ) X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org When color space JPEG is requested, the ISP sets the quantization incorrectly to limited range. To fix that, set the xfer_func, ycbcr_enc and quantization to the defaults for the requested color space if they are not specified explicitly. Do this only in case we are converting from RAW to YUV. Signed-off-by: Stefan Klug --- .../media/platform/rockchip/rkisp1/rkisp1-isp.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c index d94917211828..468f5a7d03c7 100644 --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c @@ -680,10 +680,23 @@ static void rkisp1_isp_set_src_fmt(struct rkisp1_isp *isp, if (sink_info->pixel_enc == V4L2_PIXEL_ENC_BAYER) { if (format->colorspace != V4L2_COLORSPACE_DEFAULT) src_fmt->colorspace = format->colorspace; - if (format->xfer_func != V4L2_XFER_FUNC_DEFAULT) + + if (format->xfer_func == V4L2_XFER_FUNC_DEFAULT) src_fmt->xfer_func = format->xfer_func; + else + src_fmt->xfer_func = + V4L2_MAP_XFER_FUNC_DEFAULT(format->colorspace); + if (format->ycbcr_enc != V4L2_YCBCR_ENC_DEFAULT) src_fmt->ycbcr_enc = format->ycbcr_enc; + else + src_fmt->ycbcr_enc = + V4L2_MAP_YCBCR_ENC_DEFAULT(format->colorspace); + + if (format->quantization == V4L2_QUANTIZATION_DEFAULT) + src_fmt->quantization = + V4L2_MAP_QUANTIZATION_DEFAULT(false, + format->colorspace, format->ycbcr_enc); } if (format->quantization != V4L2_QUANTIZATION_DEFAULT) From patchwork Thu Feb 27 11:45:00 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Klug X-Patchwork-Id: 13994327 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 58874C021BE for ; Thu, 27 Feb 2025 12:18:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=c4cjLnfqRmONM64lajMGrTKEZHbJIVHNRPEEUs5IIYs=; b=BFfPX0+T0Di+w2 R14a/FP/BCDAJLKxCrYOxHORxnwNgMGerJwI/tGCR7IYAEzAxzYbangRwsex6pQmfX0+meUFiQDBw XcwdCB0FS+owlLzsojCGsm3DsBzS0QtQYmZeEj/0RW3VWAbK67TEPk6G9qYM0iKdvQ7sxhAllJG8w DaIkwykuMbx8ebr29lpTDyXHdx15pr9+elvMu9/zZ40I1/N5D60RVPYrnXKidkZRWjsWgEZ578oIQ 98N+Czq0kYWuDvfNzUEApUueh3Yy9D8iI1QV7ycYlO4G4WoXW2kV1NMPUB7tVJVzs/0Ji2YihRc5Q LGWzv3Sdg43wOvkOtWdQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tncqN-00000007KkR-0BM6; Thu, 27 Feb 2025 12:18:23 +0000 Received: from perceval.ideasonboard.com ([213.167.242.64]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tncMS-00000007EXK-2KO9; Thu, 27 Feb 2025 11:47:29 +0000 Received: from ideasonboard.com (unknown [IPv6:2a00:6020:448c:6c00:a3f5:6799:2ce9:5b66]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 219757F5; Thu, 27 Feb 2025 12:45:59 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1740656759; bh=ZMtBQPd4FzhfOHdAq6GWMwplFQzrNJIKsTRatQkysMg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=WrfOY8eAN6//OTBhu3YmHBaQHHnd6K7fP80Uf5lGh1eAnoiNPebMw8JPai2n30yuf dx3Rpz0+2sNYuDtO573n4+1SnwYUhqdCK19mm6UtYt8vnImVAhHN+UfoC52qwnaG/s cqlHsK8BNx8+TlJNCDyjBIV9gQiy6zZ0qCuVk+38= From: Stefan Klug To: linux-media@vger.kernel.org, Laurent Pinchart , Dafna Hirschfeld , Mauro Carvalho Chehab , Heiko Stuebner Cc: Stefan Klug , linux-rockchip@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 2/3] media: rkisp1: Fix the quantization settings of CPROC Date: Thu, 27 Feb 2025 12:45:00 +0100 Message-ID: <20250227114558.3097101-3-stefan.klug@ideasonboard.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250227114558.3097101-1-stefan.klug@ideasonboard.com> References: <20250227114558.3097101-1-stefan.klug@ideasonboard.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250227_034728_737543_F753AA21 X-CRM114-Status: GOOD ( 12.68 ) X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org On the imx8mp the Image Effect module is not supported. In my case the effect variable had an uninitialized default value of 0x700 leading to limited YUV range in all cases (effects were never touched from user space). The effects configuration is as far is I understand completely independent of CPROC. Completely remove that check. This fixes full range mode on imx8mp and possibly others. Signed-off-by: Stefan Klug --- drivers/media/platform/rockchip/rkisp1/rkisp1-params.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-params.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-params.c index b28f4140c8a3..8d61e21ad475 100644 --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-params.c +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-params.c @@ -764,11 +764,6 @@ static void rkisp1_aec_config_v12(struct rkisp1_params *params, static void rkisp1_cproc_config(struct rkisp1_params *params, const struct rkisp1_cif_isp_cproc_config *arg) { - struct rkisp1_cif_isp_isp_other_cfg *cur_other_cfg = - container_of(arg, struct rkisp1_cif_isp_isp_other_cfg, cproc_config); - struct rkisp1_cif_isp_ie_config *cur_ie_config = - &cur_other_cfg->ie_config; - u32 effect = cur_ie_config->effect; u32 quantization = params->quantization; rkisp1_write(params->rkisp1, RKISP1_CIF_C_PROC_CONTRAST, @@ -778,8 +773,7 @@ static void rkisp1_cproc_config(struct rkisp1_params *params, rkisp1_write(params->rkisp1, RKISP1_CIF_C_PROC_BRIGHTNESS, arg->brightness); - if (quantization != V4L2_QUANTIZATION_FULL_RANGE || - effect != V4L2_COLORFX_NONE) { + if (quantization != V4L2_QUANTIZATION_FULL_RANGE) { rkisp1_param_clear_bits(params, RKISP1_CIF_C_PROC_CTRL, RKISP1_CIF_C_PROC_YOUT_FULL | RKISP1_CIF_C_PROC_YIN_FULL | From patchwork Thu Feb 27 11:45:01 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Klug X-Patchwork-Id: 13994328 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 115E0C021BE for ; Thu, 27 Feb 2025 12:20:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=+w87rgYKKjVIliGM69xu15/QBfnpASM5KQYDAUj2rxE=; b=qk1M+Z/kXvf91r KjvgTQwhLRl8/jNM+lyTKLQK/2en1PIe24XXm9NYIihcWPQmGEDoDXIIKcFXuWEV2IAvdpsKzsKN+ gqbZz3Shj7BIhSB4WLHJ879+tisxoqEhkrxuFhngmj1FBqXRPx7WX+jSd9MCNEsFo1ijgEbS/Yypm nuGrbRvATEpjt8d81agWOI6g1FCYDQhpGPYnxMtlkuwDfpOcgarBL37TZyKPL4nnt3cpcYzugGg2c GwYZ6tS8AytlDuoM+/w3h2bNwFPlH6yZzNrINkQgl4pAdoyCh9V/AcEUiiu79g6Ko03yoQl0LO1Hu BYN+fAGPfGvcT8BpeCnA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tncrs-00000007L4a-0ShU; Thu, 27 Feb 2025 12:19:56 +0000 Received: from perceval.ideasonboard.com ([213.167.242.64]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tncMW-00000007EYe-3Kgp; Thu, 27 Feb 2025 11:47:34 +0000 Received: from ideasonboard.com (unknown [IPv6:2a00:6020:448c:6c00:a3f5:6799:2ce9:5b66]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 5DFD27F5; Thu, 27 Feb 2025 12:46:03 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1740656763; bh=P9xqUjKbHM5Je+UfdaKgLXkxGRlIAHd1iEy80IGgQXE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=TCN0cIHzr1IRMzTI7bhy1uuEj1SRVAB00NAagrYvtrsx4PI91VFfxUNlIEg/EzI02 1Hl0d4eE73DYpypXFuli6Yj27dkq5nre2BNTyUIHQf9DIlWA0JJ6PKtP6jd6RpWBRF CZKearkxFmOjwsNV9nLve8me29659QOwH6R21HdQ= From: Stefan Klug To: linux-media@vger.kernel.org, Laurent Pinchart , Dafna Hirschfeld , Mauro Carvalho Chehab , Heiko Stuebner Cc: Stefan Klug , linux-rockchip@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 3/3] media: rkisp1: Remove unnecessary defines Date: Thu, 27 Feb 2025 12:45:01 +0100 Message-ID: <20250227114558.3097101-4-stefan.klug@ideasonboard.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250227114558.3097101-1-stefan.klug@ideasonboard.com> References: <20250227114558.3097101-1-stefan.klug@ideasonboard.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250227_034732_967524_A4B978D8 X-CRM114-Status: UNSURE ( 8.27 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org The effect modes are not shifts but numbers which are already defined a few lines above. Remove the misleading defines. Signed-off-by: Stefan Klug --- drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h | 7 ------- 1 file changed, 7 deletions(-) diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h b/drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h index bf0260600a19..139177db9c6d 100644 --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h @@ -327,13 +327,6 @@ #define RKISP1_CIF_IMG_EFF_CTRL_CFG_UPD BIT(4) #define RKISP1_CIF_IMG_EFF_CTRL_YCBCR_FULL BIT(5) -#define RKISP1_CIF_IMG_EFF_CTRL_MODE_BLACKWHITE_SHIFT 0 -#define RKISP1_CIF_IMG_EFF_CTRL_MODE_NEGATIVE_SHIFT 1 -#define RKISP1_CIF_IMG_EFF_CTRL_MODE_SEPIA_SHIFT 2 -#define RKISP1_CIF_IMG_EFF_CTRL_MODE_COLOR_SEL_SHIFT 3 -#define RKISP1_CIF_IMG_EFF_CTRL_MODE_EMBOSS_SHIFT 4 -#define RKISP1_CIF_IMG_EFF_CTRL_MODE_SKETCH_SHIFT 5 -#define RKISP1_CIF_IMG_EFF_CTRL_MODE_SHARPEN_SHIFT 6 #define RKISP1_CIF_IMG_EFF_CTRL_MODE_MASK 0xe /* IMG_EFF_COLOR_SEL */