Received: by 2002:a05:7412:8d06:b0:f9:332d:97f1 with SMTP id bj6csp6917rdb; Mon, 18 Dec 2023 07:32:00 -0800 (PST) X-Google-Smtp-Source: AGHT+IGLpsZwtzdUVY/W0s/UoYPSG5tHWWSfeRrtkcMuUJViu1yB2vYc3BmNQTkYapHPyp9n2zKo X-Received: by 2002:a05:6820:551:b0:58d:9776:2313 with SMTP id n17-20020a056820055100b0058d97762313mr12358791ooj.7.1702913519763; Mon, 18 Dec 2023 07:31:59 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1702913519; cv=none; d=google.com; s=arc-20160816; b=DcVgT46xaK/sY2xtvmdwXV/xy1YszEKnBlBEM8NMEvGfTp29brBBX7kGfe8sF79PjQ AAIHyPr1gjOcaO82+35pRSKmORmfDSYyubwGSdpz8EXWXmC+cNCwm78ciab8KOMNB1tL 2jSj8DZQ9945ZwraPOSGxTJrm8GdAfNmGGLP1OpISLa+c7kT8lIAj7RBH1itpTzoq66G 11ZCUjSLoxEyPvWWSlCX7ug6wTJYdbxCWtJryFYdJob9oWvDXTorvVGD1BjbDXrFE8aI GD8JN+pwdRNVmiz9V26QrZMlJfWCJfAk7bKgHd9Yd2bwGnPN8umISZD2EKRfmeDhRRw6 +O3w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc :to:content-language:subject:user-agent:mime-version :list-unsubscribe:list-subscribe:list-id:precedence:date:message-id :dkim-signature; bh=QN8gW2Rzc+ACGmRbVCqjkyedR1NiRah5IkTpfaX00ig=; fh=mJqLH1XRCjmbd2IALincmA9Xj7OQsDDlqdyhk7psrWA=; b=dauqGfmNfmBSXkagqAnMVYRcRzHpBybh2y2D7x6L/O2/4V28XhrTQwHkDeoSh/3Xmm yQACadRXXnWitVFjPb7vc1nADLU+5Acelk+YkFpg3MLP/FGFwQBRp6BLClgh6E5ClQbE 1WS4eGu2WEh7zmWgmNYRlA0/k2RKmyK3mn/BcGdRdNesfz1RlQj4QnGqvfANjXMGgzOx b0GZj06UCJHphJmwTAQwlbYnii+3Pgr1mnLrR7UfZammDjM2aHHl4cSz/Nsz50Z1J6If Gk8XWr4dZABXRQ8XAoyxra8bbaZHhpiYwqLmzmsSylY7s7eJKPz+yAL5kAjoCBpGf7RQ 2aDQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=JKDbAMze; spf=pass (google.com: domain of linux-kernel+bounces-3932-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-3932-linux.lists.archive=gmail.com@vger.kernel.org" Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [147.75.199.223]) by mx.google.com with ESMTPS id fc13-20020a05622a488d00b004239e77fc70si25771543qtb.796.2023.12.18.07.31.59 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 18 Dec 2023 07:31:59 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-3932-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) client-ip=147.75.199.223; Authentication-Results: mx.google.com; dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=JKDbAMze; spf=pass (google.com: domain of linux-kernel+bounces-3932-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-3932-linux.lists.archive=gmail.com@vger.kernel.org" Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id 7609F1C23E62 for ; Mon, 18 Dec 2023 15:31:59 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 9F901200C0; Mon, 18 Dec 2023 15:31:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="JKDbAMze" X-Original-To: linux-kernel@vger.kernel.org Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 680A93A1C8; Mon, 18 Dec 2023 15:31:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ideasonboard.com Received: from [192.168.88.20] (91-158-149-209.elisa-laajakaista.fi [91.158.149.209]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 454C957E; Mon, 18 Dec 2023 16:30:33 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1702913434; bh=5gU50e1WGSVC+8VhF9W9P2X96ocFlImWJJo2Vhhp4to=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=JKDbAMzebS04Tndcu8YP97fqWpDM82g3mgQhSBWjr2oLMHCG5AqOiusQ4ott8l5id MMdyEwSYfQfnYJXyNLLFSBWbu5RifHH7HXbbC3xH6lRb6AXIiQyo6D7lX4ieHX+2j4 hMhlFAkQtF+tV1NerpBx7uasTImVU3YXlwSrqJnU= Message-ID: <03b98b67-e88c-4bb0-a01d-5a90f78e04a3@ideasonboard.com> Date: Mon, 18 Dec 2023 17:31:18 +0200 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v4 05/11] media: rkisp1: Fix RSZ_CTRL bits for i.MX8MP Content-Language: en-US To: Paul Elder , linux-media@vger.kernel.org, linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org Cc: kieran.bingham@ideasonboard.com, umang.jain@ideasonboard.com, aford173@gmail.com, Laurent Pinchart , Dafna Hirschfeld , Mauro Carvalho Chehab , Heiko Stuebner , "moderated list:ARM/Rockchip SoC support" , open list References: <20231129092759.242641-1-paul.elder@ideasonboard.com> <20231129092759.242641-6-paul.elder@ideasonboard.com> From: Tomi Valkeinen Autocrypt: addr=tomi.valkeinen@ideasonboard.com; keydata= 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 In-Reply-To: <20231129092759.242641-6-paul.elder@ideasonboard.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi Paul, On 29/11/2023 11:27, Paul Elder wrote: > The ISP8000Nano, found in the i.MX8MP, has a different architecture to > crop at the resizer input. Instead of the "dual crop" block between the > ISP and the resizers found in the RK3399, cropping has been moved to the > input of the resizer blocks. As a result, the resizer CFG_UPD and > CFG_UPD_AUTO bits have been moved to make space for a new CROP_ENABLE > bit. > > Fix the resizer shadow update accordingly, using the DUAL_CROP feature > to infer whether or not the resizer implements cropping. Support for > resizer cropping itself will be added in a subsequent commit. > > Signed-off-by: Paul Elder > Signed-off-by: Laurent Pinchart I don't think this one is correct. The above is perhaps true for ISP8000, but ISP8000Nano does not have CROP_ENABLE bit, and the CFG_UPD and CFG_UPD_AUTO are at the same locations as on RK3399. I don't have documentation to prove this, but experimentation shows that this is the case. Tomi > --- > Changes since v3: > > - Condition on RKISP1_FEATURE_DUAL_CROP feature > - Update commit message > > Changes since v2: > > - Condition on RKISP1_FEATURE_RSZ_CROP feature > - Rename bits > - Use the rkisp1_has_feature() macro > > .../media/platform/rockchip/rkisp1/rkisp1-regs.h | 5 +++++ > .../platform/rockchip/rkisp1/rkisp1-resizer.c | 15 +++++++++++---- > 2 files changed, 16 insertions(+), 4 deletions(-) > > diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h b/drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h > index 3b19c8411360..95646b45f28b 100644 > --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h > +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h > @@ -168,6 +168,11 @@ > #define RKISP1_CIF_RSZ_CTRL_CFG_UPD_AUTO BIT(9) > #define RKISP1_CIF_RSZ_SCALER_FACTOR BIT(16) > > +/* For resizer instances that support cropping */ > +#define RKISP1_CIF_RSZ_CTRL_CROP_ENABLE BIT(8) > +#define RKISP1_CIF_RSZ_CTRL_CROP_CFG_UPD BIT(9) > +#define RKISP1_CIF_RSZ_CTRL_CROP_CFG_UPD_AUTO BIT(10) > + > /* MI_IMSC - MI_MIS - MI_RIS - MI_ICR - MI_ISR */ > #define RKISP1_CIF_MI_FRAME(stream) BIT((stream)->id) > #define RKISP1_CIF_MI_MBLK_LINE BIT(2) > diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-resizer.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-resizer.c > index c1aaeed58acc..6d6ebc53c6e5 100644 > --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-resizer.c > +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-resizer.c > @@ -178,10 +178,17 @@ static void rkisp1_rsz_update_shadow(struct rkisp1_resizer *rsz, > { > u32 ctrl_cfg = rkisp1_rsz_read(rsz, RKISP1_CIF_RSZ_CTRL); > > - if (when == RKISP1_SHADOW_REGS_ASYNC) > - ctrl_cfg |= RKISP1_CIF_RSZ_CTRL_CFG_UPD_AUTO; > - else > - ctrl_cfg |= RKISP1_CIF_RSZ_CTRL_CFG_UPD; > + if (when == RKISP1_SHADOW_REGS_ASYNC) { > + if (rkisp1_has_feature(rsz->rkisp1, DUAL_CROP)) > + ctrl_cfg |= RKISP1_CIF_RSZ_CTRL_CFG_UPD_AUTO; > + else > + ctrl_cfg |= RKISP1_CIF_RSZ_CTRL_CROP_CFG_UPD_AUTO; > + } else { > + if (rkisp1_has_feature(rsz->rkisp1, DUAL_CROP)) > + ctrl_cfg |= RKISP1_CIF_RSZ_CTRL_CFG_UPD; > + else > + ctrl_cfg |= RKISP1_CIF_RSZ_CTRL_CROP_CFG_UPD; > + } > > rkisp1_rsz_write(rsz, RKISP1_CIF_RSZ_CTRL, ctrl_cfg); > }